:root{--bg:#0b0912;--bg-2:#14111e;--bg-3:#1d1929;--panel:#14111edb;--panel-solid:#14111e;--line:#ffffff14;--line-2:#ffffff29;--text:#f2eefa;--muted:#a49bb8;--accent:#ff5e8a;--accent-2:#3ad0ff;--danger:#ff6b6b;--ok:#7fe0a1;--radius:16px;--font-display:"Space Grotesk", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0}p{margin:0}a{color:var(--accent-2);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:var(--text);background:var(--bg-3);border:1px solid var(--line-2);border-radius:10px;outline:none;width:100%;padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent-2)}textarea{resize:vertical;min-height:80px}input[type=checkbox],input[type=radio]{flex:none;width:auto;padding:0}label.field{color:var(--muted);gap:6px;font-size:13px;display:grid}label.field>span{font-weight:500}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:12.5px}.stack{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.btn{background:var(--bg-3);border:1px solid var(--line-2);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:500;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:var(--accent-2)}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(135deg, var(--accent), #ff8ab0);color:#1a0710;border-color:#0000;font-weight:600}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.sm{border-radius:9px;padding:6px 10px;font-size:13px}.btn.icon{border-radius:10px;width:36px;height:36px;padding:8px}.btn:disabled{opacity:.5;cursor:default}.chip{background:var(--bg-3);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}.chip.on{border-color:var(--accent-2);color:var(--text)}.avatar{color:#14111e;width:28px;height:28px;font-size:12px;font-weight:600;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;display:inline-grid}.shell{min-height:100%;padding:24px 16px calc(24px + var(--safe-b));background:radial-gradient(1200px 600px at 20% -10%, #ff5e8a2e, transparent 60%), radial-gradient(900px 500px at 100% 100%, #3ad0ff24, transparent 60%), var(--bg);place-items:center;display:grid}.card{background:var(--panel-solid);border:1px solid var(--line);border-radius:22px;width:100%;max-width:420px;padding:28px 24px;box-shadow:0 30px 80px #00000073}.card.wide{max-width:720px}.brand{font-family:var(--font-display);align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.brand .mark{background:#16121f;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.tabs{background:var(--bg-2);border-radius:12px;gap:4px;padding:4px;display:flex}.tabs button{color:var(--muted);border-radius:9px;flex:1;padding:8px;font-weight:500}.tabs button.on{background:var(--bg-3);color:var(--text)}.error{color:var(--danger);font-size:13px}.room-list{gap:10px;display:grid}.room-card{background:var(--bg-2);border:1px solid var(--line);color:inherit;border-radius:16px;align-items:center;gap:14px;padding:14px;transition:border-color .15s;display:flex}.room-card:hover{border-color:var(--accent)}.room-card .swatch{border-radius:12px;flex:none;align-self:stretch;width:72px;min-height:72px;position:relative;overflow:hidden}.room-card .swatch:after{content:"";height:35%;position:absolute;inset:auto 0 0}.room-card.new{border-color:var(--accent-2)}.room-card-body{flex-direction:column;gap:4px;min-width:0;display:flex}.room-card-name{font-weight:600;font-family:var(--font-display);overflow-wrap:anywhere}.room-card-tagline{overflow-wrap:anywhere}.room-card-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.room-page{background:var(--bg);position:fixed;inset:0;overflow:hidden}.room-page canvas{touch-action:none}.pinned-chat{z-index:60;background:var(--panel,#1a1826);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 40px #00000073}.pinned-head{border-bottom:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#ffffff0a;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex}.pinned-chat.collapsed .pinned-head{border-bottom:0}.pinned-body{flex-direction:column;flex:1;min-height:0;display:flex}.pinned-body .sheet-body{padding:10px 12px}.pinned-grip{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,#0000 50%,#ffffff38 50%);width:22px;height:22px;position:absolute;bottom:0;right:0}.chat-page{border:1px solid var(--line);background:var(--panel,#ffffff08);border-radius:14px;max-width:720px;height:calc(100vh - 120px);overflow:hidden}.chat-page .sheet-body{padding:12px 14px}.model-bench-empty{text-align:center;color:#2a3a46;background:linear-gradient(#a9d2ea 0% 62%,#9fb8a0 100%);align-content:center;justify-items:center;gap:14px;height:100%;padding:24px;display:grid}.model-bench-empty img{object-fit:contain;filter:drop-shadow(0 10px 18px #14283259);border-radius:10px;width:auto;max-width:70%;height:min(42vh,400px)}.model-bench-glyph{opacity:.8;font-size:44px;line-height:1}.model-bench-empty .small{max-width:34ch}.room-veil{z-index:8;pointer-events:none;position:absolute;inset:0}.room-veil.fill{animation:.52s ease-out forwards room-veil}@keyframes room-veil{0%{opacity:1}to{opacity:0}}.hud-top{top:calc(10px + var(--safe-t));pointer-events:none;z-index:5;align-items:flex-start;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud-top>*{pointer-events:auto}.room-title{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;max-width:min(60vw,420px);padding:8px 12px;display:flex}.room-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.room-title .tag{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.presence{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;align-items:center;gap:4px;padding:6px 10px;display:flex}.presence .avatar{border:2px solid var(--bg-2);width:24px;height:24px;margin-left:-6px;font-size:11px}.presence .avatar:first-child{margin-left:0}.presence .count{color:var(--muted);margin-left:6px;font-size:12px}.hud-top .btn{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hud-top .btn.primary{background:linear-gradient(135deg, var(--accent), #ff8ab0)}@media (width<=600px){.hud-top .room-title{max-width:44vw;padding:6px 10px}.hud-top .btn .lbl{display:none}.hud-top .btn{padding:8px 10px}.sheet.compact{height:min(50vh,460px)}.sheet.compact.tall{height:min(62vh,560px)}}.dock{right:12px;bottom:calc(12px + var(--safe-b));background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);z-index:6;scrollbar-width:none;border-radius:20px;gap:4px;max-width:calc(100vw - 20px);padding:6px;display:flex;position:absolute;overflow-x:auto}.dock::-webkit-scrollbar{display:none}.dock button{width:58px;height:52px;color:var(--muted);border-radius:14px;flex:none;place-items:center;gap:2px;font-size:20px;line-height:1;transition:background .15s;display:grid;position:relative}.dock button span{letter-spacing:.01em;font-size:10px;font-weight:500}.dock button:hover{background:#ffffff0f}.dock button.on{color:var(--text);background:#ffffff1a}.dock .badge{background:var(--accent);color:#1a0710;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:6px;right:8px}.dock .sep{background:var(--line-2);flex:none;width:1px;margin:8px 4px}.sheet{z-index:7;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex;position:absolute;box-shadow:0 20px 60px #00000073}@media (width>=901px){.room-page.has-panel .dock,.room-page.has-panel .hud-top{right:424px}.room-page.has-panel .hint{left:calc(50vw - 206px)}.sheet{border-radius:20px;width:400px;top:12px;bottom:12px;right:12px}@keyframes sheet-in{0%{opacity:0;transform:translate(24px)}}}@media (width<=900px){.sheet{height:min(72vh,620px);padding-bottom:var(--safe-b);border-bottom:0;border-radius:22px 22px 0 0;bottom:0;left:0;right:0}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.sheet.tall{height:88vh}}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 14px 10px;display:flex}.sheet-head h2{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:16px;overflow:hidden}.sheet-head .icon-lg{font-size:22px}.sheet-body{overscroll-behavior:contain;flex:1;padding:14px;overflow:hidden auto}.ellip{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.channel .grow,.track .grow,.list-item .grow{min-width:0}.sheet-foot{border-top:1px solid var(--line);padding:10px 14px}.grab{background:var(--line-2);border-radius:2px;width:40px;height:4px;margin:8px auto -4px}@media (width>=901px){.grab{display:none}}.chat-list{flex-direction:column;gap:10px;display:flex}.msg{align-items:flex-start;gap:10px;display:flex}.msg .body{min-width:0}.msg .who{color:var(--muted);align-items:baseline;gap:8px;font-size:12px;display:flex}.msg .who b{color:var(--text);font-weight:600}.msg .text{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.4}.msg.system .text{color:var(--muted);font-size:13px;font-style:italic}.chat-form{gap:8px;display:flex}.joystick{left:18px;bottom:calc(12px + var(--safe-b));border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:6;touch-action:none;background:#14111e8c;border-radius:50%;place-items:center;width:110px;height:110px;display:grid;position:absolute}.joystick .nub{pointer-events:none;background:#ffffff59;border:2px solid #fff9;border-radius:50%;width:44px;height:44px}.jump-btn{right:18px;bottom:calc(102px + var(--safe-b));border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:6;touch-action:none;background:#14111e8c;border-radius:50%;width:72px;height:72px;font-size:28px;position:absolute}.toast{left:50%;top:calc(70px + var(--safe-t));background:var(--panel-solid);border:1px solid var(--line-2);z-index:20;border-radius:12px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 14px;font-size:13.5px;animation:.2s sheet-in;display:flex;position:absolute;transform:translate(-50%)}.toast .btn{flex:none}.undo-chips{gap:4px;display:flex}.undo-chips .btn{min-width:36px;height:36px;padding:0 9px;font-size:17px;line-height:1}.lock-note{border:1px solid var(--line-2);background:#ffffff0a;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.lock-note .lock-ico{font-size:20px}.float-chat{top:0;left:14px;bottom:calc(130px + var(--safe-b));pointer-events:none;z-index:4;--rise:calc(100vh - 130px - var(--safe-b));width:min(340px,72vw);position:absolute}.float-msg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;text-shadow:0 1px 2px #00000080;overflow-wrap:anywhere;-webkit-line-clamp:3;background:#0a08108c;border-radius:14px;-webkit-box-orient:vertical;max-width:100%;padding:6px 11px;font-size:13.5px;line-height:1.3;animation:10s linear both float-msg;display:-webkit-box;position:absolute;bottom:0;left:0;overflow:hidden}.float-msg b{margin-right:6px}.float-msg.system{color:#ffffffb3;font-style:italic}@keyframes float-msg{0%{opacity:0;transform:translateY(0)}5%{opacity:1}82%{opacity:1}to{opacity:0;transform:translateY(calc(-1 * var(--rise)))}}.sound-gate{left:50%;top:calc(70px + var(--safe-t));z-index:20;position:absolute;transform:translate(-50%)}.tabbar{gap:6px;margin-bottom:12px;display:flex}.tabbar button{color:var(--muted);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px}.tabbar button.on{color:var(--text);border-color:var(--accent-2)}.now-playing{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.cover{width:64px;height:64px;font-family:var(--font-display);color:#ffffffd9;text-shadow:0 2px 8px #0006;background-size:cover;border-radius:10px;flex:none;place-items:center;font-size:22px;font-weight:700;display:grid}.cover.sm{border-radius:8px;width:40px;height:40px;font-size:15px}.track-list{gap:4px;display:grid}.track{text-align:left;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.track:hover{background:#ffffff0d}.track.on{background:#ffffff14}.track .t{font-size:14px;font-weight:500}.track .a{color:var(--muted);font-size:12px}.eq{align-items:flex-end;gap:2px;height:14px;display:flex}.eq i{background:var(--accent);width:3px;animation:.8s ease-in-out infinite eq}.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}@keyframes eq{0%,to{height:30%}50%{height:100%}}.progress{background:var(--line-2);border-radius:2px;height:4px;overflow:hidden}.progress i{background:var(--accent-2);height:100%;display:block}.transport{justify-content:center;gap:8px;display:flex}.transport .btn{border-radius:50%;width:44px;height:44px;padding:0;font-size:18px}.transport .btn.big{width:56px;height:56px;font-size:22px}.grid-covers{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.grid-covers button{text-align:left;gap:6px;display:grid}.grid-covers .art{aspect-ratio:1;text-align:center;font-family:var(--font-display);color:#ffffffe6;text-shadow:0 2px 6px #00000080;background-size:cover;border:2px solid #0000;border-radius:8px;place-items:center;padding:8px;font-size:12px;font-weight:700;display:grid}.grid-covers .art.tall{aspect-ratio:2/3}.grid-covers .art.on{border-color:var(--accent-2)}.grid-covers .t{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.grid-covers .a{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.item-detail{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;gap:14px;padding:12px;display:flex}.item-detail .art{aspect-ratio:1;background-size:cover;border-radius:10px;flex:none;width:96px}.item-detail .art.tall{aspect-ratio:2/3}.channel-list{gap:6px;display:grid}.channel-list>.channel{min-width:0;max-width:100%}.channel{background:var(--bg-2);border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.channel.on{border-color:var(--accent-2)}.channel .n{background:var(--bg-3);border-radius:6px;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:grid}.chat-status{font-variant-numeric:tabular-nums;padding:4px 2px 0}.chat-status.warn{color:#ffb86b;opacity:1}.app-panel{background:var(--bg-3);border-radius:12px;height:calc(100vh - 190px);min-height:240px;overflow:hidden}@media (width<=900px){.sheet:has(.app-panel){height:88vh}.app-panel{height:calc(88vh - 150px)}}.live-dot:before{content:"";vertical-align:1px;background:#ff4d6d;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block;box-shadow:0 0 6px #ff4d6d}.channel.hit .thumb.logo{object-fit:contain;background:#fff;width:40px;height:40px}.channel.hit.open .thumb.logo{width:54px;height:54px}.genre-row{flex-wrap:wrap;gap:6px;display:flex}.channel.hit{padding:8px 10px}.channel.hit .thumb{object-fit:cover;background:var(--bg-3);border-radius:6px;flex:none;width:72px;height:40px}.channel.hit{cursor:pointer}.channel.hit.open{align-items:flex-start}.channel.hit.open .thumb{width:96px;height:54px}.channel.hit .hit-detail{gap:2px;margin-top:4px;display:grid}.channel.hit .hit-detail a{color:var(--accent-2)}.channel.gone .grow>div:first-child{opacity:.55;text-decoration:line-through}.channel.hit.off{opacity:.45}.channel.hit.off.open{opacity:.8}.channel.hit.off .thumb{filter:grayscale()}.channel.hit .reason{color:var(--danger,#ff5e8a)}.channel.hit:disabled{cursor:default}.quick-menu{background:var(--panel);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:220px;max-width:320px;color:var(--text);text-align:left;white-space:nowrap;pointer-events:auto;border-radius:16px;gap:8px;padding:10px 12px;font-size:13px;display:grid;position:relative;box-shadow:0 14px 40px #0000008c}.quick-menu:after{content:"";background:var(--panel);border:1px solid var(--line-2);width:12px;height:12px;position:absolute;left:50%;transform:translate(-50%)rotate(45deg)}.quick-menu.below{transform:translateY(50%)}.quick-menu.above{transform:translateY(-50%)}.quick-menu.below:after{border-bottom:0;border-right:0;top:-7px}.quick-menu.above:after{border-top:0;border-left:0;bottom:-7px}.quick-menu .qm-title{font-family:var(--font-display);align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.quick-menu .qm-title .ellip{flex:1}.quick-menu .qm-x{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px}.quick-menu .qm-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quick-menu.move-chip{min-width:0}.quick-menu .qm-now{flex-basis:100%;max-width:300px;font-size:12.5px}.tv-now{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;min-width:0;padding:10px 12px}.tv-now.preview{border-color:var(--accent-2)}.shape-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.shape{border:1px solid var(--line);background:var(--bg-2);color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:6px 10px;font-size:12.5px;display:inline-flex}.shape.on{border-color:var(--accent-2);color:var(--fg)}.shape-box{border:1.5px solid;border-radius:2px;width:14px;height:14px;display:inline-block}.shape-box.r2x3{width:10px;height:15px}.shape-box.r3x2{width:18px;height:12px}.shape-box.r16x9{width:21px;height:12px}.shape-box.r9x16{width:8px;height:15px}.shape-box.r21x9{width:26px;height:11px}.shape-box.r3x1{width:24px;height:8px}.tv-scrub{gap:6px;display:grid}.tv-scrub input[type=range]{width:100%;accent-color:var(--accent-2)}.channel .channel-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.channel span.channel-main{cursor:default}.room-page.theatre .hud-top,.room-page.theatre .dock,.room-page.theatre .hint{display:none}.room-page.theatre .joystick{opacity:.4}.theatre-chip{top:calc(10px + var(--safe-t));z-index:6;opacity:.55;position:absolute;right:10px}.theatre-chip:hover,.theatre-chip:focus-visible{opacity:1}.video-box iframe,.video-box video{border:0;width:100%;height:100%;display:block}.pin-card{color:#1d1a12;font-family:var(--font-display);white-space:pre-wrap;border-radius:6px;padding:16px;line-height:1.45;transform:rotate(-1deg);box-shadow:0 8px 20px #0000004d}.notes-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.note{color:#1d1a12;white-space:pre-wrap;word-break:break-word;border-radius:4px;min-height:90px;padding:10px;font-size:13px;box-shadow:0 6px 14px #0000004d}.note small{opacity:.6;margin-top:6px;display:block}.wb-wrap{aspect-ratio:16/10;touch-action:none;background:#fbfbf6;border-radius:12px;position:relative;overflow:hidden}.wb-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch-btn{border:2px solid #0000;border-radius:50%;width:26px;height:26px}.swatch-btn.on{border-color:#fff}.color-field{color:var(--muted);gap:6px;font-size:12.5px;display:grid}.color-field input[type=color]{background:var(--bg-3);border-radius:10px;width:100%;height:36px;padding:2px}.preset-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.preset-menu{gap:8px;display:grid}.preset-current{border:1px solid var(--line-2);background:var(--bg-2);width:100%;color:var(--text);text-align:left;text-transform:capitalize;border-radius:12px;align-items:center;gap:10px;padding:6px 10px 6px 6px;font-size:13.5px;display:flex}.preset-current .sw{border-radius:8px;flex:none;width:52px;height:34px;position:relative;overflow:hidden}.preset-pop{border:1px solid var(--line-2);background:#ffffff08;border-radius:12px;padding:10px}.preset .ell{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.preset{text-align:center;color:var(--muted);gap:6px;font-size:12px;display:grid}.avatar-tiles{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;min-width:0;display:grid}.avatar-tiles .preset{border:2px solid #0000;border-radius:10px;min-width:0;padding:4px;overflow:hidden}.avatar-tiles .preset.on{border-color:var(--accent)}.avatar-tiles .preset img{aspect-ratio:1;object-fit:cover;background:#1a1a22;border-radius:8px;width:100%;display:block}.avatar-tiles.big{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.avatar-scroll{max-height:320px;padding-right:4px;overflow:hidden auto}.preset .sw{border:2px solid #0000;border-radius:10px;height:44px;position:relative;overflow:hidden}.preset .sw:after{content:"";height:40%;position:absolute;inset:auto 0 0}.preset.on .sw{border-color:var(--accent-2)}.preset.on{color:var(--text)}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.three{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.list-item{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:4px 0;font-size:12px}code.inline{background:var(--bg-3);border-radius:6px;padding:2px 6px;font-size:12.5px}.switch{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.switch input{width:auto}.loading{color:var(--muted);background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.spinner{border:3px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hint{left:50%;bottom:calc(84px + var(--safe-b));color:var(--muted);background:var(--panel);border:1px solid var(--line);pointer-events:none;z-index:4;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:12px;transition:opacity .7s;position:absolute;transform:translate(-50%)}.hint.leaving{opacity:0}@media (pointer:coarse){.hint{bottom:calc(134px + var(--safe-b))}}.hud-top .people-pill{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.hud-top .people-pill .dot{background:#7fe0a1;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #7fe0a1}.lightbox{z-index:1000;touch-action:none;-webkit-user-select:none;user-select:none;background:#08060eeb;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox .lb-bar{padding:calc(10px + var(--safe-t,0px)) 14px 10px;color:var(--text);align-items:center;gap:8px;display:flex}.lightbox .lb-title{font-family:var(--font-display);flex:1;font-weight:600}.lightbox .lb-stage{cursor:zoom-out;flex:1;place-items:center;display:grid;position:relative;overflow:hidden}.lightbox .lb-stage img{object-fit:contain;transform-origin:50%;will-change:transform;background:repeating-conic-gradient(#2a2535 0 25%, #1a1622 0 50%) 0 0 / 24px 24px;border-radius:6px;max-width:94vw;max-height:calc(100vh - 120px)}.lightbox .lb-tiled{transform-origin:50%;background-repeat:repeat;background-size:33.333% 33.333%;border-radius:6px;width:min(94vw,100vh - 120px);height:min(94vw,100vh - 120px)}.lightbox .lb-hint{text-align:center;padding:8px 14px calc(10px + var(--safe-b,0px))}.lightbox .lb-nav{width:44px;height:64px;color:var(--text);cursor:pointer;opacity:.75;background:#14101e8c;border:0;border-radius:12px;font-size:34px;line-height:1;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox .lb-nav:hover{opacity:1}.lightbox .lb-nav.prev{left:10px}.lightbox .lb-nav.next{right:10px}.asset-thumb .zoom-btn{border:1px solid var(--line-2);opacity:0;cursor:zoom-in;background:#0a0810b3;border-radius:8px;place-items:center;width:26px;height:26px;font-size:13px;transition:opacity .12s;display:grid;position:absolute;bottom:6px;right:6px}.asset-card:hover .zoom-btn,.asset-card:focus-within .zoom-btn{opacity:1}@media (pointer:coarse){.asset-thumb .zoom-btn{opacity:.75}}.room-weight .rw-total{font-size:14px}.room-weight .rw-parts{margin-top:4px;line-height:1.5}.room-weight .rw-verdict{margin-top:6px;font-size:13px;font-weight:500}.room-weight .rw-verdict.good{color:#8ef0b4}.room-weight .rw-verdict.warn{color:#ffd166}.room-weight .rw-verdict.bad{color:#ff8c8c}.perf-hud{position:fixed;top:8px;left:50%;transform:translate(-50%)}body:has(.room-page) .perf-hud{left:10px;top:calc(54px + var(--safe-t));transform:none}@media (width<=640px){.room-page.driving .drive-chip{top:calc(92px + var(--safe-t))}}.perf-hud{z-index:4;color:#e8e6f0;cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e0c18b8;border:1px solid #ffffff1f;border-radius:8px;min-width:118px;padding:6px 8px;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.perf-hud.min{opacity:.7;min-width:0;padding:4px 7px}.perf-hud .row{justify-content:space-between;gap:10px;display:flex}.perf-hud .row span:last-child{font-variant-numeric:tabular-nums}.perf-hud .fps.bad{color:#ff8c8c}.perf-hud .fps.ok{color:#ffd166}.perf-hud .fps.good{color:#8ef0b4}.perf-hud .dim{opacity:.6}.slider-row{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.slider-row input[type=range]{flex:1;width:auto;min-width:0}.slider-row .numlabel,.slider-row .numlabel-input{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:3.2em}.numlabel{border-bottom:1px dotted var(--muted);cursor:text;padding:0 1px}.numlabel:hover,.numlabel:focus-visible{border-bottom-color:var(--accent,#3ad0ff);outline:none}.numlabel-input{width:5.5em;font:inherit;background:var(--bg-2);color:inherit;border:1px solid var(--line);border-radius:6px;padding:1px 4px}.compass{background:var(--bg-2);border:1px solid var(--line);width:46px;height:46px;color:var(--text);cursor:pointer;z-index:6;opacity:.55;border-radius:50%;place-items:center;padding:0;transition:opacity .2s;display:grid;position:fixed;bottom:58px;left:14px}.compass.off,.compass:hover{opacity:1}.compass svg,.compass-n{grid-area:1/1;transition:transform 80ms linear}.compass-n{pointer-events:none;font-size:9px;font-weight:700;line-height:1}.count-bubble{background:var(--accent);color:#fff;text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg-2);pointer-events:none;border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}.rail-btn,.rail-item.inbox{position:relative}.rail-item.inbox .count-bubble{box-shadow:none;margin-left:auto;position:static}.live-toast{top:calc(10px + var(--safe-t));z-index:80;background:var(--panel-solid);border:1px solid var(--line-2);border-radius:14px;align-items:center;gap:4px;width:min(440px,100vw - 24px);padding:6px 6px 6px 12px;animation:.25s cubic-bezier(.2,.8,.2,1) toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000080}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-12px)}}.live-toast .live-main{text-align:left;min-width:0;color:var(--text);flex:1;align-items:center;gap:10px;padding:4px 0;display:flex}.live-toast .ic{font-size:22px}.live-toast .title,.live-toast .body{display:block}.live-toast .title{font-size:14px;font-weight:600}.live-toast .body{color:var(--muted);font-size:12.5px}.inbox-list{flex-direction:column;gap:6px;display:flex}.inbox-item{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:4px;padding:4px 6px 4px 0;display:flex}.inbox-item.unread{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-2))}.inbox-item .inbox-main{text-align:left;min-width:0;color:var(--text);flex:1;align-items:center;gap:12px;padding:10px 12px;display:flex}.inbox-item .ic{text-align:center;width:28px;font-size:22px}.inbox-item .title,.inbox-item .body,.inbox-item .when{display:block}.inbox-item .title{font-weight:500}.inbox-item.unread .title{font-weight:700}.inbox-item .body{color:var(--muted);font-size:13px}.match-row{color:var(--text);text-decoration:none}.match-row .ic{text-align:center;width:26px;font-size:20px}.match-row.hot{border-color:var(--accent-2)}.game-view{flex-direction:column;gap:10px;display:flex}.player-row{border-radius:10px;align-items:center;gap:8px;padding:4px 6px;display:flex}.player-row.to-move{background:color-mix(in srgb, var(--accent-2) 12%, transparent)}.player-row .name{min-width:0;font-weight:500}.seat-chip{border:1px solid var(--line-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px}.seat-chip.s0.chess{color:#222;background:#f3eee4}.seat-chip.s1.chess{color:#eee;background:#1c1a1f}.seat-chip.s0.checkers{color:#eee;background:#1f1c22}.seat-chip.s1.checkers{color:#fff;background:#c8322f}.game-status{font-family:var(--font-display);font-size:15px;font-weight:600}.game-status.mine{color:var(--accent-2)}.board{aspect-ratio:1;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:3px solid #0006;border-radius:6px;width:100%;max-width:520px;display:grid;overflow:hidden;box-shadow:0 10px 40px #0006}.board .sq{aspect-ratio:1;font:inherit;cursor:default;border:0;border-radius:0;place-items:center;min-width:0;margin:0;padding:0;display:grid;position:relative}.board .sq:not(:disabled){cursor:pointer}.board .sq.light{background:var(--light)}.board .sq.dark{background:var(--dark)}.board .sq.last{box-shadow:inset 0 0 0 100px #ffdc5073}.board .sq.sel{box-shadow:inset 0 0 0 100px #3ad0ff8c}.board .sq.go:after{content:"";background:#3ad0ffbf;border-radius:50%;width:28%;height:28%;position:absolute}.board .sq.take{box-shadow:inset 0 0 0 4px #ff5e8ad9}.board .sq.check{background:radial-gradient(circle,#ff3c3cf2 20%,#ff3c3c00 70%)}.board .coord{opacity:.6;color:#000;pointer-events:none;font-size:9px;line-height:1;position:absolute}.board .sq.dark .coord{color:#fff}.board .coord.file{bottom:2px;right:3px}.board .coord.rank{top:2px;left:3px}.piece.chess{font-family:Segoe UI Symbol,Apple Symbols,"Noto Sans Symbols 2",DejaVu Sans,serif;font-size:clamp(22px,7.5cqw,44px);line-height:1}.board{container-type:inline-size}.piece.chess.s0{color:#f6f1e6;text-shadow:0 0 1.5px #2a2520,0 0 1.5px #2a2520,0 0 1.5px #2a2520,0 1px 2px #0009}.piece.chess.s1{color:#1c1a1f;text-shadow:0 0 1.5px #f0ebe0,0 0 1.5px #f0ebe0,0 1px 2px #0006}.piece.disc{color:#ffd166;border-radius:50%;place-items:center;width:74%;height:74%;font-size:clamp(12px,4.5cqw,24px);display:grid;box-shadow:inset 0 0 0 3px #ffffff40,0 3px 4px #00000073}.piece.disc.s0{background:radial-gradient(circle at 35% 30%,#4a4452,#1f1c22 70%)}.piece.disc.s1{background:radial-gradient(circle at 35% 30%,#ff7d6c,#b32a27 70%)}.piece.disc.king{box-shadow:inset 0 0 0 3px #ffd16699,0 3px 4px #00000073}.promo .piece.chess{font-size:26px}.movelist .moves{flex-wrap:wrap;gap:4px 8px;max-height:160px;padding-top:6px;font-size:13px;display:flex;overflow:auto}.movelist .mv b{color:var(--muted);margin-right:2px;font-weight:500}.people-pick{flex-direction:column;gap:4px;max-height:240px;display:flex;overflow:auto}.people-pick .pick{text-align:left;color:var(--text);cursor:pointer;width:100%}.people-pick .pick.on{border-color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 12%, var(--bg-2))}.sheet-handle{flex:none}@media (width<=900px){.sheet-handle{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}}.quick-menu.left{transform:translate(-50%)}.quick-menu.right{transform:translate(50%)}.quick-menu.left:after{border-bottom:0;border-left:0;top:50%;left:auto;right:-7px;transform:translateY(-50%)rotate(45deg)}.quick-menu.right:after{border-top:0;border-right:0;top:50%;left:-7px;transform:translateY(-50%)rotate(45deg)}.quick-menu.over:after{display:none}@media (width<=900px){.room-page.has-panel .joystick{bottom:calc(var(--sheet-top,72vh) + 10px);z-index:8;width:92px;height:92px;transition:bottom .22s cubic-bezier(.2,.8,.2,1)}}:is(body:has(.modal-backdrop,.lightbox) .joystick,body:has(.modal-backdrop,.lightbox) .jump-btn){display:none}.apps-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.app-card a:hover{opacity:.9}.builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1100px){.builder{grid-template-columns:minmax(0,1fr)}}.builder textarea.code{tab-size:2;white-space:pre;resize:vertical;width:100%;min-height:240px;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.45;overflow:auto}.preview-frame{border:1px solid var(--line);background:#000;border-radius:10px;width:100%;overflow:hidden}.console{gap:2px;max-height:220px;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;display:grid;overflow:auto}.console .line{white-space:pre-wrap;word-break:break-word}.console .line .t{opacity:.45;margin-right:4px;font-size:11px}.console .line.warn{color:#e0b341}.console .line.error{color:var(--danger)}.console .line.host{opacity:.6;font-style:italic}.chat-log{gap:8px;max-height:min(52vh,560px);padding:4px 0;display:grid;overflow:auto}.chat-line .who{margin-bottom:2px}.chat-line.user .text{background:var(--panel-solid);border:1px solid var(--line);white-space:pre-wrap;border-radius:12px 12px 12px 4px;padding:8px 10px}.chat-line.assistant .text{white-space:pre-wrap;line-height:1.45}.chat-line.tool .tool-head{color:inherit;opacity:.7;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:12.5px;display:flex}.chat-line.tool .tool-head .dot{background:var(--accent2);border-radius:50%;flex:none;width:6px;height:6px}.chat-line.tool.bad .tool-head .dot{background:var(--danger)}.chat-line.tool .tool-result{white-space:pre-wrap;opacity:.8;border-left:2px solid var(--line);max-height:220px;margin:2px 0 0 12px;padding-left:8px;font-size:11.5px;overflow:auto}.app-chat textarea{resize:vertical;min-height:44px}.chat-line.tool .tool-shot{margin:6px 0 2px 18px}.chat-line.tool .tool-shot img{border:1px solid var(--line);background:#000;border-radius:8px;max-width:min(100%,420px);display:block}.table-view .table-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.table-view .pot{font-family:var(--font-display);font-size:18px;font-weight:700}.table-view .community{background:radial-gradient(#1f5a3a,#143c28 75%);border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:64px;padding:10px;display:flex}.table-view .seat-row{flex-wrap:nowrap}.table-view .seat-row .name{flex:60px}.table-view .seat-row .hand-cards{flex-shrink:0}.table-view .seat-row .chip{white-space:nowrap;flex-shrink:0}.table-view .seat-row .hand-name{max-width:34%}.table-view .seat-row.folded{opacity:.55}.table-view .seat-row .chips{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.table-view .chip.bet{color:#ffd166;background:#ffd16640;border-color:#0000}.table-view .chip.win{color:var(--ok);border-color:var(--ok)}.table-view .chip.wild{color:#ffd166;border-color:#ffd16680}.table-view .dealer-btn{color:#222;text-align:center;vertical-align:middle;background:#fff;border-radius:50%;width:16px;height:16px;margin-left:6px;font-size:10px;font-weight:700;line-height:16px;display:inline-block}.table-view .hand-cards{gap:3px;display:inline-flex}.table-view .my-hand{background:var(--bg-3);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.table-view .player-row.pending{opacity:.7}.card-btn{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;transition:transform .12s}.card-btn.out{opacity:.45;transform:translateY(-10px)}.pcard{color:#1b1b22;font-variant-numeric:tabular-nums;background:#fbf8f1;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;width:36px;height:50px;font-size:15px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 3px #0006}.pcard.red{color:#c8322f}.pcard.sm{border-radius:4px;width:22px;height:31px;font-size:10px}.pcard.lg{width:48px;height:68px;font-size:20px}.pcard .suit{font-size:.95em}.pcard.back{background:repeating-linear-gradient(45deg,#3a2a5a,#3a2a5a 3px,#4b3a70 3px 6px);border:2px solid #e9e2f5}.bet-actions input[type=range]{width:100%}.room-page.tomato canvas{cursor:crosshair}.tomato-chip{left:50%;top:calc(64px + var(--safe-t));color:var(--text);background:var(--panel);border:1px solid var(--line);pointer-events:none;z-index:4;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100vw - 24px);padding:6px 12px;font-size:12px;position:absolute;overflow:hidden;transform:translate(-50%)}.event-btn{text-align:center;justify-content:center;align-items:center;gap:10px;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.event-btn .dot{background:#ff3b3b;border-radius:50%;flex:none;width:10px;height:10px;animation:1.4s ease-in-out infinite event-pulse;box-shadow:0 0 10px #ff3b3b}@keyframes event-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}.rail-visitor{border-bottom:1px solid var(--line);gap:8px;margin-bottom:6px;padding:10px 12px 14px}.signup-chip{white-space:nowrap;margin-right:8px}button.link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}.hud-right{pointer-events:auto;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.mute-chip{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:14px;padding:5px 10px;font-size:13px;line-height:18px}.mute-chip.on{color:#fff;background:#c0392b;border-color:#e74c3c;font-weight:600}.admin{gap:16px;max-width:1200px;display:grid}.admin-nav{flex-wrap:wrap;gap:6px;display:flex}.admin-panel{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;gap:8px;min-width:0;padding:14px 16px;display:grid}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.admin-stat{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;gap:2px;min-width:0;padding:12px 14px;display:grid}.admin-stat .big{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.1}.admin-stat.accent{border-color:color-mix(in srgb, var(--accent-2) 50%, var(--line))}.admin-stat.warn{border-color:color-mix(in srgb, var(--accent) 60%, var(--line))}.admin-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-filters select{width:auto}.admin-search{flex:1;min-width:220px}.admin-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-scroll.dim,.admin-panel.dim{opacity:.6}.admin-table{border-collapse:collapse;width:100%;font-size:13.5px}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);padding:6px 8px}.admin-table th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table.rows tbody tr:hover td{background:#ffffff08}.admin-table.numbers td{font-variant-numeric:tabular-nums;font-size:15px}.admin-link{color:var(--text);align-items:center;text-decoration:none;display:inline-flex}.admin-link:hover{color:var(--accent-2)}.tag{background:var(--bg-3);border:1px solid var(--line-2);color:var(--text);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:500;display:inline-block}.tag.ok{border-color:color-mix(in srgb, var(--ok) 60%, transparent);color:var(--ok)}.tag.accent{border-color:color-mix(in srgb, var(--accent-2) 60%, transparent);color:var(--accent-2)}.tag.danger{border-color:color-mix(in srgb, var(--danger) 60%, transparent);color:var(--danger)}.tag.muted{color:var(--muted)}.tag.live{background:color-mix(in srgb, var(--ok) 20%, var(--bg-3));border-color:var(--ok);color:var(--ok)}.ok-text{color:var(--ok)}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-two{align-items:start}.admin-chart{width:100%;height:auto;display:block}.admin-chart .bar{fill:var(--accent-2);opacity:.85}.admin-chart .bar.guest{fill:var(--accent-2);opacity:.4}.admin-chart .tick{fill:var(--muted);font-size:10px}.admin-msg{background:var(--bg-3);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.admin-msg.admin{border-color:color-mix(in srgb, var(--accent-2) 40%, var(--line))}.admin-msg.internal{border-style:dashed}.chip.sm{padding:4px 10px;font-size:12.5px}@media (width<=800px){.admin-grid,.admin-two,.admin-three{grid-template-columns:minmax(0,1fr)}}.subpanel{--tint:var(--accent-2);background:color-mix(in srgb, var(--tint) 7%, var(--bg-2));border:1px solid color-mix(in srgb, var(--tint) 30%, var(--line));border-left:3px solid color-mix(in srgb, var(--tint) 75%, transparent);border-radius:14px;padding:12px 12px 12px 11px}.subpanel.alt{--tint:var(--accent)}.subpanel>.row:first-child .section-title{color:var(--text);font-weight:600}.subpanel>.section-title{color:color-mix(in srgb, var(--tint) 70%, var(--text))}.subpanel .track,.subpanel .switch,.subpanel .list-item,.subpanel .nested{border-color:var(--line);background:#00000038}.subpanel input,.subpanel select,.subpanel textarea{background:#00000047}.held-card{left:50%;bottom:calc(84px + var(--safe-b));background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line-2);z-index:6;border-radius:16px;align-items:center;gap:10px;max-width:min(520px,100vw - 24px);padding:8px 10px 8px 8px;animation:.2s sheet-in;display:flex;position:absolute;transform:translate(-50%)}.held-card .art{background-position:50%;background-size:cover;border-radius:6px;flex:none;width:34px;height:34px}.held-card .art.tall{height:48px}.held-card .t{font-size:14px;font-weight:600}@media (pointer:coarse){.held-card{bottom:calc(134px + var(--safe-b))}}.prop-row{background:var(--bg-3);border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:6px 8px;display:flex}.prop-row:hover{border-color:var(--muted)}.prop-row.on{border-color:var(--accent-2);box-shadow:inset 0 0 0 1px var(--accent-2)}.prop-row-thumb{background:var(--bg-2,var(--bg-3)) center / cover no-repeat;border:1px solid var(--line);border-radius:8px;flex:none;width:44px;height:44px}.prop-row-title{font-size:14px;font-weight:600;font-family:var(--font-display);display:block}.quick-menu .qm-take{white-space:normal;max-width:296px}.quick-menu .qm-take .subpanel{max-height:180px;overflow-y:auto}.chip.room-pick{text-align:left;width:100%;color:var(--text);border-radius:10px;justify-content:flex-start;padding:6px 10px;font-size:13px;display:flex}.list-item .count-bubble{box-shadow:none;flex:none;margin-left:auto;position:static}.btn .count-bubble{box-shadow:none;flex:none;position:static}.room-page.driving .dock{display:none}.drive-chip{left:50%;top:calc(64px + var(--safe-t));color:var(--text);background:var(--panel);border:1px solid var(--line);pointer-events:none;z-index:4;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100vw - 24px);padding:6px 12px;font-size:12px;position:absolute;overflow:hidden;transform:translate(-50%)}.boost-flash{left:50%;top:calc(118px + var(--safe-t));letter-spacing:.08em;color:#fff3b0;text-shadow:0 0 10px #ffb13d,0 0 24px #ff6a00,0 2px #00000080;pointer-events:none;z-index:4;font-size:26px;font-weight:900;animation:.5s ease-in-out infinite alternate boost-pulse;position:absolute;transform:translate(-50%)}@keyframes boost-pulse{0%{opacity:.85;transform:translate(-50%)scale(1)}to{opacity:1;transform:translate(-50%)scale(1.12)}}.drive-hud{right:12px;bottom:calc(12px + var(--safe-b));z-index:6;gap:6px;display:flex;position:absolute}.drive-hud .btn{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.drive-hud .btn.primary{background:linear-gradient(135deg, var(--accent), #ff8ab0)}.slide-btn{right:18px;bottom:calc(72px + var(--safe-b));width:84px;height:84px;color:var(--text);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:6;touch-action:none;-webkit-user-select:none;user-select:none;background:#14111e8c;border-radius:50%;font-size:15px;font-weight:600;position:absolute}.slide-btn.on{background:#ff5e8a8c;border-color:#ff8ab0e6}.throttle{right:18px;bottom:calc(72px + var(--safe-b));border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:6;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#14111e8c;border-radius:14px;width:46px;height:200px;position:absolute;overflow:hidden}.throttle:active{cursor:grabbing}.throttle-zone{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);pointer-events:none;background:repeating-linear-gradient(135deg,#ff5e8a29 0 4px,#0000 4px 8px);justify-content:center;align-items:center;font-size:9px;display:flex;position:absolute;top:0;left:0;right:0}.throttle.boost .throttle-zone{color:var(--text);background:#ff5e8a99}.throttle-mark{background:var(--line-2);pointer-events:none;height:1px;position:absolute;left:6px;right:6px}.throttle-mark span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:9px;position:absolute;bottom:2px;right:0}.throttle-mark.level{background:var(--accent);height:2px;left:0;right:0}.throttle-fill{pointer-events:none;background:linear-gradient(#ff8ab06b,#ff8ab033);border-radius:12px 12px 0 0;position:absolute;bottom:0;left:4px;right:4px}.throttle-knob{background:var(--text);pointer-events:none;text-transform:uppercase;letter-spacing:.08em;height:20px;color:var(--bg);border-radius:10px;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex;position:absolute;left:3px;right:3px;box-shadow:0 2px 8px #0006}.race-hud{right:12px;top:calc(104px + var(--safe-t));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:230px;max-width:calc(100vw - 24px);color:var(--text);z-index:5;border-radius:14px;flex-direction:column;gap:6px;padding:8px 10px;font-size:12px;display:flex;position:absolute}.race-head{justify-content:space-between;gap:8px;font-weight:700;display:flex}.race-next{color:#ffd166;font-weight:600}.race-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.race-list li{border-radius:6px;align-items:center;gap:6px;padding:2px 4px;display:flex}.race-list li.me{background:#ffffff14}.race-list li i{border-radius:50%;flex:none;width:8px;height:8px}.race-list .race-right{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.race-events{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.race-events .me{color:#ffd166}.race-count{color:#fff;text-shadow:0 6px 30px #0009;pointer-events:none;z-index:5;font-size:112px;font-weight:900;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.race-count.go{color:#ffd166}@media (width<=600px){.race-hud{width:180px;font-size:11px}.race-count{font-size:84px}}.race-ammo{align-items:center;gap:2px;font-size:15px;display:flex}.race-ammo .spent{opacity:.22;filter:grayscale()}.race-ammo .muted{margin-left:6px}.race-hits{color:var(--muted);font-size:11px}.tomato-btn{right:18px;bottom:calc(168px + var(--safe-b));border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:6;touch-action:none;-webkit-user-select:none;user-select:none;background:#14111e8c;border-radius:50%;width:72px;height:72px;font-size:32px;position:absolute}.tomato-btn.spent{opacity:.4}.race-splat{pointer-events:none;z-index:7;background:radial-gradient(28% 22% at 30% 35%,#c81e14f2,#c81e1400 70%),radial-gradient(22% 30% at 68% 55%,#b4190fe6,#b4190f00 70%),radial-gradient(16% 14% at 50% 80%,#d22819d9,#d2281900 70%),radial-gradient(12% 10% at 82% 22%,#be1e14d9,#be1e1400 70%),radial-gradient(10% 12% at 15% 75%,#be1e14cc,#be1e1400 70%);animation:2.4s ease-out forwards splat-fade;position:absolute;inset:0}@keyframes splat-fade{0%{opacity:0;transform:scale(1.3)}8%{opacity:1;transform:scale(1)}55%{opacity:.85}to{opacity:0}}.race-finish{z-index:8;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.race-finish-card{pointer-events:auto;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text);background:#0e0c16db;border-radius:22px;flex-direction:column;align-items:center;gap:8px;max-width:min(92vw,420px);padding:22px 28px;animation:.5s cubic-bezier(.2,1.4,.4,1) both finish-in;display:flex;box-shadow:0 30px 80px #0009}.race-finish.flash .race-finish-card{background:linear-gradient(135deg,#ff5e8aeb,#ff8ab0eb)}@keyframes finish-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.race-finish-flag{font-size:64px;line-height:1;animation:.9s ease-in-out infinite alternate flag-wave}@keyframes flag-wave{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}.race-finish-title{letter-spacing:-.01em;font-size:34px;font-weight:900}.race-finish-sub{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.race-podium{flex-direction:column;gap:4px;width:100%;margin:4px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.race-podium li{background:#ffffff0d;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.race-podium li.p1{background:#ffd1662e;font-weight:700}.race-podium li.me{outline:1px solid var(--accent-2)}.race-podium li i{border-radius:50%;flex:none;width:10px;height:10px}.race-podium-place{text-align:center;flex:none;width:26px}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:.95;border-radius:2px;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:both;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.8;transform:translateY(110vh)rotate(720deg)}}.page{background:var(--bg);min-height:100%;display:flex}.page-main{flex-direction:column;flex:1;min-width:0;display:flex}.page-head{padding:calc(10px + var(--safe-t)) 14px 10px;border-bottom:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:5;align-items:center;gap:12px;display:flex;position:sticky;top:0}.page-head h1{font-size:18px}.page-head .row{flex-wrap:wrap;justify-content:flex-end}.page-body{padding:16px 14px calc(24px + var(--safe-b));width:100%;max-width:1100px;margin:0 auto}.rail{background:var(--bg-2);border-right:1px solid var(--line);width:220px;padding:calc(14px + var(--safe-t)) 10px calc(14px + var(--safe-b));z-index:30;flex-direction:column;flex:none;gap:4px;height:100vh;display:flex;position:sticky;top:0}.rail-brand{justify-content:space-between;align-items:center;padding:4px 8px 14px;display:flex}.rail-close{display:none}.rail-item{color:var(--muted);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.rail-item .ic{text-align:center;width:22px;font-size:18px}.rail-item:hover{color:var(--text);background:#ffffff0d}.rail-item.on{color:var(--text);background:#ffffff17}.rail-user{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 8px 0;font-size:13.5px;display:flex}.rail-backdrop,.rail-btn{display:none}@media (width<=900px){.rail{width:min(300px,84vw);height:auto;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:0 0 60px #00000080}.rail.open{transform:none}.rail-close{display:inline-flex}.rail-backdrop{z-index:29;background:#00000073;display:block;position:fixed;inset:0}.rail-btn{display:inline-flex}}.room-page .rail,.city-page .rail{z-index:40;width:min(300px,84vw);height:auto;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:0 0 60px #00000080}.room-page .rail.open,.city-page .rail.open{transform:none}.room-page .rail-close,.city-page .rail-close{display:inline-flex}.room-page .rail-backdrop,.city-page .rail-backdrop{z-index:39;background:#00000073;display:block;position:fixed;inset:0}.room-page .rail-btn,.city-page .rail-btn{display:inline-flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05040a99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel-solid);border:1px solid var(--line-2);border-radius:20px;flex-direction:column;width:min(640px,100%);max-height:min(86vh,820px);animation:.2s sheet-in;display:flex;overflow:hidden;box-shadow:0 30px 80px #0000008c}@media (width<=900px){.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;padding-bottom:var(--safe-b);border-radius:22px 22px 0 0}}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.asset-grid.big{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.asset-card{text-align:left;border-radius:12px;gap:6px;display:grid}.asset-card.compact{width:96px}.asset-thumb{aspect-ratio:1;background:var(--bg-3) center/cover no-repeat;border:2px solid #0000;border-radius:12px;place-items:center;transition:border-color .15s,transform .1s;display:grid;position:relative;overflow:hidden}.asset-thumb.tile{background-repeat:repeat;background-size:50%}.asset-thumb.spec{background-color:#1d1929;background-image:radial-gradient(circle at 50% 70%,#3ad0ff2e,#0000 60%);background-repeat:no-repeat;background-size:86%}.asset-card:hover .asset-thumb{border-color:var(--line-2)}.asset-card.on .asset-thumb{border-color:var(--accent-2)}.asset-fallback{background:linear-gradient(135deg, var(--bg-3), var(--bg-2));place-items:center;width:100%;height:100%;font-size:34px;display:grid}.asset-badge{letter-spacing:.04em;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:6px;left:6px}.asset-badge.right{background:var(--accent-2);color:#06202a;left:auto;right:6px}.asset-meta{gap:1px;min-width:0;display:grid}.asset-meta .t{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.asset-meta .a{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.detail-img{object-fit:contain;background:var(--bg-3);border-radius:12px;width:100%;max-height:46vh}.detail-img.tile{object-fit:cover;max-height:260px}.dropzone{border:2px dashed var(--line-2);background:var(--bg-2);cursor:pointer;border-radius:16px;align-items:center;gap:14px;min-height:92px;padding:16px;display:flex}.dropzone.drag{border-color:var(--accent-2)}.clip{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.dropzone img{object-fit:cover;border-radius:10px;flex:none;width:64px;height:64px}.tier-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.tier{background:var(--bg-2);border:1px solid var(--line);text-align:left;color:var(--muted);border-radius:12px;gap:2px;padding:10px 12px;font-size:12px;display:grid}.tier b{color:var(--text);font-family:var(--font-display);font-size:13.5px}.tier.on{border-color:var(--accent-2)}.tier:disabled{opacity:.45}.gen-result{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;align-items:flex-start;gap:14px;padding:12px;display:flex}.gen-result img{object-fit:contain;background:#000;border-radius:10px;flex:none;width:140px;max-height:200px}.gen-result img.tile{object-fit:cover;height:140px}.pick-field{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;padding:8px;display:flex}.pick-field .pv{background:var(--bg-3) center/cover;border-radius:10px;flex:none;place-items:center;width:56px;height:56px;font-size:24px;display:grid}.pick-field .pv.tile{background-repeat:repeat;background-size:50%}.asset-badge.right.pending{background:var(--accent);color:#fff}.asset-card.job{cursor:default;opacity:.95}.job-fallback{background:linear-gradient(135deg,#ff5e8a2e,#3ad0ff1f);flex-direction:column;gap:6px;font-size:12px}.job-pct{color:var(--text);font-size:11px;font-weight:600}.list-item.working{background:#3ad0ff12;border-color:#3ad0ff40}.progress{background:var(--bg-3);border-radius:4px;height:6px;margin-top:8px;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .6s;display:block}.save-state{color:var(--muted);text-align:right;min-width:56px;font-size:12px}.save-state.saved{color:#7fe0a1}.save-state.error{color:var(--accent)}.raw-preview{border:1px solid var(--line);background-color:#2a2a34;background-image:linear-gradient(45deg,#3a3a46 25%,#0000 25% 75%,#3a3a46 75%),linear-gradient(45deg,#3a3a46 25%,#0000 25% 75%,#3a3a46 75%);background-position:0 0,9px 9px;background-size:18px 18px;border-radius:14px;overflow:hidden}.raw-preview img{width:100%;height:auto;display:block}.asset-card .gif-chip{letter-spacing:.04em;color:#fff;background:#0000008c;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;bottom:8px;left:8px}.garage{background:var(--bg);color:var(--text);display:flex;position:fixed;inset:0}.garage-main{background:var(--bg);min-width:0;min-height:0;color:var(--text);flex:1;grid-template:"head head head"52px"chat bench side"minmax(0,1fr)/300px minmax(0,1fr) 290px;display:grid}.garage-head{border-bottom:1px solid var(--line);background:var(--panel-solid);grid-area:head;align-items:center;gap:10px;min-width:0;padding:0 12px 0 10px;display:flex}.garage-title{font-family:var(--font-display);white-space:nowrap;font-weight:600}.garage-name{width:min(320px,40vw);padding:6px 10px;font-size:14px}.garage-things{max-width:180px;padding:6px 10px;font-size:13px}.garage-bench{background:#121019;grid-area:bench;min-width:0;min-height:0;position:relative}.garage-bench canvas{touch-action:none;display:block}.garage-empty{pointer-events:none;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.garage-empty-card{pointer-events:auto;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e0c16c7;border-radius:18px;width:min(560px,100%);padding:18px 20px}.garage-empty-card h2{font-family:var(--font-display);margin:0 0 6px}.garage-drive{border:1px solid var(--line-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e0c16c7;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:12px}.garage-drive input[type=range]{width:140px}.gait-meter{border:1px solid var(--line-2);background:#ffffff08;border-radius:12px;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:relative}.gait-meter .gait-glow{pointer-events:none;opacity:0;will-change:opacity;border-radius:12px;position:absolute;inset:-1px}.gait-meter .gait-glow.walk{border:1px solid #3ad0ffe6;box-shadow:0 0 16px #3ad0ff8c,inset 0 0 12px #3ad0ff2e}.gait-meter .gait-glow.hold{border:1px solid #ff5e8ae6;box-shadow:0 0 14px #ff5e8a73,inset 0 0 10px #ff5e8a29}.gait-meter>.row{position:relative}.gait-meter .gait-word{min-height:1.2em;color:var(--muted)}.gait-meter[data-state=walking] .gait-word{color:var(--accent-2)}.gait-meter[data-state=paused] .gait-word{color:var(--accent)}.gait-meter input[type=range]{min-width:0}.garage-tabs{box-sizing:border-box;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-solid);z-index:1;grid-area:side;align-self:start;align-items:center;height:56px;margin:0;padding:0 14px}.garage-tabs button[data-desktop-hide="1"]{display:none}.garage-chat,.garage-side{border-left:1px solid var(--line);background:var(--panel-solid);min-width:0;min-height:0;overflow:hidden}.garage-chat{border-left:0;border-right:1px solid var(--line);grid-area:chat}.garage-side{grid-area:side;padding:70px 14px 14px;overflow-y:auto}.garage-chat-inner{grid-template-rows:minmax(0,1fr) auto;height:100%;display:grid}.garage-msgs{align-content:start;gap:10px;padding:14px;display:grid;overflow-y:auto}.gmsg{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;max-width:100%;padding:10px 12px}.gmsg.user{background:#3ad0ff1a;border-color:#3ad0ff40}.gmsg .who{color:var(--muted);margin-bottom:3px;font-size:11px}.gmsg .body{white-space:pre-wrap;font-size:14px;line-height:1.4}.gproblems{color:var(--accent);margin:8px 0 0;padding-left:18px;font-size:12px}.garage-compose{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px 12px;display:grid}.garage-compose textarea{resize:none;min-height:44px}.garage-json{white-space:pre;resize:vertical;flex:1;height:100%;min-height:240px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.4}@media (width>=901px) and (width<=1240px){.garage-main{grid-template-columns:240px minmax(0,1fr) 250px}}@media (width<=900px){.garage-main{grid-template:"head"52px"bench"44vh"tabs"40px"pane"minmax(0,1fr)/minmax(0,1fr)}.garage-name{width:32vw}.garage-things{max-width:110px}.garage-tabs{border-top:1px solid var(--line);background:var(--panel-solid);border-left:0;grid-area:tabs;margin:0;padding:6px 10px 0;display:flex}.garage-tabs button[data-desktop-hide="1"]{display:inline-flex}.garage-side{padding-top:14px}.garage-chat,.garage-side{border:0;grid-area:pane;display:none}.garage-chat.show,.garage-side.show{display:block}.garage-chat.show{display:grid}.garage-drive input[type=range]{width:90px}}.avatar-main{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"head head""bench side"}.avatar-bench{background:#a9d2ea}.avatar-bench-tools{position:absolute;bottom:12px;left:12px}.avatar-side{padding:0;overflow:auto}@media (width<=900px){.avatar-main{grid-template:"head"52px"bench"minmax(0,40vh)"side"minmax(0,1fr)/minmax(0,1fr)}.avatar-main .avatar-side{border:0;border-top:1px solid var(--line);grid-area:side;padding:0;display:block}.avatar-main .garage-head .muted{display:none}}.avatar-side .preset-grid{grid-template-columns:repeat(3,1fr)}.avatar-side .preset img{aspect-ratio:1;object-fit:cover;background:var(--bg-3);border:2px solid #0000;border-radius:10px;width:100%}.avatar-side .preset.on img{border-color:var(--accent-2)}.gs-main{grid-template-columns:minmax(0,1fr) 420px}.easy{--ez-ink:#fff8f0;--ez-muted:#fff8f0a3;--ez-card:#181326f0;--ez-card-2:#ffffff12;--ez-card-3:#ffffff1f;--ez-line:#ffffff1f;--ez-accent:#ffd166;--ez-accent-2:#ff8a5b;--ez-pop:#ff5e8a;--ez-go:#7fe0a1;--ez-go-2:#3ad0ff;--ez-dark:#1a1020;--ez-radius:28px;--ez-display:"Bangers", "Space Grotesk", system-ui, sans-serif;--ez-font:"Space Grotesk", "Inter", system-ui, sans-serif;z-index:9;padding:clamp(8px,2vh,24px);padding-top:calc(clamp(8px, 2vh, 24px) + var(--safe-t));padding-bottom:calc(clamp(8px, 2vh, 24px) + var(--safe-b));-webkit-backdrop-filter:blur(6px)saturate(1.1);backdrop-filter:blur(6px)saturate(1.1);color:var(--ez-ink);font-family:var(--ez-font);background:radial-gradient(at 50% 30%,#140e2859,#080610cc);justify-content:center;align-items:center;animation:.25s both ez-fade;display:flex;position:absolute;inset:0}@keyframes ez-fade{0%{opacity:0}to{opacity:1}}.ez-screen{border-radius:var(--ez-radius);background:var(--ez-card);border:1px solid var(--ez-line);flex-direction:column;width:min(100%,780px);max-height:100%;animation:.45s cubic-bezier(.2,1.3,.4,1) both ez-pop;display:flex;position:relative;overflow:hidden;box-shadow:0 40px 120px #000000a6,inset 0 1px #ffffff14}@keyframes ez-pop{0%{opacity:0;transform:translateY(24px)scale(.94)}to{opacity:1;transform:none}}.ez-stripe{background:repeating-conic-gradient(#f3f1ff 0 25%, #0b0b12 0 50%) 0 0 / 28px 28px;opacity:.9;flex:none;height:14px}.easy.race .ez-stripe{animation:1.4s linear infinite ez-stripe}@keyframes ez-stripe{to{background-position:28px 0}}.ez-head{align-items:center;gap:14px;padding:14px 18px 6px;display:flex}.ez-head-icon{filter:drop-shadow(0 4px 10px #0006);font-size:34px;line-height:1}.ez-title{font-family:var(--ez-display);letter-spacing:.03em;background:linear-gradient(180deg, #fff 30%, var(--ez-accent));color:#0000;text-shadow:none;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(30px,5vw,42px);line-height:1}.ez-sub{color:var(--ez-muted);margin-top:4px;font-size:15px;font-weight:500}.ez-close{background:var(--ez-card-2);border:1px solid var(--ez-line);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;margin-left:auto;font-size:20px;transition:transform .12s,background .12s;display:grid}.ez-close:hover{background:var(--ez-card-3)}.ez-close:active{transform:scale(.92)}.ez-body{scrollbar-width:thin;flex-direction:column;flex:auto;gap:16px;min-height:0;padding:10px 18px 14px;display:flex;overflow:auto}.ez-foot{border-top:1px solid var(--ez-line);background:linear-gradient(#ffffff08,#0000001f);flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:10px;padding:12px 18px 16px;display:flex}.ez-block{flex-direction:column;gap:8px;display:flex}.ez-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ez-muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.ez-row{flex-wrap:wrap;gap:12px;display:flex}.ez-row>.ez-block{flex:220px}.ez-note{color:var(--ez-muted);font-size:15px;line-height:1.35}.ez-note b{color:var(--ez-ink)}.ez-btn{background:var(--ez-card-2);min-height:56px;color:var(--ez-ink);font-family:var(--ez-font);letter-spacing:.01em;white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:18px;font-weight:700;transition:transform .12s,background .12s,box-shadow .12s,opacity .12s;display:inline-flex}.ez-btn:hover{background:var(--ez-card-3)}.ez-btn:active{transform:scale(.95)}.ez-btn:disabled{opacity:.4;cursor:default;transform:none}.ez-btn.primary{background:linear-gradient(135deg, var(--ez-accent), var(--ez-accent-2));color:var(--ez-dark);box-shadow:0 10px 30px #ffaa504d}.ez-btn.primary:hover{box-shadow:0 14px 36px #ffaa5073}.ez-btn.pop{background:linear-gradient(135deg, var(--ez-pop), var(--ez-accent-2));color:#fff;box-shadow:0 10px 30px #ff5e8a4d}.ez-btn.go{min-width:200px;min-height:76px;font-family:var(--ez-display);letter-spacing:.06em;background:linear-gradient(135deg, var(--ez-go), var(--ez-go-2));color:var(--ez-dark);padding:0 36px;font-size:40px;animation:1.6s ease-in-out infinite ez-throb;box-shadow:0 14px 40px #7fe0a159}.ez-btn.go:disabled{animation:none}@keyframes ez-throb{0%,to{box-shadow:0 14px 40px #7fe0a14d}50%{box-shadow:0 14px 56px #7fe0a199}}.ez-btn.ghost{border-color:var(--ez-line);color:var(--ez-muted);background:0 0}.ez-btn.ghost:hover{color:var(--ez-ink);background:var(--ez-card-2)}.ez-btn.on{border-color:var(--ez-go);color:var(--ez-go);background:#7fe0a129}.ez-btn.sm{min-height:44px;padding:0 16px;font-size:15px}.ez-btn.round{width:56px;min-width:56px;padding:0;font-size:24px}.ez-choice{flex-wrap:wrap;gap:8px;display:flex}.ez-choice button{background:var(--ez-card-2);min-height:64px;color:var(--ez-ink);font-family:var(--ez-font);text-align:left;border:2px solid #0000;border-radius:18px;flex:130px;align-items:center;gap:10px;padding:10px 14px;transition:transform .12s,background .12s,border-color .12s;display:flex}.ez-choice button:hover{background:var(--ez-card-3)}.ez-choice button:active{transform:scale(.97)}.ez-choice button.on{border-color:var(--ez-accent);background:#ffd16624}.ez-choice button:disabled{cursor:default;transform:none}.ez-choice.locked button:not(.on){opacity:.45}.ez-choice-icon{flex:none;font-size:26px;line-height:1}.ez-choice-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ez-choice-label{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.ez-choice-blurb{color:var(--ez-muted);font-size:12.5px}.ez-step{background:var(--ez-card-2);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:4px;display:inline-flex}.ez-step button{background:var(--ez-card-3);width:52px;height:52px;color:var(--ez-ink);border-radius:50%;font-size:26px;font-weight:700;transition:transform .12s}.ez-step button:active{transform:scale(.92)}.ez-step button:disabled{opacity:.3;cursor:default;transform:none}.ez-step-value{text-align:center;min-width:56px;font-family:var(--ez-display);letter-spacing:.04em;font-size:36px;line-height:1}.ez-step-unit{color:var(--ez-muted);padding-right:8px;font-size:14px;font-weight:600}.ez-pill{background:var(--ez-card-3);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.ez-pill.ok{color:var(--ez-go);background:#7fe0a133}.ez-pill.accent{color:var(--ez-accent);background:#ffd16633}.ez-pill.muted{color:var(--ez-muted)}.ez-racers{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ez-racers li{background:var(--ez-card-2);border:2px solid #0000;border-radius:18px;align-items:center;gap:12px;min-height:58px;padding:6px 12px 6px 14px;animation:.3s both ez-slide;display:flex}@keyframes ez-slide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.ez-racers li.me{border-color:#ffffff2e}.ez-racers li.ready{background:#7fe0a11a}.ez-racers .dot{border-radius:50%;flex:none;width:16px;height:16px;box-shadow:0 0 0 3px #ffffff1f}.ez-racers .who{flex-direction:column;flex:1;min-width:0;display:flex}.ez-racers .name{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;overflow:hidden}.ez-racers .ride{color:var(--ez-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ez-racers .thumb{background:var(--ez-card-3) center / cover no-repeat;border-radius:12px;flex:none;width:44px;height:44px}.ez-racers .slot{font-family:var(--ez-display);letter-spacing:.04em;color:var(--ez-muted);text-align:center;min-width:26px;font-size:22px}.ez-empty{background:var(--ez-card-2);color:var(--ez-muted);text-align:center;border-radius:18px;padding:18px;font-size:16px}.ez-stage{border:1px solid var(--ez-line);touch-action:pan-y;-webkit-user-select:none;user-select:none;background:radial-gradient(at 50% 75%,#ffd1662e,#140e1e00 60%),linear-gradient(#1c1630,#0d0a16);border-radius:22px;height:clamp(220px,44vh,400px);position:relative;overflow:hidden}.ez-stage canvas{display:block}.ez-stage-floor{background:repeating-conic-gradient(#f3f1ff12 0 25%, transparent 0 50%) 50% 100% / 44px 44px;pointer-events:none;height:36%;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 70%);mask-image:linear-gradient(#0000,#000 70%)}.ez-arrow{border:1px solid var(--ez-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141020b3;border-radius:50%;place-items:center;width:56px;height:56px;font-size:24px;transition:transform .12s,background .12s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.ez-arrow:hover{background:#28203ce6}.ez-arrow:active{transform:translateY(-50%)scale(.92)}.ez-arrow.left{left:10px}.ez-arrow.right{right:10px}.ez-caption{pointer-events:none;text-align:center;flex-direction:column;align-items:center;gap:4px;padding:0 70px;display:flex;position:absolute;bottom:10px;left:0;right:0}.ez-caption-name{font-family:var(--ez-display);letter-spacing:.03em;text-shadow:0 4px 18px #000000b3;font-size:clamp(24px,4vw,34px);line-height:1;animation:.3s both ez-pop}.ez-caption-sub{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ez-dots{justify-content:center;gap:8px;display:flex}.ez-dots i{background:var(--ez-card-3);border-radius:50%;width:10px;height:10px;transition:transform .15s,background .15s}.ez-dots i.on{background:var(--ez-accent);transform:scale(1.3)}.ez-stage-empty{text-align:center;color:var(--ez-muted);place-items:center;padding:24px;font-size:17px;display:grid;position:absolute;inset:0}@media (width<=640px){.easy{padding:0;padding-top:var(--safe-t);align-items:flex-end}.ez-screen{border-bottom:0;border-radius:24px 24px 0 0;width:100%;max-height:100%}.ez-head{padding:10px 14px 4px}.ez-body{gap:12px;padding:8px 14px 12px}.ez-foot{padding:10px 14px calc(12px + var(--safe-b))}.ez-btn{min-height:52px;padding:0 18px;font-size:16px}.ez-btn.go{min-width:160px;min-height:66px;font-size:34px}.ez-stage{height:clamp(200px,38vh,320px)}}.easy.views{--ez-accent:#8fd3ff;--ez-accent-2:#5aa9ff;--ez-pop:#ffb86b}.easy.views .ez-stripe{background:linear-gradient(90deg,#2b5fd9,#5aa9ff 35%,#ffd166 70%,#ff8a5b);animation:none}.ez-text{box-sizing:border-box;border:1px solid var(--ez-line);background:var(--ez-card-2);width:100%;min-height:110px;color:var(--ez-ink);font:500 17px/1.35 var(--ez-font);resize:vertical;border-radius:18px;padding:14px 16px}.ez-text::placeholder{color:var(--ez-muted)}.ez-text:focus{outline:2px solid var(--ez-accent);outline-offset:0}.ez-text.sm{resize:none;min-height:0;padding:10px 14px;font-size:15px}.ez-pic{border:1px solid var(--ez-line);background:#000;border-radius:22px;position:relative;overflow:hidden}.ez-pic img{width:100%;height:auto;display:block}.ez-pano{border:1px solid var(--ez-line);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#0d0a16;border-radius:22px;height:clamp(220px,44vh,400px);position:relative;overflow:hidden}.ez-pano:active{cursor:grabbing}.ez-pano canvas{display:block}.ez-pano-hint{color:var(--ez-muted);pointer-events:none;white-space:nowrap;background:#00000073;border-radius:999px;padding:4px 10px;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.ez-progress{background:var(--ez-card-2);border:1px solid var(--ez-line);border-radius:999px;height:14px;overflow:hidden}.ez-progress>i{background:linear-gradient(90deg, var(--ez-accent-2), var(--ez-accent));height:100%;transition:width .6s;display:block}.ez-notes{gap:8px;display:grid}@media (width>=640px){.ez-notes{grid-template-columns:1fr 1fr}}.ez-err{color:#ff9b9b;font-weight:600}
