:root{--bg:#000;--red:#e20909;--red-bright:#f00606;--red-dim:rgba(226,9,9,.55);--red-faint:rgba(226,9,9,.22);--white:#fff;--display:"Archivo",sans-serif}*{margin:0;padding:0;box-sizing:border-box;font-synthesis:none}html,body{height:100%;overflow:hidden;background:var(--bg)}body{color:var(--red);font-family:Cabin,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}::selection{background:var(--red);color:#000}[hidden]{display:none!important}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none;cursor:grab}#scene.drag{cursor:grabbing}#scene.hot{cursor:pointer}body:after{content:"";position:fixed;inset:-100px;z-index:50;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .9s steps(5) infinite}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-30px,20px)}40%{transform:translate(25px,-35px)}60%{transform:translate(-15px,40px)}80%{transform:translate(35px,10px)}to{transform:translate(0)}}.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font:600 .85rem Cabin,sans-serif;color:var(--red);text-decoration:none;cursor:pointer;background:#000000b8;border:1px solid var(--red);border-radius:999px;padding:9px 18px;transition:background .2s,color .2s,box-shadow .2s}.pill:hover{background:var(--red);color:#000}.pill:focus-visible{outline:2px solid var(--white);outline-offset:2px}.pill.white,.pill.active,.pill.vinyl{background:var(--white);border-color:var(--white);color:#000}.pill.white:hover,.pill.active:hover,.pill.vinyl:hover{background:#ddd;box-shadow:0 0 24px #e2090999}.pill:disabled{opacity:.4;cursor:wait}.tape{position:fixed;inset:0;z-index:40;background:#000;display:grid;place-items:center;overflow:hidden;transition:opacity .5s}.tape.gone{opacity:0;pointer-events:none}.osd{position:absolute;top:22px;left:28px;font:900 1.3rem var(--display);font-stretch:125%;color:var(--white);letter-spacing:.06em;text-shadow:2px 0 var(--red)}.osd-r{left:auto;right:28px}.tape-inner{position:relative;z-index:3;text-align:center;padding:0 16px;max-width:640px;text-shadow:0 0 30px #000,0 0 60px #000}.osd{z-index:3}.wall{position:absolute;inset:-30% -15%;z-index:0;display:flex;flex-direction:column;justify-content:center;gap:14px;transform:rotate(-8deg);pointer-events:none}.wall-row{display:flex;width:max-content;animation:drift var(--dur) linear infinite;animation-direction:var(--dir)}.wall-row img{width:150px;height:150px;margin-right:14px;border-radius:14px;object-fit:cover;background:#111;filter:grayscale(1) contrast(1.2) brightness(.8)}@keyframes drift{to{transform:translate(-50%)}}.wall-tint{position:absolute;inset:0;z-index:1;background:var(--red);mix-blend-mode:multiply;pointer-events:none}.wall-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 300px at var(--mx,50%) var(--my,45%),rgba(0,0,0,.2),rgba(0,0,0,.84) 75%),linear-gradient(to bottom,transparent 55%,#000)}.tape .tape-bar{background:#0009}.tape-logo{font:900 2.6rem var(--display);font-stretch:125%;color:var(--red-bright)}.tape-title{font:900 clamp(2rem,8vw,4.2rem)/1.02 var(--display);font-stretch:125%;text-transform:uppercase;color:var(--red-bright);margin:10px 0 14px}.tape-sub{font-size:1rem;margin-bottom:28px}.tape-bar{height:6px;border:1px solid var(--red-faint);border-radius:999px;overflow:hidden;max-width:360px;margin:0 auto 10px}.tape-bar span{display:block;height:100%;width:0;background:var(--red);transition:width .2s}.tape-status{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--red-dim);margin-bottom:24px}.tape .pill{font-size:1rem;padding:14px 34px}.tape-help{font-size:.82rem;color:var(--red-dim);margin-top:26px;line-height:1.6}.tape-back{display:inline-block;margin-top:16px;color:var(--red);font-size:.85rem}.tracking{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.035) 0 2px,transparent 2px 4px)}.tracking:before{content:"";position:absolute;left:0;right:0;height:70px;top:-80px;background:linear-gradient(to bottom,transparent,rgba(226,9,9,.16) 40%,rgba(255,255,255,.08) 50%,transparent);animation:track 3.6s linear infinite}@keyframes track{to{top:110%}}.nogl{position:fixed;inset:0;z-index:45;background:#000;display:grid;place-content:center;text-align:center;padding:16px;gap:8px}.hud-top{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px max(16px,3vw);pointer-events:none}.hud-top>*{pointer-events:auto}.logo{font:900 1.4rem var(--display);font-stretch:125%;color:var(--red);text-decoration:none;text-shadow:0 0 12px #000}.logo .sub{font:500 .72rem Cabin,sans-serif;letter-spacing:.25em;color:var(--red);margin-left:10px;text-transform:uppercase}.hud-right{display:flex;gap:8px}.stops{position:fixed;left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom));z-index:20;display:flex;gap:8px;padding:0 16px;overflow-x:auto;scrollbar-width:none}.stops>:first-child{margin-left:auto}.stops>:last-child{margin-right:auto}.stops::-webkit-scrollbar{display:none}.stops .pill{flex:none}.tip{position:fixed;z-index:25;pointer-events:none;max-width:260px;background:#000;border:1px solid var(--red);border-radius:12px;padding:7px 12px;font-size:.82rem;color:var(--red);transform:translate(14px,14px)}.crosshair{position:fixed;z-index:24;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;pointer-events:none;border-radius:50%;background:var(--white);box-shadow:0 0 0 2px #0009;opacity:.75}.crosshair.hot{width:14px;height:14px;margin:-7px 0 0 -7px;background:transparent;border:2px solid var(--red);box-shadow:0 0 12px #e20909b3;opacity:1}.look-hint{position:fixed;z-index:24;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;background:#000c;border:1px solid var(--red);border-radius:999px;padding:8px 16px;font-size:.85rem;color:var(--white)}.tip b{display:block;color:var(--white);font:900 .8rem var(--display);font-stretch:125%;text-transform:uppercase;margin-bottom:2px}.dig{position:fixed;left:0;right:0;bottom:max(64px,calc(env(safe-area-inset-bottom) + 54px));z-index:21;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 16px;pointer-events:none}.dig>*{pointer-events:auto}.dig-label{font:900 .9rem var(--display);font-stretch:125%;text-transform:uppercase;color:var(--white);text-shadow:0 0 10px #000,0 0 2px #000;text-align:center}.dig-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.panel{position:fixed;z-index:30;top:0;right:0;bottom:0;width:min(400px,100%);background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:1px solid var(--red-faint);padding:64px 28px 28px;overflow-y:auto;animation:slide .35s cubic-bezier(.2,.8,.2,1)}@keyframes slide{0%{transform:translate(40px);opacity:0}}.p-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:999px;border:1px solid var(--red);background:none;color:var(--red);font-size:1.4rem;cursor:pointer}.p-close:hover{background:var(--red);color:#000}.p-cover{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;display:block;background:#111;box-shadow:0 24px 70px #e209094d}.p-cover.tall{aspect-ratio:3/4}.p-cover.wide{aspect-ratio:16/9}.panel{overflow-x:hidden}.p-sleeve{position:relative;border-radius:16px;outline:none;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1)}.p-sleeve:hover{transition-duration:.12s}.p-sleeve:focus-visible{outline:2px solid var(--white);outline-offset:4px}.p-sleeve:after{content:"";position:absolute;inset:0;z-index:3;border-radius:16px;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.22),transparent 55%);opacity:0;transition:opacity .3s,transform .45s cubic-bezier(.2,.8,.2,1)}.p-sleeve:hover:after{opacity:1}.p-sleeve .p-cover{position:relative;z-index:2;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.disc{position:absolute;inset:7%;z-index:1;border-radius:50%;display:none;background:radial-gradient(circle,transparent 0 33%,rgba(255,255,255,.07) 33.5% 34%,transparent 34.5%),repeating-radial-gradient(circle,#141414 0 1.5px,#262626 2px 3px),#141414;box-shadow:0 0 0 1.5px #ffffff29,0 0 24px #e209092e;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.disc:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent 0 12%,rgba(255,255,255,.08) 18%,transparent 26% 62%,rgba(255,255,255,.06) 68%,transparent 76%)}.label{position:absolute;inset:33%;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 0 0 2px #000}.label:after{content:"";position:absolute;left:50%;top:50%;width:9%;height:9%;transform:translate(-50%,-50%);border-radius:50%;background:#000}.p-sleeve.record .disc{display:block}.p-sleeve.record:is(:hover,:focus-visible,.out) .p-cover{transform:translate(-12%) scale(.8);box-shadow:0 10px 30px #e209094d}.p-sleeve.record:is(:hover,:focus-visible,.out):after{transform:translate(-12%) scale(.8)}.p-sleeve.record:is(:hover,:focus-visible,.out) .disc{transform:translate(14%)}.p-sleeve.record:is(:hover,:focus-visible,.out) .label{animation:spin 1.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.p-meta{margin:18px 0 8px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.p-title{font:900 clamp(1.4rem,5vw,2rem)/1.05 var(--display);font-stretch:125%;text-transform:uppercase;color:var(--red-bright);overflow-wrap:break-word}.p-artists{margin:10px 0 22px;font-size:.95rem}.p-actions{display:flex;flex-wrap:wrap;gap:8px}.clerk{position:fixed;z-index:28;left:max(16px,3vw);bottom:70px;width:min(380px,calc(100% - 32px));background:#000000e6;border:1px solid var(--red);border-radius:16px;padding:16px 18px 18px;animation:slide .3s cubic-bezier(.2,.8,.2,1)}.clerk-x{top:10px;right:10px;width:32px;height:32px;font-size:1.2rem}.clerk-name{font:900 .8rem var(--display);font-stretch:125%;text-transform:uppercase;color:var(--white);margin-bottom:6px}.clerk-say{font-size:.98rem;line-height:1.45;margin:0 34px 14px 0;color:var(--red)}.clerk-actions{display:flex;flex-wrap:wrap;gap:8px}.keypad{position:fixed;z-index:29;left:50%;top:50%;transform:translate(-50%,-50%);width:min(280px,calc(100% - 32px));background:linear-gradient(#1c1c1f,#0e0e10);border:1px solid #3a3a40;border-radius:16px;padding:18px 18px 20px;box-shadow:0 20px 60px #000c,inset 0 1px #ffffff0f}.keypad-x{top:10px;right:10px;width:32px;height:32px;font-size:1.2rem}.pad-name{font:900 .8rem var(--display);font-stretch:125%;text-transform:uppercase;color:var(--white);margin-bottom:10px}.pad-display{font:700 1.05rem/1 ui-monospace,Consolas,monospace;letter-spacing:.18em;text-align:center;color:#3fdc6a;background:#061006;border:1px solid #13301a;border-radius:8px;padding:14px 8px;margin-bottom:14px;text-shadow:0 0 8px rgba(63,220,106,.6);white-space:nowrap;overflow:hidden}.pad-display.no{color:#ff3a3a;text-shadow:0 0 8px rgba(255,40,40,.7);animation:padShake .35s}.pad-display.ok{color:#9dffb6}.pad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pad-keys button{font:900 1.1rem var(--display);font-stretch:125%;color:#e9e6e6;background:#3a3a40;cursor:pointer;border:0;border-radius:10px;padding:14px 0;box-shadow:0 3px #1a1a1d}.pad-keys button:hover{background:#4a4a52}.pad-keys button:active{transform:translateY(2px);box-shadow:0 1px #1a1a1d}.pad-keys button:focus-visible{outline:2px solid var(--white);outline-offset:2px}.pad-keys .ok{background:var(--red);color:#000}.pad-keys .ok:hover{background:var(--red-bright)}@keyframes padShake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media(prefers-reduced-motion:reduce){.pad-display.no{animation:none}}.pill.spin{background:var(--red);color:#000;border-color:var(--red)}.pill.spin:hover{background:var(--red-bright);box-shadow:0 0 24px #e2090999}.fade{position:fixed;inset:0;z-index:35;background:#000;opacity:0;pointer-events:none;transition:opacity .45s}.fade.on{opacity:1;pointer-events:auto}.game{position:fixed;inset:0;z-index:23;pointer-events:none}.game>*{position:absolute}.g-top{top:62px;left:max(16px,3vw);display:flex;flex-direction:column;gap:6px;align-items:flex-start;font:900 .8rem var(--display);font-stretch:125%;text-transform:uppercase;color:var(--white);text-shadow:0 2px 0 #000,0 0 12px #000}.g-score{color:var(--red);font-size:1.05rem;letter-spacing:.06em}.g-hearts{display:flex;gap:5px}.g-hearts i{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#000 0 2px,#333 3px 9px,#222 10px);opacity:.55;box-shadow:0 0 0 2px #000}.g-hearts i.on{background:radial-gradient(circle,#000 0 2px,var(--red) 3px 5px,#111 6px 7px,#2a2a30 8px 9px,#111 10px);opacity:1}.g-radar{top:62px;right:max(16px,3vw);width:112px;height:112px;image-rendering:pixelated}.g-hand{right:12%;bottom:-10px;width:min(34vh,300px);height:min(34vh,300px);image-rendering:pixelated;transform-origin:100% 100%}.g-hand.throw{animation:gThrow .28s ease-out}@keyframes gThrow{0%{transform:translate(0) rotate(0)}35%{transform:translate(-18%,-16%) rotate(-22deg)}to{transform:translate(0) rotate(0)}}.g-hurt{inset:0;background:radial-gradient(ellipse at center,#e2090900 45%,#e20909bf);opacity:0}.g-hurt.on{animation:gHurt .6s ease-out}@keyframes gHurt{0%{opacity:1}to{opacity:0}}.g-msg{left:50%;top:24%;transform:translate(-50%);max-width:min(560px,calc(100% - 32px));text-align:center;font:900 1.2rem var(--display);font-stretch:125%;text-transform:uppercase;color:var(--white);text-shadow:0 3px 0 var(--red),0 0 18px #000;opacity:0;transition:opacity .25s}.g-msg.show{opacity:1}.g-pause{right:max(16px,3vw);top:184px;pointer-events:auto}.g-stick{display:none;left:max(18px,4vw);bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));width:120px;height:120px;border-radius:50%;background:#00000073;border:2px solid var(--red-dim);pointer-events:auto;touch-action:none}.g-stick i{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:var(--red);opacity:.85}@media(pointer:coarse){.g-stick{display:block}.g-hand{right:4%}}.g-card{left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));max-height:calc(100% - 96px);overflow:auto;pointer-events:auto;background:#000000e6;border:1px solid var(--red);border-radius:16px;padding:22px 22px 20px;box-shadow:0 20px 70px #000,0 0 40px #e2090940}.g-kicker{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin-bottom:6px}.g-title{font:900 clamp(1.7rem,6vw,2.6rem)/1 var(--display);font-stretch:125%;text-transform:uppercase;color:var(--red-bright);margin-bottom:12px}.g-body{font-size:.98rem;line-height:1.5;color:var(--red)}.g-body p{margin-bottom:10px}.g-body b{color:var(--white)}.g-how{font-size:.85rem;opacity:.85}.g-recs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.g-recs button{width:64px;height:64px;padding:0;border:1px solid var(--red-faint);border-radius:10px;overflow:hidden;background:#111;cursor:pointer}.g-recs button:hover,.g-recs button:focus-visible{border-color:var(--white);box-shadow:0 0 18px #e2090999;outline:none}.g-recs img{display:block;width:100%;height:100%;object-fit:cover}.g-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}@media(max-width:700px){.g-radar{width:84px;height:84px}.g-pause{top:156px}}@media(prefers-reduced-motion:reduce){.g-hand.throw,.g-hurt.on{animation:none}.fade{transition:none}}.dock{position:fixed;z-index:22;left:max(16px,3vw);top:66px;width:320px;background:#000;border:1px solid var(--red-faint);border-radius:16px;overflow:hidden}.dock-head{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 6px 14px;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.dock-x{background:none;border:0;color:var(--red);font-size:1.2rem;cursor:pointer;width:28px;height:28px;border-radius:999px}.dock-x:hover{background:var(--red);color:#000}.dock iframe{display:block;width:100%;height:152px;border:0}@media(max-width:700px){.logo .sub{display:none}.hud-right{gap:6px}.hud-right .pill{padding:7px 11px;font-size:.75rem}.panel{top:auto;height:78%;width:100%;border-left:0;border-top:1px solid var(--red-faint);border-radius:20px 20px 0 0;padding:54px 16px 24px}.panel .p-sleeve{width:min(240px,70%);margin:0 auto}.dock{left:16px;right:16px;width:auto}.dock iframe{height:80px}.dig-label{font-size:.75rem}.clerk{left:16px;bottom:64px}.clerk-actions .pill{padding:8px 13px;font-size:.8rem}}@media(prefers-reduced-motion:reduce){body:after,.tracking:before{animation:none}.panel,.clerk,.wall-row,.p-sleeve .label{animation:none!important}.p-sleeve,.p-sleeve .p-cover,.disc{transition:none}}
