:root{--hlf-glow:0 0 26px rgba(201,243,106,.13);--hlf-gold-glow:0 0 26px rgba(240,201,107,.14)}
.hero{position:relative;overflow:hidden;padding:2rem;border:1px solid rgba(49,89,67,.55);border-radius:24px;background:linear-gradient(145deg,rgba(19,48,31,.86),rgba(7,18,13,.92) 64%,rgba(38,29,15,.85));box-shadow:0 24px 60px rgba(0,0,0,.22)}.hero:after{content:"";position:absolute;right:-8rem;top:-10rem;width:28rem;height:28rem;border-radius:50%;background:radial-gradient(circle,rgba(240,201,107,.12),transparent 67%);pointer-events:none}.hero>*{position:relative;z-index:1}.hero-badges{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:1rem}.hero-badges span{padding:.35rem .58rem;border:1px solid rgba(201,243,106,.18);border-radius:999px;background:rgba(6,15,9,.48);color:#dce8df;font-size:.68rem;font-weight:820}
.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.section-title h2,.section-title p{margin-top:0}.setup-chip,.choice-state,.resource-hint{padding:.34rem .5rem;border:1px solid rgba(240,201,107,.28);border-radius:.42rem;background:#1b1a10;color:var(--gold);font-size:.62rem;font-weight:900;letter-spacing:.08em}
.save-status{padding:.8rem .9rem;border:1px solid rgba(201,243,106,.22);border-radius:.7rem;background:#0b1a11}.danger-arm{border-color:rgba(231,143,143,.7)!important;background:#4a211f!important;color:#ffd8d5!important;box-shadow:0 0 18px rgba(231,143,143,.1)}
.era-roadmap{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.7rem;margin:1.2rem 0}.era-roadmap>div{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;align-items:center;padding:.78rem .9rem;border:1px solid var(--line);border-radius:14px;background:#0b1a12;color:var(--muted)}.era-roadmap>div span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#182b20;color:var(--muted);font-weight:900}.era-roadmap>div strong{color:var(--text)}.era-roadmap>div small{font-size:.68rem}.era-roadmap>i{display:block;width:34px;height:2px;background:#2d4939}.era-roadmap>div.current{border-color:rgba(201,243,106,.5);box-shadow:var(--hlf-glow);background:linear-gradient(145deg,#173522,#0c2015)}.era-roadmap>div.current span{background:var(--accent);color:#112014}.era-roadmap>div.complete{border-color:rgba(240,201,107,.38)}.era-roadmap>div.complete span{background:#4a3c18;color:var(--gold)}
.resource-panel{position:relative}.resource{position:relative;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.resource.strong{border-color:rgba(201,243,106,.42);box-shadow:0 0 18px rgba(201,243,106,.07)}.resource.low{border-color:rgba(231,143,143,.34)}.resource-meter{height:6px;margin-top:.55rem;border-radius:999px;background:#23382c;overflow:hidden}.resource-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--gold))}.resource.low .resource-meter i{background:var(--danger)}
.action-card{position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.action-card.available:hover{transform:translateY(-3px);border-color:#588262;box-shadow:0 12px 28px rgba(0,0,0,.22),var(--hlf-glow)}.action-state{align-self:flex-start!important;padding:.22rem .38rem;border-radius:.35rem;background:#182b20;color:var(--accent)!important;font-size:.58rem!important;font-weight:900!important;letter-spacing:.08em}.action-card.locked .action-state{background:#2b2020;color:#e9a5a5!important}.action-economy{display:grid;grid-template-columns:1fr auto 1fr;gap:.35rem;align-items:center;margin-top:auto;padding-top:.3rem}.action-economy small{font-size:.7rem}.action-economy .cost{color:#d7ab9f}.action-economy .gain{color:var(--accent)}.action-economy b{color:var(--gold)}
.event-panel{position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(120,166,95,.12),0 24px 60px rgba(0,0,0,.24)}.event-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--accent),var(--gold))}.delta-list span.positive{border-color:rgba(201,243,106,.4);color:#dff6ae}.delta-list span.negative{border-color:rgba(231,143,143,.4);background:#33201d;color:#ffc0b7}.transition{box-shadow:inset 0 0 24px rgba(240,201,107,.05)}
.score-card{background:linear-gradient(145deg,#162c20,#211d0f)}.score-card strong{text-shadow:0 0 20px rgba(240,201,107,.18)}
.results{border-color:rgba(240,201,107,.42);box-shadow:var(--hlf-gold-glow),0 24px 60px rgba(0,0,0,.25)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.era-roadmap{gap:.4rem}.era-roadmap>i{width:14px}.era-roadmap>div{padding:.65rem}.era-roadmap>div small{display:none}}
@media(max-width:650px){main{width:min(100% - .8rem,1120px);padding-top:.65rem}.site-header{padding:.75rem;position:static}.hero{padding:1.05rem;border-radius:18px}h1{font-size:clamp(2.55rem,16vw,4.2rem)}.hero-badges{gap:.28rem}.hero-badges span{font-size:.59rem}.era-roadmap{grid-template-columns:1fr 1fr 1fr;position:sticky;top:.35rem;z-index:12;padding:.4rem;border:1px solid var(--line);border-radius:12px;background:rgba(7,18,13,.95);backdrop-filter:blur(9px)}.era-roadmap>i{display:none}.era-roadmap>div{display:flex;justify-content:center;padding:.5rem .35rem}.era-roadmap>div span{width:28px;height:28px;font-size:.7rem}.era-roadmap>div strong{font-size:.68rem}.dashboard{grid-template-columns:1fr 1fr;gap:.5rem}.dashboard .panel{margin:.6rem 0;padding:.8rem}.score-card strong{font-size:2.25rem}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.resource{padding:.65rem}.resource strong{font-size:1.3rem}.action-grid{grid-template-columns:1fr}.action-card{min-height:150px;padding:.9rem}.event-panel{position:relative;z-index:15}.event-panel .primary{width:100%;min-height:54px}.section-title{display:grid}.setup-chip,.choice-state,.resource-hint{justify-self:start}.actions button,.actions .button{min-height:48px;flex:1 1 12rem}}
@media(prefers-reduced-motion:reduce){.resource,.action-card{transition:none!important}}
