/* ===== Moonbase v4 polish: soft Wizmo, living Command hero, boombox, holder rooms, AR ===== */

/* ---------- Wizmo: WebGL mesh rig ---------- */
.wz-gl{position:absolute;left:-20%;top:-20%;width:140%;height:140%;pointer-events:none;display:none}
.wizmo-wrap.gl .wz-gl{display:block}
.wizmo-wrap.gl .fb{display:none}
.wizmo-wrap.gl .wz-all,.wizmo-wrap.gl .wz-body{animation:none!important;transition:none!important;transform:none!important}
.wizmo-wrap.gl{filter:drop-shadow(0 1px 1.2px rgba(20,8,16,.35))}
.wizmo-wrap.gl.squish .wz-all{transform:none!important}
.wizmo-wrap .wz{position:relative}
.wz-lid{transition:transform .09s cubic-bezier(.4,0,.6,1)!important}
.wz-mouth>*{transition:opacity .18s ease!important}
.wizmo-wrap[data-mouth=o].half .m-o{transform-box:fill-box;transform-origin:50% 20%;transform:scale(1.25,1.7);transition:transform .5s ease}
/* contact shadow: wide soft penumbra + tight dark contact under the paws */
.wz-floor-shadow{width:72px!important;height:18px!important;background:radial-gradient(closest-side,rgba(6,2,10,.5),rgba(6,2,10,.2) 60%,transparent)!important;filter:blur(1.2px);transform-origin:50% 50%}
.wz-floor-shadow i{position:absolute;left:24%;top:32%;width:52%;height:42%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.62),rgba(0,0,0,.25) 70%,transparent)}
/* Crew Quarters peek: a gentle lean instead of a hop */
.cq-wz.hop{animation:wzLean 1.1s cubic-bezier(.45,0,.25,1)!important}
@keyframes wzLean{40%{transform:translateY(-5%) rotate(2.5deg)}70%{transform:translateY(-2%) rotate(-1deg)}}

/* ---------- living Command hero ---------- */
.hero-gl{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .6s ease}
.hero.gl .hero-gl{opacity:1}
.hero.gl .hero-img{animation:none;visibility:hidden}
.hero.gl .hero-neon,.hero.gl .hero-lid,.hero.gl .hero-lamp,.hero.gl .hero-crt{display:none}
.hero.gl .hero-eye{z-index:2}
/* tiles: a slow light sweep across the metal, staggered */
.tile::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.0) 42%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 58%,transparent 65%);background-size:250% 100%;background-position:130% 0;mix-blend-mode:screen;animation:tileSweep 7s ease-in-out infinite}
.tile:nth-child(2)::before{animation-delay:1.1s}.tile:nth-child(3)::before{animation-delay:2.2s}.tile:nth-child(4)::before{animation-delay:3.3s}.tile:nth-child(5)::before{animation-delay:4.4s}.tile:nth-child(6)::before{animation-delay:5.5s}
@keyframes tileSweep{0%,62%{background-position:130% 0}88%,100%{background-position:-30% 0}}
@media (prefers-reduced-motion:reduce){.tile::before{animation:none;display:none}}

