:root{color-scheme:dark;--bg:#100914;--panel:#1b1020;--ink:#fff5f9;--muted:#d0bdcf;--accent:#ff48c9;--line:#432540;--display:"Barlow Condensed","Arial Narrow",Impact,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "DM Sans",system-ui,sans-serif}
body[data-mode=busted]{--accent:#ff5d67}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid #fff;outline-offset:5px}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.top{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand,.top nav{display:flex;align-items:center;gap:12px}
.brand img{border-radius:50%}
.brand strong,.button,.mode button,.phase,.status,.preview-label,.x-link{font-weight:800;letter-spacing:.08em}
.top nav{gap:25px;color:var(--muted)}
.x-link{color:var(--accent);font-size:.78rem;white-space:nowrap}
.hero{position:relative;isolation:isolate;background:#140b19;text-align:center;overflow:hidden}
.hero-art{position:relative;height:clamp(235px,33.33vw,640px);background:#231327 url(assets/vice-city.webp) center/cover no-repeat;transition:filter .25s}
.hero-art::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#140b19)}
body[data-mode=party] .hero-art{filter:saturate(1.24)}
body[data-mode=busted] .hero-art{filter:grayscale(.83) contrast(1.1)}
.hero-copy{position:relative;margin-top:-42px;padding-bottom:54px}
.status{display:inline-flex;align-items:center;gap:.65em;font-size:.72rem;background:#100914;border:1px solid var(--line);padding:5px 11px}
.status span{width:8px;height:8px;background:var(--accent);border-radius:50%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.04}
h1,h2{font-family:var(--display);text-transform:uppercase}
h1{font-size:clamp(2.7rem,8vw,6.6rem);margin-bottom:14px}
h1 em{color:var(--accent)}
h2{font-size:clamp(2.3rem,5vw,4rem);margin-bottom:20px}
h3{font-size:1.38rem}
.lead,.note,li p:not(.phase),footer,dd{color:var(--muted)}
.actions,.mode{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.button,.mode button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;font-size:.76rem;border:1px solid var(--line);cursor:pointer;font-family:inherit}
.primary{background:var(--accent);color:#160714;border-color:transparent}
.ghost,.mode button{background:#140b19;color:var(--ink)}
.mode{margin-top:22px;gap:0}
.mode button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
.death-screen{pointer-events:none;position:absolute;top:0;inset-inline:0;height:clamp(235px,33.33vw,640px);display:grid;place-items:center;background:#120911b8;color:#ff394b;font:900 clamp(4rem,16vw,12rem)/1 var(--display);opacity:0}
.death-screen.show{animation:death .8s ease both}
@keyframes death{0%,100%{opacity:0}20%,70%{opacity:1}}
.section{padding-block:54px;border-bottom:1px solid var(--line);scroll-margin-top:12px}
.wall{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
form{display:grid;gap:9px}
form label{font-weight:700}
form .button{justify-self:start;margin-top:6px}
select,textarea{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);padding:10px}
textarea{resize:vertical}
.caption-card{display:grid;align-content:center;text-align:center;min-height:240px;padding:22px;background:radial-gradient(ellipse,#502451,var(--panel) 80%);border:1px solid var(--line);overflow-wrap:anywhere}
.caption-card[data-side=busted]{background:radial-gradient(ellipse,#482127,var(--panel) 80%)}
.preview-label,.phase{font-size:.76rem;color:var(--accent)}
.caption-card strong{font:900 italic clamp(3.3rem,7vw,6rem)/1 var(--display);color:#ff48c9}
.caption-card[data-side=busted] strong{color:#ff5d67}
.caption-card p:last-child{margin:12px 0 0}
.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0;list-style:none}
.roadmap li{padding:22px;background:var(--panel);border-top:2px solid var(--accent)}
.roadmap li p:last-child,.note{margin-bottom:0}
.tokens{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0}
.tokens div{background:var(--panel);padding:14px 18px}
.tokens div:last-child{grid-column:1/-1}
dt{font-weight:800}
dd{margin:0}
footer{display:flex;justify-content:space-between;gap:18px;padding-block:26px;font-size:.85rem}
footer p{margin:0}
footer a{color:var(--accent)}
@media(max-width:700px){
.wrap{width:calc(100% - 32px)}
.top nav{display:none}
.wall,.roadmap{grid-template-columns:1fr}
.hero-art{display:grid;grid-template-columns:1fr 1fr;background:none}
.hero-art span{background:url(assets/vice-city.webp) 8% center/auto 100% no-repeat}
.hero-art span+span{background-position:94% center}
footer{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.hero-art{transition:none}
.death-screen.show{animation:none}
}

.respawn{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.respawn-screen{position:relative;display:grid;place-items:center;min-height:235px;padding:20px;text-align:center;overflow:hidden;border:1px solid var(--line);background:linear-gradient(#12091588,#120915ed),url(assets/vice-city.webp) center/cover}
.respawn-word{margin:0;font:900 italic clamp(3rem,8vw,6rem)/1 var(--display);color:#ff384b;text-shadow:0 4px 14px #140408}
#wasted-animation{position:absolute;inset:0}
#wasted-animation img{width:100%;height:100%;display:block;object-fit:cover}
.respawn-screen[data-state=playing] .respawn-word,.respawn-screen[data-state=result] .respawn-word{visibility:hidden}
#wasted-result{position:absolute;inset:0;align-content:center;padding:16px;background:#130911e8}
#wasted-result h3{margin-bottom:8px}
#wasted-result p{margin-bottom:14px;color:var(--muted)}
@media(max-width:700px){.respawn{grid-template-columns:1fr;gap:18px}}
