:root{--bg:#1a1428;--bg-2:#241b38;--panel:#2d2346;--panel-2:#382b57;--line:#4b3a73;--text:#f3eefc;--muted:#b5a8d6;--amber:#ffd43b;--pink:#f783ac;--cyan:#66d9e8;--green:#69db7c;--red:#ff6b6b;--font:"Pixelify Sans", ui-monospace, "Courier New", monospace;--radius:4px;--header-h:52px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}a{color:var(--cyan)}button,input,select,textarea{font:inherit;color:inherit}.btn{border-radius:var(--radius);background:var(--panel-2);color:var(--text);cursor:pointer;box-shadow:0 -3px 0 0 #00000059 inset, 0 0 0 2px var(--line);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;transition:transform 50ms;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:active{transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--amber);color:#2a1d00;box-shadow:inset 0 -3px #00000040,0 0 0 2px #b8901b}.btn.pink{background:var(--pink);color:#3a0d1e;box-shadow:inset 0 -3px #00000040,0 0 0 2px #b85a7a}.btn.small{padding:4px 8px;font-size:13px}.btn.ghost{box-shadow:none;color:var(--muted);background:0 0}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field label{color:var(--muted);font-size:14px}.field .counter{color:var(--muted);align-self:flex-end;font-size:12px}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{background:var(--bg-2);border:2px solid var(--line);border-radius:var(--radius);outline:none;width:100%;padding:9px 10px}input:focus,select:focus,textarea:focus{border-color:var(--cyan)}textarea{resize:vertical;min-height:70px}.check{color:var(--muted);align-items:flex-start;gap:8px;margin:10px 0;font-size:14px;display:flex}.header{z-index:50;height:var(--header-h);border-bottom:2px solid var(--line);background:#140f20;align-items:center;gap:12px;padding:0 16px;display:flex;position:sticky;top:0}.brand{color:var(--amber);white-space:nowrap;align-items:center;gap:8px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.brand img{width:26px;height:26px;image-rendering:pixelated}.nav{scrollbar-width:none;flex:1;gap:4px;display:flex;overflow-x:auto}.nav a{border-radius:var(--radius);color:var(--muted);white-space:nowrap;padding:6px 10px;text-decoration:none}.nav a.active,.nav a:hover{color:var(--text);background:var(--panel)}.header-right{align-items:center;gap:8px;display:flex}.chip{background:var(--panel);border:2px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:14px;display:inline-flex}.chip.amber{color:var(--amber)}.page{max-width:960px;margin:0 auto;padding:24px 16px 64px}.page.narrow{max-width:460px}.card{background:var(--panel);border:2px solid var(--line);border-radius:6px;margin-bottom:18px;padding:18px}.card h2{margin:0 0 6px;font-size:22px}.card .sub{color:var(--muted);margin:0 0 16px;font-size:14px}.grid2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--red);margin:8px 0;font-size:14px}.ok{color:var(--green);margin:8px 0;font-size:14px}.banner{border-radius:var(--radius);color:var(--amber);background:#3b2f12;border:2px solid #7a6220;margin-bottom:16px;padding:10px 14px;font-size:14px}.hero{text-align:center;padding:36px 0 18px}.hero h1{color:var(--amber);text-shadow:3px 3px #b85a7a,6px 6px #00000059;margin:0;font-size:clamp(34px,7vw,56px)}.hero .tag{margin:10px 0 6px;font-size:20px}.hero p{max-width:620px;color:var(--muted);margin:12px auto;line-height:1.45}.hero .row{justify-content:center;margin-top:18px}.steps{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.step{background:var(--bg-2);border:2px solid var(--line);border-radius:6px;padding:14px;line-height:1.4}.step b{color:var(--pink);font-size:28px;display:block}.songlist{margin:0;padding:0;list-style:none}.songlist li{border-bottom:1px dashed var(--line);justify-content:space-between;gap:8px;padding:8px 0;display:flex}.pub{height:calc(100dvh - var(--header-h));grid-template-columns:1fr 340px;display:grid}.stage{touch-action:none;background:#0d0a14;position:relative;overflow:hidden}.stage canvas{image-rendering:pixelated;display:block}.overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{white-space:nowrap;background:#0a0612b3;border-radius:3px;padding:2px 4px;font-size:12px;line-height:1;position:absolute;transform:translate(-50%)}.label.house{color:var(--muted)}.label.npc{color:var(--cyan)}.label.mine{color:var(--amber)}.bubble{--glow:#3bf0ff;color:#f1ebff;border:1px solid var(--glow);width:max-content;max-width:190px;box-shadow:0 0 8px color-mix(in srgb, var(--glow) 55%, transparent), inset 0 0 6px color-mix(in srgb, var(--glow) 18%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c081cdb;border-radius:10px;padding:5px 9px;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:12px;font-weight:500;line-height:1.3;transition:opacity .3s;animation:.15s ease-out pop;position:absolute;transform:translate(-50%,-100%)}.bubble span{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bubble:after{content:"";border-right:1px solid var(--glow);border-bottom:1px solid var(--glow);background:#0c081cdb;width:8px;height:8px;margin-left:-4px;position:absolute;bottom:-5px;left:50%;transform:rotate(45deg)}.bubble.dots{letter-spacing:2px;padding:0 7px 2px;font-size:14px}.bubble.lyric{--glow:#ff3df2;color:var(--amber);font-style:italic}@keyframes pop{0%{opacity:0;transform:translate(-50%,-90%)scale(.8)}}.hud{pointer-events:none;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:10px;left:10px;right:10px}.hud>*{pointer-events:auto}.toast{border-radius:var(--radius);border:2px solid var(--line);text-align:center;background:#140f20e6;max-width:90%;padding:8px 14px;font-size:14px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.panel{background:var(--bg-2);border-left:2px solid var(--line);flex-direction:column;min-height:0;display:flex}.panel-head{border-bottom:2px solid var(--line);padding:12px 14px}.panel-head h3{margin:0;font-size:17px}.panel-body{flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.msg{background:var(--panel);border-radius:6px;padding:8px 10px;font-size:14px;line-height:1.35}.msg .who{margin-bottom:2px;font-size:13px;font-weight:600}.msg .actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.msg .actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px}.msg .actions button:hover{color:var(--text)}.msg.hidden{display:none}.nowcard{border:2px solid var(--pink);background:#3a1f3f;border-radius:6px;margin:10px 12px 0;padding:10px;font-size:14px}.empty{color:var(--muted);text-align:center;padding:24px 8px;font-size:14px}.preview{width:96px;height:120px;image-rendering:pixelated;background:var(--bg-2);border:2px solid var(--line);border-radius:6px}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;width:26px;height:26px}.swatch.on{box-shadow:0 0 0 2px var(--bg);border-color:#fff}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{border:2px solid var(--line);background:var(--bg-2);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:14px}.pill.on{border-color:var(--amber);color:var(--amber)}.agenda{counter-reset:a;margin:8px 0;padding:0;list-style:none}.agenda li{background:var(--bg-2);counter-increment:a;border-radius:4px;align-items:center;gap:8px;margin-bottom:4px;padding:6px 8px;display:flex}.agenda li:before{content:counter(a) ".";color:var(--muted);width:18px}.agenda li span{flex:1}.packs{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.pack{text-align:center;background:var(--bg-2);border:2px solid var(--line);border-radius:6px;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;display:flex}.pack .glass{font-size:40px}.pack .name{font-size:20px;font-weight:700}.pack .bc{color:var(--amber);font-size:18px}.memory{width:100%;min-height:220px;font-family:ui-monospace,monospace;font-size:13px}table.t{border-collapse:collapse;width:100%;font-size:14px}table.t th,table.t td{text-align:left;border-bottom:1px solid var(--line);padding:6px 8px}table.t th{color:var(--muted);font-weight:400}.lyrics{white-space:pre-line;font-size:20px;line-height:1.6}@media (width<=860px){.pub{grid-template-rows:1fr 38dvh;grid-template-columns:1fr}.panel{border-left:0;border-top:2px solid var(--line)}.steps,.packs{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.brand span{display:none}}@media (width<=480px){.steps{grid-template-columns:1fr}.header{gap:8px;padding:0 10px}}.thread{border:1px solid var(--line);background:#241b3880;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.thread-head{border-bottom:1px dashed var(--line);padding-bottom:4px;font-size:13px;font-weight:600}.thread .msg{max-width:86%;position:relative}.thread .msg.left{border-bottom-left-radius:2px;align-self:flex-start}.thread .msg.right{background:#2f2552;border-bottom-right-radius:2px;align-self:flex-end}.chip.small{padding:1px 6px;font-size:11px}.live{background:#ff3df20f;border:2px solid #ff3df2;border-radius:8px;max-height:34%;margin:0 12px 8px;padding:8px 10px;overflow-y:auto}.live-head{align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.live-dot{background:#ff3d6e;border-radius:50%;width:8px;height:8px;animation:1.2s infinite blink;box-shadow:0 0 6px #ff3d6e}@keyframes blink{50%{opacity:.3}}.live-item{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.live-item.here b{color:var(--cyan)}.live-text{min-width:0}.live-text .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel{background:linear-gradient(#b26bff29,#3bf0ff0f);border:2px solid #b26bff;border-radius:8px;margin:0 12px 8px;padding:10px}.duel-head{margin-bottom:8px;font-size:13px;font-weight:700}.duel-sides{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.duel-side{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.duel-side.win b{color:var(--amber)}.duel-vs{color:#ff3df2;text-shadow:0 0 6px #ff3df2;font-weight:800}.duel-bar{background:var(--bg);border-radius:3px;width:100%;height:6px;overflow:hidden}.duel-bar span{background:linear-gradient(90deg,#3bf0ff,#ff3df2);height:100%;transition:width .3s;display:block}.bubble.old{opacity:.45}.coach{border:2px dashed var(--amber);border-radius:8px;margin:0 12px 8px;padding:8px 10px}.coach.muted{border-color:var(--line)}.coach input,.show input{flex:1;min-width:0}.show{border:2px solid var(--amber);background:linear-gradient(#ffd43b1f,#b26bff0f);border-radius:8px;margin:0 12px 8px;padding:8px 10px}.show-head{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.show-asking{color:var(--amber);margin-top:4px}.show-q{align-items:center;gap:6px;margin-top:4px;display:flex}.skins{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:12px;display:grid}.skin{border:2px solid var(--line);background:var(--bg-2);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px;display:flex}.skin-sample{justify-content:center;min-height:72px;display:flex;position:relative}.aura-ring{background:radial-gradient(ellipse, var(--aura) 0%, transparent 70%);filter:blur(1px);border-radius:50%;width:54px;height:14px;margin-left:-27px;position:absolute;bottom:0;left:50%}.aura-ring.rainbow{background:radial-gradient(#ff3df2 0%,#3bf0ff 45%,#0000 75%);animation:3s linear infinite hue}@keyframes hue{to{filter:hue-rotate(360deg)}}.pet-icon{font-size:20px;position:absolute;bottom:0;right:-6px}.avatar-card{border:2px solid var(--cyan);background:#3bf0ff0f;border-radius:8px;margin:0 12px 8px;padding:8px 10px}.avatar-card input{flex:1;min-width:0}.best{border-bottom:1px dashed var(--line);padding:8px 0}.mcp-url{background:var(--bg);border:1px solid var(--line);white-space:nowrap;border-radius:6px;flex:1;padding:8px 10px;overflow-x:auto}.iso-page{height:calc(100dvh - var(--header-h));background:#05030c;position:relative}.iso-canvas{width:100%;height:100%;display:block}.pub3d{height:calc(100dvh - var(--header-h));background:#06040d;position:relative;overflow:hidden}.pub3d-stage{position:absolute;inset:0}.pub3d-stage canvas{display:block}.panel-tabs{border-bottom:2px solid var(--line);gap:4px;padding:8px 10px;display:flex}.panel-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:7px 4px;font-size:13px}.panel-tabs button.on{background:var(--bg);color:var(--text);box-shadow:inset 0 -2px #ff3df2}.now-strip{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.now-strip-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;overflow:hidden}.panel-body.focus .duel{margin:0}.focus-head{border-bottom:1px dashed var(--line);padding-bottom:6px;font-size:14px;font-weight:700}.panel-body.focus .msg{max-width:88%;font-size:15px;line-height:1.4}.panel-body.focus .msg.left{border-bottom-left-radius:2px;align-self:flex-start}.panel-body.focus .msg.right{background:#2f2552;border-bottom-right-radius:2px;align-self:flex-end}.trivia{border:2px solid var(--cyan);background:linear-gradient(#3bf0ff24,#b26bff0f);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.trivia-head{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.trivia-timer{font-variant-numeric:tabular-nums;color:var(--cyan);margin-left:auto}.trivia-timer.hot{color:var(--pink,#ff4fd8)}.trivia-q{font-size:15px;font-weight:700;line-height:1.35}.trivia-opts{grid-template-columns:1fr 1fr;gap:6px;display:grid}.trivia-opt{text-align:left;border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#ffffff0a;border-radius:6px;flex-direction:column;gap:2px;padding:8px;font-size:13px;display:flex}.trivia-opt:hover:not(:disabled){border-color:var(--cyan)}.trivia-opt:disabled{cursor:default}.trivia-opt b{color:var(--cyan)}.trivia-opt.mine{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber) inset}.trivia-opt.right{background:#69db7c2e;border-color:#69db7c}.trivia-opt.wrong{background:#ff6b6b24;border-color:#ff6b6b}.trivia-who{color:var(--muted);font-size:11px}.trivia-score{flex-wrap:wrap;gap:6px;display:flex}.trivia-player{border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;display:flex}.trivia-player.you{border-color:var(--amber);color:var(--amber)}.trivia-player.win{background:#ffd43b2e}.panel-body.focus .trivia{z-index:2;background:linear-gradient(180deg, #66d9e824, #b26bff0f), var(--bg-2);position:sticky;top:-10px}.google-btn{color:#1f1f1f;background:#fff;border-color:#dadce0;justify-content:center;align-items:center;gap:10px;width:100%;margin:6px 0 4px;display:flex}.google-btn:hover{background:#f2f2f2}.or-sep{color:var(--muted);align-items:center;gap:10px;margin:10px 0;font-size:12px;display:flex}.or-sep:before,.or-sep:after{content:"";border-top:1px solid var(--line);flex:1}.hits{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}@media (width<=640px){.hits{grid-template-columns:repeat(2,1fr)}}.hit{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;flex-direction:column;text-decoration:none;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.hit:hover{border-color:var(--cyan);transform:translateY(-2px)}.hit.first{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber), 0 0 18px #ffd43b40}.hit-cover{aspect-ratio:16/9;justify-content:center;align-items:center;display:flex;position:relative}.hit-rank{text-shadow:0 2px 6px #00000080;font-size:18px;font-weight:700;position:absolute;top:6px;left:8px}.hit-play{opacity:.85;background:#00000073;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;transition:transform .15s,opacity .15s;display:flex}.hit:hover .hit-play{opacity:1;transform:scale(1.12)}.hit-info{flex-direction:column;gap:3px;min-width:0;padding:8px 10px 10px;display:flex}.hit-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.25;overflow:hidden}.hit-meta{justify-content:space-between;align-items:center;margin-top:2px;display:flex}
