/* ===================== Moonbase v3: Command, locker, coin lab, stickers, crew quarters ===================== */
@font-face{font-family:"Yellowtail";src:url(/assets/fonts/yellowtail.woff2) format("woff2");font-display:swap}
@font-face{font-family:"VT323";src:url(/assets/fonts/vt323.woff2) format("woff2");font-display:swap}
:root{--led:"VT323",ui-monospace,Menlo,monospace;--script:"Yellowtail","Snell Roundhand","Brush Script MT",cursive;
  --steel:linear-gradient(180deg,#5d616b 0%,#3a3d45 18%,#2a2c33 60%,#1c1d22 100%);
  --brushed:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 2px,transparent 2px 5px);
  --rivets:radial-gradient(circle at 9px 9px,#c9ccd3 0 1.6px,#55585f 2.2px,transparent 3px),radial-gradient(circle at calc(100% - 9px) 9px,#c9ccd3 0 1.6px,#55585f 2.2px,transparent 3px),radial-gradient(circle at 9px calc(100% - 9px),#c9ccd3 0 1.6px,#55585f 2.2px,transparent 3px),radial-gradient(circle at calc(100% - 9px) calc(100% - 9px),#c9ccd3 0 1.6px,#55585f 2.2px,transparent 3px);
  --dockh:132px}
body{background:#07050c}

/* ---------- homes: Command screen over the room ---------- */
.cmd{position:fixed;inset:0;z-index:12;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:var(--st) 0 calc(var(--sb) + var(--dockh) + 10px);
  background:radial-gradient(90% 40% at 50% 0%,rgba(255,120,60,.12),transparent 70%),radial-gradient(120% 60% at 50% 100%,#1a0f22,#07050c 70%);will-change:transform,opacity}
.cmd[hidden]{display:none}
.cmd>*{max-width:480px;margin-left:auto;margin-right:auto}
body:not(.in-quarters) .hud-top,body:not(.in-quarters) .hint-pill{display:none}
body:not(.in-quarters) .cam{pointer-events:none}

.hero{position:relative;aspect-ratio:887/792;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 92%,transparent);mask-image:linear-gradient(180deg,#000 92%,transparent)}
.hero>*{position:absolute}
.hero-img{inset:0;width:100%;height:100%;display:block;animation:heroBreath 14s ease-in-out infinite;transform-origin:50% 40%}
@keyframes heroBreath{50%{transform:scale(1.018) translateY(-.4%)}}
.hero-neon{left:54.79%;top:17.68%;width:25.93%;height:22.22%;opacity:0;pointer-events:none;animation:heroBreath 14s ease-in-out infinite;transform-origin:-11% 100%}
.hero-neon.off{opacity:1}
.hero-lamp{left:-8%;top:20%;width:36%;height:32%;background:radial-gradient(closest-side,rgba(255,200,120,.32),transparent);mix-blend-mode:screen;animation:lampF 6s infinite;pointer-events:none}
@keyframes lampF{0%,100%{opacity:.85}40%{opacity:1}43%{opacity:.6}45%{opacity:1}70%{opacity:.9}}
.hero-crt{left:0;top:46.34%;width:17.59%;height:21.72%;pointer-events:none;mix-blend-mode:screen;
  background:repeating-linear-gradient(0deg,rgba(120,240,255,.08) 0 1px,transparent 1px 3px),radial-gradient(closest-side,rgba(90,230,255,.22),transparent);animation:crtF 3.2s steps(3) infinite}
@keyframes crtF{0%,100%{opacity:.7}33%{opacity:1}66%{opacity:.82}}
.hero-boom{left:69.56%;top:76.89%;width:11.72%;height:5.93%;border-radius:4px;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(closest-side,rgba(255,170,60,calc(.25 + var(--beat)*.7)),transparent);box-shadow:0 0 calc(6px + var(--beat)*18px) rgba(255,150,40,calc(.2 + var(--beat)*.6))}
.hero-lid{left:66.97%;top:53.16%;width:3.95%;height:4.55%;border-radius:50%;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 20%,#e3b29c,#c58b74 55%,#8a5442);box-shadow:inset 0 -2px 0 #3a160c;transform:scaleY(0);transform-origin:50% 0;transition:transform .06s}
.hero-lid.on{transform:scaleY(1)}
.hero-eye{left:74.52%;top:55.56%;width:4.96%;height:5.56%;border-radius:50%;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(closest-side,rgba(200,250,255,.9),rgba(80,230,255,.45) 45%,transparent);animation:eyeP 3.6s ease-in-out infinite}
@keyframes eyeP{50%{opacity:.35;transform:scale(.85)}}
.hero-eye.zap{animation:eyeZ .6s ease-out}
@keyframes eyeZ{0%{opacity:1;transform:scale(2.4)}100%{opacity:.6;transform:scale(1)}}
.hero-wz{left:63%;top:41.7%;width:27%;height:29%;border-radius:40%}
.hero-mute{right:10px;top:10px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#6a6e78,#2a2c32);border:1px solid rgba(255,255,255,.25);box-shadow:0 3px 8px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.3)}
.hero-mute svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.muted .hero-mute .w{opacity:0}body.muted .hero-mute svg{stroke:#9aa}

.cmd-panel{position:relative;margin-top:-14px;padding:10px 9px 10px;border-radius:18px;
  background:var(--rivets),var(--brushed),var(--steel);border:1px solid #6d717b;box-shadow:0 -6px 24px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 0 rgba(0,0,0,.5)}
.explore{display:flex;align-items:center;justify-content:center;gap:10px;height:34px;margin:0 16px 8px;border-radius:9px;background:linear-gradient(180deg,#041416,#08262a);border:2px solid #15191f;box-shadow:inset 0 0 14px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.15);overflow:hidden;position:relative}
.explore::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.3) 0 1px,transparent 1px 3px);pointer-events:none}
.explore i{font-style:normal;color:#7ff6ff;text-shadow:0 0 8px #3fe6ff;font-size:14px}
.explore b{font:400 19px/1 var(--led);letter-spacing:.06em;color:#9ff8ff;text-shadow:0 0 6px rgba(80,240,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:82%}
.explore b.in{animation:ledIn .5s steps(6)}
@keyframes ledIn{0%{opacity:0;filter:brightness(3)}100%{opacity:1}}
.ticker{display:flex;align-items:center;gap:8px;width:100%;height:36px;margin:0 0 8px;padding:0 10px 0 6px;border-radius:10px;background:linear-gradient(180deg,#120c06,#1d1208);border:2px solid #0c0a08;box-shadow:inset 0 0 12px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.12);overflow:hidden}
.tk-tag{flex:none;font:800 9.5px/1 var(--display);letter-spacing:.14em;padding:5px 7px;border-radius:5px;color:#1b0f00;background:linear-gradient(180deg,#ffd27a,#ff9d2e);box-shadow:0 0 10px rgba(255,160,40,.5)}
.tk-run{flex:1;min-width:0;display:flex;gap:10px;white-space:nowrap;overflow:hidden;font:400 18px/1 var(--led);color:#ffb347;text-shadow:0 0 6px rgba(255,150,40,.75)}
.tk b{font-weight:400;color:#ffe1a8}.tk i{font-style:normal}.tk i.up{color:#7dff9c;text-shadow:0 0 6px rgba(80,255,140,.7)}.tk i.dn{color:#ff6a7a;text-shadow:0 0 6px rgba(255,60,90,.7)}
.tk-run .sep{color:#7a4a18}
.tk-run{-webkit-mask:linear-gradient(90deg,transparent,#000 8px,#000 calc(100% - 14px),transparent);mask:linear-gradient(90deg,transparent,#000 8px,#000 calc(100% - 14px),transparent)}
.tk-roll{display:flex;gap:10px;flex:none;animation:tkRoll 16s linear infinite;will-change:transform}
.ticker:active .tk-roll,.ticker:hover .tk-roll{animation-play-state:paused}
@keyframes tkRoll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tk-roll{animation:none}}
.tk-go{flex:none;font:700 20px/1 var(--display);color:#ffb347}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.tile{position:relative;display:block;border-radius:12px;overflow:hidden;box-shadow:0 4px 0 #0b0b0e,0 8px 16px rgba(0,0,0,.55);--tg:rgba(79,230,255,.45)}
.tile img{display:block;width:100%;height:auto}
.tile::after{content:"";position:absolute;inset:6% 4%;border-radius:10px;box-shadow:0 0 18px var(--tg),inset 0 0 14px var(--tg);opacity:.0;animation:tileGlow 5s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
.tile:nth-child(2)::after{animation-delay:-1.3s}.tile:nth-child(3)::after{animation-delay:-2.6s}.tile:nth-child(4)::after{animation-delay:-3.7s}
@keyframes tileGlow{0%,100%{opacity:.15}50%{opacity:.5}52%{opacity:.25}54%{opacity:.5}}
.t-pink{--tg:rgba(255,90,200,.45)}.t-amber{--tg:rgba(255,170,60,.45)}.t-mag{--tg:rgba(230,90,255,.45)}
.tile.press:active,.tile.press.down{transform:translateY(3px) scale(.975);box-shadow:0 1px 0 #0b0b0e,0 3px 8px rgba(0,0,0,.6);filter:brightness(1.25)}
.tile.slim{border-radius:10px}

/* ---------- radio + dock: chunky metal ---------- */
.dock-wrap{gap:5px;padding:0 8px calc(var(--sb) + 7px)}
.radio,.dock{max-width:464px;border-radius:14px;background:var(--brushed),var(--steel);border:1px solid #6b6f78;box-shadow:0 10px 26px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.5);-webkit-backdrop-filter:none;backdrop-filter:none}
.radio{height:54px;padding:0 6px;gap:6px}
.r-tape{flex:none;width:44px;height:40px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(180deg,#1b1610,#0d0b08);border:1px solid #000;box-shadow:inset 0 0 8px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.15)}
.r-tape i{width:30px;height:19px;border-radius:3px;background:radial-gradient(circle at 30% 52%,#222 0 2.6px,#d9c9a8 3px 4.4px,transparent 4.8px),radial-gradient(circle at 70% 52%,#222 0 2.6px,#d9c9a8 3px 4.4px,transparent 4.8px),linear-gradient(180deg,#ff9d2e 0 30%,#f4e3c0 30% 70%,#e85d2a 70%);box-shadow:0 0 6px rgba(255,160,60,.4)}
body.playing .r-tape i{animation:tapeWob .9s ease-in-out infinite}
@keyframes tapeWob{50%{filter:brightness(1.3)}}
.radio .clock,.radio .clock[hidden]{display:none!important}
.r-meta{position:relative;flex:1;min-width:0;display:block;text-align:left;height:42px;padding:5px 8px;border-radius:8px;background:linear-gradient(180deg,#03191c,#06282c);border:1px solid #000;box-shadow:inset 0 0 10px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.12);overflow:hidden}
.r-meta small{display:block;white-space:nowrap;font:400 14px/1 var(--led);letter-spacing:.08em;color:#8ff6ff;text-shadow:0 0 6px rgba(80,240,255,.8)}
.r-meta b{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 10.5px/1.2 var(--body);color:#cfeff2;opacity:.85;max-width:calc(100% - 62px)}
.r-meta .viz{position:absolute;right:6px;bottom:5px;width:auto;height:30px;gap:1px;display:flex;align-items:flex-end}
.r-meta .viz i{width:2.5px;flex:none;background:linear-gradient(0deg,#ff3d5a,#ff9d2e 55%,#ffe066);box-shadow:0 0 4px rgba(255,120,60,.6)}
.r-keys{display:flex;gap:3px;flex:none;padding:3px;border-radius:9px;background:#0c0b0a;box-shadow:inset 0 0 8px #000}
.r-btn{width:38px;height:38px;border-radius:7px;background:linear-gradient(180deg,#2a241c,#16120c);border:1px solid #000}
.r-btn svg{fill:#ffb347;stroke:#ffb347;filter:drop-shadow(0 0 4px rgba(255,160,50,.8))}
.r-btn.play{width:42px;height:38px;border-radius:7px;background:radial-gradient(circle at 50% 50%,#3a2a12,#1a1208);box-shadow:inset 0 0 0 2px rgba(255,170,60,.65),0 0 12px rgba(255,150,40,.35)}
.r-btn.play svg{fill:#ffc266;stroke:#ffc266}
.dock{grid-template-columns:repeat(5,1fr);gap:5px;padding:5px}
.dock button{min-height:54px;border-radius:9px;color:#d9dce3;font:700 10.5px/1 var(--body);letter-spacing:.02em;
  background:var(--brushed),linear-gradient(180deg,#6a6e78,#3c3f47 45%,#2c2e35);border:1px solid #141519;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.4),0 2px 0 #0b0c0f;text-shadow:0 1px 0 #000}
.dock svg{width:22px;height:22px;stroke:#e9ebf0;stroke-width:1.7;filter:drop-shadow(0 1px 0 #000)}
.dock button.on{color:#fff;background:radial-gradient(90% 70% at 50% 40%,color-mix(in srgb,var(--on) 38%,transparent),transparent),linear-gradient(180deg,#1a3a44,#0d1d24);border-color:var(--on);
  box-shadow:0 0 14px color-mix(in srgb,var(--on) 60%,transparent),inset 0 0 12px color-mix(in srgb,var(--on) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.3)}
.dock button.on svg{stroke:var(--on);filter:drop-shadow(0 0 5px var(--on))}
.dock button.on span{color:var(--on);text-shadow:0 0 6px var(--on)}
.dock button.got{animation:gotIt .6s var(--spring)}
@keyframes gotIt{30%{transform:scale(1.18);filter:brightness(1.6)}}
body.win-open.win-dock .dock-wrap{opacity:1;pointer-events:none;z-index:46;transition:opacity .25s}
body.win-open.win-dock .dock-wrap>*{pointer-events:auto}
.win.has-dock{padding-bottom:calc(var(--sb) + var(--dockh) + 16px)}
.win.solid{background:radial-gradient(100% 50% at 50% 0%,#24132e,transparent 70%),radial-gradient(120% 70% at 50% 100%,#140b1c,#07050c 70%)}
.win-host{z-index:40}

/* ---------- shared bits ---------- */
.scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px);animation:roll 8s linear infinite;z-index:2}
.hot{position:absolute;border-radius:8px;z-index:3}
.hot.press:active,.hot.press.down{transform:none;background:rgba(255,240,200,.14);box-shadow:0 0 0 2px rgba(255,230,170,.35),0 0 16px rgba(255,220,150,.3)}
.amb-row{width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0}
.amb-row[disabled]{opacity:.75}
.amb-card{cursor:pointer}.amb-go{display:block;margin-top:6px;color:#ffd08a;letter-spacing:.1em}

/* ---------- You: locker ---------- */
.locker{margin:0 -14px}
.win-you{padding-top:var(--st);padding-left:0;padding-right:0}
.lk-art{position:relative;aspect-ratio:941/1462;max-width:480px;margin:0 auto;overflow:hidden;border-radius:0 0 8px 8px}
.lk-img{position:absolute;inset:0;width:100%;height:100%;display:block}
.lk-art>span,.lk-art>i,.lk-art>div{position:absolute}
.lk-port{border-radius:50%;overflow:hidden}
.lk-port i{position:absolute;inset:0;border-radius:50%;background-size:cover;background-position:center;opacity:0;transition:opacity .5s;box-shadow:inset 0 0 18px rgba(0,0,0,.8)}
.lk-port i.on{opacity:1}
.lk-port::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 45%);pointer-events:none}
.lk-name{display:grid;place-items:center;border-radius:6px;background:linear-gradient(180deg,#f7ecd6,#e6d6b8);box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.lk-name b{font:800 clamp(10px,3.6vw,17px)/1 var(--display);letter-spacing:.1em;color:#2b2218;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:94%}
.lk-tv{overflow:hidden;border-radius:12%/16%}
.lk-tv i:first-child{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.2) contrast(1.05) brightness(.95);animation:tvJit 5s steps(1) infinite}
.lk-tv::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,transparent 55%,rgba(0,0,0,.6)),linear-gradient(160deg,rgba(255,255,255,.18),transparent 35%);pointer-events:none;z-index:3}
@keyframes tvJit{0%,96%{transform:none}97%{transform:translateX(1px) skewX(1deg)}98%{transform:translateX(-1px)}}
.lk-print i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s}
.lk-print i.on{opacity:1}
.lk-print::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.22),transparent 40%);pointer-events:none}
.lk-reel{border-radius:50%;background:repeating-conic-gradient(rgba(255,255,255,.0) 0 50deg,rgba(255,255,255,.22) 50deg 60deg);mix-blend-mode:screen;pointer-events:none}
.win.rolling .lk-reel{animation:spin 1.6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lk-vu{pointer-events:none}
.lk-vu i{position:absolute;left:50%;bottom:4%;width:2px;height:70%;margin-left:-1px;background:linear-gradient(0deg,#3a1406,#ff5a2a);transform-origin:50% 100%;transform:rotate(-48deg);border-radius:2px;box-shadow:0 0 4px rgba(255,120,40,.8)}
.lk-play{border-radius:7px}
.win.rolling .lk-play{box-shadow:0 0 0 2px rgba(255,200,120,.7),0 0 22px rgba(255,150,40,.75);background:rgba(255,190,90,.12)}
.lk-led{display:flex;align-items:center;gap:6%;padding:0 4%;border-radius:4px;background:linear-gradient(180deg,#031b10,#062a18);box-shadow:inset 0 0 12px rgba(0,0,0,.9);overflow:hidden;pointer-events:none}
.lk-led::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 3px)}
.lk-led b{flex:1;font:400 clamp(13px,4.6vw,22px)/1 var(--led);letter-spacing:.08em;color:#78ff9c;text-shadow:0 0 6px rgba(70,255,130,.85);white-space:nowrap}
.lk-led .planet{width:7%;aspect-ratio:1;border-radius:50%;border:2px solid #78ff9c;box-shadow:0 0 6px #4fff8a;position:relative}
.lk-led .planet::after{content:"";position:absolute;left:-40%;right:-40%;top:42%;height:2px;background:#78ff9c;transform:rotate(-18deg);border-radius:2px}
.lk-led .arr{font-style:normal;color:#78ff9c;font:400 22px var(--led);text-shadow:0 0 6px #4fff8a}
.lk-key.lit{background:rgba(120,255,160,.12);box-shadow:0 0 0 2px rgba(120,255,160,.55),0 0 18px rgba(80,255,140,.4)}
.lk-bulb{border-radius:50%;background:radial-gradient(closest-side,rgba(255,230,180,.5),transparent);mix-blend-mode:screen;animation:lampF 7s infinite;pointer-events:none}
.lk-bulb.b2{animation-delay:-3s}
.lk-door{z-index:2}
.door-st{position:absolute;transform:translate(-50%,-50%) rotate(var(--r));aspect-ratio:1;display:grid;place-items:center}
.door-st .stk3d{width:100%;height:100%}
.door-empty{position:absolute;left:8%;right:8%;top:16%;height:34%;border:2px dashed rgba(170,190,255,.3);border-radius:14px;color:rgba(200,215,255,.6);font:700 12px var(--body);letter-spacing:.06em}
.lk-strip{display:flex;align-items:center;gap:6px;width:calc(100% - 20px);max-width:460px;margin:8px auto 0;padding:6px 10px 6px 10px;border-radius:12px;text-align:left;
  background:var(--brushed),var(--steel);border:1px solid #6b6f78;box-shadow:0 6px 16px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -2px 0 rgba(0,0,0,.5);position:relative}
.lk-strip::before,.lk-strip::after{content:"";position:absolute;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d8dbe2,#555a63 70%);box-shadow:0 1px 0 rgba(0,0,0,.6)}
.lk-strip::before{left:4px}.lk-strip::after{right:4px}
.ls-tag{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 7px;border-radius:7px;background:#08140f;box-shadow:inset 0 0 8px #000}
.ls-tag small{font:400 10px/1 var(--led);letter-spacing:.06em;color:#7dffa8;text-shadow:0 0 5px rgba(80,255,140,.7)}
.ls-tag b{font:400 18px/1 var(--led);color:#c8ffd9;text-shadow:0 0 6px rgba(80,255,140,.8)}
.ls-row{flex:1;min-width:0;display:grid;grid-template-columns:repeat(14,1fr);gap:1px;padding:4px 4px;border-radius:8px;background:linear-gradient(180deg,#14204a,#0d1533);box-shadow:inset 0 1px 4px rgba(0,0,0,.7)}
.ls-row .stk3d,.ls-ghost{width:100%;aspect-ratio:1}
.ls-row .stk3d{filter:drop-shadow(0 1.5px 1px rgba(0,0,0,.55))}
.ls-ghost{display:block;background:rgba(150,175,255,.22);-webkit-mask:var(--m) center/78% no-repeat;mask:var(--m) center/78% no-repeat}
.ls-go{flex:none;font:700 22px/1 var(--display);color:#e9ebf0;text-shadow:0 1px 0 #000}
.drawer{max-width:480px;margin:-2px auto 0;display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.3,1.3,.4,1)}
.drawer.open{grid-template-rows:1fr}
.dr-in{overflow:hidden;margin:0 6%;background:var(--brushed),linear-gradient(180deg,#8a8d94,#55585f);border-radius:0 0 12px 12px;box-shadow:0 10px 20px rgba(0,0,0,.6),inset 0 -2px 0 rgba(0,0,0,.4)}
.dr-led{margin:10px;padding:12px;border-radius:8px;background:linear-gradient(180deg,#031b10,#062a18);box-shadow:inset 0 0 14px rgba(0,0,0,.9);font:400 18px/1.25 var(--led);color:#78ff9c;text-shadow:0 0 5px rgba(70,255,130,.7);min-height:80px}
.dr-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:7px 0;border-bottom:1px dashed rgba(120,255,160,.2)}
.dr-row span{color:#aaffc0}.dr-row b{font-weight:400;text-align:right;color:#d8ffe2}.dr-row small{grid-column:1/-1;font-size:14px;color:#4fbf75}
.dr-row.big b{font-size:24px}.dr-row.sell b{color:#ff8a9a}
.dr-dim{color:#4fbf75}
.dr-btn{display:block;width:100%;margin-top:10px;padding:10px;border-radius:6px;border:1px solid rgba(120,255,160,.45);color:#9dffb6;font:400 18px var(--led);letter-spacing:.08em;background:rgba(80,255,140,.06)}

/* ---------- Coin lab ---------- */
.coinlab{max-width:440px;margin:0 auto}
.cl-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.cl-top .win-close,.ho-top .win-close{background:var(--brushed),linear-gradient(180deg,#6a6e78,#2e3037);border:1px solid #111;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 2px 0 #000;font-size:24px}
.cl-skins{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#0b0a0e;box-shadow:inset 0 0 10px #000}
.cl-skin{height:38px;border-radius:9px;font:700 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:#9a98a6;background:linear-gradient(180deg,#2e2c36,#1c1b22)}
.cl-skin.on[data-k="tc"]{color:#ffb347;box-shadow:inset 0 0 0 1.5px #ff8a2a,0 0 14px rgba(255,140,40,.4);text-shadow:0 0 6px rgba(255,150,40,.8)}
.cl-skin.on[data-k="ma"]{color:#ff8ce0;box-shadow:inset 0 0 0 1.5px #ff4fd0,0 0 14px rgba(255,79,208,.45);text-shadow:0 0 6px rgba(255,80,210,.8)}
.cl-coins{display:flex;align-items:center;gap:6px;margin:0 0 8px}
.cl-coin{height:34px;padding:0 16px;border-radius:17px;font:400 18px/1 var(--led);letter-spacing:.1em;color:#a7a3b5;background:#121018;border:1px solid #2a2733}
.cl-coin.on{color:#fff;border-color:var(--cc,#ffb347);box-shadow:0 0 12px rgba(255,170,60,.35);background:#1d1610}
.cl-live{margin-left:auto;font:400 16px var(--led);color:#7dff9c;letter-spacing:.14em;text-shadow:0 0 6px #4fff8a;animation:led 1.6s steps(2) infinite}
.cl-live.off{color:#ff6a7a;text-shadow:0 0 6px #ff3d5a}
.cab3{position:relative;width:100%;border-radius:12px;overflow:hidden;--c:#ffae3a;--g:rgba(255,150,40,.5)}
.cab3>*{position:absolute}
.cab-img{inset:0;width:100%;height:100%;display:block;clip-path:inset(1.1% 0 0 0)}
.sk-ma .cab-img{clip-path:inset(1.7% 0 0 0)}
.cab-crt{overflow:hidden;border-radius:6%/10%;background:radial-gradient(ellipse at 50% 45%,#10140f,#030503 75%)}
.sk-ma .cab-crt{background:radial-gradient(ellipse at 50% 45%,#06141c,#02060a 75%);border-radius:5%/8%}
.cab-crt canvas{position:absolute;inset:0;width:100%;height:100%}
.cab-crt .curve{position:absolute;inset:0;background:radial-gradient(ellipse,transparent 58%,rgba(0,0,0,.55)),linear-gradient(160deg,rgba(255,255,255,.1),transparent 30%);pointer-events:none;z-index:3}
.cab-led{display:flex;align-items:center;justify-content:center;border-radius:3px;background:rgba(6,5,4,.92);font:400 clamp(12px,4vw,19px)/1 var(--led);letter-spacing:.06em;color:var(--c);text-shadow:0 0 6px var(--g);white-space:nowrap;overflow:hidden}
.sk-tc .cab-led[data-l="change"]{color:#ffd23a}.sk-tc .cab-led[data-l="volume"]{color:#6dff7a;text-shadow:0 0 6px rgba(80,255,110,.7)}
.cab-led.dn{color:#ff5a6a!important;text-shadow:0 0 6px rgba(255,60,80,.7)!important}
.sk-ma .cab-led{background:rgba(2,10,14,.9);color:#7ff6ff}
.cab-led.flip{animation:ledIn .45s steps(5)}
.cab-rng{border-radius:10px;opacity:1;transition:filter .2s,background .2s}
.cab-rng:not(.on){background:rgba(0,0,0,.55);filter:saturate(.3)}
.sk-ma .cab-rng{border-radius:50%}
.cab-rng.on{box-shadow:0 0 18px var(--g);background:rgba(255,255,255,.05)}
.cab-tog{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:2px;border-radius:8px;background:#04121a;border:1px solid rgba(80,230,255,.5);z-index:4}
.cab-tog button{border-radius:6px;font:700 11px/1 var(--body);color:#8fb8c4}
.cab-tog button.on{background:linear-gradient(180deg,#1b6a80,#0e3a48);color:#fff;box-shadow:0 0 10px rgba(80,230,255,.5)}
.cab-pair{display:flex;align-items:center;padding:0 6px;background:rgba(10,10,14,.92);border-radius:4px;font:700 clamp(8px,2.6vw,11px)/1 var(--body);letter-spacing:.06em;color:#d8d6e2;white-space:nowrap;overflow:hidden}
.cab-zora{border-radius:10px}
.cab-zora:active,.cab-hot:active,.cab-rng:active{filter:brightness(1.4)}
.cab-hot{border-radius:8px}
.cab-hot.press:active,.cab-hot.press.down{transform:none;background:rgba(255,255,255,.12)}
.cab-tape{position:absolute;left:24%;right:24%;bottom:12%;font:700 clamp(7px,2.2vw,10px)/1 var(--body);color:#3a2a10;background:rgba(240,225,190,.92);padding:2px 4px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-ma .cab-tape{color:#003a44;background:rgba(160,250,255,.92)}
.cab3.rolling .cab-playk{box-shadow:0 0 0 2px var(--c),0 0 20px var(--g);background:rgba(255,255,255,.08)}
.cab-vu{pointer-events:none}
.cab-vu i{position:absolute;left:50%;bottom:10%;width:2px;height:68%;margin-left:-1px;background:#2a0a06;transform-origin:50% 100%;transform:rotate(-45deg);border-radius:2px}

/* ---------- puffy stickers ---------- */
.stk3d{position:relative;display:inline-block;filter:drop-shadow(0 3px 3px rgba(0,0,0,.45)) drop-shadow(0 1px 0 rgba(0,0,0,.35));transform-style:preserve-3d;transition:transform .3s var(--spring)}
.stk3d img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.stk3d .sheen{position:absolute;inset:0;pointer-events:none;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.0) 40%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.0) 56%,transparent 70%);background-size:300% 100%;background-position:120% 0;mix-blend-mode:screen;animation:sheen 7s ease-in-out infinite}
@keyframes sheen{0%,70%{background-position:120% 0}90%,100%{background-position:-20% 0}}
.stk3d.shine .sheen{animation:sheenNow .9s ease-out}
@keyframes sheenNow{from{background-position:120% 0}to{background-position:-20% 0}}
.stk3d.touch{transform:perspective(400px) rotateX(10deg) rotateY(-12deg) scale(1.06)}
.stk3d.ghost{filter:grayscale(1) brightness(.35) contrast(.9) drop-shadow(0 0 1px rgba(160,190,255,.5));opacity:.6}
.st-award{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none;opacity:0;background:radial-gradient(closest-side,rgba(10,14,40,.72),rgba(5,4,12,.25))}
.st-backing{position:relative;width:min(56vw,230px);aspect-ratio:1;display:grid;place-items:center}
.st-holder{position:relative;z-index:2;width:86%;height:86%;display:grid;place-items:center}
.st-holder .stk3d{width:100%;height:100%}
.st-paper{position:absolute;inset:4%;z-index:1;border-radius:18px;background:repeating-linear-gradient(135deg,#f4efe4 0 10px,#ece5d6 10px 20px);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.st-paper::after{content:"MOONBASE · CREW BADGES";position:absolute;bottom:6px;left:0;right:0;text-align:center;font:700 8px var(--body);letter-spacing:.2em;color:#b4aa94}
.st-cap{text-align:center;opacity:0}
.st-cap small{display:block;font:400 18px var(--led);letter-spacing:.25em;color:#9ff8ff;text-shadow:0 0 8px #3fe6ff}
.st-cap b{font:900 italic 26px var(--display);letter-spacing:.02em;color:#fff;text-shadow:0 2px 0 #000,0 0 18px rgba(255,120,220,.7)}

.sbook{max-width:440px;margin:0 auto}
.sb-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sb-back{background:var(--brushed),linear-gradient(180deg,#6a6e78,#2e3037);border:1px solid #111;color:#fff;font-size:24px}
.sb-count{font:400 20px var(--led);letter-spacing:.14em;color:#b6ffcf;text-shadow:0 0 8px rgba(120,255,170,.7)}
.sb-card{position:relative;padding:22px 14px 18px;border-radius:22px;overflow:hidden;
  background:radial-gradient(130% 80% at 50% 0%,rgba(80,110,200,.18),transparent 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0 2px,transparent 2px 5px),linear-gradient(180deg,#1b2654,#141d44 50%,#0f1636);
  box-shadow:0 20px 40px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.08),inset 0 2px 0 rgba(255,255,255,.1)}
.sb-head{display:block;width:84%;margin:6px auto 4px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.sb-hole{position:absolute;left:50%;top:9px;width:22px;height:10px;margin-left:-11px;border-radius:6px;background:#07050c;box-shadow:inset 0 2px 3px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.15)}
.sb-stars i{position:absolute;width:calc(10px*var(--z));height:calc(10px*var(--z));background:#c8ffd8;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 4px #8affb0);opacity:.7;animation:glowS 4s ease-in-out infinite;animation-delay:var(--d)}
@keyframes glowS{50%{opacity:.25}}
.sb-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 6px;margin-top:10px}
.sb-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px}
.sb-slot .stk3d{width:88%;aspect-ratio:1;height:auto;flex:none}
.sb-name{min-height:2.4em;display:flex;align-items:flex-start;justify-content:center;text-align:center}
.sb-slot.off .stk3d{filter:grayscale(1) brightness(.3) drop-shadow(0 0 1px rgba(170,200,255,.55));opacity:.55}
.sb-slot.off .sheen{display:none}
.sb-name{font:700 10.5px/1.15 var(--body);text-align:center;color:#e8ecff;letter-spacing:.02em}
.sb-slot.off .sb-name{color:#7d86b0}
.sb-lock{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 14px var(--display);color:#c7d0ff;background:rgba(10,14,36,.8);border:1px solid rgba(170,190,255,.35)}
.sb-foot{position:relative;margin-top:14px;text-align:center;font:700 10px var(--body);letter-spacing:.32em;color:#c9d2f5;opacity:.8}
.sb-ins{position:sticky;bottom:10px;z-index:3;display:flex;padding-right:40px!important;gap:14px;align-items:center;margin-top:14px;box-shadow:0 -8px 28px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.1)!important;padding:14px;border-radius:16px;background:linear-gradient(180deg,#1b2654,#121a3e);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.sb-ins-st{flex:none;width:92px;aspect-ratio:1}.sb-ins-st .stk3d{width:100%;height:100%}
.sb-ins-txt b{display:block;font:800 18px var(--display);color:#fff}
.sb-ins-txt p{font-size:13px;line-height:1.4;color:#c9d0ee;margin:4px 0}
.sb-ins-txt small{font:400 15px var(--led);letter-spacing:.1em;color:#8affb0}
.sb-ins.locked small{color:#ffb347}

/* ---------- Crew quarters ---------- */
.win-cq{padding-left:0;padding-right:0;padding-top:var(--st)}
.cq-art{position:relative;aspect-ratio:766/1652;max-width:480px;margin:0 auto;overflow:hidden}
.cq-img{position:absolute;inset:0;width:100%;height:100%;display:block}
.cq-art>*{position:absolute}
.cq-back{width:auto;height:auto;background:none;border-radius:6px;color:#9aa0aa;font:900 clamp(14px,4.5vw,22px)/1 var(--display);letter-spacing:-.1em;text-shadow:0 1px 0 rgba(255,255,255,.3),0 -1px 0 #000}
.cq-back:active{color:#fff}
.cq-neon{display:flex;align-items:center;justify-content:center;font-size:clamp(40px,15vw,72px);transform:rotate(-7deg)}
.cq-neon b{font:400 1em/1 var(--script);color:#fff3fb;white-space:nowrap;text-shadow:0 0 2px #fff,0 0 6px #ffd0f0,0 0 14px #ff4fb0,0 0 28px #ff4fb0,0 0 46px #ff2a9a;animation:flick 8s infinite}
.cq-patch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4%;--pc:#ff8cc8;border-radius:40% 40% 34% 34%/52% 52% 40% 40%;
  background:radial-gradient(120% 90% at 40% 25%,rgba(255,255,255,.45),transparent 45%),radial-gradient(circle at 50% 50%,var(--pc),color-mix(in srgb,var(--pc) 70%,#000));
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),inset 0 0 0 6px color-mix(in srgb,var(--pc) 60%,#000),inset 0 -6px 10px rgba(0,0,0,.35),0 6px 10px rgba(0,0,0,.6);transform:rotate(-2deg)}
.cq-patch::before{content:"♛";font-size:clamp(12px,4vw,20px);line-height:1;color:#2a1424}
.cq-patch b{font:900 clamp(13px,4.6vw,22px)/1 var(--display);font-stretch:85%;letter-spacing:.02em;color:#1e0f19;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.cq-patch small{font:800 clamp(6px,1.9vw,9px)/1 var(--body);letter-spacing:.12em;color:#2a1424;opacity:.85;max-width:86%;text-align:center}
.cq-crt{display:flex;align-items:center;justify-content:center;border-radius:10%/14%;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#1f5a5e,#0b2628 70%,#051213);box-shadow:inset 0 0 22px rgba(0,0,0,.8)}
.cq-crt::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,transparent 55%,rgba(0,0,0,.55)),linear-gradient(160deg,rgba(255,255,255,.15),transparent 35%);z-index:3}
.cq-crt span{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;font:400 clamp(13px,4.3vw,21px)/1 var(--led);color:#ffc4ec;text-shadow:0 0 6px rgba(255,120,210,.85);letter-spacing:.05em;text-align:center}
.cq-crt em{font-style:normal;font-size:1.35em;color:#ffe0f6}
.cq-crt small{font-size:.9em}
.cq-peek{overflow:hidden;pointer-events:none}
.cq-wz{position:absolute;left:4%;bottom:-6%;width:70%;pointer-events:auto;animation:peek 9s ease-in-out infinite}
.cq-wz svg{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.cq-wz .e{transform-box:view-box}.cq-wz .e.l{transform-origin:298px 190px;animation:earT 4s ease-in-out infinite}.cq-wz .e.r{transform-origin:608px 180px;animation:earT 5s ease-in-out infinite reverse}
@keyframes earT{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-7deg)}90%{transform:rotate(4deg)}}
@keyframes peek{0%,8%{transform:translateY(60%)}16%,62%{transform:translateY(0)}66%{transform:translateY(-4%) rotate(-3deg)}70%,86%{transform:translateY(0)}94%,100%{transform:translateY(60%)}}
.cq-wz.hop{animation:wzHop .6s var(--spring)}
@keyframes wzHop{40%{transform:translateY(-14%) rotate(4deg)}}
.cq-led{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2%;border-radius:4px;background:radial-gradient(ellipse,#0a2a2e,#031012);box-shadow:inset 0 0 14px rgba(0,0,0,.9);overflow:hidden}
.cq-led::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(0,0,0,0) 0 1px,rgba(0,0,0,.45) 1.4px) 0 0/4px 4px;pointer-events:none}
.cq-led small{font:400 clamp(14px,4.8vw,24px)/1 var(--led);letter-spacing:.14em;color:#8ff6ff;text-shadow:0 0 6px #3fe6ff}
.cq-led b{font:400 clamp(30px,10.5vw,52px)/.9 var(--led);letter-spacing:.06em;color:#b8fbff;text-shadow:0 0 8px #3fe6ff,0 0 18px rgba(60,230,255,.6);white-space:nowrap;animation:ledPulse 3s ease-in-out infinite}
@keyframes ledPulse{50%{text-shadow:0 0 5px #3fe6ff,0 0 10px rgba(60,230,255,.4)}}
.cq-paid{display:flex;align-items:center;justify-content:center;border-radius:4px;background:#0b1718;font:400 clamp(10px,3.3vw,15px)/1 var(--led);letter-spacing:.08em;color:#8ff6ff;text-shadow:0 0 5px #3fe6ff;white-space:nowrap;overflow:hidden}
.cq-streak{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4%;border-radius:4px;background:linear-gradient(180deg,#221a12,#15100b);box-shadow:inset 0 0 10px rgba(0,0,0,.8)}
.cq-streak b{font:900 clamp(13px,4.4vw,21px)/1 var(--display);letter-spacing:.04em;color:#ffcf6a;text-shadow:0 0 8px rgba(255,180,60,.6)}
.cq-streak small{font:600 clamp(9px,2.9vw,13px)/1 var(--body);color:#ffcf6a;opacity:.85}
.cq-streak em{font:400 clamp(11px,3.6vw,17px)/1 var(--led);font-style:normal;letter-spacing:.06em;color:#ffcf6a}
.cq-cards{display:flex;flex-direction:column;gap:6%;transform:rotate(1.5deg)}
.cq-cards i{flex:1;display:flex;align-items:center;justify-content:center;border-radius:3px;font:800 clamp(6px,1.9vw,9px)/1 var(--body);font-style:normal;letter-spacing:.04em;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.5);white-space:nowrap}
.cq-cards i:nth-child(1){background:linear-gradient(180deg,#2a8a9a,#16606c)}.cq-cards i:nth-child(2){background:linear-gradient(180deg,#a89a3a,#77701e)}.cq-cards i:nth-child(3){background:linear-gradient(180deg,#e2708e,#b24868)}
.cq-hot{border-radius:10px}
.cq-hot.press:active,.cq-hot.press.down{transform:none;background:rgba(255,220,160,.12)}
.cq-lamp{border-radius:50%;background:radial-gradient(closest-side,rgba(255,210,140,.35),transparent);mix-blend-mode:screen;animation:lampF 5s infinite;pointer-events:none}

/* ---------- hosts + Ada ---------- */
.hosts,.ada{max-width:440px;margin:0 auto}
.ho-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ho-top b{font:900 italic 20px var(--display);letter-spacing:.1em;color:#fff;text-shadow:0 0 12px rgba(255,90,200,.6)}
.ho-hero{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.6),0 0 0 2px #3a3d45}
.ho-hero img{display:block;width:100%}
.ho-card{margin-top:12px;padding:14px;border-radius:14px;background:var(--rivets),var(--brushed),var(--steel);border:1px solid #6b6f78;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.ho-card b{font:900 24px var(--script);font-family:var(--script);font-weight:400;font-size:32px;color:#fff;text-shadow:0 0 10px #ff4fb0,0 0 22px #ff4fb0}
.ho-card.wz b{text-shadow:0 0 10px #3fe6ff,0 0 22px #3fe6ff}
.ho-card small{display:block;font:400 15px var(--led);letter-spacing:.12em;color:#ffcf6a;margin:2px 0 6px}
.ho-card p{font-size:13.5px;line-height:1.45;color:#dfe2ea;margin-bottom:10px}
.ada-crt{position:relative;display:flex;gap:10px;padding:12px;border-radius:16px;background:radial-gradient(ellipse at 50% 40%,#0d2a30,#041013);border:3px solid #23262c;box-shadow:inset 0 0 24px rgba(0,0,0,.9),0 0 0 2px #4a4e57,0 12px 26px rgba(0,0,0,.6);min-height:260px;overflow:hidden}
.ada-face{flex:none;width:64px;height:78px;border-radius:10px;background:url(/assets/v3/cmd-hero.webp) -118px -81px/334px auto no-repeat;box-shadow:0 0 0 2px rgba(80,230,255,.5),0 0 14px rgba(80,230,255,.35)}
.ada-out{flex:1;max-height:320px;overflow-y:auto;font:400 19px/1.25 var(--led);color:#aaf6ff;text-shadow:0 0 5px rgba(80,230,255,.6)}
.ada-out p{margin-bottom:10px}.ada-u{color:#ffcf6a;text-shadow:0 0 5px rgba(255,180,60,.6)}.ada-u::before{content:"> "}
.ada-qs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.ada-q{min-height:52px;padding:8px 10px;border-radius:10px;text-align:left;font:600 12.5px/1.25 var(--body);color:#e8f6ff;background:var(--brushed),linear-gradient(180deg,#3a3e47,#22242a);border:1px solid #111;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 3px 0 #000}
.ada-q:active{box-shadow:inset 0 0 0 1.5px #3fe6ff,0 0 12px rgba(63,230,255,.4)}

@media (prefers-reduced-motion:reduce){.cmd *,.cq *,.locker *,.sbook *,.coinlab *{animation:none!important}}

/* My quarters cabinet: mini puffy stickers instead of glyphs */
.cabinet .stk{width:38px;height:38px;font-size:0;color:transparent;text-shadow:none;left:auto;top:auto}
.cabinet .stk img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 1.5px rgba(0,0,0,.6))}
.cabinet .stk:not(.on){width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.45),transparent 70%);animation:none}
.cabinet .st1{left:12px;top:12px}.cabinet .st2{left:62px;top:16px}.cabinet .st3{left:14px;top:56px}.cabinet .st4{left:64px;top:60px}.cabinet .st5{left:12px;top:100px}.cabinet .st6{left:62px;top:104px}
.cabinet .stk:not(.on).st1{left:20px;top:20px}.cabinet .stk:not(.on).st2{left:70px;top:24px}.cabinet .stk:not(.on).st3{left:22px;top:64px}.cabinet .stk:not(.on).st4{left:72px;top:68px}.cabinet .stk:not(.on).st5{left:20px;top:108px}.cabinet .stk:not(.on).st6{left:70px;top:112px}

/* hidden always wins over component display rules */
[hidden]{display:none!important}
.sb-ins-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 20px/1 var(--body);color:#dfe5ff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}
.sb-slot.sel{border-radius:14px;background:radial-gradient(closest-side,rgba(140,170,255,.18),transparent);box-shadow:inset 0 0 0 1.5px rgba(160,190,255,.45)}
.lk-name{border:0;padding:0;cursor:pointer}
.lk-name.empty b{color:#8a7a62;letter-spacing:.06em;animation:plateHint 2.4s ease-in-out infinite}
@keyframes plateHint{50%{color:#c0392b}}
.cab-led small{font-size:.52em;margin-left:.35em;opacity:.7;letter-spacing:.04em;align-self:flex-end;padding-bottom:.25em}
