:root{--purple: #4E00B7;--teal: #00D2C3;--grad: linear-gradient(135deg, #4E00B7, #00D2C3);--bg: #0d0d0d;--fg: #e0e0e0;--panel: rgba(16, 14, 22, .92)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--fg);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;touch-action:none}#gl{position:fixed;inset:0;width:100%;height:100%;display:block}#splash{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 50% 20%,#1a1030,#0d0d0d 65%);transition:opacity .6s ease}#splash.gone{opacity:0;pointer-events:none}.splash-inner{text-align:center;padding:24px;max-width:480px}.brand{font-size:clamp(34px,8vw,56px);font-weight:800;letter-spacing:.06em}.brand span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.sub{font-size:clamp(14px,3vw,18px);letter-spacing:.55em;margin:6px 0 30px;color:#9a93ad}.bar{height:4px;border-radius:2px;background:#241f33;overflow:hidden;margin:0 10% 26px}#bar-fill{height:100%;width:0%;background:var(--grad);transition:width .3s ease}#enter{font:inherit;font-size:17px;font-weight:700;letter-spacing:.12em;color:#fff;background:var(--grad);border:0;border-radius:999px;padding:14px 44px;cursor:pointer;opacity:.5;transition:opacity .3s,transform .15s}#enter:not([disabled]){opacity:1}#enter:not([disabled]):hover{transform:scale(1.04)}.hint{margin-top:22px;font-size:13px;color:#8d86a3;line-height:1.5}#splash .store{display:inline-block;margin-top:14px;color:var(--teal);font-size:13px;text-decoration:none}#hud{position:fixed;inset:0;z-index:20;pointer-events:none}#menu-btn,#tour-btn,#brand-chip{pointer-events:auto;position:absolute;top:calc(12px + env(safe-area-inset-top));font:inherit;font-size:14px;font-weight:600;color:var(--fg);background:var(--panel);border:1px solid #322c44;border-radius:10px;padding:9px 14px;cursor:pointer}#menu-btn{left:12px}#tour-btn{left:106px;color:var(--teal);border-color:#1e4a46}#brand-chip{right:12px;letter-spacing:.08em;font-size:12px;font-weight:800}#brand-chip em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}#room-label{position:absolute;top:calc(58px + env(safe-area-inset-top));left:50%;transform:translate(-50%);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#cfc9e0;background:var(--panel);border:1px solid #322c44;border-radius:999px;padding:6px 14px;white-space:nowrap;max-width:60vw;overflow:hidden;text-overflow:ellipsis}@media (min-width: 701px){#room-label{top:calc(14px + env(safe-area-inset-top));font-size:13px}}#fade{position:fixed;inset:0;z-index:35;background:#000;opacity:0;pointer-events:none;transition:opacity .24s ease}#fade.on{opacity:1}#cross{position:absolute;top:50%;left:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#ffffffbf;box-shadow:0 0 4px #0009}#menu{position:fixed;z-index:30;top:0;left:0;bottom:0;width:min(340px,88vw);background:var(--panel);backdrop-filter:blur(12px);border-right:1px solid #322c44;padding:calc(14px + env(safe-area-inset-top)) 18px 18px;overflow-y:auto}.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:#b9b2cc}#menu-close,#card-close{font:inherit;font-size:16px;background:none;border:0;color:#8d86a3;cursor:pointer;padding:6px}#minimap{width:100%;border-radius:12px;background:#131019;border:1px solid #2a2440;margin-bottom:4px;cursor:pointer}.map-hint{font-size:11px;color:#7d7694;text-align:center;margin-bottom:10px}#room-list{display:flex;flex-direction:column;gap:6px}#room-list button{font:inherit;text-align:left;display:flex;justify-content:space-between;align-items:center;color:var(--fg);background:#191527;border:1px solid #2a2440;border-radius:10px;padding:11px 14px;cursor:pointer;font-size:14px}#room-list button:hover{border-color:var(--teal)}#room-list button .n{color:#7d7694;font-size:12px}#room-list button.bl{border-image:linear-gradient(135deg,#4e00b7,#00d2c3) 1;border-style:solid}#menu .store{display:block;margin-top:16px;color:var(--teal);font-size:13px;text-decoration:none}#card{position:fixed;z-index:25;background:var(--panel);backdrop-filter:blur(12px);border:1px solid #322c44;border-radius:18px;padding:22px 22px 20px;right:20px;top:50%;transform:translateY(-50%);width:348px;box-shadow:0 14px 44px #00000080}@media (max-width: 700px){#card{right:10px;left:10px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;width:auto;padding:18px 18px 16px}}#card-close{position:absolute;top:10px;right:10px}.card-nav{position:absolute;top:10px;right:44px;display:flex;gap:2px}.card-nav button{font:inherit;font-size:22px;line-height:1;background:none;border:0;color:var(--teal);cursor:pointer;padding:4px 9px}#card-title{font-size:23px;font-weight:800;margin:4px 95px 4px 0;line-height:1.2}#card-series{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}#card-medium{font-size:13.5px;color:#a49dbb}#card-note{font-size:13px;font-style:italic;color:#8f88a8;margin-top:6px;line-height:1.45}#card-price{font-size:15px;margin:12px 0 16px;color:#d9d4e8}#card-price .sold{display:inline-block;background:#c62839;color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;border-radius:4px;padding:2px 7px;margin-right:7px}.card-actions{display:flex;gap:10px}#card-buy{flex:1;text-align:center;text-decoration:none;color:#fff;font-weight:700;font-size:15px;background:var(--grad);border-radius:12px;padding:13px 12px}#card-share{font:inherit;font-size:13px;color:var(--fg);background:#191527;border:1px solid #2a2440;border-radius:12px;padding:0 18px;cursor:pointer}#toast{position:fixed;z-index:50;left:50%;top:calc(96px + env(safe-area-inset-top));transform:translate(-50%);background:var(--panel);border:1px solid #322c44;border-radius:999px;padding:10px 20px;font-size:13px;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis}@media (min-width: 701px){#toast{top:calc(60px + env(safe-area-inset-top))}}#stick{position:fixed;z-index:15;inset:0;pointer-events:none}#stick-base{position:absolute;width:110px;height:110px;border-radius:50%;border:2px solid rgba(255,255,255,.22);background:#ffffff0f;display:none}#stick-nub{position:absolute;width:46px;height:46px;border-radius:50%;left:30px;top:30px;background:#ffffff47;border:2px solid rgba(255,255,255,.35)}
