
:root{font:16px/1.6 system-ui,sans-serif;color:#20273a;background:#f3f2fc}
*{box-sizing:border-box}body{margin:0;--accent:#5237a3;--deep:#201747;--paper:#fff;--rule:#d8d4e7;overflow-wrap:anywhere}
body.marine{--accent:#17645f;--deep:#112e36;--rule:#c2d9da;background:#ecf5f5}
a{color:var(--accent);text-underline-offset:.18em}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #c05618;outline-offset:4px}
.skip{position:absolute;left:1rem;top:-6rem;background:white;padding:.5rem;z-index:1}.skip:focus{top:1rem}
.masthead,main,footer{max-width:80rem;margin:auto;padding-inline:clamp(1rem,4vw,3rem)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;padding-block:1.3rem;border-bottom:1px solid var(--rule)}
.masthead>a{font:700 1.55rem Georgia,serif;color:var(--deep);text-decoration:none}nav{display:flex;gap:.8rem 1.25rem;flex-wrap:wrap}
h1,h2,h3{font-family:Georgia,serif;line-height:1.12;color:var(--deep);text-wrap:balance}h1{font-size:clamp(2.35rem,6vw,5rem);margin:.3em 0}h2{font-size:clamp(1.5rem,3vw,2.4rem)}
.hero{margin:1.6rem 0;display:grid;grid-template-columns:minmax(0, .83fr) minmax(0,1.17fr);background:var(--deep);color:#fff;align-items:stretch;border-radius:1.8rem;overflow:hidden}
.hero>div{padding:clamp(1.35rem,4.6vw,4rem)}.hero h1,.hero a{color:white}.hero p{font-size:1.15rem;max-width:27ch}.hero img{height:100%;object-fit:cover}
img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.feed{margin:3rem 0}.cards,.game-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.marine .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.card,.game{background:var(--paper);border:1px solid var(--rule);border-radius:1rem;overflow:hidden}.card>a{display:block;color:inherit;text-decoration:none}.card h2{font-size:1.42rem;margin:.65rem 0}.card a:hover h2{text-decoration:underline}.card a>div,.game{padding:1rem}
button{font:inherit;padding:.45rem 1rem;border:1px solid var(--rule);border-radius:2rem;background:white;color:var(--deep);cursor:pointer}button[aria-pressed=true]{background:var(--deep);color:white}.filters,.quiz-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}[hidden]{display:none!important}
.meta{font-weight:650;font-size:.85rem;color:#4d5067}.meta time{margin-left:.35rem;font-variant-numeric:tabular-nums}
.story{max-width:68rem;margin:2.4rem auto}.story-head,.prose,.narrow{max-width:48rem;margin-inline:auto}.story>img{margin:1.75rem auto;border-radius:1.2rem}.lede{font-size:1.28rem}.prose section{margin-block:2.4rem}
.game-list{grid-template-columns:repeat(2,minmax(0,1fr))}.retail{background:var(--paper);border-left:6px solid var(--accent);padding:1rem 1.4rem;border-radius:.35rem}.retail h2{margin-top:.4rem}
.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;min-width:32rem;width:100%;background:var(--paper)}th,td{padding:.65rem;border:1px solid var(--rule);text-align:left}
fieldset{display:grid;gap:.5rem;border:1px solid var(--rule);border-radius:.6rem}legend{font-weight:700}footer{padding-block:2rem;border-top:1px solid var(--rule)}
@media(max-width:720px){.hero,.cards,.marine .cards{grid-template-columns:minmax(0,1fr)}.hero img{height:auto}.story{margin-block:1.5rem}}
@media(max-width:470px){.game-list{grid-template-columns:minmax(0,1fr)}}

body.palette-blue{--accent:#1b4bab;--deep:#15294c;--rule:#bbcced;background:#f2f6ff}
body.palette-moss{--accent:#395f36;--deep:#25372c;--rule:#c3d3c4;background:#f2f7f2}
body.palette-violet{--accent:#4431ad;--deep:#292051;--rule:#d3c9f2;background:#f0edfb}
body.palette-rust{--accent:#953b20;--deep:#42291d;--rule:#e2c7b3;background:#fbf4ed}
.frontpage h1,.frontpage h2,.frontpage h3{font-family:Inter,Avenir Next,system-ui,sans-serif}
.showcase h1,.showcase h2,.showcase h3{font-family:Archivo Black,Avenir Next,system-ui,sans-serif;letter-spacing:-.035em}
.edition-intro{padding:2rem 0 1rem;border-bottom:4px solid var(--deep)}
.front-lead{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:2rem;margin:1.5rem 0 3rem}
.front-lead .card{border:0;border-radius:0}.front-lead .card h2{font-size:clamp(1.65rem,3vw,2.7rem)}
.front-lead aside{border-left:1px solid var(--rule);padding-left:1.5rem}.front-lead aside h2{font-size:1.3rem}
.headlines{list-style:none;padding:0}.headlines li{padding:.75rem 0;border-bottom:1px solid var(--rule)}
.headlines a{display:grid;grid-template-columns:4.25rem minmax(0,1fr);gap:.8rem;align-items:center;font-weight:650;line-height:1.3}
.headlines img{aspect-ratio:4/3}
.notebook{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2rem;align-items:center;margin-top:2rem}
.notebook img{aspect-ratio:4/3;border-radius:.4rem}.notebook nav{border-top:1px solid var(--rule);padding-block:.8rem}
.fieldnotes .cards{grid-template-columns:minmax(0,1fr);gap:0;max-width:58rem}
.fieldnotes .card{background:transparent;border:0;border-top:1px solid var(--rule);border-radius:0;padding-block:1rem}
.fieldnotes .card>a{display:grid;grid-template-columns:minmax(6rem,.35fr) minmax(0,1fr);align-items:start}
.fieldnotes .card a>div{padding-block:0}.fieldnotes .card p:first-child{margin-top:0}
.showcase-cover{position:relative;display:grid;color:white;margin-block:1.5rem;background:#292051}
.showcase-cover>img,.showcase-cover>div{grid-area:1/1}.showcase-cover>img{height:100%;max-height:34rem;min-height:19rem}
.showcase-cover>div{position:relative;align-self:end;padding:clamp(1rem,5vw,4rem);background:linear-gradient(transparent,#1c1539 83%)}
.showcase-cover h1,.showcase-cover a{color:white}.showcase .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.showcase .card{border-radius:.25rem;border-bottom:4px solid var(--accent)}
@media(max-width:720px){.front-lead,.notebook,.showcase .cards{grid-template-columns:minmax(0,1fr)}.front-lead aside{border:0;padding:0}}