/* ---------- Jukebox: 1985 boombox ---------- */
.bx{position:relative;margin-top:30px;padding-bottom:10px}
.bx-handle{position:relative;height:34px;margin:0 16%;z-index:0}
.bx-handle i{position:absolute;inset:0;border-radius:18px 18px 0 0;border:9px solid transparent;border-bottom:0;background:linear-gradient(180deg,#f4f6f8,#9ea4ab 45%,#e6e9ec 60%,#7d838a) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0);box-shadow:0 4px 8px rgba(0,0,0,.5)}
.bx-handle::before,.bx-handle::after{content:"";position:absolute;bottom:-6px;width:26px;height:16px;border-radius:5px;background:linear-gradient(180deg,#3a3d42,#15171a);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.bx-handle::before{left:-6px}.bx-handle::after{right:-6px}
.bx-body{position:relative;z-index:1;padding:12px 12px 14px;border-radius:22px;background:
  linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 7%,rgba(0,0,0,0) 93%,rgba(0,0,0,.35)),
  repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,rgba(0,0,0,.03) 1px 3px),
  linear-gradient(180deg,#d7dade,#a9aeb4 30%,#c5c9ce 52%,#8c9197);border:2px solid #1b1d20;
  box-shadow:0 26px 50px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08),inset 0 2px 0 rgba(255,255,255,.8),inset 0 -3px 0 rgba(0,0,0,.35)}
.bx-top{display:flex;align-items:center;gap:8px;padding:2px 2px 10px}
.bx-brand{flex:1;display:flex;flex-direction:column;font:italic 900 22px/1 var(--display);letter-spacing:.02em;background:linear-gradient(180deg,#fff,#7b828a 55%,#e8ebee 60%,#5a6068);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.55))}
.bx-brand small{font:800 7.5px/1.4 var(--body);letter-spacing:.2em;color:#2a2d31;-webkit-text-fill-color:#2a2d31;filter:none;margin-top:3px}
.bx-counter{padding:4px 8px;border-radius:5px;background:#120708;box-shadow:inset 0 2px 5px #000,0 1px 0 rgba(255,255,255,.6)}
.bx-counter b{font:400 20px/1 var(--led,monospace);color:#ff4a3a;text-shadow:0 0 8px rgba(255,60,40,.8);letter-spacing:.06em}
.bx .win-close{position:relative;background:linear-gradient(180deg,#3a3530,#1d1a17);color:#e9e2d6;box-shadow:0 3px 0 #000}
.bx-row{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:8px;align-items:center}
.bx-spk{position:relative;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#0b0b0d 62%,#2a2c30 64%,#c9cdd2 67%,#6f747a 72%,#e3e6ea 76%,#585d63 80%,#1c1e21 82%);box-shadow:0 3px 6px rgba(0,0,0,.5),inset 0 0 0 2px #111;overflow:hidden}
.bx-cone{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,#4a4c52 0 14%,#1a1b1e 16%,#2b2d31 30%,#141518 55%,#2d2f33 62%,#0a0a0c 66%,#26282c 74%,#0c0c0e 80%);box-shadow:inset 0 0 12px rgba(0,0,0,.9);will-change:transform;transition:transform .05s linear}
.bx-cone i{position:absolute;inset:36%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#8a8e95,#2a2c30 60%,#111 100%);box-shadow:0 2px 4px rgba(0,0,0,.7)}
.bx-grille{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(255,255,255,0) 55%),radial-gradient(circle,rgba(0,0,0,0) 1.5px,rgba(58,62,68,.9) 1.9px) 0 0/5px 5px;box-shadow:inset 0 0 10px rgba(0,0,0,.65);-webkit-mask:radial-gradient(circle,#000 69%,transparent 71%);mask:radial-gradient(circle,#000 69%,transparent 71%)}
.bx-ring{position:absolute;inset:10%;border-radius:50%;box-shadow:0 0 0 3px #d8dce0,0 0 0 4px #4a4e53,inset 0 0 0 1px rgba(255,255,255,.4);pointer-events:none}
.win.rolling .bx-ring,.bx .rolling .bx-ring{animation:none}
.bx-mid{display:flex;flex-direction:column;gap:6px}
.bx-vus{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.bx-vus .vu{height:44px;border-radius:5px}
.bx-vus .vu-scale{top:8px;height:38px}
.bx-vus .needle{height:40px;bottom:-4px}
.bx-vus .vu span{font-size:8px;left:4px;bottom:3px}
.bx-eqwrap{position:relative;padding:5px 5px 13px;border-radius:6px;background:#06080a;box-shadow:inset 0 2px 6px #000,0 1px 0 rgba(255,255,255,.6)}
.bx-eq{display:block;width:100%;height:auto;filter:drop-shadow(0 0 3px rgba(80,255,140,.25))}
.bx-eqlbl{position:absolute;left:6px;right:6px;bottom:2px;display:flex;justify-content:space-between;font:700 6.5px/1 var(--body);color:#7f8a90;letter-spacing:.04em}
.bx-eqlbl i{font-style:normal}
.bx-leds{display:flex;align-items:center;gap:4px;justify-content:center}
.bx-leds i{width:7px;height:7px;border-radius:50%;background:#3a0c0c;box-shadow:inset 0 1px 1px rgba(0,0,0,.6)}
.bx-leds i.led-pwr{background:#ff3a2a;box-shadow:0 0 6px #ff3a2a}
.bx-leds i.led-st.on{background:#ffb02a;box-shadow:0 0 6px #ffb02a}
.bx-leds small{font:800 6.5px/1 var(--body);letter-spacing:.12em;color:#2a2d31;margin-right:5px}
.bx-deck{margin-top:10px;padding:8px;border-radius:12px;background:linear-gradient(180deg,#26282c,#121316);box-shadow:inset 0 3px 8px #000,0 1px 0 rgba(255,255,255,.7)}
.bx-door{position:relative;padding:8px 18px;border-radius:8px;background:linear-gradient(180deg,#30333a,#1b1d22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.bx-door .cassette{max-width:300px;margin:0 auto}
.bx-glass{position:absolute;inset:4px;border-radius:6px;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.18),rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(255,255,255,.07));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.bx .cass-label small b{display:inline-block;padding:0 4px;border-radius:2px;background:#d12f6e;color:#fff;font-weight:900}
.bx-keys{grid-template-columns:repeat(5,1fr)!important;margin-top:12px!important;padding:7px!important;background:linear-gradient(180deg,#141518,#2a2c30)!important}
.bx-keys .pkey{min-height:58px;background:linear-gradient(180deg,#f7f8f9,#d0d4d8 70%,#aeb3b8);box-shadow:0 7px 0 #6e7378,0 8px 0 #000,0 10px 8px rgba(0,0,0,.5);transition:transform .07s ease,box-shadow .07s ease}
.bx-keys .pkey b{font-size:15px;color:#24262a}
.bx-keys .pkey.play{background:linear-gradient(180deg,#ffe0e9,#f4a6bf 70%,#d77a98)}
.bx-keys .pkey.latched{background:linear-gradient(180deg,#ffd0e2,#f39ac0)}
.bx-keys .pkey:active,.bx-keys .pkey.latched{transform:translateY(6px);box-shadow:0 1px 0 #6e7378,0 2px 0 #000,0 3px 4px rgba(0,0,0,.4)}
.bx-keys .pkey.thunk{animation:thunk .28s cubic-bezier(.3,1.6,.5,1)}
@keyframes thunk{0%{transform:translateY(7px)}100%{}}
.bx .prog{color:#24262a}
.bx-note{min-height:14px;margin:6px 4px 0;font:600 11px/1.3 var(--body);color:#8e95a0;text-align:center}

/* ---------- Holder rooms ---------- */
.rm{--neon:#ff4fb0;padding-bottom:20px}
.rm-top{display:flex;align-items:center;gap:10px;margin:4px 0 10px}
.rm-tag{flex:1;font:400 20px/1 var(--led,monospace);letter-spacing:.12em;color:var(--neon);text-shadow:0 0 10px var(--neon)}
.rm-edit{padding:9px 14px;border-radius:10px;font:800 12px var(--body);letter-spacing:.08em;color:#1a1020;background:linear-gradient(180deg,#ffe7a8,#f3c76a);box-shadow:0 3px 0 #8a6a2a}
.rm-claim{padding:18px;border-radius:16px;background:linear-gradient(180deg,#1c2133,#11141f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.rm-claim b{font:900 22px var(--display);color:#fff}.rm-claim p{color:#b9c0d0;font-size:14px;line-height:1.45}
.rm-form{display:flex;align-items:center;gap:6px;margin:12px 0 6px;padding:6px 6px 6px 12px;border-radius:12px;background:#07080d;box-shadow:inset 0 2px 6px #000}
.rm-form span{font:400 22px var(--led,monospace);color:#7dffb0}.rm-form input{flex:1;min-width:0;background:none;border:0;outline:0;color:#7dffb0;font:400 22px var(--led,monospace);letter-spacing:.04em}
.rm-wall{position:relative;padding:16px 12px 14px;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(0,0,0,.6),inset 0 0 40px rgba(0,0,0,.6),0 10px 30px rgba(0,0,0,.5)}
.rm-wall[data-wall=steel]{background:radial-gradient(circle at 12px 12px,#8b929c 2px,#3b4048 2.5px,transparent 3.5px) 0 0/56px 56px,linear-gradient(180deg,rgba(255,255,255,.08),transparent 40%),repeating-linear-gradient(90deg,#4a5059 0 1px,#555c66 1px 3px,#4d535c 3px 5px),#50565f}
.rm-wall[data-wall=grid]{background:linear-gradient(180deg,#14072a,#3a0f4a 55%,#ff4fb0 56%,#2a0c3e 57%,#0e0420),#1a0830}
.rm-wall[data-wall=grid]::before{content:"";position:absolute;left:-50%;right:-50%;bottom:0;height:46%;background:repeating-linear-gradient(90deg,rgba(255,79,176,.6) 0 1px,transparent 1px 40px),repeating-linear-gradient(0deg,rgba(255,79,176,.5) 0 1px,transparent 1px 26px);transform:perspective(200px) rotateX(55deg);transform-origin:50% 100%;opacity:.7;pointer-events:none}
.rm-wall[data-wall=stars]{background:radial-gradient(1px 1px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 20%,#cfe,transparent),radial-gradient(1.5px 1.5px at 40% 70%,#fff,transparent),radial-gradient(1px 1px at 85% 60%,#fff,transparent),radial-gradient(1px 1px at 10% 85%,#fff,transparent),radial-gradient(1px 1px at 55% 45%,#bdf,transparent),radial-gradient(ellipse at 50% 120%,#2a1f5e,#0a0b1e 70%) ;background-size:120px 120px,150px 150px,170px 170px,130px 130px,110px 110px,90px 90px,100% 100%}
.rm-wall[data-wall=wood]{background:linear-gradient(180deg,rgba(255,220,160,.12),transparent 30%),repeating-linear-gradient(90deg,#5a3418 0 2px,#6e4220 2px 46px,#4a2a12 46px 48px),#5e3a1c}
.rm-wall>*{position:relative}
.rm-neon{text-align:center;margin-bottom:12px}
.rm-neon b{display:block;font:400 30px/1.05 var(--script,cursive);color:#fff;text-shadow:0 0 4px #fff,0 0 12px var(--neon),0 0 26px var(--neon),0 0 44px var(--neon);animation:rmBuzz 6s infinite;word-break:break-word}
.rm-neon small{display:block;margin-top:4px;font:400 15px var(--led,monospace);letter-spacing:.1em;color:var(--neon);text-shadow:0 0 8px var(--neon)}
@keyframes rmBuzz{0%,92%,100%{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.7}97%{opacity:1}}
.rm-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:center}.rm-hero>*{min-width:0}
.rm-frame{position:relative;aspect-ratio:1;padding:9px;border-radius:6px;background:linear-gradient(135deg,#e9c46a,#9a6a1c 40%,#f5d98a 55%,#7a5214);box-shadow:0 8px 18px rgba(0,0,0,.6),inset 0 0 0 2px rgba(0,0,0,.4);transform:rotate(-2deg)}
.rm-frame i{display:block;width:100%;height:100%;border-radius:3px;background:#111 center/cover;box-shadow:inset 0 0 0 2px rgba(0,0,0,.6),inset 0 0 18px rgba(0,0,0,.5)}
.rm-frame.empty i{background:radial-gradient(circle at 50% 38%,#3a4256 0 18%,transparent 19%),radial-gradient(ellipse at 50% 95%,#3a4256 0 38%,transparent 39%),#1a1f2c}
.rm-frame::after{content:"";position:absolute;inset:9px;border-radius:3px;background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 35%);pointer-events:none}
.rm-plate{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);padding:3px 8px;border-radius:3px;font:800 10px var(--body);letter-spacing:.06em;color:#3a2810;background:linear-gradient(180deg,#f8e6b0,#c9a050);box-shadow:0 2px 4px rgba(0,0,0,.5);white-space:nowrap;max-width:110%;overflow:hidden;text-overflow:ellipsis}
.rm-card{display:flex;flex-direction:column;gap:5px;padding:8px;border-radius:10px;background:linear-gradient(160deg,#fff8e6,#e9dcc0);box-shadow:0 8px 18px rgba(0,0,0,.6),inset 0 0 0 3px var(--neon),inset 0 0 0 5px #fff;transform:rotate(1.5deg);color:#1c1420}
.rcd-top{display:flex;align-items:center;gap:4px}.rcd-top b{flex:1;min-width:0;font:900 13px/1.1 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcd-top em{font:800 8px var(--body);font-style:normal;padding:2px 5px;border-radius:3px;background:var(--tc);color:#111}
.rcd-pic{display:block;aspect-ratio:1.6;border-radius:5px;background:#222 center/cover;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
.rcd-stats{display:grid;grid-template-columns:1fr 1fr;gap:3px}
.rcd-stats i{font-style:normal;display:flex;flex-direction:column;padding:3px 5px;border-radius:4px;background:rgba(0,0,0,.06)}
.rcd-stats small{font:800 7px var(--body);letter-spacing:.08em;color:#6a5a50}.rcd-stats b{font:800 12px var(--body)}
.rcd-seat{font:400 12px var(--led,monospace);color:#b0216a;letter-spacing:.04em}
.rm-feature{margin-top:18px;text-align:center}
.rm-big{position:relative;display:block;margin:0 auto;width:82%;aspect-ratio:1;padding:12px;background:linear-gradient(135deg,#2a2d33,#0e0f12);border-radius:4px;box-shadow:0 14px 28px rgba(0,0,0,.6),inset 0 0 0 2px #555}
.rm-big span{display:block;width:100%;height:100%;background:#111 center/cover}
.rm-light{position:absolute;left:10%;right:10%;top:-30px;height:40px;background:radial-gradient(ellipse at 50% 0,rgba(255,240,200,.5),transparent 70%);pointer-events:none}
.rm-feature small{display:block;margin-top:6px;font:400 13px var(--led,monospace);color:#ffe7a8;letter-spacing:.06em}
.rm-secs{display:flex;flex-direction:column;gap:18px;margin-top:18px}
.rm-h{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:400 18px var(--led,monospace);letter-spacing:.12em;color:#ffe7a8}
.rm-h small{font-size:12px;color:#8e95a0;letter-spacing:.04em}
.rm-mv{display:flex;gap:3px}.rm-mv button{width:26px;height:26px;border-radius:6px;background:#2a2f3c;color:#fff;font-size:11px}
.rm-art{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;padding:6px 2px}
.rm-pic{position:relative;display:block;padding:6px 6px 18px;background:#f4efe4;border-radius:2px;box-shadow:0 6px 12px rgba(0,0,0,.55);transform:rotate(var(--r));text-decoration:none}
.rm-pic span{display:block;aspect-ratio:1;background:#222 center/cover}
.rm-pic em{position:absolute;left:6px;right:6px;bottom:3px;font:700 9px/1.2 var(--body);font-style:normal;color:#3a3040;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rm-pic.pinned,.rm-jar.pinned{box-shadow:0 6px 12px rgba(0,0,0,.55),0 0 0 2px var(--neon)}
.rm-vid{position:absolute;right:9px;top:9px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-style:normal;color:#fff;background:rgba(0,0,0,.6)}
.rm-pin{position:absolute;left:2px;top:2px;width:28px;height:28px;border-radius:50%;background:rgba(10,10,20,.8);color:#ffd84a;font-size:15px}
.rm-feat{position:absolute;right:2px;bottom:20px;padding:3px 5px;border-radius:4px;background:rgba(10,10,20,.85);color:#fff;font:800 8px var(--body);letter-spacing:.06em}
.rm-crt{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 14px;margin-bottom:10px;border-radius:14px/18px;background:radial-gradient(ellipse at 50% 40%,#0c2a1c,#03100a);box-shadow:inset 0 0 0 6px #2a2d33,inset 0 0 0 8px #111,inset 0 0 30px rgba(0,0,0,.8);overflow:hidden;font:400 16px/1.15 var(--led,monospace);color:#7dffb0;text-shadow:0 0 6px rgba(80,255,150,.7)}
.rm-crt em{font-style:normal;font-size:26px}.rm-crt small{font-size:13px;opacity:.85}.rm-crt .seat{color:#ffd0f0;text-shadow:0 0 6px #ff4fb0}
.rm-crt .scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0 1px,transparent 1px 3px);pointer-events:none}
.rm-shelf{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px;padding:6px 4px 14px;background:repeating-linear-gradient(180deg,transparent 0 76px,#6b4524 76px 84px,#3a2412 84px 88px,transparent 88px 92px)}
.rm-jar{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:#fff}
.rj-img{display:block;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#6a7488,#2a2f3c) center/cover;box-shadow:0 4px 6px rgba(0,0,0,.6),inset 0 0 0 2px rgba(255,255,255,.3),inset -4px -6px 10px rgba(0,0,0,.35)}
.rm-jar b{font:800 9.5px var(--body);letter-spacing:.03em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-jar small{font:400 12px var(--led,monospace);color:#7dffb0}
.rm-jar .rm-pin{left:-2px;top:-4px;width:24px;height:24px;font-size:13px}
.rm-links{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:center;padding:4px}
.rm-obj{text-decoration:none}
.rm-cass{position:relative;width:140px;padding:6px 8px 8px;border-radius:6px;background:linear-gradient(180deg,#2a2630,#141218);box-shadow:0 6px 12px rgba(0,0,0,.55);transform:rotate(var(--r));display:flex;flex-direction:column;gap:4px}
.rc-lbl{font:900 10px var(--display);color:#1a1020;padding:2px 6px;border-radius:2px;background:linear-gradient(90deg,#ff9a3a,#ff4fb0)}
.rc-win{display:flex;justify-content:space-around;padding:6px;border-radius:12px;background:#07070a}
.rc-win i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#ddd 0 25%,#5a3a26 28%);animation:spin 3s linear infinite}
.rm-cass b{font:700 11px var(--body);color:#ffe7a8;text-align:center}
@keyframes spin{to{transform:rotate(360deg)}}
.rm-poster{position:relative;width:104px;padding:16px 8px 12px;border-radius:3px;text-align:center;color:#fff;transform:rotate(var(--r));box-shadow:0 6px 12px rgba(0,0,0,.55);background:linear-gradient(160deg,#222,#000)}
.rm-poster.k-farcaster{background:linear-gradient(160deg,#8a63d2,#4b2a9a)}.rm-poster.k-instagram{background:linear-gradient(160deg,#f58529,#dd2a7b 50%,#8134af)}.rm-poster.k-tiktok{background:linear-gradient(160deg,#111,#25f4ee 140%)}
.rm-poster b{display:block;font:900 15px var(--display);letter-spacing:.04em}.rm-poster small{display:block;margin-top:4px;font:600 10px var(--body);opacity:.85;word-break:break-all}
.rp-pin{position:absolute;left:50%;top:5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8a8a,#a01010);box-shadow:0 1px 2px rgba(0,0,0,.6)}
.rm-key{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:4px}
.rk-ring{width:30px;height:30px;border-radius:50%;border:4px solid #c9cdd2;box-shadow:0 2px 3px rgba(0,0,0,.5),inset 0 0 0 1px #777}
.rk-tag{margin-top:-4px;padding:6px 8px;border-radius:6px 6px 10px 10px;max-width:130px;background:linear-gradient(180deg,#ffe7a8,#e8b84a);color:#3a2810;text-align:center;box-shadow:0 4px 8px rgba(0,0,0,.5);transform:rotate(-4deg)}
.rk-tag b{display:block;font:900 10px var(--display);letter-spacing:.08em}.rk-tag small{display:block;font:700 10px var(--body);word-break:break-all}
.rm-carts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.rm-cart{position:relative;width:104px;padding:10px 8px 22px;border-radius:6px 6px 3px 3px;text-decoration:none;color:#fff;background:linear-gradient(180deg,#3a3f4a,#22262e);box-shadow:0 6px 10px rgba(0,0,0,.55),inset 0 -12px 0 rgba(0,0,0,.25)}
.rt-label{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:3px;background:linear-gradient(160deg,var(--c),#111 140%);box-shadow:inset 0 0 0 2px var(--a)}
.rt-label i{font-style:normal;color:var(--a);font-size:16px}.rt-label b{font:900 10px var(--display);text-align:center;word-break:break-word}
.rm-cart small{position:absolute;left:0;right:0;bottom:6px;text-align:center;font:800 6.5px var(--body);letter-spacing:.12em;color:#9aa3b5}
.rm-stk{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;width:100%;padding:10px;border-radius:12px;background:#121626;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.rm-panel{margin-top:16px;padding:14px;border-radius:14px;background:#141826;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.rm-panel>b{display:block;margin:6px 0;font:400 15px var(--led,monospace);letter-spacing:.12em;color:#ffe7a8}
.rm-sw{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rm-sw button{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;background:#1d2232;color:#dfe5ff;font:700 12px var(--body);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.rm-sw button.on{box-shadow:inset 0 0 0 2px #ffe7a8}
.rm-sw button i{width:28px;height:22px;border-radius:4px;flex:none}
.rm-sw i[data-wall=steel]{background:#50565f}.rm-sw i[data-wall=grid]{background:linear-gradient(180deg,#3a0f4a,#ff4fb0)}.rm-sw i[data-wall=stars]{background:radial-gradient(1px 1px at 30% 40%,#fff,transparent),#0a0b1e}.rm-sw i[data-wall=wood]{background:#6e4220}
.rm-sw.neon{grid-template-columns:repeat(5,1fr)}.rm-sw.neon button{height:40px;justify-content:center;background:var(--c);box-shadow:0 0 12px var(--c)}.rm-sw.neon button.on{box-shadow:0 0 0 3px #fff,0 0 14px var(--c)}
.rm-msg{text-align:center;margin-top:20px}
.cq-room{display:block;margin:12px auto 0}
.lk-room{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 20px);max-width:460px;margin:8px auto 0;padding:12px;border-radius:12px;font:800 13px var(--body);letter-spacing:.06em;color:#1a1020;background:linear-gradient(180deg,#ffe7a8,#f3c76a);box-shadow:0 4px 0 #8a6a2a,0 8px 16px rgba(0,0,0,.4)}
/* ---------- AR ---------- */
.win-ar .win-frame{padding:0;height:100%}
.ar{position:fixed;inset:0;background:radial-gradient(120% 80% at 50% 0%,#232a72 0%,#0b1236 60%,#060a20 100%);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.ar video,.ar #arPhoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}
.ar-live video:not([hidden]),.ar-live #arPhoto:not([hidden]){opacity:1}
.ar video.mirror{transform:scaleX(-1)}
.ar-stage{position:absolute;inset:0;z-index:2}
.ar-spr{position:absolute;left:0;top:0;transform-origin:50% 100%;will-change:transform;touch-action:none}
.ar-spr img,.ar-spr canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.ar-wizmo img{transform-origin:50% 100%;animation:arBreath 3.6s ease-in-out infinite}
@keyframes arBreath{0%,100%{transform:scale(1,1)}50%{transform:scale(1.012,.986)}}
.ar-shadow{position:absolute;left:8%;right:8%;bottom:-7%;height:14%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.45),rgba(0,0,0,0));pointer-events:none}
.ar-spr.sel::after{content:"";position:absolute;inset:-8px;border:2px dashed rgba(255,255,255,.55);border-radius:14px;opacity:0;transition:opacity .25s;pointer-events:none}
.ar-spr.sel.held::after{opacity:1}
.ar-spr.held img,.ar-spr.held canvas{filter:drop-shadow(0 14px 18px rgba(0,0,0,.4)) brightness(1.04)}
.ar-top{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 10px) 12px 10px;background:linear-gradient(180deg,rgba(5,8,28,.7),rgba(5,8,28,0))}
.ar-top .win-close{position:static}
.ar-tag{font:20px var(--led);letter-spacing:.12em;color:#9fe8ff;text-shadow:0 0 8px rgba(79,230,255,.6)}
.ar-chips{margin-left:auto;display:flex;gap:6px}
.ar-chips button{font:700 13px system-ui;color:#cfd6ff;background:rgba(10,14,40,.66);border:1.5px solid rgba(255,255,255,.22);border-radius:99px;padding:8px 12px;min-height:36px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ar-chips button.on{color:#1a1030;background:#ffc65a;border-color:#ffe2a0;box-shadow:0 0 12px rgba(255,198,90,.5)}
.ar-intro{position:absolute;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 22px);z-index:4;display:flex;flex-direction:column;gap:12px;padding:20px 16px;border-radius:22px;background:rgba(10,14,44,.82);border:1.5px solid rgba(255,255,255,.14);box-shadow:0 20px 40px rgba(0,0,0,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ar-intro>b{font:400 30px var(--script);color:#fff;text-align:center;text-shadow:0 0 12px #ff4fb0}
.ar-intro .vbtn{width:100%;min-height:52px;justify-content:center}
.ar-file{display:flex;align-items:center;justify-content:center;cursor:pointer}
.ar-ql{display:grid;gap:8px}
.ar-qlb{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:linear-gradient(180deg,#2a3170,#1a1f52);border:1.5px solid rgba(159,232,255,.35);color:#fff;text-decoration:none}
.ar-qlb img{width:56px;height:56px;object-fit:contain;border-radius:10px;background:rgba(0,0,0,.25)}
.ar-qlb span{display:flex;flex-direction:column}.ar-qlb b{font:700 15px system-ui}.ar-qlb small{color:#aeb7e6;font:13px system-ui}
.ar-bar{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:space-around;align-items:center;padding:16px 24px calc(env(safe-area-inset-bottom) + 22px);background:linear-gradient(0deg,rgba(5,8,28,.65),rgba(5,8,28,0))}
.ar-shut{width:78px;height:78px;border-radius:50%;border:5px solid #fff;background:rgba(255,255,255,.18);display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.4);transition:transform .12s}
.ar-shut i{width:58px;height:58px;border-radius:50%;background:#fff;transition:transform .12s}
.ar-shut.down i{transform:scale(.86)}
.ar-sm{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:rgba(10,14,40,.6);color:#fff;font:700 22px system-ui;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ar-hint{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 128px);transform:translateX(-50%);z-index:5;font:14px system-ui;color:#fff;background:rgba(10,14,40,.7);padding:8px 14px;border-radius:99px;white-space:nowrap;animation:arHint 4.2s ease forwards;pointer-events:none}
@keyframes arHint{0%{opacity:0;translate:0 8px}10%,85%{opacity:1;translate:0 0}100%{opacity:0}}
.ar-flash{position:absolute;inset:0;z-index:6;background:#fff;opacity:0;pointer-events:none}
.ar-flash.go{animation:arFlash .5s ease-out}
@keyframes arFlash{0%{opacity:.9}100%{opacity:0}}
.ar-shot{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:calc(env(safe-area-inset-top) + 60px) 20px calc(env(safe-area-inset-bottom) + 24px);background:rgba(5,8,28,.88)}
.ar-shot img{max-width:100%;max-height:68vh;border-radius:14px;border:6px solid #f4ead2;box-shadow:0 18px 40px rgba(0,0,0,.6);transform:rotate(-1.5deg);animation:arPol .5s cubic-bezier(.2,.9,.3,1.2)}
@keyframes arPol{from{transform:scale(.7) rotate(-8deg);opacity:0}}
.ar-shot div{display:flex;gap:10px;width:100%}.ar-shot .vbtn{flex:1;min-height:52px;justify-content:center}
.ar-msg{position:absolute;left:16px;right:16px;top:calc(env(safe-area-inset-top) + 64px);z-index:5;margin:0;text-align:center;font:14px system-ui;color:#ffd38a}
.ar-msg:empty{display:none}
.rm-arbtn{width:100%;margin-top:10px;justify-content:center}
.lk-ar{margin-top:8px}
.lk-ar{background:linear-gradient(180deg,#a8f0ff,#5fc8e6);box-shadow:0 4px 0 #2a6f8a,0 8px 16px rgba(0,0,0,.4)}
