:root{--display: "Aldrich", "Trebuchet MS", system-ui, sans-serif;--neon: #39ff14;--ink: #0a0d14}*{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}body{overflow:hidden;background:#000;font-family:system-ui,sans-serif}#flash{position:fixed;inset:0;z-index:25;background:#fff;opacity:0;pointer-events:none}#flash.firing{animation:shutter .32s ease-out}@keyframes shutter{0%{opacity:.85}to{opacity:0}}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#000;z-index:50;transition:opacity .45s ease}#loading.done{opacity:0;pointer-events:none}#loading:before{content:"";position:absolute;inset:-4rem;background:url(/loading-bg.jpg) center / cover no-repeat;filter:blur(5px);z-index:-2}#loading:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#04060980,#040609e0);z-index:-1}#loading img{display:block;max-width:min(30rem,74vw);max-height:56vh;transform-origin:55.6% 9%;animation:sway 2.8s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}#loading-track{position:absolute;left:0;right:0;bottom:0;height:.4rem;background:#ffffff12}#loading-bar{width:0;height:100%;background:var(--neon);box-shadow:0 0 .75rem #39ff14d9,0 0 2rem #39ff1473;transition:width .3s ease}.hud-chip{position:fixed;display:flex;align-items:center;gap:.55rem;padding:.5rem .85rem .5rem .55rem;border-radius:.5rem;background:#0a0c10b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f2f2f2;font-size:.82rem;pointer-events:none}#photo-tip{top:1.5rem;right:1.5rem;opacity:.5}#hint{right:1.5rem;bottom:1.5rem;animation:nudge 1.7s ease-in-out infinite}.hint-key{display:grid;place-items:center;min-width:1.5rem;padding:.1rem .3rem;border:2px solid #ffd400;border-radius:.3rem;color:#ffd400;font-family:var(--display);font-size:.9rem;line-height:1.2}.hint-key.quiet{border-color:#fff6;color:#f2f2f2}@keyframes nudge{0%,to{opacity:1}50%{opacity:.38}}#menu{position:fixed;inset:0;display:grid;align-items:end;justify-items:start;padding:clamp(1.5rem,5vw,4rem);background:#0a0c10e6;color:#f2f2f2;z-index:30;overflow-y:auto}#menu[data-art=on]{background:linear-gradient(0deg,#06080bf5,#06080b9e 26%,#06080b00 56%),linear-gradient(90deg,#06080b9e,#06080b00 42%),var(--menu-art) center / cover no-repeat}#menu-shark{position:absolute;right:clamp(.5rem,5vw,5rem);bottom:10vh;width:min(24rem,34vw);pointer-events:none;animation:drift 6s ease-in-out infinite}#menu:not([data-screen=main]) #menu-shark{display:none}@keyframes drift{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-1.4rem) rotate(2deg)}}#menu-social{position:absolute;right:1.25rem;bottom:1.25rem;display:flex;gap:.35rem}#menu:not([data-screen=main]) #menu-social{display:none}.icon-link{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.45rem;color:#ffffff8c;transition:color .12s ease,background .12s ease}.icon-link:hover{color:var(--neon);background:#ffffff14}.icon-link svg{width:1.15rem;height:1.15rem}.cta{padding:.5rem 1.1rem;border-radius:.45rem;background:var(--neon);color:#080a0d;font-family:var(--display);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:filter .12s ease}.cta:hover{filter:brightness(1.15)}a.menu-item{display:block;text-decoration:none}#menu .panel{width:min(24rem,100%)}#menu[data-screen=controls] .panel{width:min(34rem,100%)}#menu .screen{display:grid;gap:.15rem;justify-items:start}#menu h1{font-family:var(--display);font-size:clamp(2.2rem,5vw,3rem);line-height:1.05;margin-bottom:.75rem;letter-spacing:-.02em}#menu[data-art=on] h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#menu h2{font-family:var(--display);font-size:1.5rem;margin-bottom:.6rem;letter-spacing:.06em;text-transform:uppercase;opacity:.55}.tagline{max-width:22rem;margin-bottom:.9rem;font-size:.85rem;line-height:1.5;opacity:.62}.kicker{margin-bottom:.7rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;opacity:.42}.menu-item{padding:.3rem 0;border:0;background:none;color:#f2f2f2;font-family:var(--display);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;letter-spacing:.02em;text-transform:uppercase;text-align:left;cursor:pointer;transition:color .12s ease,transform .12s ease}.menu-item:hover{color:var(--neon);transform:translate(.3rem)}.pill-row{display:flex;gap:.4rem;margin:.15rem 0 .2rem}.pill{padding:.35rem .9rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:none;color:inherit;font-family:var(--display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.pill:hover{border-color:#ffffff73}.pill[aria-pressed=true]{border-color:var(--neon);background:var(--neon);color:#0a0c10}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;width:min(24rem,100%);margin:.3rem 0 .2rem}.mode-card{display:grid;gap:.25rem;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.16);border-left:3px solid rgba(255,255,255,.16);border-radius:.4rem;background:#0a0c1099;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.mode-card strong{font-family:var(--display);font-size:1rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.mode-card span{font-size:.72rem;line-height:1.35;opacity:.55}.mode-card:hover{border-color:var(--neon);background:#39ff141a;transform:translateY(-2px)}.mode-card[aria-pressed=true]{border-left-color:var(--neon)}.is-setting .mode-card[aria-pressed=true]{border-color:var(--neon);background:#39ff141f}#control-list{width:100%}.control-group{margin-bottom:1rem}.control-title{font-family:var(--display);margin-bottom:.4rem;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;opacity:.4}.control-row{display:grid;grid-template-columns:8.5rem 1fr;gap:.75rem;align-items:baseline;padding:.28rem 0;font-size:.85rem}.control-row kbd{font:inherit;font-size:.78rem;text-align:right;opacity:.9;color:var(--neon)}.control-row span{opacity:.65;line-height:1.4}.menu-link{margin-top:.6rem;padding:.4rem 0;border:0;background:none;color:inherit;font-family:var(--display);font-size:1.2rem;text-transform:uppercase;opacity:.55;cursor:pointer;transition:opacity .12s ease,color .12s ease}.menu-link:hover{opacity:1;color:var(--neon)}#crosshair{position:fixed;left:50%;top:50%;width:0;height:0;transform:translate(-50%,-50%) rotate(var(--twist, 0rad));overflow:visible;pointer-events:none}#crosshair path{fill:none}#crosshair[data-pointer=on] .edge{fill:#fff}#crosshair[data-pointer=on] .backing{fill:#0000008c}#crosshair .backing{stroke:#00000073;stroke-width:3.5px}#crosshair .edge{stroke:#ffffffe6;stroke-width:1.5px}#palette{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;padding:.6rem .8rem;background:#14161cbf;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#palette button{width:2rem;height:2rem;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.25);transition:transform .12s ease,border-color .12s ease}#palette button[aria-pressed=true]{border-color:#fff;transform:scale(1.15)}#inventory{position:fixed;inset:0;display:grid;place-items:center;padding:1.5rem;background:#080a0ee0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#f2f2f2;z-index:20;overflow-y:auto}.backpack{width:min(46rem,100%);border-radius:1.6rem;background:linear-gradient(180deg,#43403a,#35322d 42%,#2b2925);box-shadow:0 1.5rem 3rem #0000008c,inset 0 1px #ffffff14}.backpack .flap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;border-radius:1.6rem 1.6rem .5rem .5rem;background:linear-gradient(180deg,#4d4941,#3d3a34);border-bottom:2px dashed rgba(255,255,255,.14);box-shadow:0 .4rem 1rem #00000059}.backpack .flap h2{font-family:var(--display);font-size:1.35rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.backpack .buckle{width:1.6rem;height:.9rem;border:2px solid rgba(255,255,255,.22);border-radius:.2rem;background:#00000040}#pockets{display:grid;gap:.9rem;padding:1.25rem}.backpack .pocket{padding:1.1rem;border-radius:1rem;background:#00000047;box-shadow:inset 0 2px 8px #00000080}.pocket-label{font-family:var(--display);margin:0 0 .15rem;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;opacity:.5}.backpack .pocket-hint{margin:0 0 .85rem;font-size:.76rem;line-height:1.4;opacity:.38}.pocket .slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.7rem}button.cap-slot{display:grid;gap:.35rem;justify-items:center;padding:.9rem .6rem .8rem;border:2px solid rgba(255,255,255,.1);border-radius:.8rem;background:#ffffff0d;color:inherit;font:inherit;text-align:center;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}button.cap-slot:hover{border-color:#ffffff57;background:#ffffff17;transform:translateY(-2px)}button.cap-slot[aria-pressed=true]{border-color:#e02020;background:#e0202029}.cap-art{display:grid;place-items:center;width:3.4rem;height:3.4rem;margin-bottom:.2rem;border-radius:50%;background:#00000059;box-shadow:inset 0 1px 3px #0009}.cap-art svg{width:2.5rem;height:2.5rem}.cap-art svg path{fill:#ffffffe0}button.cap-slot[aria-pressed=true] .cap-art svg path{fill:#ff5252}.cap-name{font-family:var(--display);font-size:1.05rem;font-weight:400}.cap-hint{font-size:.72rem;line-height:1.35;opacity:.5}.backpack .hint{margin:0;padding:0 1.5rem 1.25rem;text-align:center;font-size:.8rem;opacity:.4}#unsupported{position:fixed;inset:0;z-index:100;display:none;flex-direction:column;align-items:center;gap:.9rem;overflow-y:auto;padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom));text-align:center;background:linear-gradient(#06080ce0,#06080cf2),url(/loading-bg.jpg) center / cover no-repeat;color:#f2f2f2}#unsupported-shark{margin-top:auto;width:min(14rem,46vw);animation:drift 6s ease-in-out infinite}#unsupported h1{font-family:var(--display);font-size:clamp(1.4rem,6vw,2rem);line-height:1.15;letter-spacing:.02em;text-transform:uppercase}#unsupported p{max-width:26rem;line-height:1.6;opacity:.72}#unsupported .aside{font-size:.9rem;opacity:.5}#unsupported .cta{margin-top:.6rem;margin-bottom:auto;padding:.85rem 1.7rem;font-size:.9rem}@media(pointer:coarse)and (hover:none){#app,#flash,#loading,#menu,#hud,#inventory{display:none!important}#unsupported{display:flex}}html[data-unsupported] :is(#app,#flash,#loading,#menu,#hud,#inventory){display:none!important}html[data-unsupported] #unsupported{display:flex}@media(prefers-reduced-motion:reduce){#menu-shark,#unsupported-shark{animation:none}}.quiet-link{align-self:center;padding:.5rem .55rem;color:#ffffff7a;font-family:var(--display);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:color .12s ease}.quiet-link:hover,.quiet-link:focus-visible{color:var(--neon);outline:none}#menu-links{position:absolute;top:1.25rem;right:1.25rem;display:flex;gap:.4rem}#menu-links .icon-link{background:#06080c6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffd1}#menu:not([data-screen=main]) #menu-links{display:none}
