/* Greyhaven portal: shared dark theme, no external assets or font requests. */
:root{color-scheme:dark;--paper:#ece8d9;--muted:#aab7ad;--line:#38483d;--gold:#dfbc78}
body{background:#141b19;color:var(--paper);background-image:radial-gradient(ellipse at 85% 10%,#33433466,transparent 48%)}
.header{background:#151c19;border-bottom:2px solid var(--line);min-height:94px;padding-top:18px;padding-bottom:18px}
.brand{color:var(--gold);text-shadow:2px 3px #000;font-family:Georgia,serif}.brand small{color:var(--muted);text-shadow:none}.crest{border-radius:0;border:2px solid #b99a60;color:var(--gold);box-shadow:3px 3px #080d0b}
.header nav{gap:24px;font-weight:bold}.header nav a:not(.button){color:#d2d8ca}.header nav a:hover{color:var(--gold)}
.hero,.section,.world-strip,.community,.quick-links{width:90%;max-width:1260px}
.hero{gap:55px;padding:64px 0 55px;min-height:580px}.hero h1{font-family:ui-monospace,Consolas,monospace;font-weight:900;font-size:clamp(42px,4.9vw,72px);line-height:1.06;letter-spacing:-3px;text-shadow:4px 4px #070d09}.hero h1 em{font-style:normal;font-weight:900;color:var(--gold)}
.eyebrow{color:var(--gold);font-family:Consolas,monospace;font-size:11px}.dot{background:#8abb80;border-radius:0;box-shadow:0 0 10px #8abb8050}
.intro{color:var(--muted);font-size:17px;line-height:1.8}.micro{color:var(--muted)}
.button{background:var(--gold);color:#201e16;border:2px solid #f0d49b;border-radius:0;box-shadow:4px 4px #080e0b;font-family:Consolas,monospace;font-weight:bold;letter-spacing:.5px}.button:hover{background:#efd29a;color:#151912}.button.secondary{color:var(--paper);border-color:#556756;background:#233027}.button.secondary:hover{background:#324536}.hero-actions{gap:14px;flex-wrap:wrap}.text-link{color:var(--gold);border-color:#77643e}
.hero-art{padding:7px;transform:none;background:#26382c;border:2px solid #59694b;box-shadow:12px 12px #0b120e;min-width:0}.hero-art>img{height:370px;object-position:center;filter:saturate(.88)}.hero-art figcaption{padding:14px 12px;color:var(--paper)}.hero-art small,.coordinates{color:#b9c4aa}.image-corner{color:var(--gold)}.scene-link{display:block;text-align:center;font:700 12px Consolas,monospace;letter-spacing:2px;padding:14px;border-top:1px solid #526548;color:var(--gold)}.scene-link:hover{background:#354a36}
.world-strip{border-color:var(--line);padding:25px 0}.world-strip>span{border-color:var(--line);color:#9caa95}.world-strip b{color:var(--paper);font:700 15px Consolas,monospace}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px auto 0}.quick-links a{padding:24px;background:#1c2721;border:1px solid var(--line);border-bottom:3px solid #5a7050}.quick-links a:hover{background:#25342a;border-color:var(--gold)}.quick-links span{font:10px Consolas,monospace;letter-spacing:2px;color:var(--gold)}.quick-links strong{display:block;font-size:18px;margin-top:9px}.quick-links p{font-size:13px;color:var(--muted);margin:9px 0 0}
h2,h3{color:var(--paper)}.news-card{padding:24px;background:#1b2620;border:1px solid var(--line);border-top:3px solid #ac905b}.news-card p,.news-article p,.world-section p:not(.eyebrow){color:var(--muted)}.news-card .meta,.article-meta{color:#bdc5b7}.tag{color:var(--gold)}.news-card a{color:var(--gold)}.news-article{background:#1b2620;border-color:var(--line)}
.world-image img{border-color:#344632}.feature-list li{border-color:var(--line)}.feature-list li>span{color:var(--gold)}.community{background:#26382b;border:1px solid #596548}.community .eyebrow{color:var(--gold)}footer{border-color:var(--line);color:var(--muted);background:#101713}footer p,footer span{color:var(--muted)}
.auth-card,.notice-card,.wiki-card{background:#1d2922!important;border-color:var(--line)!important;color:var(--paper)}.auth-card h2{color:var(--paper)}.auth-card input,input,select,.ranking-toolbar select{background:#101b15!important;color:var(--paper)!important;border-color:#64765e!important}.field-help,#ranking-status,.ranking-toolbar>span,.wiki-card p,.wiki-card li{color:var(--muted)}.auth-tabs button{color:var(--muted);background:transparent}.auth-tabs button[aria-selected=true]{color:var(--gold);border-color:var(--gold)}.notice-card p{color:var(--muted)}.table-wrap,td{border-color:var(--line)}th{background:#29382c;color:#d3dbc7}td:first-child{color:var(--gold)}.wiki-card summary{color:var(--paper)}.wiki-card a{color:var(--gold)}.skip{color:#152219}
@media(max-width:1000px){.header{flex-wrap:wrap;justify-content:center;gap:20px}.hero{gap:30px}.hero h1{font-size:48px}.hero-art>img{height:340px}.hero-actions .button{padding:12px 15px}.world-section{gap:35px}}
@media(max-width:700px){.header{padding:20px 5%}.header nav{gap:12px;justify-content:center;flex-wrap:wrap;font-size:12px}.brand{font-size:23px}.hero{grid-template-columns:1fr;padding:40px 0;gap:30px;min-height:0}.hero h1{font-size:clamp(38px,9vw,58px)}.hero-art>img{height:300px}.hero-art{box-shadow:6px 6px #0b120e}.quick-links,.news-grid{grid-template-columns:1fr}.world-strip{grid-template-columns:1fr 1fr;gap:20px}.world-strip>span{padding-left:0;border:0}.world-strip b{font-size:13px}.section{padding:40px 0}.section-heading{align-items:start;flex-direction:column}.world-section{grid-template-columns:1fr}.community{padding:25px;flex-wrap:wrap}.community .button{margin-left:0}.community-mark{display:none}.play-page{width:90%}h2{font-size:29px}.quick-links{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
h1 em{color:var(--gold)}.auth-card{box-shadow:10px 10px #0b120e}.wiki-tools label,#wiki-status{color:var(--muted)}

.live-stats{width:90%;max-width:1260px;margin:0 auto 28px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 44px;padding:20px 24px;background:#1c2921;border:1px solid var(--line)}
.live-stats>div{display:flex;align-items:baseline;gap:10px}.live-stats strong{font:700 28px Consolas,monospace;color:var(--gold)}.live-stats span{font-size:13px;color:var(--muted)}.live-stats p{margin:0 0 0 auto;font-size:11px;color:var(--muted);max-width:280px}.live-stats .dot{align-self:center}
@media(max-width:700px){.live-stats{gap:12px;padding:18px}.live-stats>div{width:100%}.live-stats p{margin-left:0}}
