:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0a16;--bg-2:#15122a;--bg-3:#1f1a3f;--panel:#ffffff0a;--panel-2:#ffffff14;--border:#ffffff17;--border-gold:#e2b94b3d;--edge:#ffffff1a;--text:#f3eee4;--muted:#b1a9c9;--gold:#e2b94b;--gold-2:#f3d27a;--gold-3:#b8902e;--gold-ink:#2a1d05;--silver:#c9ccd6;--vermilion:#e0492f;--vermilion-2:#ff8c7a;--crimson:var(--vermilion);--indigo:#6b7cff;--indigo-2:#a4b1ff;--green:#4cc38f;--amber:#f0b429;--focus:#ffd87a;--shadow:0 24px 64px #00000080;--radius:14px;--radius-sm:10px;--radius-btn:12px;--ease:cubic-bezier(.2, .7, .2, 1);--font:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:"Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f2e8;--bg-2:#efe8da;--bg-3:#e6dcc8;--panel:#1d19300d;--panel-2:#1d193017;--border:#1d19301f;--border-gold:#a8761c52;--edge:#ffffffb3;--text:#1d1930;--muted:#67607f;--gold:#a8761c;--gold-2:#c6922c;--gold-3:#7d5712;--gold-ink:#fff8e6;--silver:#9aa0b3;--vermilion:#c53a22;--vermilion-2:#b4321c;--indigo:#3f51c9;--indigo-2:#3f51c9;--shadow:0 24px 56px #321e5a2e}}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-latin.woff2)format("woff2");font-weight:300 900;font-style:normal;font-display:swap}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:radial-gradient(1100px 560px at 50% -12%, color-mix(in oklab, var(--gold) 12%, var(--bg-3)), transparent 70%), var(--bg);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;line-height:1.45}h1,h2,h3{font-family:var(--serif);font-variation-settings:"opsz" 36, "SOFT" 20;letter-spacing:-.015em;margin:0;font-weight:580}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hint{color:var(--muted);font-size:.86rem}.error{color:var(--vermilion-2)}.spacer{flex:1}hr{border:0;border-top:1px solid var(--border);margin:4px 0}.btn{border:1px solid var(--border);background:var(--panel-2);min-height:42px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;transition:background .15s,transform 50ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-gold{background:linear-gradient(180deg, var(--gold-2), var(--gold));color:var(--gold-ink);border-color:#0000}.btn-gold:hover:not(:disabled){background:linear-gradient(180deg, #ffe08f, var(--gold))}.btn-danger{background:var(--crimson);color:#fff;border-color:#0000}.btn-danger:hover:not(:disabled){background:color-mix(in oklab, var(--vermilion) 84%, white)}.btn-active{border-color:var(--gold);color:var(--gold-2)}.btn-small{min-height:32px;padding:0 12px;font-size:.85rem}.icon-btn{border:1px solid var(--border);background:var(--panel);width:38px;height:38px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--panel-2)}.link{color:var(--gold-2);background:0 0;border:0;padding:0;font-size:.78rem}.link:hover{text-decoration:underline}.input{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:#0000002e;padding:8px 12px}@media (prefers-color-scheme:light){.input{background:#fff9}}.input::placeholder{color:var(--muted)}textarea.input{resize:none;line-height:1.4}.code-input{letter-spacing:.2em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0 0 14px;padding:0;display:flex}.field>span,.field>legend{color:var(--muted);font-size:.85rem}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check,.radio{align-items:flex-start;gap:12px;padding:10px 0;display:flex}.check input,.radio input{accent-color:var(--gold);margin-top:4px}.check span,.radio span{flex-direction:column;display:flex}.check small,.radio small{color:var(--muted)}.chip{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.78rem;display:inline-flex}.chip-icon span{line-height:1}.me-btn{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:999px;align-items:center;gap:8px;min-width:0;max-width:240px;padding:3px 10px 3px 3px;display:inline-flex}.me-btn:hover{background:var(--panel)}.me-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden}.me-btn .rank-badge{flex:none}.code-chip{border:1px dashed var(--border);background:var(--panel);letter-spacing:.12em;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;display:inline-flex}.code-chip em{font-style:normal;font-family:var(--font);letter-spacing:0;color:var(--green);font-size:.75rem}.splash{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;padding:24px;display:flex}.splash-mark{width:72px;height:72px;color:var(--gold);filter:drop-shadow(0 10px 30px #e2b94b59)}.lobby{flex-direction:column;gap:20px;max-width:880px;margin:0 auto;padding:40px 16px 60px;display:flex}.hero{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:10px 0 6px;display:flex}.hero h1{font-size:clamp(2.2rem,6vw,3.4rem)}.tagline{color:var(--muted);font-size:1.05rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:20px;display:flex}.card h2{margin-bottom:6px;font-size:1.1rem}.lobby-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.lobby-grid.join-only{grid-template-columns:1fr}.invite-note{text-align:center;color:var(--muted)}.invite-note strong{color:var(--gold-2);letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.features{color:var(--muted);grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 0;padding:0;font-size:.88rem;list-style:none;display:grid}.features li{align-items:flex-start;gap:10px;display:flex}.features svg{color:var(--gold);flex:none}@media (width<=720px){.lobby-grid,.field-row,.features{grid-template-columns:1fr}}@media (width<=600px){.lobby{gap:14px;padding:20px 14px 40px}.hero{gap:6px}.splash-mark{width:52px;height:52px}.hero h1{font-size:1.9rem}.tagline{font-size:.92rem}.card{padding:14px}.card>.hint,.features{display:none}.you-head{gap:10px}}html:has(.room){overscroll-behavior:none;height:100%;overflow:hidden}html:has(.room) body{overscroll-behavior:none;height:100%;overflow:hidden}.room{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);width:100%;max-width:1440px;height:100dvh;margin:0 auto;display:grid}.room-head{min-width:0;padding:calc(10px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 10px calc(16px + env(safe-area-inset-left));border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.room-title{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.room-title h1{white-space:nowrap;text-overflow:ellipsis;max-width:40vw;font-size:1.25rem;overflow:hidden}.room-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.room-main{grid-template-columns:minmax(0,1fr) 380px;gap:16px;min-height:0;padding:16px;display:grid}.stage-wrap{flex-direction:column;gap:12px;min-width:0;min-height:0;padding-top:26px;display:flex;overflow:auto}.panel{border-radius:var(--radius);background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.tabs{display:none}.panel-section{flex-direction:column;min-height:0;display:flex}.panel-section.people{border-bottom:1px solid var(--border);max-height:42%}.panel-section.grow{flex:1}.panel-title{justify-content:space-between;align-items:baseline;gap:8px;padding:10px 14px 6px;display:flex}.panel-title h3{font-size:.95rem}.panel-title .count{color:var(--muted);font-size:.85rem}@media (width<=900px){.room-main{grid-template-rows:minmax(0,auto) minmax(190px,1fr);grid-template-columns:minmax(0,1fr);gap:12px;padding:0 12px 12px}.stage-wrap{min-height:0;padding-top:14px;overflow:auto}.controls{z-index:5;background:var(--bg-2)}.tabs{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.tabs button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:8px;font-weight:600;display:inline-flex}.tabs button.active{color:var(--gold-2);box-shadow:inset 0 -2px 0 var(--gold)}.panel-section:not(.active){display:none}.panel-section.active{border-bottom:0;flex:1 1 0;min-height:0;max-height:none;display:flex}.panel-section.grow .panel-title{display:none}.panel-section.people.active .audience{flex:1 1 0;min-height:0}.chat-form{padding:8px 10px 10px}.chat-form .input{min-height:44px}.room-head{padding:calc(8px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 8px calc(12px + env(safe-area-inset-left));flex-wrap:nowrap;gap:8px}.room-title{flex-wrap:nowrap;gap:8px}.room-title h1{max-width:none;font-size:1rem}.code-chip{flex:none;padding:3px 8px;font-size:.8rem}.chip-icon{flex:none;padding:4px}.chip-icon span{display:none}.me-btn{border:0;padding:0}.me-name,.me-btn .rank-badge{display:none}.tabs button{padding:8px;font-size:.9rem}}.stage-wrap{position:relative}.ring{aspect-ratio:1;width:min(100%,640px,max(360px,100dvh - 300px));margin:0 auto;position:relative;container-type:inline-size}.ring-floor{border:1px dashed var(--border);width:46cqw;height:46cqw;color:var(--gold);text-align:center;background:radial-gradient(circle at 50% 40%,#e2b94b24,#e2b94b08 60%,#0000 72%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-title{font-family:var(--serif);color:var(--muted);font-size:clamp(.8rem,2.6cqw,1.1rem)}.ring .seat{width:22cqw;transform:translate(-50%, -50%) rotate(var(--angle)) translate(39cqw) rotate(calc(-1 * var(--angle)));position:absolute;top:50%;left:50%}.seat{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.seat-no{color:var(--muted);font-size:.7rem;position:absolute;top:-4px;left:calc(50% - 44px)}.seat .menu{z-index:3;position:absolute;top:-6px;right:calc(50% - 50px)}.seat-empty{justify-content:center}.seat-take{border:2px dashed var(--border);background:var(--panel);width:80px;height:80px;color:var(--muted);border-radius:50%;place-items:center;padding:0;font-size:1.6rem;line-height:1;transition:transform .12s,border-color .12s,color .12s;display:grid}button.seat-take:hover{border-color:var(--gold);color:var(--gold-2);transform:scale(1.06)}button.seat-take.hop{border-style:solid;border-color:#e2b94b73}.seat-take.idle{cursor:default}.seat-ring{width:86px;height:86px;box-shadow:0 0 0 2px var(--border);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .15s;display:grid;position:relative}.seat-ring:before{content:"";z-index:-1;opacity:0;border-radius:50%;position:absolute;inset:-7px}.seat-ring:hover{transform:scale(1.04)}.seat.me .seat-ring{cursor:default}.seat.me .seat-ring:hover{transform:none}.seat-ring .avatar{width:80px!important;height:80px!important;font-size:30px!important}.seat-ring .avatar-img{object-fit:cover;border-radius:50%}.seat.targeted .seat-ring{outline:3px solid var(--green);outline-offset:4px}.seat.speaking .seat-ring{animation:1.2s ease-in-out infinite glow}@keyframes glow{0%,to{box-shadow:0 0 0 3px var(--gold)}50%{box-shadow:0 0 0 5px var(--gold), 0 0 28px #e2b94b8c}}.seat.away{opacity:.55}.badge-muted{background:var(--crimson);color:#fff;border:2px solid var(--bg);border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;bottom:0;right:-2px}.seat-label{flex-direction:column;align-items:center;gap:2px;max-width:100%;display:flex}.seat-name{align-items:center;gap:4px;max-width:100%;font-size:.86rem;font-weight:600;display:flex}.seat-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-tagline,.seat-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;overflow:hidden}.seat-tagline{font-style:italic}.role.admin{color:var(--gold)}.role.mod{color:var(--indigo-2)}.avatar{color:#fff;letter-spacing:.02em;text-shadow:0 1px 2px #00000059;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.avatar-img{object-fit:cover;background:var(--panel-2);border-radius:50%;flex:none}.rank-1 .seat-ring{box-shadow:0 0 0 3px var(--silver)}.rank-2 .seat-ring{box-shadow:0 0 0 3px var(--silver), 0 0 0 5px var(--bg), 0 0 0 7px var(--silver)}.rank-3 .seat-ring{box-shadow:0 0 0 4px var(--gold)}.rank-4 .seat-ring{box-shadow:0 0 0 2px var(--bg)}.rank-4 .seat-ring:before{opacity:1;background:repeating-conic-gradient(var(--gold) 0deg 28deg, #fff1b8 28deg 36deg, var(--indigo-2) 36deg 45deg);inset:-6px}.rank-5 .seat-ring{box-shadow:0 0 0 2px var(--bg), 0 0 22px #e2b94b73}.rank-5 .seat-ring:before{opacity:1;background:repeating-conic-gradient(var(--gold) 0deg 12deg, transparent 12deg 20deg);inset:-7px}.rank-6 .seat-ring,.rank-7 .seat-ring{box-shadow:0 0 0 2px var(--bg), 0 0 26px #e2b94b8c}.rank-6 .seat-ring:before,.rank-7 .seat-ring:before{opacity:1;background:conic-gradient(from 0deg, var(--gold), #fff6c8, var(--indigo-2), var(--gold), #fff6c8, var(--gold));animation:5s linear infinite spin;inset:-8px}.rank-7 .seat-ring:after{content:"👑";filter:drop-shadow(0 2px 6px #e2b94bb3);font-size:22px;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.rank-7 .seat-ring{animation:2.4s ease-in-out infinite royal-glow}@keyframes spin{to{transform:rotate(360deg)}}@keyframes royal-glow{0%,to{filter:drop-shadow(0 0 6px #e2b94b66)}50%{filter:drop-shadow(0 0 18px #e2b94be6)}}.rank-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted);background:var(--panel);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.rank-badge.rank-1,.rank-badge.rank-2{color:var(--silver);border-color:var(--silver)}.rank-badge.rank-3,.rank-badge.rank-4{color:var(--gold-2);border-color:var(--gold)}.rank-badge.rank-5,.rank-badge.rank-6{color:var(--gold-ink);background:linear-gradient(180deg, var(--gold-2), var(--gold));border-color:#0000}.rank-badge.rank-7{color:var(--gold-ink);background:linear-gradient(90deg, #ffe08f, var(--indigo-2), #ffe08f);border-color:#0000}@media (prefers-color-scheme:light){.rank-badge.rank-1,.rank-badge.rank-2{color:#4d5468;border-color:var(--silver)}}@media (width<=600px){.ring{aspect-ratio:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 4px;width:100%;padding-top:16px;display:grid}.ring-floor{display:none}.combo-stand{grid-column:1/-1;max-width:none;position:static;translate:none}.ring .seat{width:auto;position:relative;top:auto;left:auto;transform:none}.seat{gap:4px}.seat-ring{width:58px;height:58px}.seat-ring .avatar{width:54px!important;height:54px!important;font-size:20px!important}.seat-take{border-width:1.5px;width:54px;height:54px;font-size:1.3rem}.seat-taken .seat-no{display:none}.seat-no{top:-2px;left:calc(50% - 30px)}.seat .menu{top:-8px;right:calc(50% - 34px)}.seat .menu .icon-btn{width:28px;height:28px}.seat-name{gap:3px;font-size:.72rem}.seat-label .rank-badge,.seat-tagline,.seat-meta{display:none}.badge-muted{width:20px;height:20px}.badge-muted svg{width:11px;height:11px}.rank-7 .seat-ring:after{font-size:14px;top:-14px}}.theatre{flex-direction:column;gap:8px;display:flex}.theatre-form{gap:8px;display:flex}.theatre-form .input{min-height:38px}.theatre-frame{aspect-ratio:16/9;border-radius:var(--radius);background:#000;width:100%;max-height:46vh;position:relative;overflow:hidden}.theatre-player,.theatre-player iframe{width:100%;height:100%;position:absolute;inset:0}.theatre-tap{color:#fff;background:#0000008c;border:0;place-items:center;font-size:1.1rem;font-weight:700;display:grid;position:absolute;inset:0}.theatre-note{color:#fff;background:#0009;place-items:center;font-size:.9rem;display:grid;position:absolute;inset:0}.theatre-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.achievement-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.achievement-list li{border-radius:var(--radius-sm);background:#e2b94b1a;border:1px solid #e2b94b59;align-items:center;gap:10px;padding:8px 10px;display:flex}.achievement-mark{color:var(--gold-2);font-size:1.1rem}.achievement-text{flex-direction:column;flex:1;min-width:0;display:flex}.achievement-text small{color:var(--muted)}.member-avatar{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0}.member-row.targeted .member-avatar{outline:2px solid var(--green);outline-offset:2px}.seat-points{color:var(--gold-2);white-space:nowrap;background:#e2b94b2e;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:.7rem;font-weight:700;animation:.35s cubic-bezier(.2,1.6,.4,1) combo-pop;display:inline-flex}.member-points{color:var(--gold-2);font-weight:700}.points-float{color:var(--gold-2);text-shadow:0 1px 2px #0009,0 0 12px #e2b94b99;pointer-events:none;white-space:nowrap;font-size:1.15rem;font-weight:800;animation:1.5s ease-out forwards float-up;position:absolute;translate:-50% -50%}@keyframes float-up{0%{opacity:0;transform:translateY(8px)scale(.7)}15%{opacity:1;transform:translateY(0)scale(1.2)}to{opacity:0;transform:translateY(-80px)scale(1)}}.seat-weak{text-transform:uppercase;letter-spacing:.05em;color:var(--amber);border:1px solid #f0b42980;border-radius:999px;padding:0 6px;font-size:.6rem;display:inline-flex}.gift-video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@media (width<=600px){.seat-points{padding:0 5px;font-size:.6rem}.seat-weak{display:none}.points-float{font-size:.95rem}}.combo{border:1px solid var(--gold);color:#fff;white-space:nowrap;background:#140f2de0;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.78rem;font-weight:700;line-height:1.2;animation:.18s ease-out combo-in;display:inline-flex;box-shadow:0 2px 10px #00000040}.combo em{font-size:1rem;font-style:normal;animation:.28s cubic-bezier(.2,1.6,.4,1) combo-pop;display:inline-block}.combo small{text-transform:uppercase;letter-spacing:.06em;color:var(--gold-2);font-size:.62rem}.combo.tier-great{border-color:var(--amber);scale:1.08}.combo.tier-great small{color:var(--amber)}.combo.tier-wild{background:linear-gradient(135deg,#5a1d0c,#2a0f3a);border-color:#ff7a45;animation:.18s ease-out combo-in,.5s ease-in-out infinite combo-shake;scale:1.16}.combo.tier-wild small{color:#ffb08a}.combo.tier-royal{border-color:var(--gold);background:linear-gradient(135deg,#3b1a6e,#7a1f3d);animation:.18s ease-out combo-in,.8s ease-in-out infinite combo-pulse;scale:1.25}.combo.tier-royal small{color:#ffe9a8}.combo.ending{animation:.7s ease-in forwards combo-out}.seat .combo{z-index:4;transform-origin:bottom;position:absolute;top:-16px;left:50%;translate:-50%}.combo-stand{z-index:4;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;max-width:60%;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.gift-combo{margin-left:auto}@keyframes combo-in{0%{opacity:0;scale:.6}to{opacity:1}}@keyframes combo-pop{0%{transform:scale(1.8)}to{transform:scale(1)}}@keyframes combo-shake{0%,to{rotate:-3deg}50%{rotate:3deg}}@keyframes combo-pulse{0%,to{box-shadow:0 0 0 3px #e2b94b59,0 0 22px #e2b94b99}50%{box-shadow:0 0 0 6px #e2b94b33,0 0 36px #e2b94be6}}@keyframes combo-out{to{opacity:0;scale:.8}}@media (prefers-reduced-motion:reduce){.combo,.combo em{animation:none!important}}.spectacle{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:hidden}.spectacle-banner{color:#fff;max-width:calc(100% - 24px);box-shadow:var(--shadow);text-align:center;background:#140f2de6;border:1px solid #e2b94b99;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-weight:600;animation:.5s cubic-bezier(.2,.9,.3,1.2) both banner-in;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}@media (prefers-color-scheme:light){.spectacle-banner{background:#231a3deb}}.spectacle-banner.kind-procession{font-family:var(--serif);letter-spacing:.01em;font-size:1.1rem;animation:.9s cubic-bezier(.2,.9,.3,1) both ribbon-in}.spectacle-banner.tier-grand,.spectacle-banner.tier-royal{border-color:var(--gold-2);background:linear-gradient(90deg,#5a3c0af2,#8c5f14f2,#5a3c0af2);font-size:1.25rem}.spectacle-banner.kind-rankup{border-color:var(--green)}.banner-crest{font-size:1.4rem}@keyframes banner-in{0%{opacity:0;transform:translate(-50%)translateY(-16px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes ribbon-in{0%{opacity:0;transform:translate(-150%)}to{opacity:1;transform:translate(-50%)}}.particles{width:0;height:0;position:absolute;top:50%;left:50%}.particles.rain{width:100%;height:100%;top:0;left:0}.particle{opacity:0;will-change:transform, opacity;animation:var(--dur) ease-out var(--delay) both;line-height:1;animation-name:burst;position:absolute;top:0;left:0}.particles.rain .particle{animation-name:rain}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}10%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--rot)) scale(1.1)}}@keyframes rain{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:1}to{opacity:.2;transform:translate(var(--dx), var(--dy)) rotate(var(--rot))}}@media (width<=600px){.spectacle-banner{gap:6px;padding:6px 12px;font-size:.85rem;top:6px}.spectacle-banner.kind-procession{font-size:.95rem}.spectacle-banner.tier-grand,.spectacle-banner.tier-royal{font-size:1.05rem}.banner-crest{font-size:1.1rem}.banner{padding:8px 12px;font-size:.85rem}}.spectacle-low{pointer-events:none;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:8px;left:10px;right:10px}.gift-toast{color:#fff;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;box-shadow:var(--shadow);background:#140f2dd9;border:1px solid #e2b94b80;border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:600;line-height:1.3;animation:.4s cubic-bezier(.2,.9,.3,1.2) both toast-in;overflow:hidden}@media (prefers-color-scheme:light){.gift-toast{background:#231a3de6}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:none}}.spectacle-queue{color:#fff;background:#00000073;border-radius:999px;flex:none;margin-left:auto;padding:3px 10px;font-size:.75rem}@media (width<=600px){.spectacle-low{bottom:calc(150px + env(safe-area-inset-bottom));z-index:4;position:fixed}}.audience{flex-direction:column;min-height:0;display:flex}.audience .hint{padding:0 14px 12px}.member-list{min-height:0;margin:0;padding:0 8px 8px;list-style:none;overflow:auto}.member-row{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:6px;display:flex}.member-row:hover{background:var(--panel)}.member-text{flex:1;min-width:0}.member-name{align-items:center;gap:5px;font-size:.9rem;font-weight:600;display:flex}.member-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-meta{color:var(--muted);font-size:.75rem}.hand-chip{color:var(--amber);background:#f0b4292e;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.menu{position:relative}.menu-list{z-index:70;border:1px solid var(--border);background:var(--bg-2);min-width:220px;max-width:calc(100vw - 16px);max-height:min(70vh,440px);box-shadow:var(--shadow);text-align:left;border-radius:12px;flex-direction:column;padding:6px;display:flex;position:fixed;overflow:auto}.menu-list button{text-align:left;color:var(--text);background:0 0;border:0;border-radius:8px;padding:9px 10px;font-size:.9rem}.menu-list button:hover:not(:disabled){background:var(--panel-2)}.menu-list button:disabled{color:var(--muted);cursor:default}.menu-list .danger{color:var(--vermilion-2)}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-list{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 14px 10px;display:flex;overflow:auto}.msg{flex-direction:column;gap:2px;max-width:92%;display:flex}.msg header{color:var(--muted);align-items:baseline;gap:8px;font-size:.75rem;display:flex}.msg.mine header{justify-content:flex-end}.msg-name{color:var(--text);font-weight:600}.msg-text{background:var(--panel-2);overflow-wrap:anywhere;border-radius:14px;padding:8px 12px}.msg.mine .msg-text{background:#e2b94b2e}.msg-foot{font-size:.75rem}.translating{color:var(--muted);font-style:italic}.chat-form{border-top:1px solid var(--border);gap:8px;padding:10px 12px 12px;display:flex}.controls{padding:8px calc(16px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--bg-2);justify-content:space-between;align-items:center;gap:12px;display:flex}.status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;font-size:.8rem;display:flex;overflow:hidden}.dot{background:var(--muted);border-radius:50%;flex:none;width:9px;height:9px}.dot.open{background:var(--green)}.dot.connecting,.dot.reconnecting{background:var(--amber)}.dot.closed{background:var(--crimson)}.control-buttons{align-items:center;gap:8px;display:flex}@media (width<=600px){.controls{padding:8px calc(10px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));gap:8px}.status-text{display:none}.control-buttons{flex:1;justify-content:flex-end;gap:6px}.controls .btn{min-height:40px;padding:0 12px;font-size:.9rem}.controls .icon-btn{width:36px;height:36px}}.banner{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;display:flex}.banner span{overflow-wrap:anywhere;flex:1;min-width:0}.error-banner{background:#d04a3c24;border-color:#d04a3c80}.gesture-banner{background:#e2b94b1f;border-color:#e2b94b80}.modal-backdrop{z-index:50;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-2);width:min(460px,100%);max-height:90vh;box-shadow:var(--shadow);overflow:auto}.modal-head{justify-content:space-between;align-items:center;padding:16px 16px 8px;display:flex}.modal-head h2{font-size:1.1rem}.modal-body{flex-direction:column;gap:8px;padding:8px 16px 16px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.toasts{z-index:60;pointer-events:none;flex-direction:column;gap:8px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:90px;right:16px}.toasts>*{pointer-events:auto}@media (width<=900px){.toasts{left:12px;right:12px;top:calc(60px + env(safe-area-inset-top));align-items:center;max-width:none;bottom:auto}}.toast{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-2);box-shadow:var(--shadow);padding:10px 14px;font-size:.9rem}.toast.error{border-color:#d04a3c99}@media (prefers-reduced-motion:reduce){.seat-taken.speaking{box-shadow:0 0 0 3px var(--gold);animation:none}}.flag{font-size:1em;line-height:1}.room-flag{font-size:1.3rem}.hall-flag{flex:none;font-size:1.6rem}.seat-flag{font-size:.85em}.live-flag{font-size:1.3rem}.landing{--display:"Fraunces", var(--serif);--ease:cubic-bezier(.2, .7, .2, 1);--section:clamp(72px, 9vw, 128px);--card-bg:color-mix(in oklab, var(--bg-2) 86%, var(--text) 4%);flex-direction:column;max-width:1160px;margin:0 auto;padding:0 24px 64px;display:flex;position:relative;overflow-x:clip}html:has(.landing){overflow-x:clip}@media (prefers-reduced-motion:no-preference){html:has(.landing){scroll-behavior:smooth}}.landing-aura{pointer-events:none;z-index:-1;background:radial-gradient(620px 440px at 16% 10%, color-mix(in oklab, var(--gold) 24%, transparent), transparent 70%), radial-gradient(720px 540px at 86% 6%, color-mix(in oklab, var(--indigo) 26%, transparent), transparent 70%), radial-gradient(520px 420px at 58% 72%, color-mix(in oklab, var(--vermilion) 9%, transparent), transparent 70%);filter:blur(42px);opacity:.9;height:980px;position:absolute;inset:-140px 0 auto}.landing>section:not(.hero-door),.landing>footer{margin-top:var(--section);scroll-margin-top:84px}.landing h1,.landing h2{font-family:var(--display);text-wrap:balance}.landing h2{font-variation-settings:"opsz" 96, "SOFT" 30;letter-spacing:-.02em;font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:540;line-height:1.05}.landing h3{letter-spacing:-.01em;font-size:1.08rem;font-weight:680}.landing .wordmark{font-family:var(--display);font-variation-settings:"opsz" 24, "SOFT" 20;font-weight:600}.landing-nav{z-index:20;background:color-mix(in oklab, var(--bg) 74%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-bottom:1px solid color-mix(in oklab, var(--border) 70%, transparent);justify-content:space-between;align-items:center;gap:16px;margin:0 -24px;padding:14px 24px;display:flex;position:sticky;top:0}.app-nav{justify-content:space-between;align-items:center;gap:12px;padding:18px 0 0;display:flex}.nav-links{gap:28px;font-size:.9rem;font-weight:600;display:flex}.nav-links a{color:var(--muted);text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--text)}.wordmark{font-family:var(--serif);color:var(--text);align-items:center;gap:10px;font-size:1.25rem;font-weight:650;text-decoration:none;display:inline-flex}.wordmark-mark{width:30px;height:30px;color:var(--gold);flex:none}.app-nav-hint{font-family:var(--serif);font-size:1rem}.hero-door{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:48px;min-height:min(76vh,740px);padding:clamp(40px,7vw,88px) 0 clamp(16px,3vw,40px);display:grid}.hero-copy{animation:rise .9s var(--ease) backwards;flex-direction:column;gap:22px;display:flex}.live-pill{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:7px 14px 7px 11px;font-size:.82rem;font-weight:600;display:inline-flex}.live-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.live-dot.on{background:var(--green);animation:2s ease-out infinite live-pulse}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--green) 55%, transparent)}70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.hero-copy h1{font-variation-settings:"opsz" 144, "SOFT" 40;letter-spacing:-.03em;font-size:clamp(2.8rem,5.6vw,5rem);font-weight:560;line-height:.96}.h1-gold{background:linear-gradient(92deg, var(--gold-2) 0%, var(--gold) 55%, var(--gold-3) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.76rem;font-weight:700}.lede{color:var(--muted);text-wrap:pretty;max-width:36rem;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6}.lede.center{text-align:center;margin:0 auto}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-actions.center{justify-content:center}.btn-big{min-height:54px;padding:0 26px;font-size:1.03rem}.btn-gold.btn-big{box-shadow:0 10px 30px color-mix(in oklab, var(--gold) 35%, transparent), inset 0 1px 0 #ffffff59;transition:background .15s, transform .2s var(--ease), box-shadow .2s var(--ease)}.btn-gold.btn-big:hover:not(:disabled){box-shadow:0 14px 36px color-mix(in oklab, var(--gold) 45%, transparent), inset 0 1px 0 #ffffff59;transform:translateY(-1px)}.btn-ghost{border-color:color-mix(in oklab, var(--text) 24%, transparent);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--panel);border-color:color-mix(in oklab, var(--text) 42%, transparent)}.hero-trust{color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin:2px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.hero-trust li{align-items:center;gap:7px;display:inline-flex}.hero-trust svg{color:var(--gold)}.door-stage{--rx:0deg;--ry:0deg;background:linear-gradient(160deg, color-mix(in oklab, var(--text) 9%, transparent), color-mix(in oklab, var(--text) 3%, transparent));border:1px solid color-mix(in oklab, var(--text) 14%, transparent);width:min(100%,460px);box-shadow:var(--shadow), inset 0 1px 0 color-mix(in oklab, var(--text) 12%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .3s var(--ease);animation:rise 1s var(--ease) .1s backwards;border-radius:28px;margin:0 0 0 auto;padding:18px 18px 16px;position:relative}.door-stage-head{color:var(--muted);align-items:center;gap:10px;font-size:.78rem;display:flex}.door-stage-live{text-transform:uppercase;letter-spacing:.1em;color:var(--green);align-items:center;gap:6px;font-size:.68rem;font-weight:800;display:inline-flex}.door-stage-title{min-width:0;font-family:var(--display);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1.05rem;font-weight:600;overflow:hidden}.door-stage-count{white-space:nowrap;align-items:center;gap:5px;margin-left:auto;display:inline-flex}.door-stage-ring{aspect-ratio:1;width:100%;margin-top:4px;position:relative;container-type:inline-size}.door-stage-floor{width:42cqw;height:42cqw;color:var(--gold);border:1px dashed color-mix(in oklab, var(--gold) 45%, transparent);background:radial-gradient(circle at 50% 40%, color-mix(in oklab, var(--gold) 22%, transparent), color-mix(in oklab, var(--gold) 4%, transparent) 60%, transparent 72%);border-radius:50%;place-items:center;animation:6s ease-in-out infinite hero-breathe;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.door-stage-orbit{animation:90s linear infinite orbit;position:absolute;inset:0}.door-stage-seat{width:18cqw;height:18cqw;transform:translate(-50%, -50%) rotate(var(--angle)) translate(40cqw) rotate(calc(-1 * var(--angle)));position:absolute;top:50%;left:50%}.door-stage-seat-ring{background:color-mix(in oklab, var(--bg-2) 82%, var(--text) 8%);width:100%;height:100%;box-shadow:0 0 0 2px var(--border), 0 10px 22px #00000047;border-radius:50%;place-items:center;animation:90s linear infinite reverse orbit;display:grid;position:relative}.door-stage-seat.rank-1 .door-stage-seat-ring,.door-stage-seat.rank-2 .door-stage-seat-ring{box-shadow:0 0 0 3px #c9ccd6,0 10px 22px #00000047}.door-stage-seat.rank-3 .door-stage-seat-ring,.door-stage-seat.rank-4 .door-stage-seat-ring{box-shadow:0 0 0 3px var(--gold), 0 10px 22px #00000047}.door-stage-seat.rank-5 .door-stage-seat-ring{box-shadow:0 0 0 3px var(--gold), 0 0 24px color-mix(in oklab, var(--gold) 55%, transparent), 0 10px 22px #00000047}.door-stage-seat.rank-6 .door-stage-seat-ring:before,.door-stage-seat.rank-7 .door-stage-seat-ring:before{content:"";z-index:-1;background:conic-gradient(from 0deg, var(--gold), #fff6c8, var(--indigo-2), var(--gold), #fff6c8, var(--gold));border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-6px}.door-stage-seat.rank-7 .door-stage-seat-ring:after{content:"👑";filter:drop-shadow(0 2px 4px #0006);font-size:14px;position:absolute;top:-14px}.door-stage-seat-face{font-size:9cqw;line-height:1}.door-stage-gift{filter:drop-shadow(0 6px 12px #00000059);animation:toss 6s var(--ease) infinite;opacity:0;font-size:1.7rem;line-height:1;position:absolute;top:50%;left:50%}@keyframes toss{0%{opacity:0;transform:translate(150%,-230%)scale(.5)rotate(-20deg)}8%{opacity:1}40%{opacity:1;transform:translate(-50%,-58%)scale(1.18)rotate(8deg)}52%{opacity:1;transform:translate(-50%,-42%)scale(1)rotate(0)}72%{opacity:0;transform:translate(-50%,-24%)scale(.9)}to{opacity:0}}.door-stage-points{background:linear-gradient(180deg, var(--gold-2), var(--gold));color:var(--gold-ink);white-space:nowrap;box-shadow:0 6px 16px color-mix(in oklab, var(--gold) 40%, transparent);animation:points-up 6s var(--ease) infinite;opacity:0;border-radius:999px;padding:4px 11px;font-size:.8rem;font-weight:800;position:absolute;top:50%;left:50%}@keyframes points-up{0%,44%{opacity:0;transform:translate(-50%,-30%)scale(.8)}54%{opacity:1;transform:translate(-50%,-120%)scale(1)}80%{opacity:1;transform:translate(-50%,-180%)scale(1)}90%,to{opacity:0;transform:translate(-50%,-200%)scale(.95)}}.door-stage-chat{flex-direction:column;gap:8px;margin-top:6px;display:flex}.bubble{background:color-mix(in oklab, var(--bg) 72%, var(--text) 6%);border:1px solid var(--border);animation:bubble-in .6s var(--ease) backwards;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.86rem;line-height:1.35;display:flex}.bubble.b1{animation-delay:.7s}.bubble.b2{margin-left:28px;animation-delay:1.4s}.bubble-flag{font-size:1.15rem;line-height:1}.bubble-text{flex-direction:column;gap:2px;min-width:0;display:flex}.bubble-text strong{margin-right:6px}.bubble-text small{color:var(--muted);font-size:.78rem}.bubble-text small:before{content:"↳ ";color:var(--gold)}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes hero-breathe{0%,to{box-shadow:0 0 #e2b94b00}50%{box-shadow:0 0 60px #e2b94b40}}.section-head{flex-direction:column;gap:10px;max-width:44rem;margin-bottom:30px;display:flex}.section-head .hint{font-size:.95rem}.landing-live h2{align-items:center;gap:12px;font-size:clamp(1.5rem,2.4vw,2rem);display:flex}.landing-live ul{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.live-card{border:1px solid var(--border);background:var(--panel);color:var(--text);transition:background .2s, transform .25s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:10px 16px 10px 12px;font-weight:600;display:inline-flex}.live-card:hover{background:var(--panel-2);transform:translateY(-2px)}.live-meta{color:var(--muted);align-items:center;gap:4px;font-size:.85rem;font-weight:500;display:inline-flex}.pillars ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}@media (width<=1100px){.pillars ol{grid-template-columns:repeat(2,minmax(0,1fr))}}.pillar{background:linear-gradient(var(--card-bg), var(--card-bg)) padding-box, linear-gradient(145deg, color-mix(in oklab, var(--gold) 60%, transparent), color-mix(in oklab, var(--text) 10%, transparent) 38%, color-mix(in oklab, var(--text) 10%, transparent) 68%, color-mix(in oklab, var(--indigo) 45%, transparent)) border-box;border:1px solid #0000;border-radius:22px;flex-direction:column;gap:12px;padding:28px 26px 30px;display:flex;position:relative}.pillar:hover{box-shadow:var(--shadow)}.pillar-icon{background:radial-gradient(circle at 30% 30%, color-mix(in oklab, var(--gold) 38%, transparent), color-mix(in oklab, var(--gold) 10%, transparent) 70%);border:1px solid color-mix(in oklab, var(--gold) 38%, transparent);border-radius:16px;place-items:center;width:54px;height:54px;font-size:1.6rem;display:grid}.pillar h3{font-family:var(--display);font-variation-settings:"opsz" 48, "SOFT" 20;letter-spacing:-.01em;font-size:1.4rem;font-weight:600}.pillar p,.door-features p,.evening p{color:var(--muted);text-wrap:pretty;font-size:.95rem;line-height:1.6}.evening-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.evening-steps li{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:24px;display:flex;position:relative}.evening-steps li:before{content:"";background:linear-gradient(90deg, var(--gold-2), var(--gold));width:56px;height:2px;position:absolute;top:-1px;left:0}.step-num{font-family:var(--display);font-variation-settings:"opsz" 144, "SOFT" 100;letter-spacing:-.03em;color:var(--gold);font-size:2.6rem;font-weight:300;line-height:1}.door-features ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.door-features li{background:var(--panel);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:10px;padding:24px 22px;display:flex}.door-features li:hover{background:var(--panel-2)}.feature-icon{width:42px;height:42px;color:var(--gold);background:color-mix(in oklab, var(--gold) 14%, transparent);border:1px solid color-mix(in oklab, var(--gold) 32%, transparent);border-radius:12px;place-items:center;display:grid}.landing-ranks{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.rank-row{border:1px solid var(--border);background:var(--panel);border-radius:999px;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;padding:14px 18px;display:flex}.rank-row .rank-badge{padding:5px 12px;font-size:.78rem}.closing{text-align:center;background:linear-gradient(135deg, var(--bg-3), var(--bg-2));border:1px solid var(--border);box-shadow:var(--shadow);border-radius:32px;flex-direction:column;align-items:center;gap:18px;padding:clamp(48px,7vw,84px) 24px;display:flex;position:relative;overflow:hidden}.closing-glow{pointer-events:none;background:radial-gradient(closest-side, color-mix(in oklab, var(--gold) 28%, transparent), transparent 72%);height:160%;position:absolute;inset:-60% -10% auto}.closing>*{position:relative}.closing h2{max-width:22ch;font-size:clamp(1.8rem,3.6vw,3rem)}.closing .hint{font-size:.95rem}.landing>.landing-foot{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;font-size:.88rem;display:flex}.landing-foot .link{font-size:.95rem}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease), box-shadow .35s var(--ease), background .3s;transition-delay:var(--d,0s);transform:translateY(22px)}.reveal.in{opacity:1;transform:none}.pillar.reveal.in,.door-features li.reveal.in{transition-duration:.35s;transition-delay:0s}.pillar.reveal.in:hover,.door-features li.reveal.in:hover{transform:translateY(-4px)}@media (width<=880px){.landing{--section:64px;padding:0 18px 56px}.landing-nav{margin:0 -18px;padding:12px 18px}.nav-links{display:none}.hero-door{grid-template-columns:1fr;gap:36px;min-height:0;padding-top:36px}.door-stage{width:min(100%,420px);margin:0 auto}.pillars ol,.evening-steps,.door-features ul{grid-template-columns:1fr}.closing{border-radius:24px;padding:44px 20px}}@media (width<=480px){.door-stage-count{display:none}}@media (prefers-color-scheme:light){.landing-aura{opacity:.55}.door-stage-seat-ring{background:#fff}.bubble{background:#ffffffb8}.door-stage{background:linear-gradient(160deg,#ffffff8c,#ffffff40)}}@media (prefers-reduced-motion:reduce){.hero-copy,.door-stage,.door-stage-orbit,.door-stage-seat-ring,.door-stage-floor,.door-stage-gift,.door-stage-points,.bubble,.live-dot.on,.door-stage-seat .door-stage-seat-ring:before{animation:none}.door-stage-gift{opacity:1;transform:translate(-50%,-50%)}.door-stage-points{opacity:1;transform:translate(-50%,-160%)}.reveal{opacity:1;transition:none;transform:none}}.hall-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.field-row.three{grid-template-columns:1fr 1fr 1fr}.people{flex-direction:column;gap:10px;display:flex}.people-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.seg{background:var(--panel);border-radius:999px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:600}.seg button.active{background:var(--panel-2);color:var(--text)}.people-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.person{border-radius:var(--radius-sm);background:var(--panel);align-items:center;gap:10px;padding:8px 10px;display:flex}.person:not(.online){opacity:.7}.person-avatar{flex:none;position:relative}.presence{border:2px solid var(--bg);background:var(--muted);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.presence.on{background:var(--green);box-shadow:0 0 8px #43d98fb3}.person-text{flex-direction:column;flex:1;min-width:0;display:flex}.person-name{align-items:center;gap:6px;min-width:0;font-weight:600;display:flex}.person-name>span:not(.flag):not(.rank-badge){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mutual{color:var(--gold-2)}.person-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.seg-count{color:var(--muted);margin-left:4px;font-size:.8em;font-weight:500}.seg button.active .seg-count{color:var(--gold-2)}.people-search{min-height:38px}.people-group{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 4px 2px;font-size:.72rem;font-weight:600}.person .follow-btn{align-items:center;gap:6px;display:inline-flex}.person .follow-btn svg{width:18px;height:18px;display:none}.person .follow-btn.on{color:var(--muted)}.people-more{align-self:center}.people-end{text-align:center}@media (width<=600px){.person{gap:8px;padding:6px 8px}.person .btn-small{padding:7px 9px}.person .follow-btn svg{display:block}.person .follow-label{display:none}.person-name{font-size:.94rem}}@media (width<=820px){.hall-grid,.field-row.three{grid-template-columns:1fr}}.hall{flex-direction:column;gap:10px;display:flex}.hall-head{justify-content:space-between;align-items:baseline;display:flex}.hall-head h2{font-family:var(--serif);font-size:1.4rem}.hall-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.hall-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);align-items:center;gap:12px;padding:12px 14px;display:flex}.hall-card-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.hall-card-title{align-items:center;gap:6px;font-size:1rem;display:flex}.hall-card-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hall-card-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:.78rem;display:flex}.hall-card-meta span{align-items:center;gap:4px;display:inline-flex}.you-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;display:flex}.you-avatar{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.you-standing{flex-direction:column;flex:1;gap:5px;min-width:180px;display:flex}.you-rank{align-items:center;gap:8px;display:flex}.you-rank h2{margin:0}.xp-bar{background:var(--panel-2);border-radius:999px;height:8px;overflow:hidden}.xp-bar span{background:linear-gradient(90deg, var(--gold), var(--gold-2));border-radius:999px;height:100%;transition:width .4s;display:block}.profile-top{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:10px;display:flex}.profile-avatar{flex-direction:column;align-items:center;gap:8px;display:flex}.profile-avatar .avatar-img,.profile-avatar .avatar{width:96px!important;height:96px!important;font-size:36px!important}.profile-avatar-actions{align-items:center;gap:8px;display:flex}.profile-rank{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}.profile-rank-title{align-items:center;gap:10px;display:flex}.profile-id{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.profile-id code{border:1px solid var(--border);background:var(--panel);letter-spacing:.02em;-webkit-user-select:all;user-select:all;border-radius:999px;padding:2px 8px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem}.profile-section{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.profile-section h3{margin-bottom:8px;font-size:.95rem}.perk-list,.mission-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.perk-list li{border-radius:var(--radius-sm);color:var(--muted);grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:6px 8px;font-size:.85rem;display:grid}.perk-list li.earned{color:var(--text);background:var(--panel)}.perk-xp{color:var(--muted);white-space:nowrap;font-size:.75rem}.mission-list li{border-radius:var(--radius-sm);background:var(--panel);align-items:center;gap:10px;padding:8px 10px;display:flex}.mission-list li.done{opacity:.6}.mission-list li.done .mission-text strong:before{content:"✓ ";color:var(--green)}.mission-text{flex-direction:column;flex:1;min-width:0;display:flex}.mission-text small{color:var(--muted)}.mission-progress{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:.8rem;display:flex}.mission-xp{color:var(--gold-2);font-weight:700}.mission-daily{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border);border-radius:999px;padding:1px 6px;font-size:.65rem}.modal-wide{width:min(640px,100%)}.toast.xp{border-color:var(--gold);color:var(--gold-2);font-weight:700}.tag{letter-spacing:.08em;white-space:nowrap;border:1px solid var(--border);color:var(--muted);background:var(--panel);border-radius:6px;align-items:center;padding:0 6px;font-size:.62rem;font-weight:800;line-height:1.6;display:inline-flex}.tag-agency{color:var(--gold-ink);background:linear-gradient(180deg, var(--gold-2), var(--gold));border-color:#0000}.tag-clan{color:var(--indigo-2);background:#8ca0ff24;border-color:#8ca0ff80}@media (prefers-color-scheme:light){.tag-clan{color:var(--indigo);background:#3a48a81a;border-color:#3a48a866}}.seat-tag{padding:0 4px;font-size:.56rem}.tag-input{text-transform:uppercase;letter-spacing:.1em}.notice{border-radius:var(--radius-sm);color:var(--green);background:#43d98f1f;padding:8px 12px;font-size:.9rem}.short-banner{justify-content:flex-start}.you-wallet,.you-agency{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.9rem;display:flex}.you-wallet strong,.you-agency strong{color:var(--gold-2)}.you-agency strong{color:var(--text)}.wallet-balances{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wallet-balance{border-radius:var(--radius-sm);background:var(--panel);flex-direction:column;gap:2px;padding:14px;display:flex}.wallet-balance strong{font-size:1.6rem;font-family:var(--serif);color:var(--gold-2)}.wallet-balance small{color:var(--muted)}.wallet-note{color:var(--muted);margin-top:10px;font-size:.88rem;line-height:1.5}.wallet-packs{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.wallet-pack{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;display:flex}.wallet-pack:hover:not(:disabled){background:var(--panel-2)}.wallet-pack:disabled{opacity:.6;cursor:not-allowed}.wallet-pack strong{color:var(--gold-2);font-size:1.1rem}.wallet-pack small{color:var(--muted)}.ledger{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.ledger li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 0;font-size:.85rem;display:grid}.ledger-note{flex-direction:column;min-width:0;display:flex}.ledger-note>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledger-note small{color:var(--muted)}.ledger .plus{color:var(--green);white-space:nowrap;font-weight:700}.ledger .minus{color:var(--muted);white-space:nowrap;font-weight:700}.status-chip{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.status-chip.paid{color:var(--green);border-color:#43d98f80}.status-chip.pending{color:var(--amber);border-color:#f0b42980}.status-chip.refunded,.status-chip.lost{color:var(--crimson);border-color:#d04a3c80}.status-chip.disputed{color:var(--amber);border-color:#f0b42980}.wallet-purchases{margin-top:10px}.wallet-landing:after{content:"";vertical-align:-1px;border:2px solid;border-right-color:#0000;border-radius:50%;width:10px;height:10px;margin-left:8px;animation:.9s linear infinite wallet-wait;display:inline-block}@keyframes wallet-wait{to{transform:rotate(360deg)}}.agency-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.invite-code{letter-spacing:.14em;background:var(--panel-2);border-radius:8px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem}.member-cards{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.member-card{background:var(--panel);border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:.85rem;display:inline-flex}.kyc-list{color:var(--muted);margin:6px 0 10px 18px;padding:0;font-size:.88rem;line-height:1.5}textarea.input{resize:vertical;min-height:72px;font:inherit}.engagements{flex-direction:column;gap:8px;display:flex}.engagement-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.engagement{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border);flex-direction:column;gap:2px;min-width:200px;padding:10px 12px;font-size:.88rem;display:flex}.engagement .when{color:var(--gold-2);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600}.engagement.live .when{color:var(--green)}.bench{flex-direction:column;gap:18px;max-width:1080px;margin:0 auto;padding:0 20px 60px;display:flex}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.admin-item{border-radius:var(--radius-sm);background:var(--panel);flex-direction:column;gap:6px;padding:12px;font-size:.9rem;display:flex}.admin-item dl{grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0;display:grid}.admin-item dt{color:var(--muted)}.admin-item dd{overflow-wrap:anywhere;margin:0}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.counts{flex-wrap:wrap;gap:8px;display:flex}.counts .chip strong{color:var(--text);margin-right:4px}.landing-moments .moment-icon{font-size:1.7rem;line-height:1}@media (width<=600px){.wallet-balances{grid-template-columns:1fr}}.stage-area{min-width:0;position:relative}.reactions{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.reaction-bubble{will-change:transform, opacity;flex-direction:column;align-items:center;gap:2px;animation:2.6s cubic-bezier(.2,.6,.3,1) both reaction-rise;display:flex;position:absolute;bottom:6%;transform:translate(-50%)}.reaction-emoji{filter:drop-shadow(0 2px 6px #00000059);font-size:1.9rem;line-height:1}.reaction-bubble small{color:#fff;white-space:nowrap;background:#140f2db3;border-radius:999px;padding:1px 7px;font-size:.66rem;font-weight:700}.reaction-bubble.mine .reaction-emoji{font-size:2.3rem}.reaction-bubble.seated{--sink:clamp(0px, var(--h,36px) + 7px - var(--room,200px), var(--h,36px) + 4px);--rise:clamp(4px, var(--room,200px) - var(--h,36px) - 8px, 110px);animation-name:reaction-pop;animation-duration:2.2s;bottom:auto}.reaction-bubble.seated small{display:none}@keyframes reaction-rise{0%{opacity:0;transform:translate(-50%,20px)scale(.6)}12%{opacity:1;transform:translate(-50%)scale(1.1)}to{transform:translate(calc(-50% + var(--drift,0px)), -70vh) scale(.9);opacity:0}}@keyframes reaction-pop{0%{opacity:0;transform:translate(-50%,10px)scale(.4)}14%{transform:translate(-50%, calc(-100% - 4px + var(--sink,0px))) scale(1.15);opacity:1}to{transform:translate(calc(-50% + var(--drift,0px)), calc(-100% - 4px + var(--sink,0px) - var(--rise,110px))) scale(.9);opacity:0}}@media (width<=900px){@keyframes reaction-rise{0%{opacity:0;transform:translate(-50%,20px)scale(.6)}12%{opacity:1;transform:translate(-50%)scale(1.1)}to{transform:translate(calc(-50% + var(--drift,0px)), -320px) scale(.9);opacity:0}}.reaction-bubble.seated{--rise:clamp(4px, var(--room,200px) - var(--h,30px) - 8px, 70px)}}.bond-lines{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bond-line{--bond:var(--gold)}.bond-line.couple{--bond:#ff6f9c}.bond-line .bond-base{stroke:var(--bond);stroke-width:2px;stroke-opacity:.22;stroke-linecap:round;transition:stroke-opacity .4s}.bond-line.lit .bond-base{stroke-opacity:.55}.bond-glow{stroke:var(--bond);stroke-width:9px;stroke-opacity:.16;stroke-linecap:round;animation:1.1s ease-in-out infinite bond-breathe}.bond-flow{stroke:var(--bond);stroke-width:3px;stroke-opacity:.95;stroke-linecap:round;stroke-dasharray:9 15;animation:.6s linear infinite bond-pump}@keyframes bond-pump{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes bond-breathe{0%,to{stroke-opacity:.1;stroke-width:7px}50%{stroke-opacity:.28;stroke-width:12px}}@media (prefers-reduced-motion:reduce){.bond-glow,.bond-flow{animation:none}}.ring .seat,.ring-floor{z-index:1}.stage-theatre .seat,.stage-performer .seat,.stage-mc .seat{z-index:1;position:relative}.bond-badge{font-size:.8rem;line-height:1}.bond-list{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.bond-row{align-items:center;gap:10px;min-width:0;display:flex}.bond-row.waiting{opacity:.8}.bond-text{flex-direction:column;flex:1;gap:1px;min-width:0;font-size:.9rem;display:flex}.bond-kind{color:var(--muted);font-size:.78rem}.reaction-picker{border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--border);box-shadow:var(--shadow);z-index:7;grid-template-columns:repeat(6,1fr);gap:4px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);right:12px}.reaction-picker button{background:var(--panel);cursor:pointer;touch-action:manipulation;border:0;border-radius:12px;width:44px;height:44px;font-size:1.4rem;line-height:1}.reaction-picker button:hover{background:var(--panel-2);transform:scale(1.08)}.reaction-picker button:active{transform:scale(.92)}.controls-wrap,.controls{position:relative}.btn-icon-text{gap:6px}.hushed-chip{max-width:180px;font-size:.78rem}.gift-drawer{border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--border);width:min(600px,100vw - 24px);max-height:min(62vh,540px);box-shadow:var(--shadow);z-index:7;flex-direction:column;gap:10px;padding:10px 12px 12px;animation:.18s ease-out both drawer-in;display:flex;position:absolute;bottom:calc(100% + 8px);right:12px}@keyframes drawer-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.gift-tabs{background:var(--panel);border-radius:999px;flex:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:3px;display:grid}.gift-tabs button{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:999px;flex-direction:column;align-items:center;gap:2px;padding:5px 2px 4px;font-size:.66rem;font-weight:600;line-height:1.1;display:flex}.gift-tabs button.active{background:var(--panel-2);color:var(--text)}.gift-tab-emoji{font-size:1.05rem;line-height:1}.gift-tab-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.gift-tab-name .short{display:none}.gift-aim{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.gift-to{scrollbar-width:none;flex:auto;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.gift-to::-webkit-scrollbar{display:none}.gift-to-chip{border:1px solid var(--border);background:var(--panel);max-width:150px;color:var(--muted);border-radius:999px;flex:none;align-items:center;gap:5px;padding:2px 9px 2px 3px;font-size:.74rem;font-weight:600;display:inline-flex}.gift-to-chip .gift-to-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gift-to-chip.active{border-color:var(--green);background:color-mix(in oklab, var(--green) 16%, transparent);color:var(--text)}.gift-to-all{background:var(--panel-2);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;display:inline-grid}.gift-times{flex:none;padding:2px}.gift-times button{min-width:34px;padding:4px 6px;font-size:.78rem}.gift-wallet{color:var(--gold-2);white-space:nowrap;cursor:pointer;background:#e2b94b1f;border:1px solid #e2b94b73;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.gift-wallet:hover{background:#e2b94b38}.gift-wallet .coin{font-size:1rem;line-height:1}.gift-wallet.short{border-color:var(--gold);background:var(--gold);color:var(--gold-ink)}.gift-wallet-cta{border-left:1px solid #2a1d054d;margin-left:2px;padding-left:6px;font-size:.72rem}.gift-grid{touch-action:pan-y;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-auto-rows:max-content;gap:6px;min-height:0;padding:2px;display:grid;overflow-y:auto}.gift-tile{min-width:0;min-height:84px;color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 4px 7px;transition:transform 80ms,background .15s;display:flex;position:relative}.gift-tile>*{flex:none}.gift-tile:hover:not(:disabled){background:var(--panel);transform:translateY(-2px)}.gift-tile:active:not(:disabled){transition-duration:40ms;transform:scale(.9)}.gift-tile:disabled{opacity:.55;cursor:not-allowed}.gift-tile.locked{opacity:.45}.gift-emoji{font-size:1.6rem;line-height:1}.gift-name{max-width:100%;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;font-weight:600;overflow:hidden}.gift-cost{color:var(--gold-2);font-size:.62rem;font-weight:700}.gift-cost.free{color:var(--muted);font-weight:600}.gift-lock{color:var(--amber);text-transform:uppercase;letter-spacing:.04em;font-size:.56rem}.gift-count{color:var(--gold-2);font-size:.58rem;font-weight:700;position:absolute;top:4px;right:6px}.gift-tile.cinematic,.gift-tile.lucky{grid-column:span 2}.gift-pity{color:var(--gold-2);font-size:.6rem;font-weight:700}.gift-blurb{-webkit-line-clamp:2;color:var(--muted);text-align:center;-webkit-box-orient:vertical;font-size:.64rem;line-height:1.3;display:-webkit-box;overflow:hidden}.gift-tile.short{opacity:.6}.gift-tile.short .gift-cost{color:var(--crimson)}@media (width<=900px){.controls{position:relative}.controls-wrap{z-index:5}.gift-drawer{gap:8px;width:auto;max-height:min(60vh,460px);padding:8px 10px 10px;left:8px;right:8px}.gift-tabs button{padding:4px 1px 3px;font-size:.58rem}.gift-tab-emoji{font-size:1rem}.gift-tab-name .long:not(:only-child){display:none}.gift-tab-name .short{display:inline}.gift-to-chip{padding:2px}.gift-to-chip .gift-to-name{display:none}.gift-to-chip.active{padding-right:8px}.gift-to-chip.active .gift-to-name{display:inline}.gift-times button{min-width:30px;padding:4px;font-size:.72rem}.gift-wallet{padding:4px 8px;font-size:.76rem}.gift-grid{grid-template-columns:repeat(4,1fr);gap:5px}.gift-tile{min-height:76px;padding:7px 3px 6px}.gift-emoji{font-size:1.45rem}.gift-name{font-size:.6rem}.gift-cost{font-size:.58rem}.btn-icon-text .btn-label{display:none}.panel-section.grow.active,.panel-section.people.active{min-height:0}.panel-section.people.active .member-list{flex:1 1 0;min-height:0;max-height:none;overflow:auto}}.theatre-form .btn{flex:none}.theatre-queue{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.theatre-queue ol{color:var(--muted);flex-direction:column;gap:2px;margin:0;padding:0 0 0 20px;display:flex}.theatre-queue a{color:var(--text);text-decoration:none}.theatre-queue a:hover{text-decoration:underline}.theatre-queue li .link{margin-left:8px;font-size:.78rem}.stage-performer,.stage-mc{flex-direction:column;gap:14px;width:min(100%,720px);margin:0 auto;padding:10px 0 6px;display:flex;position:relative}.stage-performer .seat,.stage-mc .seat{position:relative}.performer-spot{justify-content:center;padding:10px 0 4px;display:flex}.seat.performer .seat-ring{box-shadow:0 0 0 3px var(--gold), 0 0 40px #e2b94b8c;animation:2.4s ease-in-out infinite spotlight}@keyframes spotlight{0%,to{box-shadow:0 0 0 3px var(--gold), 0 0 30px #e2b94b73}50%{box-shadow:0 0 0 4px var(--gold-2), 0 0 60px #e2b94bbf}}.seat-floor{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:.66rem;font-weight:700;display:inline-flex}.seat-floor.star,.seat-floor.mc{color:var(--gold-ink);background:linear-gradient(180deg, var(--gold-2), var(--gold));border-color:#0000}.seat-floor.on{color:var(--green);border-color:#43d98f99}.audience-row{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:10px 14px;padding:8px 0 0;display:flex}.audience-row .seat-ring{width:70px;height:70px}.audience-row .seat-take{width:56px;height:56px;font-size:1.2rem}.audience-row .seat-no{left:calc(50% - 36px)}.audience-row .seat .menu{right:calc(50% - 40px)}.audience-row .seat-label .rank-badge,.audience-row .seat-tagline,.mc-columns .seat-label .rank-badge,.mc-columns .seat-tagline{display:none}.seat.dancer{animation:1.1s ease-in-out infinite seat-dance;animation-delay:calc(var(--dance,0) * -.17s);transform-origin:50% 100%}@keyframes seat-dance{0%,to{transform:translateY(0)rotate(-4deg)}25%{transform:translateY(-10px)rotate(0)}50%{transform:translateY(0)rotate(4deg)}75%{transform:translateY(-10px)rotate(0)}}.seat.dancer:hover,.seat.dancer:focus-within{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.seat.dancer{animation:none}}.stage-mc{flex-direction:row;align-items:flex-start;gap:18px}.mc-spot{flex:0 0 180px;justify-content:center;padding-top:12px;display:flex}.seat.mc .seat-ring{box-shadow:0 0 0 3px var(--gold), 0 0 30px #e2b94b73}.mc-columns{flex:1;grid-template-columns:1fr 1fr;align-items:start;gap:12px 10px;display:grid}.mc-columns .seat-ring{width:70px;height:70px}.mc-columns .seat-take{width:56px;height:56px;font-size:1.2rem}.mc-columns .seat-no{left:calc(50% - 36px)}.mc-columns .seat .menu{right:calc(50% - 40px)}.seat.hushed .seat-ring{opacity:.6}.seat.has-floor .seat-ring{box-shadow:0 0 0 3px var(--green), 0 0 18px #43d98f80}@media (width<=600px){.stage-mc{gap:10px}.mc-spot{flex-basis:128px}.mc-columns{gap:8px 4px}.stage-performer .seat-ring,.stage-mc .seat-ring{width:48px!important;height:48px!important}.stage-performer .seat-ring .avatar,.stage-mc .seat-ring .avatar{width:44px!important;height:44px!important;font-size:18px!important}.stage-performer{gap:8px;padding:4px 0 2px}.performer-spot{padding:10px 0 0}.stage-mc{padding-top:10px}.audience-row{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:6px;padding:6px 2px 0;overflow-x:auto}.audience-row::-webkit-scrollbar{display:none}.audience-row>.seat{flex:none}.audience-row>.seat:first-child{margin-left:auto}.audience-row>.seat:last-child{margin-right:auto}.audience-row .seat-take{width:44px;height:44px;font-size:1rem}.audience-row .seat-no{left:calc(50% - 26px)}.audience-row .seat .menu{right:calc(50% - 26px)}.audience-row .seat-label{max-width:64px}.seat.performer .seat-ring,.seat.mc .seat-ring{width:100px!important;height:100px!important}.seat.performer .seat-ring .avatar,.seat.mc .seat-ring .avatar{width:92px!important;height:92px!important;font-size:32px!important}}.vector-gift{pointer-events:none;z-index:3;animation:.4s ease-out both vector-in;position:absolute;inset:0;overflow:hidden}@keyframes vector-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.vg-svg{width:100%;height:100%;position:absolute;inset:0}.vg-svg *{transform-box:fill-box}.vg-actor{transform-box:view-box}.vg-body,.vg-head,.vg-arm,.vg-ear,.vg-tail,.vg-feet{animation-duration:.9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--delay,0s)}.vg-body{transform-origin:50% 100%}.vg-head{transform-origin:50% 90%;animation-name:vg-head-bob}.vg-arm.left{transform-origin:100% 0;animation-name:vg-arm-left}.vg-arm.right{transform-origin:0 0;animation-name:vg-arm-right}.vg-ear{transform-origin:50% 100%;animation-name:vg-ear-flop}.vg-tail{transform-origin:100%;animation-name:vg-tail-wag}.vg-dance-bounce .vg-body{animation-name:vg-bounce}.vg-dance-sway .vg-body{animation-name:vg-sway;animation-duration:1.4s}.vg-dance-spin .vg-body{animation-name:vg-spin;animation-duration:1.6s;animation-timing-function:linear}.vg-dance-hop .vg-body{animation-name:vg-hop;animation-duration:.8s;animation-timing-function:cubic-bezier(.3,0,.2,1)}.vg-dance-shimmy .vg-body{animation-name:vg-shimmy;animation-duration:.5s}.vg-dance-wave .vg-body{animation-name:vg-bounce-small;animation-duration:1.2s}.vg-dance-wave .vg-arm.right{animation-name:vg-wave;animation-duration:.7s}.vg-dance-sway .vg-arm.left,.vg-dance-sway .vg-arm.right{animation-name:vg-arms-out;animation-duration:1.4s}.vg-dance-shimmy .vg-arm.left,.vg-dance-shimmy .vg-arm.right{animation-duration:.5s}.vg-dance-slide .vg-body{animation-name:vg-slide;animation-duration:2.6s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-iteration-count:1;animation-fill-mode:both}.vg-dance-plead .vg-body{animation-name:vg-bounce-small;animation-duration:1.1s}.vg-dance-plead .vg-arm.left,.vg-dance-plead .vg-arm.right{animation-name:vg-plead;animation-duration:1.1s}.vg-say{transform-origin:50% 100%;animation:vg-say-in .4s cubic-bezier(.2, .9, .3, 1.25) calc(var(--delay,0s) + .45s) both}.vg-dangle{transform-origin:50% 0;animation:1.3s ease-in-out infinite vg-dangle}@keyframes vg-slide{0%{transform:translate(-760px)rotate(-10deg)}70%{transform:translate(24px)rotate(4deg)}85%{transform:translate(-8px)rotate(-2deg)}to{transform:translate(0)rotate(0)}}@keyframes vg-plead{0%,to{transform:rotate(-12deg)}50%{transform:rotate(-22deg)}}@keyframes vg-say-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes vg-dangle{0%,to{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}@keyframes vg-bounce{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-26px)scale(.96,1.05)}55%{transform:translateY(-26px)scale(.96,1.05)}95%{transform:translateY(2px)scale(1.04,.95)}}@keyframes vg-bounce-small{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes vg-sway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes vg-spin{0%{transform:scaleX(1)translateY(0)}25%{transform:scaleX(0)translateY(-14px)}50%{transform:scaleX(-1)translateY(0)}75%{transform:scaleX(0)translateY(-14px)}to{transform:scaleX(1)translateY(0)}}@keyframes vg-hop{0%,to{transform:translateY(0)scale(1.05,.92)}30%{transform:translateY(-70px)scale(.94,1.08)}60%{transform:translateY(-70px)scale(.94,1.08)}90%{transform:translateY(0)scale(1.08,.9)}}@keyframes vg-shimmy{0%,to{transform:translate(-12px)rotate(-3deg)}50%{transform:translate(12px)rotate(3deg)}}@keyframes vg-head-bob{0%,to{transform:rotate(-6deg)translateY(0)}50%{transform:rotate(6deg)translateY(-4px)}}@keyframes vg-arm-left{0%,to{transform:rotate(18deg)}50%{transform:rotate(-28deg)}}@keyframes vg-arm-right{0%,to{transform:rotate(-18deg)}50%{transform:rotate(28deg)}}@keyframes vg-arms-out{0%,to{transform:rotate(-50deg)}50%{transform:rotate(-30deg)}}@keyframes vg-wave{0%,to{transform:rotate(-95deg)}50%{transform:rotate(-140deg)}}@keyframes vg-ear-flop{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)scaleY(.92)}}@keyframes vg-tail-wag{0%,to{transform:rotate(-10deg)}50%{transform:rotate(14deg)}}.vg-floor.disco{animation:1.2s linear infinite vg-disco}@keyframes vg-disco{0%{filter:hue-rotate()brightness()}50%{filter:hue-rotate(120deg)brightness(1.25)}to{filter:hue-rotate(360deg)brightness()}}.vg-weather{position:absolute;inset:0;overflow:hidden}.vg-drop{color:#ff8aa8;animation:vg-fall var(--dur,3s) linear var(--delay,0s) infinite;will-change:transform, opacity;line-height:1;position:absolute;top:-8%}.vg-weather.rise .vg-drop{animation-name:vg-rise;top:auto;bottom:-8%}.vg-weather.notes .vg-drop{color:#f3d27a}.vg-weather.stars .vg-drop{color:#fff3b0}.vg-weather.bubbles .vg-drop{color:#a0dcffe6}@keyframes vg-fall{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:1}to{transform:translate(var(--drift,0px), 115vh) rotate(540deg);opacity:.6}}@keyframes vg-rise{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:1}to{transform:translate(var(--drift,0px), -110vh) scale(1.1);opacity:0}}@media (prefers-reduced-motion:reduce){.vg-body,.vg-head,.vg-arm,.vg-ear,.vg-tail,.vg-drop,.vg-say,.vg-dangle,.vg-floor.disco{animation:none}}.msg header{position:relative}.msg-report{color:var(--muted);opacity:0;background:0 0;border:0;margin-left:auto;padding:0 4px;font-size:.8rem;line-height:1;transition:opacity .15s}.msg:hover .msg-report,.msg:focus-within .msg-report,.msg-report.done{opacity:.8}.msg-report:hover:not(:disabled){color:var(--crimson);opacity:1}.msg-report.done{color:var(--crimson)}@media (hover:none){.msg-report{opacity:.5}}.msg.retracted .msg-text{color:var(--muted);font-size:.85rem;font-style:italic}.status-chip.conduct-good{color:var(--green);border-color:#43d98f80}.status-chip.conduct-watched,.status-chip.conduct-slow{color:var(--amber);border-color:#f0b42980}.status-chip.conduct-muted,.status-chip.conduct-barred{color:var(--crimson);border-color:#d04a3c80}.invite-card .agency-head h2{margin:0}.invite-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.invite-list li{border-top:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.invite-list li:first-child{border-top:0}.gate-code{letter-spacing:.14em;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}.gate-code.used{color:var(--muted);opacity:.7;text-decoration:line-through}.invite-list .hint,.invite-list .btn{margin-left:auto}.legal{max-width:760px;margin:0 auto;padding:0 20px 72px}.legal-nav{gap:18px;font-size:.9rem;font-weight:600;display:flex}.legal-nav a,.legal-body a{color:var(--gold-2)}.legal-body{margin-top:32px;line-height:1.65}.legal-body h1{margin-bottom:6px;font-size:clamp(1.9rem,4vw,2.6rem)}.legal-body h2{margin:28px 0 8px;font-size:1.1rem}.legal-body p,.legal-body li{color:var(--text);margin-bottom:10px;font-size:.98rem}.legal-body ul{margin:0;padding-left:20px}.legal-lede{margin:14px 0 10px;font-size:1.08rem}.legal-foot{border-top:1px solid var(--border);margin-top:36px;padding-top:18px}.cinema{z-index:70;pointer-events:none;background:#05030c;animation:.6s ease-out both cinema-in;position:fixed;inset:0;overflow:hidden}@keyframes cinema-in{0%{opacity:0}to{opacity:1}}.cinema-canvas{display:block;position:absolute;inset:0}.cinema-bar{background:#000;height:clamp(28px,9vh,96px);transition:transform .9s cubic-bezier(.2,.7,.2,1);position:absolute;left:0;right:0}.cinema-bar.top{top:0;transform:translateY(-100%)}.cinema-bar.bottom{bottom:0;transform:translateY(100%)}.cinema.phase-title .cinema-bar,.cinema.phase-scene .cinema-bar,.cinema.phase-out .cinema-bar{transform:none}.cinema-title,.cinema-out{text-align:center;color:#fff;opacity:0;text-shadow:0 2px 24px #0009;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0 24px;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);display:flex;position:absolute;inset:0;transform:translateY(10px)scale(.98)}.cinema.phase-title .cinema-title,.cinema.phase-out .cinema-out{opacity:1;transform:none}.cinema-eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--accent,#ffd36b);font-size:.8rem}.cinema-name{font-family:"Fraunces", var(--serif);font-variation-settings:"opsz" 144, "SOFT" 40;letter-spacing:-.02em;font-size:clamp(2rem,7vw,5rem);font-weight:560;line-height:1}.cinema-for{color:#ffffffd1;font-size:clamp(1rem,2.4vw,1.4rem)}@media (prefers-reduced-motion:reduce){.cinema{animation:none}.cinema-bar,.cinema-title,.cinema-out{transition:none}}.seat.cinema-glow .seat-ring:after{content:"";pointer-events:none;filter:blur(6px);opacity:.85;z-index:-1;background:conic-gradient(#7cf5c4,#c7b8ff,#ffd36b,#ff8a3d,#7cf5c4);border-radius:50%;animation:5s linear infinite cinema-glow;position:absolute;inset:-8px}@keyframes cinema-glow{to{transform:rotate(360deg)}}.room-main.watching .stage-wrap>.theatre{order:-1}.room-main.watching .theatre-frame{max-height:min(40dvh,460px);box-shadow:0 18px 50px #00000073}@media (width>=901px){.room-main.watching .stage-wrap>.theatre{z-index:4;background:var(--bg);padding-bottom:6px;position:sticky;top:0;box-shadow:0 10px 18px -10px #00000080}}.theatre-now{flex-direction:column;flex:240px;gap:1px;min-width:0;display:flex}.theatre-now-top{align-items:center;gap:8px;min-width:0;display:flex}.theatre-now-by{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.theatre-state{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted);border-radius:999px;flex:none;padding:1px 7px;font-size:.66rem;font-weight:800}.theatre-state.on{color:var(--crimson);border-color:color-mix(in oklab, var(--crimson) 55%, transparent);background:color-mix(in oklab, var(--crimson) 14%, transparent)}.theatre-title{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;overflow:hidden}.theatre-marquee{flex-direction:column;gap:6px;display:flex}.theatre-marquee-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.theatre-form.compact{flex:320px;margin-left:auto}.theatre-form.compact .input{min-height:34px;font-size:.88rem}.theatre-form.compact .btn{min-height:34px}.theatre-marquee-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:none;font-size:.78rem;font-weight:700}.theatre-marquee-label em{background:var(--panel-2);color:var(--text);border-radius:999px;margin-left:6px;padding:0 7px;font-style:normal}.theatre-line{scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;margin:0;padding:2px 2px 8px;list-style:none;display:flex;overflow-x:auto}.line-card{scroll-snap-align:start;flex-direction:column;flex:none;gap:3px;width:118px;display:flex;position:relative}.line-still{aspect-ratio:16/9;border-radius:var(--radius-sm);border:1px solid var(--border);background:#000;display:block;position:relative;overflow:hidden}.line-still img{object-fit:cover;width:100%;height:100%;display:block}.line-no{color:#fff;text-align:center;background:#000000b3;border-radius:999px;min-width:20px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1.6;position:absolute;bottom:6px;left:6px}.line-title{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600;line-height:1.25;overflow:hidden}.line-by{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.2;overflow:hidden}.line-remove{color:#fff;opacity:0;background:#000000a6;border:0;border-radius:50%;width:24px;height:24px;font-size:1rem;line-height:1;transition:opacity .15s;position:absolute;top:4px;right:4px}.line-card:hover .line-remove,.line-card:focus-within .line-remove{opacity:1}@media (hover:none){.line-remove{opacity:1}}.theatre-offer{border-radius:var(--radius-sm);border:1px solid color-mix(in oklab, var(--gold) 45%, transparent);background:color-mix(in oklab, var(--gold) 10%, var(--bg-2));flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;font-size:.9rem;display:flex}.theatre-offer strong{color:var(--gold-2)}.theatre-reading{animation:1.2s ease-in-out infinite reading-pulse}@keyframes reading-pulse{0%,to{opacity:.55}50%{opacity:1}}.stage-theatre{flex-direction:column;gap:8px;width:100%;padding:6px 0 0;display:flex;position:relative}.stage-theatre .seat{position:relative}.theatre-front{border-bottom:1px solid color-mix(in oklab, var(--gold) 40%, transparent);background:linear-gradient(180deg, transparent, color-mix(in oklab, var(--gold) 6%, transparent));flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:8px 12px;padding:8px 10px 12px;display:flex}.theatre-front .seat-ring{width:70px;height:70px}.theatre-front .seat-ring .avatar{width:62px!important;height:62px!important;font-size:24px!important}.theatre-front .seat-take{width:56px;height:56px;font-size:1.2rem}.theatre-front .seat-no{left:calc(50% - 36px)}.theatre-front .seat .menu{right:calc(50% - 40px)}.theatre-front .seat-label .rank-badge,.theatre-front .seat-tagline,.theatre-front .seat-weak{display:none}.house{flex-direction:column;gap:4px;padding:4px 0 0;display:flex}.house-head{justify-content:space-between;align-items:baseline;gap:8px;padding:2px 6px;display:flex}.house-head h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}.house-head .count{color:var(--muted);font-size:.8rem}.house-floor{flex-direction:column;align-items:center;gap:2px;padding:4px 0 10px;display:flex}.house-row{transform:scale(max(.8, calc(1 - var(--row,0) * .045))) translateY(calc(var(--row,0) * -2px));transform-origin:50% 0;opacity:max(.72, calc(1 - var(--row,0) * .06));justify-content:center;gap:8px;padding:4px 0;display:flex}.house-row:nth-child(2n){padding-left:72px}.house-chair{text-align:center;flex-direction:column;align-items:center;gap:3px;width:64px;display:flex;position:relative}.house-chair.empty{height:60px}.house-chair.empty:before{content:"";border:1px dashed var(--border);background:var(--panel);opacity:.6;border-radius:10px 10px 6px 6px;width:36px;height:36px;margin-top:2px;display:block}.house-seat{background:var(--panel-2);box-shadow:0 0 0 1px var(--border);border:0;border-radius:50%;padding:3px;transition:transform .12s,box-shadow .15s;position:relative}.house-seat:hover{transform:translateY(-2px)}.house-chair.me .house-seat{box-shadow:0 0 0 2px var(--gold)}.house-chair.targeted .house-seat{box-shadow:0 0 0 2px var(--amber), 0 0 18px #f0b42980}.house-chair.invited .house-seat{box-shadow:0 0 0 2px var(--green), 0 0 14px #43d98f73}.house-chair.hand{transform:translateY(-6px)}.house-chair.hand .house-seat{box-shadow:0 0 0 2px var(--amber), 0 6px 20px #f0b42973}.house-hand{background:var(--amber);color:var(--gold-ink);border-radius:999px;align-items:center;gap:2px;padding:1px 6px;font-size:.64rem;font-weight:800;display:inline-flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #00000059}.house-name{justify-content:center;align-items:center;gap:3px;max-width:100%;font-size:.68rem;font-weight:600;line-height:1.2;display:inline-flex}.house-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.house-name .rank-badge{font-size:.5rem}.house-flag{font-size:.75rem}.house-chair .menu{z-index:3;position:absolute;top:-4px;left:-2px}.house-chair .menu .icon-btn{opacity:0;width:22px;height:22px;transition:opacity .15s}.house-chair .menu .icon-btn svg{width:12px;height:12px}.house-chair:hover .menu .icon-btn,.house-chair:focus-within .menu .icon-btn,.house-chair .menu .icon-btn[aria-expanded=true]{opacity:1}@media (hover:none){.house-chair .menu .icon-btn{opacity:.7}}.house-chair.cinema-glow .house-seat{box-shadow:0 0 0 2px var(--gold-2), 0 0 24px #f3d27ab3}.house-empty{text-align:center;padding:2px 0 8px}.room-main.watching .tabs{display:none}@media (width<=600px){.room-main.watching .theatre-frame{max-height:36dvh}.room-main.watching{grid-template-rows:minmax(0,auto) minmax(max(190px,36dvh),1fr)}.theatre-title{font-size:.9rem}.line-card{width:112px}.theatre-form.compact{flex-basis:100%;margin-left:0}.theatre-front{gap:6px;padding:6px 4px 10px}.theatre-front .seat-ring{width:58px;height:58px}.theatre-front .seat-ring .avatar{width:50px!important;height:50px!important;font-size:20px!important}.house-row{gap:4px}.house-row:nth-child(2n){padding-left:60px}.house-chair{width:56px}.house-chair .avatar,.house-chair .avatar-img{width:36px!important;height:36px!important;font-size:14px!important}.house-chair.empty:before{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){.theatre-reading{animation:none}.house-seat,.house-chair.hand{transition:none}}.lobby-hall{gap:16px;padding-top:20px}.lobby-hall .app-nav{padding-top:0}.you-bar{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);align-items:center;gap:12px;padding:8px 12px 8px 8px;display:flex}.you-bar-id{text-align:left;background:0 0;border:0;border-radius:999px;flex:1;align-items:center;gap:10px;min-width:0;padding:2px;display:flex}.you-bar-id:hover .you-bar-name strong{color:var(--gold-2)}.you-bar-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.you-bar-name{align-items:center;gap:6px;min-width:0;font-size:.95rem;display:flex}.you-bar-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.you-bar-unnamed{color:var(--gold-2);text-underline-offset:3px;font-style:normal;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.you-bar-xp{align-items:center;gap:10px;min-width:0;display:flex}.you-bar-xp .hint{white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.xp-bar-mini{flex:0 160px;height:5px}.you-bar-purse{border:1px solid color-mix(in oklab, var(--gold) 45%, transparent);background:color-mix(in oklab, var(--gold) 10%, transparent);color:var(--gold-2);border-radius:999px;flex:none;align-items:center;gap:12px;padding:6px 12px;font-size:.88rem;display:inline-flex}.you-bar-purse:hover{background:color-mix(in oklab, var(--gold) 20%, transparent)}.you-bar-purse small{color:var(--muted);font-size:.74rem}.you-bar-profile{flex:none}.hall-doors{flex-direction:column;gap:10px;display:flex}.hall-door-row{flex-wrap:wrap;gap:8px;display:flex}.hall-door-row .btn{gap:6px}.hall-door{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 10px;padding:12px 14px;animation:.18s ease-out both drawer-in;display:grid}.hall-door .field{min-width:0}.hall-door>.hint{grid-column:1/-1}.hall-empty{padding:6px 0}.hall-grid.join-only{grid-template-columns:1fr}.you-bar-invite{border:1px solid var(--border-gold);background:var(--panel-2);color:var(--text);border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:.88rem;font-weight:600;display:inline-flex}.you-bar-invite:hover{background:#ffffff1a}.you-bar-invite-count{background:linear-gradient(180deg, var(--gold-2), var(--gold));min-width:20px;height:20px;color:var(--gold-ink);border-radius:999px;place-items:center;padding:0 6px;font-size:.74rem;font-style:normal;font-weight:800;display:inline-grid}.you-bar-invite.empty .you-bar-invite-count{background:var(--panel);color:var(--muted)}.invites{flex-direction:column;gap:10px;display:flex}.invites-intro{margin:0;font-size:.92rem;line-height:1.45}.invites-palace{border:1px solid var(--border);background:var(--panel-2);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.invites-palace input{width:18px;height:18px;accent-color:var(--gold);flex:none;margin:2px 0 0}.invites-palace span{flex-direction:column;gap:2px;font-size:.9rem;font-weight:600;display:flex}.invites-palace small{font-weight:400}.invites .invite-list{margin-top:0}.invites-foot{margin:0}.profile-invites{gap:6px}.lobby-foot{text-align:center;padding:8px 0 0;font-size:.8rem}.lobby-foot a{color:var(--muted)}.name-prompt{flex-direction:column;gap:10px;display:flex}.name-prompt a{color:inherit}@media (width<=600px){.lobby-hall{gap:12px;padding-top:14px}.you-bar{gap:8px;padding:6px 8px}.you-bar-profile{display:none}.you-bar-invite{gap:4px;padding:5px 9px}.you-bar-invite-word{display:none}.you-bar-purse{gap:8px;padding:5px 10px;font-size:.8rem}.you-bar-purse small{display:none}.xp-bar-mini{flex-basis:80px}.you-bar-standing{display:none}.you-bar-name{font-size:.9rem}.hall-door{grid-template-columns:1fr}.hall-door .btn{width:100%}}html:before{content:"";z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:fixed;inset:0}@media (prefers-color-scheme:light){html:before{opacity:.08;mix-blend-mode:multiply}}.card,.hall-card,.you-bar,.wallet-balance,.wallet-pack,.door-features li,.live-card,.rank-row,.closing{border:1px solid var(--border-gold);box-shadow:inset 0 1px 0 var(--edge)}.modal,.gift-drawer,.menu-list,.toast{border-color:var(--border-gold);box-shadow:inset 0 1px 0 var(--edge), var(--shadow)}.closing{box-shadow:inset 0 1px 0 var(--edge), var(--shadow)}.btn{border-radius:var(--radius-btn);transition:background .2s var(--ease), border-color .2s var(--ease), transform .15s var(--ease), box-shadow .2s var(--ease)}.btn:hover:not(:disabled){background:color-mix(in oklab, var(--text) 14%, transparent)}.btn-small{border-radius:10px}.btn-big{border-radius:14px}.btn-gold{border:1px solid var(--gold-3);box-shadow:inset 0 1px #ffffff59}.btn-gold:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff59, 0 6px 18px color-mix(in oklab, var(--gold) 30%, transparent)}.btn-danger{background:var(--vermilion)}.input:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in oklab, var(--gold) 25%, transparent);outline:none}.ring-floor{border:1px solid var(--border-gold);outline:1px solid var(--border-gold);outline-offset:-7px;background:radial-gradient(circle at 50% 40%, color-mix(in oklab, var(--gold) 12%, transparent), color-mix(in oklab, var(--gold) 3%, transparent) 60%, transparent 72%)}.seat-take{border:1.5px dashed var(--border-gold)}.eyebrow{letter-spacing:.2em}.eyebrow:before{content:"";vertical-align:1px;border:1px solid var(--gold);border-radius:2px;width:7px;height:7px;margin-right:10px;display:inline-block}h1,h2,h3{font-variation-settings:"SOFT" 20}.panel-title h3,.modal-head h2{font-size:1.05rem}.hall-filter{flex-wrap:wrap;gap:6px;display:flex}.hall-filter .chip{cursor:pointer;font:inherit;transition:border-color .15s var(--ease), background .15s var(--ease);font-size:.78rem}.hall-filter .chip b{color:var(--text);font-weight:600}.hall-filter .chip.active{border-color:var(--gold);background:color-mix(in oklab, var(--gold) 16%, var(--panel));color:var(--text)}.hall-card.with-banner{flex-wrap:wrap;padding-top:0}.hall-banner{aspect-ratio:3;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;background:color-mix(in oklab, var(--text) 6%, transparent);flex:0 0 calc(100% + 28px);width:calc(100% + 28px);margin:0 -14px;display:block}.hall-cat{background:color-mix(in oklab, var(--gold) 14%, transparent);color:var(--text);border-radius:999px;padding:0 8px}.banner-field .banner-preview{aspect-ratio:3;object-fit:cover;background:color-mix(in oklab, var(--text) 6%, transparent);border-radius:12px;width:100%;display:block}.banner-field .banner-preview.empty{color:var(--muted);border:1px dashed var(--border);place-items:center;padding:10px;font-size:.82rem;display:grid}.banner-actions{flex-wrap:wrap;gap:8px;display:flex}.hall-door.hall-door-open{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto}@media (width<=600px){.hall-door.hall-door-open{grid-template-columns:1fr}}html:not([data-perf=full]) .landing-aura{display:none}html:not([data-perf=full]) .landing-nav,html:not([data-perf=full]) .door-stage{-webkit-backdrop-filter:none;backdrop-filter:none}html:not([data-perf=full]) .landing-nav{background:color-mix(in oklab, var(--bg) 94%, transparent)}html[data-perf=lightest] .seat.speaking .seat-ring{box-shadow:0 0 0 3px var(--gold);animation:none}html[data-perf=lightest] .seat.dancer,html[data-perf=lightest] .combo,html[data-perf=lightest] .combo em,html[data-perf=lightest] .seat.cinema-glow .seat-ring:after,html[data-perf=lightest] .vg-body,html[data-perf=lightest] .vg-head,html[data-perf=lightest] .vg-arm,html[data-perf=lightest] .vg-ear,html[data-perf=lightest] .vg-tail,html[data-perf=lightest] .vg-drop,html[data-perf=lightest] .vg-say,html[data-perf=lightest] .vg-dangle,html[data-perf=lightest] .vg-floor.disco{animation:none}html[data-perf=lightest] .seat.cinema-glow .seat-ring:after{filter:none;opacity:.6}.room-head{grid-row:1}.watch-bar{grid-row:2;padding:10px 16px 0;animation:.18s ease-out both drawer-in}.watch-bar:empty{display:none}.watch-bar .theatre-form .input{min-height:40px}.room-main{grid-row:3}.controls-wrap{grid-row:4}.icon-btn.active{color:var(--gold-2);border-color:var(--border-gold)}@media (width<=600px){.watch-bar{padding:8px 12px 0}}.room-count{font:inherit;cursor:pointer;color:var(--text);font-size:.78rem}.room-count span{font-weight:600}.royal-banner{top:calc(62px + env(safe-area-inset-top));z-index:45;border:1px solid var(--border-gold);background:color-mix(in oklab, var(--bg-2) 92%, var(--gold) 8%);max-width:min(560px,100vw - 24px);box-shadow:0 0 0 1px #e2b94b26, var(--shadow);animation:royal-in .5s var(--ease) both;border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:.9rem;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes royal-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.royal-banner.inline{max-width:none;margin:0 0 10px;animation-name:royal-in-flow;display:flex;position:static;transform:none}@keyframes royal-in-flow{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.royal-crown{color:var(--gold);flex:none}.royal-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.royal-text strong{color:var(--gold-2)}.royal-dismiss{flex:none}.cinema.entrance .cinema-eyebrow{letter-spacing:.3em;text-transform:uppercase}@media (width<=600px){.royal-banner{gap:8px;padding:6px 6px 6px 12px;font-size:.82rem}.royal-text{white-space:normal}}.panel{background:0 0;border-radius:0}.panel-section.people{border-bottom:1px solid color-mix(in oklab, var(--text) 8%, transparent)}.panel-title{padding:8px 12px 4px}.chat-list{gap:5px;padding:6px 12px 8px}.msg{text-shadow:0 1px 2px #0000008c;max-width:100%;font-size:.92rem;line-height:1.35;display:block}.msg.mine{text-align:left;align-self:stretch}.msg header,.msg.mine header{font-size:inherit;color:inherit;display:inline;position:static}.msg-name{color:var(--gold-2);margin-right:6px}.msg.mine .msg-name{color:var(--gold)}.msg-text,.msg.mine .msg-text{background:0 0;border-radius:0;padding:0;display:inline}.msg.retracted .msg-text{text-shadow:none}.msg-report{vertical-align:baseline;opacity:.35;margin-left:6px}.msg-foot{color:var(--muted);text-shadow:none;font-size:.72rem;display:block}.chat-form{border-top:0;align-items:flex-end;padding:6px 10px 10px}.chat-form .input{background:#ffffff14;border-color:#ffffff1f;border-radius:22px;min-height:40px}.send-btn{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;padding:0;display:grid}.tab-count{color:var(--muted);margin-left:2px;font-weight:600}.tabs button.active .tab-count{color:var(--gold-2)}@media (width<=900px){.tabs{border-bottom:0;grid-template-columns:auto auto;justify-content:start;gap:18px;padding:0 12px}.tabs button{padding:6px 0}.tabs button.active{box-shadow:none;text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:7px;text-decoration-thickness:2px}.panel-title{display:none}.panel-section.people{border-bottom:0}.chat-form{padding:6px 10px 8px}.spectacle{z-index:40;position:fixed;inset:0}.spectacle-banner{top:calc(58px + env(safe-area-inset-top))}}.room{background:var(--room-bg,transparent)}.room[data-theme=sakura]{--room-bg:radial-gradient(900px 520px at 85% -10%, #d65da061, transparent 70%), radial-gradient(700px 480px at 8% 108%, #ff96be33, transparent 70%), linear-gradient(180deg, #1f1024, #0e0a14)}.room[data-theme=aurora]{--room-bg:radial-gradient(1000px 500px at 50% -16%, #28c89652, transparent 70%), radial-gradient(700px 420px at 90% 30%, #5078ff2e, transparent 70%), linear-gradient(180deg, #0a1a24, #070d16)}.room[data-theme=moonrise]{--room-bg:radial-gradient(260px 260px at 78% 14%, #f0ecdc57, #f0ecdc0f 40%, transparent 62%), radial-gradient(1200px 500px at 50% 110%, #3c5ab44d, transparent 70%), linear-gradient(180deg, #0a1024, #121a3a)}.room[data-theme=ember]{--room-bg:radial-gradient(900px 520px at 50% 115%, #ff6e286b, transparent 70%), radial-gradient(600px 300px at 10% -5%, #ffbe5a1a, transparent 70%), linear-gradient(180deg, #120a08, #1c0d0a)}.room[data-theme=ocean]{--room-bg:radial-gradient(900px 520px at 20% -10%, #28aac84d, transparent 70%), radial-gradient(800px 500px at 90% 110%, #145a8c66, transparent 70%), linear-gradient(180deg, #061420, #0a2230)}.room[data-theme=forest]{--room-bg:radial-gradient(900px 520px at 80% -10%, #50c8783d, transparent 70%), radial-gradient(700px 480px at 10% 110%, #2878464d, transparent 70%), linear-gradient(180deg, #07140c, #0c1f12)}.room[data-theme=velvet]{--room-bg:radial-gradient(900px 520px at 50% -10%, #dc3c6e52, transparent 70%), radial-gradient(700px 400px at 90% 110%, #e2b94b29, transparent 70%), linear-gradient(180deg, #1a0710, #2a0b1a)}.theme-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.theme-swatch{color:#fff;height:44px;font:inherit;text-shadow:0 1px 2px #0009;cursor:pointer;border:2px solid #0000;border-radius:10px;place-items:center;font-size:.74rem;font-weight:600;display:grid}.theme-swatch.active{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in oklab, var(--gold) 35%, transparent)}.update-bar{top:calc(10px + env(safe-area-inset-top));z-index:80;border:1px solid var(--border-gold);background:var(--bg-2);box-shadow:var(--shadow);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:.86rem;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.seat-hush{border:1px solid color-mix(in oklab, var(--crimson) 55%, transparent);background:color-mix(in oklab, var(--crimson) 16%, transparent);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.66rem;font-weight:600;line-height:1.5;display:inline-flex}.seat-hush:hover{background:color-mix(in oklab, var(--crimson) 32%, transparent)}.seat-hush.lift{border-color:var(--border-gold);background:color-mix(in oklab, var(--gold) 14%, transparent)}.seat-hush.lift:hover{background:color-mix(in oklab, var(--gold) 28%, transparent)}.theatre-act{align-items:center;gap:6px;display:inline-flex}.theatre-queue-btn{display:none;position:relative}.theatre-queue-count{background:var(--gold);color:#1a1404;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:.66rem;font-style:normal;font-weight:800;line-height:16px;position:absolute;top:-4px;right:-4px}@media (width<=900px){.room-main.watching{grid-template-rows:minmax(0,auto) minmax(max(190px,36dvh),1fr)}.room-main.watching .chat-form{padding:6px 10px 8px}.room-main.watching .chat-form .input{min-height:40px}.room-main.watching .stage-wrap{gap:8px}.room-main.watching .theatre{gap:6px}.room-main.watching .theatre-frame{max-height:min(40dvh,max(120px,64dvh - 248px))}.theatre-bar{flex-wrap:nowrap;gap:6px}.theatre-now{flex:1 1 0}.theatre-now-by{display:none}.theatre-bar .theatre-act{border-radius:50%;flex:none;justify-content:center;width:34px;height:34px;min-height:0;padding:0}.theatre-bar .theatre-act .act-label{display:none}.theatre-bar .icon-btn{flex:none;width:34px;height:34px}.theatre-queue-btn{display:inline-flex}.theatre-queue-btn.active{color:var(--gold-2);border-color:var(--border-gold)}.theatre-marquee:not(.open){display:none}.room-main.watching .theatre .stage-theatre{gap:4px;padding:0}.theatre-front.compact{scrollbar-width:none;background:0 0;border-bottom:0;flex-wrap:nowrap;justify-content:safe center;gap:4px 8px;padding:2px 4px 4px;overflow-x:auto}.theatre-front.compact .seat-take{width:36px;height:36px;font-size:1rem}.theatre-front.compact .seat-label{display:none}.theatre-front.compact .seat .menu{top:-8px;right:calc(50% - 24px)}.theatre-front.compact .seat-no,.theatre-front.compact .seat-hush{display:none}.theatre-front.compact .seat{gap:3px}.room-main.watching .stage-area .spectacle,.room-main.watching .stage-area .reactions{z-index:30;position:fixed;inset:0}.room.typing .controls-wrap{display:none}.room.typing .room-main.watching{grid-template-rows:minmax(0,98px) minmax(0,1fr)}.room.typing .room-main.watching .theatre-front,.room.typing .room-main.watching .theatre-bar,.room.typing .room-main.watching .theatre-marquee,.room.typing .room-main.watching .theatre-offer,.room.typing .room-main.watching .theatre-reading{display:none}.room.typing .room-main.watching .theatre-frame{border-radius:10px;width:160px;height:90px;max-height:none;margin-left:auto;box-shadow:0 8px 24px #00000073}@media (height<=520px){.room.typing .room-main.watching{grid-template-rows:minmax(0,71px) minmax(0,1fr)}.room.typing .room-main.watching .theatre-frame{width:112px;height:63px}}}.billiards{flex-direction:column;gap:8px;display:flex}.room-main.watching .stage-wrap>.billiards{order:-1}@media (width>=901px){.room-main.watching .stage-wrap>.billiards{z-index:4;background:var(--bg);padding-bottom:6px;position:sticky;top:0;box-shadow:0 10px 18px -10px #00000080}}.table-frame{aspect-ratio:212/112;justify-content:center;align-items:center;width:100%;max-height:min(46dvh,460px);display:flex;position:relative}.table-frame canvas{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;display:block;box-shadow:0 18px 50px #00000073}.table-frame canvas.mine{cursor:crosshair}.table-bar{flex-direction:column;gap:6px;display:flex}.table-chairs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.table-chair{border:1px solid var(--border);background:var(--bg-2);border-radius:12px;align-items:center;gap:8px;min-width:0;min-height:40px;padding:4px 10px;font-size:.88rem;display:flex}.table-chair.right{flex-direction:row-reverse}.table-chair{flex-wrap:wrap;row-gap:3px}.table-rack{flex-basis:100%;align-items:center;gap:3px;min-height:16px;display:flex}.table-chair.right .table-rack{justify-content:flex-end}.table-rack .hint{margin-right:2px;font-size:.74rem}.mini-ball{box-sizing:border-box;background:var(--c);border-radius:50%;flex:none;width:15px;height:15px;position:relative;box-shadow:inset -1px -1px 2px #0006,0 1px 1px #00000059}.mini-ball.solid.down:after{content:"";background:#f8f6ef;border-radius:50%;position:absolute;inset:4px}.mini-ball.stripe.down{background:linear-gradient(#f4f1e8 30%, var(--c) 30%, var(--c) 70%, #f4f1e8 70%)}.mini-ball.up{border:2px solid var(--c);box-shadow:none;opacity:.8;background:0 0}.mini-ball.eight.up{border-color:#ffffff73}.mini-ball.eight.target{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);opacity:1}@media (width>=901px){.table-rack{flex-basis:auto;margin-left:4px}.table-chair.right .table-rack{margin-left:0;margin-right:4px}}.table-chair.turn{border-color:var(--border-gold);box-shadow:0 0 0 2px color-mix(in oklab, var(--gold) 28%, transparent)}.table-chair.empty{border-style:dashed;justify-content:center}.table-chair strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.table-chair .hint{white-space:nowrap}.table-stand{white-space:nowrap;font-size:.8rem}.table-vs{letter-spacing:.12em;color:var(--muted);align-self:center;font-size:.7rem;font-weight:800}.table-clock{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8rem}.table-clock.low{color:var(--crimson);font-weight:700}.group-dot{background:#f2c230;border:1px solid #00000059;border-radius:50%;flex:none;width:14px;height:14px}.group-dot.stripe{background:linear-gradient(#f4f1e8 28%,#2458c9 28% 72%,#f4f1e8 72%)}.table-status{flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:28px;font-size:.86rem;display:flex}.table-status .spacer{flex:1}.table-words{min-width:0}@media (width<=900px){.room-main.watching .billiards{gap:6px}.table-chair{gap:6px;min-height:36px;padding:3px 8px;font-size:.82rem}.table-status{gap:4px 8px;min-height:24px;font-size:.8rem}.table-how{display:none}.table-status .icon-btn{width:30px;height:30px}.room.typing .billiards>:not(.table-frame){display:none}.room.typing .room-main.watching .table-frame{aspect-ratio:auto;flex:none;width:170px;height:90px;min-height:0;max-height:none;margin-left:auto}}.line-text{display:contents}.theatre-sheet{flex-direction:column;gap:10px;display:flex}.theatre-sheet .theatre-form .input{min-height:40px}.theatre-sheet-acts{flex-wrap:wrap;gap:8px;display:flex}.theatre-sheet-acts .btn{align-items:center;gap:6px;display:inline-flex}.theatre-sheet-stop{color:var(--crimson);border-color:color-mix(in oklab, var(--crimson) 55%, transparent);margin-left:auto}.theatre-line.sheet{flex-direction:column;gap:8px;padding:0;overflow:visible}.theatre-line.sheet .line-card{flex-direction:row;align-items:center;gap:10px;width:auto}.theatre-line.sheet .line-still{flex:none;width:84px}.theatre-line.sheet .line-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.theatre-line.sheet .line-title{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;display:-webkit-box}.theatre-line.sheet .line-remove{opacity:1;background:var(--panel-2);width:30px;height:30px;color:var(--text);flex:none;position:static}.table-frame canvas:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.table-aim{flex-direction:column;gap:6px;display:flex}.table-status .seg-group{flex:none}.seg-group{border:1px solid var(--border);background:var(--bg-2);border-radius:999px;display:inline-flex;overflow:hidden}.seg-group .seg{min-height:36px;color:var(--text);background:0 0;border:0;padding:0 14px;font-size:.84rem;font-weight:600}.seg-group .seg.on{background:linear-gradient(180deg, var(--gold-2), var(--gold));color:var(--gold-ink)}.table-aim-row{align-items:center;gap:6px;display:flex}.aim-btn{border:1px solid var(--border);background:var(--panel-2);width:44px;height:44px;color:var(--text);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;line-height:1;display:inline-flex}.aim-btn:hover:not(:disabled){background:#ffffff24}.aim-btn:active:not(:disabled){background:#fff3;transform:translateY(1px)}.table-aim.off .aim-btn,.table-aim.off .power-meter,.table-aim.off .table-shoot{opacity:.4;pointer-events:none}.aim-btn:disabled{cursor:default}.table-status{min-height:38px}.power-meter{border:1px solid var(--border);background:var(--bg-2);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;flex:60px;min-width:56px;height:44px;position:relative;overflow:hidden}.power-meter .power-fill{background:linear-gradient(90deg,#4fb36b,#f2c230 55%,#d8322e);position:absolute;top:0;bottom:0;left:0}.power-meter .power-ticks{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#00000059 calc(10% - 1px) 10%);position:absolute;inset:0}.power-meter em{color:#fff;text-shadow:0 1px 2px #000000b3;place-items:center;font-size:.86rem;font-style:normal;font-weight:800;display:grid;position:absolute;inset:0}.power-meter:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.table-shoot{letter-spacing:.02em;border-radius:12px;flex:none;min-width:86px;height:44px;min-height:44px;padding:0 18px;font-weight:800}@media (width>=901px){.power-meter{max-width:420px}}@media (width<=900px){.room-main.playing{grid-template-rows:minmax(0,1fr) minmax(0,auto)}.room-main.playing .panel{flex:none;height:max(96px,13dvh)}.room.typing .room-main.playing .panel{height:auto}.room-main.playing .stage-wrap{padding-top:6px}.room-main.playing .stage-wrap>.billiards{flex:none;gap:4px;height:100%}.room-main.playing .stage-wrap>.table-front{order:-1}.room-main.playing .table-status{min-height:34px}.room-main.playing .table-status .seg-group .seg{min-height:30px;padding:0 10px;font-size:.8rem}.room.typing .room-main.playing .stage-wrap>.billiards{height:auto}.room-main.playing .table-frame{aspect-ratio:auto;flex:1 1 0;min-height:200px;max-height:none}.table-shoot{min-width:78px;padding:0 14px}}.spin-btn{border:1px solid var(--border);background:var(--panel-2);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.spin-btn:hover{background:#ffffff24}.spin-ball{background:radial-gradient(circle at 35% 30%,#fff,#efeadc 60%,#bdb5a4);border-radius:50%;width:22px;height:22px;position:relative;box-shadow:inset 0 -1px 2px #00000040}.spin-dot{background:#d8322e;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;box-shadow:0 0 0 1px #fff}.spin-sheet{flex-direction:column;align-items:center;gap:10px;display:flex}.spin-sheet>.hint{text-align:center;margin:0}.spin-face{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;border-radius:50%;width:min(220px,62vw);height:min(220px,62vw)}.spin-face svg{width:100%;height:100%;display:block}.spin-face:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.spin-words{min-height:1.4em;margin:0;font-weight:700}.spin-presets{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.spin-sheet .modal-actions{align-self:stretch}@media (width<=900px){.table-status .spin-btn{width:30px;height:30px}.spin-ball{width:20px;height:20px}}@media (width>=601px){.ring.wide .ring-floor{width:40cqw;height:40cqw}.ring.wide .seat{width:17cqw;transform:translate(-50%, -50%) rotate(var(--angle)) translate(40cqw) rotate(calc(-1 * var(--angle)))}}.stage.rows{flex-direction:column;gap:10px;width:min(100%,760px);margin:0 auto;padding:4px 0 6px;display:flex;position:relative}.rows-floor{color:var(--gold);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;display:flex}.rows-floor .ring-title{font-size:1rem}.rows-count{color:var(--muted);font-size:.78rem}.rows-seats{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));align-items:start;gap:12px 6px;display:grid}.rows-seats .seat{z-index:1;min-width:0;position:relative}.rows-seats .seat-take{width:56px;height:56px;font-size:1.2rem}.rows-seats .seat-no{left:calc(50% - 36px)}.rows-seats .seat .menu{right:calc(50% - 40px)}.rows-seats .seat-label .rank-badge,.rows-seats .seat-tagline{display:none}.stage-mc.big .mc-columns{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}@media (width<=600px){.rows-seats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 4px}.rows-floor .ring-title{font-size:.9rem}}.chat-empty{text-align:center;color:var(--muted);margin:auto 0;padding:12px;font-size:.85rem}@media (width<=900px){.theatre-strip,.table-front{justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.theatre-strip>.stage-theatre,.table-front>.stage-theatre{flex:0 auto;width:auto;min-width:0;max-width:100%}.gallery{border-left:1px solid var(--border);flex:1 1 0;align-items:center;gap:6px;min-width:96px;padding:2px 4px 2px 8px;display:flex}.gallery-count{color:var(--muted);flex:none;align-items:center;gap:3px;font-size:.74rem;font-weight:600;display:inline-flex}.gallery-faces{scrollbar-width:none;flex:1 1 0;align-items:center;gap:5px;min-width:0;padding:5px 4px;display:flex;overflow-x:auto}.gallery-faces::-webkit-scrollbar{display:none}.gallery-face{flex:none;position:relative}.gallery-seat{background:0 0;border:0;border-radius:50%;padding:0;line-height:0;display:block}.gallery-face.me .gallery-seat{box-shadow:0 0 0 2px var(--gold)}.gallery-face.targeted .gallery-seat{box-shadow:0 0 0 2px var(--gold-2), 0 0 12px #e2b94b99}.gallery-face.invited .gallery-seat{box-shadow:0 0 0 2px var(--green)}.gallery-face.cinema-glow .gallery-seat{box-shadow:0 0 0 2px var(--gold-2), 0 0 16px #f3d27ab3}.gallery-hand{color:var(--gold-ink);background:linear-gradient(180deg, var(--gold-2), var(--gold));border-radius:999px;align-items:center;gap:1px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1.5;display:inline-flex;position:absolute;bottom:-4px;right:-5px}.gallery-face .menu{z-index:3;position:absolute;top:-7px;left:-7px}.gallery-face .menu .icon-btn{opacity:.8;width:20px;height:20px}.gallery-face .menu .icon-btn svg{width:11px;height:11px}.room-main.watching .stage-wrap{padding-top:8px}.chat-list>:first-child{margin-top:auto}.room.typing .room-main.watching .theatre-strip{display:none}}.menagerie{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stage-area>.stage,.stage-area>.house{z-index:1;position:relative}.number-chip{letter-spacing:.06em}.fav-chip{font:inherit;cursor:pointer;color:var(--muted);font-size:.78rem}.fav-chip:disabled{cursor:default;opacity:1}.fav-chip.on,.fav-chip:disabled svg{color:var(--vermilion-2)}.fav-chip .fav-count{color:var(--text);font-weight:600}.fav-btn{width:auto;min-width:38px;color:var(--muted);border-radius:999px;flex:none;gap:3px;padding:0 8px}.fav-btn.on{color:var(--vermilion-2);border-color:color-mix(in oklab, var(--vermilion) 40%, var(--border))}.fav-btn .fav-count{color:var(--text);font-size:.75rem;font-weight:600}.fav-filter svg{color:var(--vermilion-2)}.hall-number{letter-spacing:.04em;color:var(--muted);flex:none;font-size:.72rem;font-weight:600}.hall-search{min-height:38px;margin:0 0 10px}.hall-lookup{align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;display:flex}.hall-closed{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.hall-closed li{border:1px dashed var(--border);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.hall-closed li svg{color:var(--vermilion-2)}.closed-palace{flex-basis:100%;margin:6px 0 0}.closed-palace .link{align-items:center;gap:4px;margin-left:6px;display:inline-flex}.notice-cards{top:calc(62px + env(safe-area-inset-top));z-index:44;width:max-content;max-width:min(560px,100vw - 24px);animation:royal-in .5s var(--ease) both;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.notice-cards.inline{align-items:stretch;width:auto;max-width:none;margin:0 0 12px;animation-name:royal-in-flow;position:static;transform:none}.notice-card{border:1px solid var(--border-gold);background:color-mix(in oklab, var(--bg-2) 92%, var(--gold) 8%);max-width:100%;box-shadow:0 0 0 1px #e2b94b26, var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:.9rem;display:flex}.notice-cards.inline .notice-card{border-radius:var(--radius);box-shadow:none}.notice-card-icon{color:var(--gold);flex:none;display:inline-flex}.notice-card.live .notice-card-icon{color:var(--vermilion-2)}.notice-card-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.notice-card-text strong{color:var(--gold-2)}.notice-card-dismiss{flex:none}.notice-cards-more{color:var(--muted);text-shadow:0 1px 2px #0009;font-size:.72rem}@media (width<=600px){.notice-card{gap:8px;padding:6px 6px 6px 12px;font-size:.82rem}.notice-card-text{white-space:normal}}.invite-sheet-intro{margin:0 0 10px}.invite-list-people{flex-direction:column;gap:6px;max-height:min(52vh,460px);margin:8px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.invitee{padding:0}.invitee-pick{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.invitee-pick input{width:18px;height:18px;accent-color:var(--gold);flex:none}.invitee.picked{background:color-mix(in oklab, var(--gold) 14%, var(--panel));opacity:1}.invitee.inside{opacity:.55}.invitee.inside .invitee-pick{cursor:default}.invite-sheet .notice{margin:10px 0 0}.invite-sheet-actions{align-items:center}.msg-join{color:var(--muted);text-shadow:0 1px 2px #0000008c;flex-wrap:wrap;align-items:center;gap:4px;margin:0;font-size:.8rem;display:flex}.msg-join-wave{font-size:.85rem}.msg-join-name{color:var(--text);font-weight:600}.msg-join .rank-badge{font-size:.66rem}.palace-by-number .palace-card{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:420px;padding:20px;display:flex}.palace-card h1{margin:0;font-size:1.4rem}.palace-card-host{align-items:center;gap:8px;margin:0;display:inline-flex}.palace-card .btn svg{color:var(--vermilion-2)}.room-name{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.room-meta{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}@media (width<=900px){.room-name{flex-flow:column;align-items:flex-start;gap:2px}.room-name h1{max-width:100%;font-size:.98rem;line-height:1.2}.room-meta{flex-wrap:nowrap;gap:2px;max-width:100%;overflow:hidden}.room-meta .code-chip,.room-meta .chip-icon{background:0 0;border-color:#0000;min-height:18px;padding:0 5px;font-size:.7rem;line-height:1}.room-meta .code-chip{letter-spacing:.04em;padding-left:0}.room-meta .code-chip svg{width:11px;height:11px}.room-meta .room-count span,.room-meta .fav-chip .fav-count{display:inline}.room-meta .code-chip{font-family:var(--font);letter-spacing:0;color:var(--muted);font-weight:600}.room-meta .code-chip svg{display:none}}@media (width<=600px){.room-actions{gap:6px}.room-actions .icon-btn{width:34px;height:34px}}@media (width<=900px){.room-meta .chip-icon{gap:3px;padding:0 3px}}.seat-empty{position:relative}.seat-take.seat-shut{border-style:solid;border-color:color-mix(in oklab, var(--muted) 45%, transparent);background:color-mix(in oklab, var(--bg) 70%, transparent);color:var(--muted)}button.seat-take.seat-shut:hover{border-color:var(--gold);color:var(--gold-2)}.seat-lock{z-index:2;border:1px solid var(--border);background:var(--bg-2);width:22px;height:22px;color:var(--muted);opacity:.7;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:-2px;left:calc(50% + 20px)}.seat-lock:hover,.seat-lock:focus-visible{opacity:1;color:var(--gold-2);border-color:var(--gold)}@media (width<=900px){.seat-lock{width:20px;height:20px;left:calc(50% + 12px)}}.theatre-front .seat-lock,.audience-row .seat-lock,.mc-columns .seat-lock{width:18px;height:18px;left:calc(50% + 10px)}.clean-chip{cursor:pointer;font:inherit;white-space:nowrap;color:var(--gold-2);border-color:var(--border-gold);margin-left:8px;font-size:.72rem}.silence-btn.active{color:var(--vermilion-2);border-color:color-mix(in oklab, var(--vermilion) 45%, var(--border))}@media (width<=600px){.clean-chip{margin-left:4px;padding:2px 6px}}.icon-btn.has-dot{position:relative}.icon-btn.has-dot:after{content:"";background:var(--gold-2);border-radius:50%;width:7px;height:7px;position:absolute;top:3px;right:3px}@media (width<=600px){.controls .btn{white-space:nowrap;padding:0 10px}.control-buttons{gap:4px}.controls .icon-btn{width:34px;height:34px}.clean-chip{display:none}.controls .seat-btn{border-radius:50%;justify-content:center;width:40px;min-width:40px;padding:0}.seat-btn .btn-label,.hushed-chip .hushed-text{display:none}}.stickers{pointer-events:none;z-index:6;position:absolute;inset:0;overflow:hidden}.sticker-spot{will-change:transform, opacity;flex-direction:column;align-items:center;gap:2px;animation:2.6s cubic-bezier(.2,.7,.3,1) both sticker-rise;display:flex;position:absolute;bottom:6%;transform:translate(-50%)}.sticker-art{filter:drop-shadow(0 4px 10px #00000059);width:88px;height:88px;position:relative}.sticker-spot.mine:not(.seated) .sticker-art{width:100px;height:100px}.sticker-spot small{color:#fff;white-space:nowrap;background:#140f2db3;border-radius:999px;padding:1px 7px;font-size:.66rem;font-weight:700}.sticker-spot.seated{animation-name:sticker-pop;bottom:auto;transform:translate(-50%,-50%)}.sticker-spot.seated .sticker-art{width:var(--size,96px);height:var(--size,96px)}.sticker-spot.seated:before{content:"";width:calc(var(--size,96px) * .84);height:calc(var(--size,96px) * .84);background:radial-gradient(circle, color-mix(in oklab, var(--bg-2) 97%, transparent) 60%, transparent 71%);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sticker-spot.dice .sticker-art{padding:14%}@keyframes sticker-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}10%{opacity:1;transform:translate(-50%,-50%)scale(1.12)}18%{transform:translate(-50%,-50%)scale(1)}86%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.8)}}@keyframes sticker-rise{0%{opacity:0;transform:translate(-50%,24px)scale(.5)}10%{opacity:1;transform:translate(-50%)scale(1.08)}18%{transform:translate(-50%)scale(1)}84%{opacity:1;transform:translate(-50%,-24px)}to{opacity:0;transform:translate(-50%,-40px)scale(.9)}}@keyframes sticker-fade{0%{opacity:0}10%,86%{opacity:1}to{opacity:0}}@media (width<=900px){.sticker-art{width:72px;height:72px}.sticker-spot.mine:not(.seated) .sticker-art{width:84px;height:84px}}.stk{overflow:visible}.stk-emote{transform-origin:20% 100%;animation:.45s cubic-bezier(.2,.9,.3,1.3) .25s both stk-pop-in}.stk-emote text{transform-origin:50%;animation:.9s ease-in-out .7s infinite stk-wiggle}.stk-face{transform-origin:50% 55%}.stk-motion-shake{animation:.32s infinite stk-shake}.stk-motion-sob{animation:.6s infinite stk-sob}.stk-motion-pulse{animation:.7s infinite stk-pulse}.stk-motion-rage{animation:.12s infinite stk-rage}.stk-motion-jump{animation:.8s infinite stk-jump}.stk-motion-nod{animation:1.1s infinite stk-nod}.stk-motion-doze{animation:2.4s infinite stk-doze}.stk-motion-lean{animation:1s infinite stk-lean}.stk-heart-eye{transform-origin:50%;animation:stk-beat .6s ease-in-out var(--delay,0s) infinite}.stk-pupil{transform-origin:50%;animation:.8s infinite stk-shrink}.stk-shades{animation:.5s ease-out .15s both stk-shades-on}.stk-mouth-laugh{transform-origin:50% 0;animation:.32s infinite stk-gape}.stk-mouth-wobble{transform-origin:50%;animation:.35s infinite stk-wobble}.stk-mouth-o{transform-origin:50%;animation:.8s infinite stk-gasp}.stk-mouth-small-o{transform-origin:50%;animation:1.2s infinite stk-snore}.stk-squirt.left{animation:stk-squirt-left .8s ease-in-out var(--delay,0s) infinite}.stk-squirt.right{animation:stk-squirt-right .8s ease-in-out var(--delay,0s) infinite}.stk-stream{stroke-dasharray:9 6;animation:stk-flow .5s linear var(--delay,0s) infinite}.stk-float{animation:stk-float 1.4s ease-in-out var(--delay,0s) infinite}.stk-puff{transform-origin:50% 100%;animation:stk-puff .9s ease-in-out var(--delay,0s) infinite}.stk-sweat{animation:1.2s infinite stk-sweat}.stk-sparkle{transform-origin:50%;animation:stk-twinkle 1.1s ease-in-out var(--delay,0s) infinite}.stk-z{animation:stk-z 1.6s ease-in-out var(--delay,0s) infinite}.stk-blown{transform-origin:50%;animation:1.4s infinite stk-blown}.stk-bob{transform-origin:50% 100%;animation:1.3s infinite stk-bob}.stk-sway{transform-origin:50% 100%;animation:1.6s infinite stk-sway}.stk-petal{transform-origin:50%;animation:stk-petal 1.8s ease-in-out var(--delay,0s) infinite}.stk-glass{transform-origin:50% 100%;animation:.9s infinite stk-clink-left}.stk-glass.right{animation-name:stk-clink-right}.stk-clink{transform-origin:50%;animation:.9s infinite stk-clink}.stk-blow{transform-origin:0;animation:.5s infinite stk-blow}.stk-note{animation:stk-note 1.2s ease-in-out var(--delay,0s) infinite}.stk-lines{animation:.36s infinite stk-flash}.stk-hand{transform-origin:50% 100%;animation:.36s infinite stk-clap}.stk-burst{transform-origin:50%;animation:stk-burst 1.3s ease-out var(--delay,0s) infinite}.stk-float-up{transform-origin:50% 100%;animation:1.8s infinite stk-balloon}.stk-shine{animation:1.6s ease-in-out .3s infinite stk-shine}.stk.still,.stk.still *{animation:none!important}@keyframes stk-pop-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}@keyframes stk-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)scale(1.06)}75%{transform:rotate(10deg)scale(1.06)}}@keyframes stk-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}@keyframes stk-sob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)scale(1.02,.98)}}@keyframes stk-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes stk-rage{0%,to{transform:translate(-2px)rotate(-3deg)}50%{transform:translate(2px)rotate(3deg)}}@keyframes stk-jump{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-10px)scale(.97,1.04)}55%{transform:translateY(0)scale(1.04,.96)}}@keyframes stk-nod{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)}}@keyframes stk-doze{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)translateY(2px)}}@keyframes stk-lean{0%,to{transform:none}50%{transform:translate(4px)rotate(8deg)}}@keyframes stk-beat{0%,to{transform:scale(1)}40%{transform:scale(1.3)}}@keyframes stk-shrink{0%,to{transform:scale(1)}50%{transform:scale(.6)}}@keyframes stk-shades-on{0%{opacity:0;transform:translateY(-34px)}to{opacity:1;transform:none}}@keyframes stk-gape{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.14)}}@keyframes stk-wobble{0%,to{transform:scaleX(1)}50%{transform:scaleX(.9)scaleY(1.06)}}@keyframes stk-gasp{0%,to{transform:scale(.75)}50%{transform:scale(1.15)}}@keyframes stk-snore{0%,to{transform:scale(1)}50%{transform:scale(1.45)}}@keyframes stk-squirt-left{0%{opacity:0;transform:translate(0)scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(-14px,18px)scale(1)}}@keyframes stk-squirt-right{0%{opacity:0;transform:translate(0)scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(14px,18px)scale(1)}}@keyframes stk-flow{to{stroke-dashoffset:-15px}}@keyframes stk-float{0%{opacity:0;transform:translateY(4px)scale(.6)}30%{opacity:1}to{opacity:0;transform:translateY(-16px)scale(1.1)}}@keyframes stk-puff{0%{opacity:.9;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-12px)scale(1.25)}}@keyframes stk-sweat{0%{opacity:0;transform:translateY(-4px)}25%{opacity:1}to{opacity:0;transform:translateY(12px)}}@keyframes stk-twinkle{0%,to{opacity:.5;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(45deg)}}@keyframes stk-z{0%{opacity:0;transform:translate(-4px,6px)}30%{opacity:1}to{opacity:0;transform:translate(6px,-10px)}}@keyframes stk-blown{0%{opacity:0;transform:translate(-22px,8px)scale(.4)}55%{opacity:1;transform:none}to{opacity:0;transform:translate(6px,-8px)scale(1.15)}}@keyframes stk-bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-5px)rotate(4deg)}}@keyframes stk-sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes stk-petal{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-6px,30px)rotate(140deg)}}@keyframes stk-clink-left{0%,to{transform:rotate(-8deg)}45%{transform:rotate(6deg)}}@keyframes stk-clink-right{0%,to{transform:rotate(8deg)}45%{transform:rotate(-6deg)}}@keyframes stk-clink{0%,30%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}80%,to{opacity:0;transform:scale(1)}}@keyframes stk-blow{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes stk-note{0%{opacity:0;transform:translate(-6px,6px)}30%{opacity:1}to{opacity:0;transform:translate(10px,-14px)}}@keyframes stk-flash{0%,to{opacity:.2}50%{opacity:1}}@keyframes stk-clap{0%,to{transform:rotate(-16deg)}50%{transform:rotate(0)}}@keyframes stk-burst{0%{opacity:0;transform:scale(.2)}20%{opacity:1}70%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.25)}}@keyframes stk-balloon{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-8px)rotate(4deg)}}@keyframes stk-shine{0%{transform:translate(-20px)}60%,to{transform:translate(96px)}}.die{width:100%;height:100%;display:block;overflow:visible}.die.rolling{animation:.45s linear infinite die-tumble}.die.landed{animation:.35s cubic-bezier(.2,.9,.3,1.4) both die-land}@keyframes die-tumble{0%{transform:rotate(0)translateY(0)}25%{transform:rotate(90deg)translateY(-6%)}50%{transform:rotate(180deg)translateY(0)}75%{transform:rotate(270deg)translateY(-6%)}to{transform:rotate(360deg)translateY(0)}}@keyframes die-land{0%{transform:scale(1.3)}to{transform:none}}.reaction-picker.express{flex-direction:column;gap:8px;width:min(344px,100vw - 24px);display:flex}.express-tabs{border-top:1px solid var(--border);order:2;gap:4px;padding-top:6px;display:flex}.reaction-picker .express-tabs button{width:auto;height:auto;color:var(--muted);background:0 0;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:5px 2px 4px;font-size:.7rem;font-weight:600;display:flex}.reaction-picker .express-tabs button:hover{color:var(--text);transform:none}.reaction-picker .express-tabs button.active{color:var(--text);background:var(--panel-2)}.express-tab-art{width:28px;height:28px;display:block;position:relative}.express-tab-emoji{height:28px;font-size:1.3rem;line-height:28px;display:block}.express-quick{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.express-stickers{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.reaction-picker .express-stickers button{aspect-ratio:1;border-radius:14px;width:auto;height:auto;padding:0;position:relative}.reaction-picker .express-stickers button .stk{width:86%;height:86%;inset:7%}.chat-tabs{scrollbar-width:none;flex:none;gap:4px;padding:6px 12px 2px;display:flex;overflow-x:auto}.chat-tabs::-webkit-scrollbar{display:none}.chat-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:3px 11px;font-size:.78rem;font-weight:600;position:relative}.chat-tab:hover{color:var(--text);background:color-mix(in oklab, var(--text) 7%, transparent)}.chat-tab.active{color:var(--text);background:color-mix(in oklab, var(--gold) 24%, transparent)}.chat-tab-dot{background:var(--gold);border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:3px}.msg-time{float:right;color:var(--muted);font-variant-numeric:tabular-nums;text-shadow:none;opacity:.85;margin-left:8px;font-size:.68rem;line-height:1.9}.msg-line{color:var(--muted);text-shadow:0 1px 2px #0000008c;flex-wrap:wrap;align-items:center;gap:4px;margin:0;font-size:.8rem;display:flex}.msg-line .msg-time{float:none;line-height:inherit;flex:none;margin-left:auto;padding-left:8px}.msg-line-icon{font-size:.85rem}.msg-line-name{color:var(--text);font-weight:600}.msg-gift-count{color:var(--gold-2)}.msg-note .rank-badge{font-size:.66rem}.msg-die{vertical-align:-6px;width:22px;height:22px;margin-right:6px;display:inline-block}.dice-value{color:var(--gold-2);font-size:1.05em}.dice-rolling{color:var(--muted);font-style:italic}.dice-btn{cursor:pointer;touch-action:manipulation;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;flex:none;width:40px;height:40px;padding:8px}.dice-btn .die{transition:transform .2s}.dice-btn:hover:not(:disabled) .die{transform:rotate(-14deg)scale(1.06)}.dice-btn:active:not(:disabled) .die{transform:rotate(20deg)scale(.92)}.dice-btn:disabled{opacity:.45;cursor:not-allowed}@media (width<=900px){.chat-tabs{padding:4px 10px 0}.dice-btn{width:36px;height:36px;padding:7px}}@media (prefers-reduced-motion:reduce){.stk,.stk *,.die{animation:none!important}.sticker-spot,.sticker-spot.seated{animation-name:sticker-fade}}html[data-perf=lightest] .stk,html[data-perf=lightest] .stk *,html[data-perf=lightest] .die{animation:none!important}.inbox-btn{position:relative}.inbox-btn-badge{background:var(--vermilion);color:#fff;text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg-2);border-radius:999px;padding:0 5px;font-size:.66rem;font-weight:800;line-height:18px;position:absolute;top:-4px;right:-4px}.app-nav-inbox{flex:none}:is(.app-nav-inbox~.app-nav-hint,.app-nav .app-nav-hint:has(+.app-nav-inbox)){margin-left:auto}.inbox-backdrop{z-index:65;background:#08061252;position:fixed;inset:0}.inbox-sheet{background:var(--bg-2);border-left:1px solid var(--border);width:min(400px,100vw);box-shadow:var(--shadow);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;animation:.18s ease-out both inbox-in;display:flex;position:absolute;top:0;bottom:0;right:0}@keyframes inbox-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.inbox-head{padding:calc(10px + env(safe-area-inset-top)) 12px 10px 16px;border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;display:flex}.inbox-head h2{margin:0;font-size:1.1rem}.inbox-close{margin-left:auto}.thread-head{padding-left:8px}.thread-name{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.thread-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thread-head .inbox-close{margin-left:0}.thread-head .menu{position:relative}.thread-menu{position:absolute;top:calc(100% + 6px);right:0}.inbox-list{flex:1;min-height:0;padding:6px 8px;overflow:auto}.inbox-empty{text-align:center;padding:24px 12px}.inbox-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 8px;display:flex}.inbox-row:hover,.inbox-row:focus-visible{background:var(--panel-2)}.inbox-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inbox-row-top{align-items:baseline;gap:6px;display:flex}.inbox-row-top strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inbox-row-top time{color:var(--muted);flex:none;margin-left:auto;font-size:.72rem}.inbox-row-last{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem;overflow:hidden}.inbox-row.unread .inbox-row-last{color:var(--text);font-weight:600}.inbox-row-last.retracted{font-style:italic}.stranger-chip{color:var(--gold-2);border-color:var(--border-gold);padding:0 6px;font-size:.62rem;font-style:normal}.inbox-badge{background:var(--vermilion);color:#fff;text-align:center;border-radius:999px;flex:none;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;line-height:22px}.inbox-settings{border-top:1px solid var(--border);flex:none;padding:12px 16px 14px}.inbox-settings .field{margin-bottom:8px}.inbox-settings .field>span{font-size:.85rem;font-weight:600}.blocked-list{flex-direction:column;gap:6px;max-height:180px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.blocked-list li{align-items:center;gap:8px;display:flex}.blocked-list li>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.thread-stranger{color:var(--muted);background:color-mix(in oklab, var(--gold) 8%, transparent);border-bottom:1px solid var(--border);flex:none;margin:0;padding:8px 16px;font-size:.82rem}.letters{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 14px;display:flex;overflow:auto}.letters-more,.letters-start{text-align:center;align-self:center;margin:0 0 6px;font-size:.8rem}.letter{flex-direction:column;align-self:flex-start;gap:3px;max-width:82%;display:flex}.letter.mine{align-self:flex-end;align-items:flex-end}.letter-text{background:var(--panel-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;margin:0;padding:8px 12px;line-height:1.4}.letter.mine .letter-text{background:color-mix(in oklab, var(--gold) 24%, transparent);border-radius:16px 16px 4px}.letter.retracted .letter-text{color:var(--muted);border:1px dashed var(--border);background:0 0;font-style:italic}.letter-foot{color:var(--muted);align-items:center;gap:8px;padding:0 4px;font-size:.7rem;display:flex}.letter-foot .link{font-size:inherit}.letter-report{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;padding:0 2px;font-size:.8rem}.letter:hover .letter-report,.letter:focus-within .letter-report{opacity:.7}.letter-seen{color:var(--muted);align-self:flex-end;margin:-4px 4px 0;font-size:.7rem}.letter-notice{color:var(--muted);flex:none;margin:0;padding:6px 16px;font-size:.82rem}.letter-notice.error{color:var(--vermilion-2)}.letter-blocked{border-top:1px solid var(--border);color:var(--muted);flex:none;margin:0;padding:12px 16px;font-size:.85rem}.letter-form{flex:none}.letter-form .input{max-height:120px}.message-btn{flex:none;width:32px;height:32px}.letter-note{top:calc(12px + env(safe-area-inset-top));z-index:66;background:var(--bg-2);border:1px solid var(--border-gold);max-width:min(360px,100vw - 24px);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:4px;padding:6px 6px 6px 8px;animation:.2s ease-out both inbox-in;display:flex;position:fixed;right:12px}.letter-note-open{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;display:flex}.letter-note-text{flex-direction:column;min-width:0;display:flex}.letter-note-text span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem;overflow:hidden}@media (width<=600px){.inbox-backdrop{background:0 0}.inbox-sheet{border-left:0;width:100vw}.letter-note{max-width:none;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.inbox-sheet,.letter-note{animation:none}}
