:root{color-scheme:dark;--ink:#09262d;--deep:#061a21;--panel:#102f39;--cream:#fff1d4;--gold:#ffc94f;--mint:#69e0cb;--purple:#d4a7ff;--pink:#ff97ae;--muted:#bed0ce;--display:Impact,"Arial Black","Franklin Gothic Heavy",sans-serif;--body:"Trebuchet MS",Arial,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--deep);color:var(--cream);font:1rem/1.55 var(--body)}
a{color:inherit;text-underline-offset:.23em}
img{display:block;max-width:100%}
button,summary{font:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;top:1rem;left:1rem;z-index:10;background:var(--gold);color:var(--ink);padding:1rem}
.mast{background:var(--deep);border-bottom:1px solid #fff2}
.nav,.foot{display:flex;justify-content:space-between;align-items:center;gap:1.4rem;min-height:74px}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font:1.3rem/1 var(--display);letter-spacing:.035em}
.brand img{border-radius:9px;border:1px solid #fff3}
.brand b,.foot b{color:var(--gold)}
nav{display:flex;flex-wrap:wrap;gap:clamp(.8rem,2.6vw,2rem)}
nav a{font-weight:800;text-decoration:none}
nav a:hover{color:var(--mint)}
.button,.outline{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.68rem 1.15rem;border:2px solid var(--cream);font-weight:900;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,transform .15s}
.button{background:var(--gold);color:#142831;border-color:#142831;box-shadow:4px 4px 0 #0008;transform:rotate(-1deg)}
.button:hover{background:#ffe082;transform:rotate(0) translateY(-2px)}
.button.small{min-height:42px;padding:.4rem .9rem;font-size:.92rem}
.outline:hover{background:var(--cream);color:var(--ink)}
.hero{overflow:hidden;background:radial-gradient(ellipse at 76% 41%,#206e72,transparent 68%),linear-gradient(125deg,#09262d 18%,#0b424a);border-bottom:2px solid var(--ink)}
.hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:2.1rem;padding-block:clamp(3.8rem,8vw,7.1rem)}
.label,.eyebrow,.tag{font:800 .73rem/1.35 var(--body);letter-spacing:.15em;text-transform:uppercase}
.label{display:inline-flex;align-items:center;gap:.55rem;border:1px solid #71daca7a;padding:.55rem .75rem;background:#061a2180;color:var(--mint);margin:0}
.dot{background:#77ed9a;border-radius:100%;width:.55rem;height:.55rem;display:inline-block;box-shadow:0 0 11px #77ed9a7d;vertical-align:.06em}
h1,h2,h3,h4{font-family:var(--display);font-weight:900;line-height:1.03;letter-spacing:.009em;text-transform:uppercase}
.hero h1{font-size:clamp(4.7rem,9.1vw,9.2rem);letter-spacing:-.034em;line-height:.86;margin:1.2rem 0 1.32rem;text-shadow:5px 6px 0 #051c24}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero h1 em span{color:var(--mint)}
.pitch{font-size:clamp(1.25rem,2.8vw,2.08rem);font-weight:900;line-height:1.12;margin:0}
.hero-joke{margin:.65rem 0 1.4rem;color:#daeeeb}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}
.hero-frame{position:relative;margin:0;background:var(--cream);color:var(--ink);padding:9px;transform:rotate(1.8deg);box-shadow:12px 12px 0 #061b22a0}
.hero-frame img{width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;object-position:center}
.hero-frame figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.4rem;padding:.6rem .35rem .1rem;font-size:.68rem;font-weight:900;letter-spacing:.12em}
.sticker{position:absolute;right:-.45rem;bottom:2.9rem;background:var(--gold);border:2px solid var(--ink);padding:.5rem .72rem;transform:rotate(-7deg);font:1rem/1.05 var(--display);box-shadow:3px 4px 0 #061b22a0}
.ticker{background:var(--gold);color:var(--ink);border-bottom:3px solid #06161b;text-align:center;font:1rem/1.65 var(--display);letter-spacing:.14em;padding:.55rem 0}
.ticker span{color:#28695c;padding:0 .52rem}
.section{padding-block:clamp(3.7rem,7vw,6.4rem)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:1.3rem;margin-bottom:1.8rem}
.section-head>p{max-width:36ch;color:var(--muted);margin:0 .1rem .2rem}
.eyebrow{color:var(--mint);margin:0 0 .65rem}
h2{font-size:clamp(2.4rem,5.8vw,5.1rem);margin:0}
h3{font-size:clamp(1.35rem,2.5vw,2.24rem);margin:.45rem 0}
.purple{--accent:var(--purple)}.gold{--accent:var(--gold)}.mint{--accent:var(--mint)}.pink{--accent:var(--pink)}.blue{--accent:#95d6ff}
.mode-grid,.map-grid,.food-grid,.crew-grid{display:grid;gap:1rem}
.mode-grid,.map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.mode,.map{border:1px solid #f7efd337;border-bottom:4px solid var(--accent);background:var(--panel);display:flex;flex-direction:column}
.mode img,.map img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.map img{object-fit:contain;background:#183a42}
.map a{display:block}
.map a:hover{background:#2d5560}
.map details{width:100%;margin-top:auto}
.map summary{font-size:.95rem}
.map details p{margin:0 .8rem .65rem;font-size:.9rem}
.mode>div,.map>div{padding:1.05rem;flex:1;display:flex;flex-direction:column;align-items:start}
.tag{color:var(--accent,var(--gold))}
.mode p,.map p,.file p,.food p{margin:.38rem 0 .85rem;color:var(--muted);line-height:1.48}
.mode a{font-weight:900;color:var(--accent);margin-top:auto}
.crew{border-block:1px solid #ffffff1b;background:linear-gradient(160deg,#143c43,#0b2c36 65%);content-visibility:auto;contain-intrinsic-size:auto 950px}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.filters button{cursor:pointer;border:1px solid #e2fcf68c;background:#0b252d;color:var(--cream);padding:.5rem .85rem;min-height:42px;font-weight:900}
.filters button[aria-pressed=true]{background:var(--mint);color:var(--ink);border-color:var(--mint)}
.crew-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.file{background:#09272f;border:1px solid #e2fcf630;padding:.8rem;border-top:4px solid var(--accent);overflow:hidden}
.file img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:radial-gradient(ellipse at 50% 75%,color-mix(in srgb,var(--accent) 50%,#09272f),#183943);padding:.45rem}
.file .tag{font-size:.65rem;color:var(--accent);margin:.75rem 0 .2rem}
.file h3{font-size:clamp(1.15rem,2vw,1.7rem)}
.file p:last-child{font-size:.92rem;margin-bottom:.3rem}
.field-note{margin-top:1rem;background:#143741;border-left:5px solid var(--purple);padding:.85rem 1rem}
.field-note b{letter-spacing:.08em;color:var(--purple)}
.field-note p{margin:.2rem 0 0;color:var(--muted)}
.kitchen{background:#f6e7c6;color:#162e32;border-block:6px solid #e9cc94}
.kitchen .eyebrow{color:#295b56}.kitchen .section-head>p{color:#385753}
.food-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.food{border:2px solid #26404a;border-top:7px solid var(--accent);padding:.85rem;background:#fff4db;box-shadow:3px 4px 0 #233d3932}
.food img,.food-art{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#e9d6af;padding:.25rem}
.food h3{font-size:clamp(1.2rem,2.2vw,1.8rem);margin-top:.8rem}
.food b{font-size:.9rem}.food p{color:#3c5753;font-size:.94rem}
.soda{display:grid;place-items:center;background:#b3d7de}
.soda>span{position:relative;display:grid;place-content:center;aspect-ratio:2/3;width:38%;min-width:50px;color:#f9e8c3;text-align:center;font:clamp(.63rem,1.5vw,1.06rem)/1 var(--display);background:linear-gradient(90deg,#1b49a7,#286cdd 45%,#19418d);border-block:6px solid #d5dde7;border-radius:10px;transform:rotate(-9deg);box-shadow:5px 6px 0 #14324240}
.snout{margin:.18rem auto 0;background:#ffa7bc;color:#493242;border-radius:50%;width:1.65em;font-size:.94em;line-height:1.1;letter-spacing:.15em}
.turkey{display:flex;align-items:center;gap:1rem;background:#17383b;border-color:var(--gold);color:var(--cream)}
.turkey img{object-fit:contain;width:4rem;height:4rem}.turkey b{color:var(--gold)}
.guide-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.15rem;align-items:start}
.guide-steps{display:grid;gap:.7rem}
details{background:#0f303a;border:1px solid #c9e8e432}
summary{cursor:pointer;font-weight:900;font-size:1.12rem;padding:.8rem 1rem;color:var(--cream)}
summary span{color:var(--mint);padding:.05rem .45rem;font-size:.86rem}
details p{margin:0 1rem 1rem;color:var(--muted)}details ol{margin:.05rem 1rem .85rem;padding-left:1.7rem;color:#dae7e5}details li+li{margin-top:.4rem}
details .tip{border-left:3px solid var(--gold);padding-left:.6rem;color:#ffe09b}
kbd{color:var(--gold);font-weight:900}
.bestiary{background:#211d36;border:1px solid #e7c5ff5e;border-top:5px solid var(--purple);padding:1rem}
.bestiary .eyebrow{color:var(--purple)}
.bestiary ul{list-style:none;padding:0;margin:.8rem 0}
.bestiary li{display:grid;gap:.1rem;border-top:1px solid #e7c5ff3d;padding:.44rem 0}
.bestiary li span{color:#ded1e6;font-size:.9rem}
.bat{display:flex;align-items:center;gap:.65rem;border:1px solid #e7c5ff3d;padding:.55rem;background:#151725}
.bat img{width:29%;height:auto;aspect-ratio:1;object-fit:cover}
.bat h4{font-size:1.4rem;margin:.18rem 0}.bat p{font-size:.84rem;margin:.2rem 0}
.dj{background:radial-gradient(ellipse at 24% 52%,#564082,#201c37 55%);border-block:2px solid #ad83df6b;overflow:hidden}
.dj-inner{display:grid;grid-template-columns:.75fr 1fr;align-items:center;gap:clamp(1rem,7vw,6rem);padding-block:2.5rem}
.dj img{width:100%;max-height:340px;object-fit:contain;filter:drop-shadow(7px 8px 0 #151022)}
.dj h2{color:#eed0ff}
.dj p:not(.eyebrow){max-width:52ch;color:#ebdcef}
.community{text-align:center;background:#123c43}
.community p{margin:.55rem auto 1.15rem}
.socials{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin:1.25rem 0 .75rem}
.socials a{display:inline-flex;align-items:center;gap:.55rem;border:1px solid #a0e5d8;background:#0c303a;min-height:46px;padding:.5rem .9rem;font-weight:900;text-decoration:none}
.socials a:hover{color:var(--ink);background:var(--mint)}
.socials small{background:var(--gold);color:var(--ink);padding:0 .3rem;font-size:.67rem}
.fine{font-size:.8rem;color:#d2e3e0}
footer{border-top:1px solid #fff3;background:var(--deep)}
.foot{min-height:64px;font-size:.8rem;font-weight:900;letter-spacing:.08em}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr 1.04fr}.hero h1{font-size:clamp(3.8rem,9.3vw,6rem)}.crew-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.actions .outline{border-color:transparent;padding-inline:.15rem}.mode img,.map img{aspect-ratio:4/3}}
@media(max-width:680px){.wrap{width:calc(100% - 32px)}.nav{flex-wrap:wrap;gap:.6rem;padding-block:.6rem}.nav nav{order:3;width:100%;justify-content:space-between;gap:.6rem;border-top:1px solid #fff2;padding-top:.55rem;font-size:.9rem}.brand{font-size:1.12rem}.brand img{width:38px;height:38px}.hero-grid{grid-template-columns:1fr;gap:1.5rem;padding-block:2.4rem 2.7rem}.hero h1{font-size:clamp(4.5rem,15vw,6.4rem)}.hero-frame{margin:0 5px}.hero-frame img{aspect-ratio:16/9}.sticker{font-size:.8rem;bottom:2rem}.ticker{font-size:.76rem;letter-spacing:.075em}.ticker span{padding:0 .2rem}.section-head{display:block}.section-head>p{margin:.6rem 0 0}.mode-grid,.map-grid,.guide-grid{grid-template-columns:1fr}.mode img,.map img{aspect-ratio:16/9}.crew-grid,.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.63rem}.file{padding:.58rem}.file img{aspect-ratio:1}.dj-inner{grid-template-columns:1fr;gap:.6rem}.dj img{max-height:240px}.foot{flex-wrap:wrap;gap:.4rem;padding-block:.7rem}}
@media(max-width:365px){.wrap{width:calc(100% - 24px)}.nav .button{padding:.38rem .5rem;font-size:.79rem}.hero h1{font-size:4rem}.actions{gap:.45rem}.actions a{font-size:.89rem}.food{padding:.5rem}.file .tag{letter-spacing:.06em}.socials{gap:.35rem}.socials a{padding:.4rem .55rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
