/* Oldbia visual polish. Presentation only; no scripts or additional requests. */
body { background: radial-gradient(ellipse at 50% 650px, #202522 0, #101516 850px); }
.hero { background: linear-gradient(90deg,rgba(7,10,11,.93),rgba(10,14,15,.70) 48%,rgba(8,10,11,.32)),url('/assets/oldbia-town.jpg') center 35%/cover no-repeat; }
.hero-copy .eyebrow { color:#f0c66f; letter-spacing:.28em; }
.hero h1 { color:#fff4dc; text-shadow:0 3px 28px #000; }
.hero-copy p { color:#e7e0d2; line-height:1.65; }
.hero-copy { animation:oldbia-arrive .7s ease-out both; }
.hero-actions .button { min-height:46px; }
.button { transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.button:hover { transform:translateY(-2px); box-shadow:inset 0 1px #ffffff40,0 8px 24px #b7883030; }
.button:active { transform:translateY(0); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #f0c66f; outline-offset:4px; }
.button.ghost { background:#10151660; border-color:#c6ae7e; }
.topbar { border-bottom-color:#efcb8238; }
.status-strip { border-top:2px solid #c8953d; background:linear-gradient(130deg,#202725,#161d1d); box-shadow:0 16px 36px #00000030; }
.status-strip strong,.status-strip .server-save-countdown strong { color:#e7b85e; }
.status-strip > div { padding:20px 18px; }
.status-strip span { color:#c5bbab; line-height:1.4; }
.live-dot { flex-shrink:0; background:#70ce91; box-shadow:0 0 0 4px #70ce9120; }
.server-online .live-dot { animation:oldbia-pulse 3s ease-in-out infinite; }
.server-offline .live-dot { background:#c36960; box-shadow:0 0 0 4px #c3696020; }
.news { padding:30px 32px; border-left-width:3px; background:linear-gradient(135deg,#202625,#171d1d); box-shadow:0 12px 32px #00000025; }
.news-date { display:inline-block; color:#dfbd7d; padding-bottom:10px; font-size:11px; }
.news h3 { font-size:clamp(23px,2.3vw,29px); line-height:1.3; margin:0 0 18px; color:#f0e5d0; }
.news p { color:#c8c0b3; line-height:1.8; }
.news-content { grid-template-columns:minmax(0,1fr); }
.news-media { margin-top:6px; background:#111718; border-color:#675437; max-height:320px; }
.news-image { max-height:318px; }
.layout { gap:28px; }
.layout > aside.card.parchment { border-top:2px solid #c8953d; background:linear-gradient(145deg,#302d23,#1b2220); }
.layout > aside.card h3 { color:#f0dfbb; line-height:1.25; }
.layout > aside.card ol { line-height:1.8; }
.layout > aside.card li { padding:5px 0; }
footer { border-top-color:#c8953d45; background:#0d1213; }
.hero-atmosphere { position:absolute; inset:110px 0 100px; overflow:hidden; pointer-events:none; z-index:1; }
.hero-atmosphere i { position:absolute; bottom:-15px; left:var(--x); width:3px; height:3px; border-radius:50%; background:#f5cc77; box-shadow:0 0 8px #e9ac48; opacity:0; animation:oldbia-ember 14s linear infinite; animation-delay:var(--delay); }
@keyframes oldbia-ember { 0% {opacity:0;transform:translate(0,0)} 15% {opacity:.5} 75% {opacity:.3} 100% {opacity:0;transform:translate(24px,-340px)} }
@keyframes oldbia-pulse { 50% {box-shadow:0 0 0 7px #70ce9108} }
@keyframes oldbia-arrive { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
@media(max-width:1000px) { .status-strip > div:nth-child(-n+3) {border-bottom:1px solid #3d3830;} }
@media(max-width:850px) { .hero { background-position:58% 35%; } .hero-copy {margin-top:58px;} .status-strip {margin-bottom:34px;} .hero-atmosphere i:nth-child(n+4) {display:none;} }
@media(max-width:520px) { main {padding:0 18px;} .hero-copy {padding:0 22px; margin-top:40px;} .hero {min-height:570px;} .hero-copy p {font-size:18px;} .hero-actions {gap:10px; flex-wrap:wrap;} .hero-actions .button {padding:13px 16px; font-size:11px;} .news {padding:24px 21px;} .status-strip {grid-template-columns:repeat(2,minmax(0,1fr));} .status-strip > div {min-width:0;padding:16px 13px;border-right:0;border-bottom:1px solid #3d3830;} .status-strip > div:nth-child(odd) {border-right:1px solid #3d3830;} .status-strip > div:nth-last-child(-n+2) {border-bottom:0;} .status-strip strong {font-size:24px;} .status-strip span {font-size:10px;} .status-strip > div.server-save-countdown {align-items:flex-start;} .server-save-countdown span {text-align:left;} .status-strip .server-save-countdown strong {font-size:19px;} }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} .hero-copy,.hero-atmosphere i,.server-online .live-dot {animation:none;} .hero-atmosphere {display:none;} .button {transition:none;} .button:hover {transform:none;} }
