@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prata-cyrillic-400-normal-CW5LVkdR.woff2) format("woff2"),url(/assets/prata-cyrillic-400-normal-DdkJ869o.woff) format("woff")}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prata-latin-400-normal-DtyCfkTi.woff2) format("woff2"),url(/assets/prata-latin-400-normal-C4yJuFIr.woff) format("woff")}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;margin:0}:root{color-scheme:dark;--umber-950: #0c0a09;--umber-900: #12100e;--umber-850: #1a1714;--umber-800: #24201b;--umber-750: #2e2923;--umber-700: #3a332b;--umber-500: #6d6356;--sand-400: #938878;--sand-300: #bcb1a2;--sand-50: #f1eadf;--amber-400: #f2b95e;--amber-500: #e9a540;--amber-ink: #1c1305;--ember-500: #ef6b5e;--sage-400: #8cc68a;--steel-300: #93b4d8;--bg: var(--umber-900);--stage: var(--umber-950);--s1: var(--umber-850);--s2: var(--umber-800);--s3: var(--umber-750);--s4: var(--umber-700);--line: #2b2621;--line-strong: var(--umber-500);--text: var(--sand-50);--text-2: var(--sand-300);--text-3: var(--sand-400);--accent: var(--amber-500);--accent-hi: var(--amber-400);--accent-ink: var(--amber-ink);--accent-soft: rgba(233, 165, 64, .13);--accent-line: rgba(233, 165, 64, .45);--danger: var(--ember-500);--danger-soft: rgba(239, 107, 94, .13);--danger-line: rgba(239, 107, 94, .45);--ok: var(--sage-400);--ok-soft: rgba(140, 198, 138, .13);--info: var(--steel-300);--info-soft: rgba(147, 180, 216, .11);--info-line: rgba(147, 180, 216, .38);--focus: var(--amber-400);--scrim: rgba(8, 6, 5, .72);--font-ui: "Onest Variable", "Segoe UI", system-ui, sans-serif;--font-display: "Prata", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "Cascadia Mono", Consolas, monospace;--fs-xs: 11px;--fs-sm: 12.5px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 24px;--fs-display: clamp(40px, 5.2vw, 68px);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--control-h: 36px;--shadow-pop: 0 18px 50px rgba(0, 0, 0, .55);--dur-fast: .12s;--dur: .18s;--dur-slow: .26s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1)}html,body,#root{height:100%}body{color:var(--text);font:400 var(--fs-base) / 1.5 var(--font-ui);-webkit-font-smoothing:antialiased;background:var(--bg);overflow:hidden}::selection{background:var(--accent);color:var(--accent-ink)}*{scrollbar-width:thin;scrollbar-color:var(--umber-700) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--umber-700);border-radius:4px}*::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;font:500 13px / 1.3 var(--font-ui);color:var(--text);background:var(--s2);border:1px solid transparent;border-radius:var(--r-md);padding:7px 13px;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}button:hover{background:var(--s3)}button:active{background:var(--s4);transform:translateY(1px)}button:disabled{opacity:.45;cursor:default;transform:none;background:var(--s2)}button.primary{background:var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover{background:var(--accent-hi)}button.primary:active{background:var(--accent)}button.primary:disabled{background:var(--accent)}button.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hi)}button.active:hover{background:#e9a54033}button.danger{background:transparent;border-color:var(--danger-line);color:var(--danger)}button.danger:hover{background:var(--danger-soft)}button.micro{min-height:28px;padding:5px 7px;background:transparent;color:var(--text-2)}button.micro:hover{background:var(--s3);color:var(--text)}.link-btn{min-height:0;background:none;padding:0;color:var(--accent-hi);font-size:var(--fs-sm);width:fit-content}.link-btn:hover{background:none;text-decoration:underline}.link-btn:active{transform:none;background:none}input,select,textarea{font:400 var(--fs-base) / 1.4 var(--font-ui);color:var(--text);background:var(--umber-950);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:8px 11px;min-height:var(--control-h);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}input::placeholder{color:var(--text-3)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select{cursor:pointer}select option{background:var(--s2);color:var(--text)}h1,h2,h3{font-weight:600;letter-spacing:-.01em}h2{display:flex;align-items:center;gap:8px}.spacer{flex:1}.spinner{width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;opacity:.85;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notif-badge{min-width:17px;height:17px;padding:0 5px;border-radius:var(--r-pill);background:var(--danger);color:#1d0b09;font:700 10px / 1 var(--font-ui);display:inline-flex;align-items:center;justify-content:center}.badge{display:inline-flex;align-items:center;gap:4px;font:500 10.5px / 1.3 var(--font-ui);letter-spacing:.02em;border-radius:var(--r-sm);padding:2px 7px;background:var(--s2);color:var(--text-2);flex:0 0 auto}.badge svg{flex:0 0 auto}.badge.host{color:var(--text-3);background:transparent;padding-inline:0}.badge.control{color:var(--accent-hi);background:var(--accent-soft)}.badge.muted{color:var(--danger);background:var(--danger-soft)}.badge.painter{color:var(--accent-hi);background:var(--accent-soft)}.badge.floor{margin-left:8px;color:var(--ok);background:var(--ok-soft)}.badge.sharing{color:var(--danger);background:var(--danger-soft);font-weight:600}.badge.sharing:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:lamp 1.6s ease-in-out infinite}@keyframes lamp{50%{opacity:.3}}.error-banner{display:flex;align-items:flex-start;gap:8px;background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--text);border-radius:var(--r-md);padding:9px 12px;font-size:var(--fs-sm)}.join-wrap{height:100%;overflow-y:auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);align-items:center;gap:clamp(32px,6vw,96px);padding:clamp(24px,6vh,72px) clamp(20px,7vw,112px);background:var(--bg)}.join-intro{max-width:34rem}.join-mark{display:inline-flex;align-items:center;gap:10px;font:400 22px / 1 var(--font-display);color:var(--text);margin-bottom:clamp(28px,7vh,72px)}.join-mark .glyph{color:var(--accent)}.join-headline{font:400 var(--fs-display) / 1.04 var(--font-display);letter-spacing:-.015em;max-width:13ch;text-wrap:balance}.join-lede{margin-top:var(--sp-5);max-width:44ch;color:var(--text-2);font-size:var(--fs-md);line-height:1.6}.join-card{width:100%;max-width:400px;justify-self:end;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}.join-card h1,.join-card h2{font-size:var(--fs-lg);font-weight:600;margin-bottom:2px}.join-card .tagline{color:var(--text-2);font-size:var(--fs-sm)}.join-card>button{min-height:40px}.join-card .divider{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;margin:2px 0}.join-card .divider:before,.join-card .divider:after{content:"";flex:1;height:1px;background:var(--line)}.join-card input[name=room-code]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.28em}.join-card input[name=room-code]::placeholder{letter-spacing:.04em;font-family:var(--font-ui)}.join-foot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--text-3)}.rejoin-card{display:flex;gap:6px;align-items:stretch}.rejoin-card .primary{flex:1;min-height:40px}.rejoin-code{font-family:var(--font-mono);letter-spacing:.12em;font-weight:600}.rejoin-dismiss{padding:8px 10px;color:var(--text-2)}.lang-row{display:flex;gap:4px;flex-wrap:wrap}.lang-chip{min-height:28px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;padding:4px 10px;background:transparent;color:var(--text-3)}.lang-chip:hover{color:var(--text)}.lang-chip.selected{background:var(--s2);color:var(--text)}.knock-wait{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:var(--fs-sm);padding:8px 0}.wait-code{font-family:var(--font-mono);color:var(--accent-hi);letter-spacing:.15em}.app-handoff{display:flex;flex-direction:column;gap:9px;padding:12px;border-radius:var(--r-md);background:var(--info-soft);border:1px solid var(--info-line)}.handoff-text{font-size:var(--fs-sm);color:var(--text);line-height:1.5}.handoff-actions{display:flex;gap:6px}.handoff-actions button{flex:1}@media (max-width: 860px){.join-wrap{grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--sp-6);padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}.join-card{justify-self:stretch;max-width:none;padding:var(--sp-5)}.join-mark{margin-bottom:var(--sp-5);font-size:19px}.join-headline{font-size:clamp(32px,9vw,44px)}.join-lede{margin-top:var(--sp-3);font-size:var(--fs-base)}}.room-wrap{height:100%;display:grid;grid-template-columns:min(var(--people-w, 240px),20vw) minmax(0,1fr) min(var(--chat-w, 300px),27vw);grid-template-rows:52px minmax(0,1fr) 64px;grid-template-areas:"head head head" "people stage chat" "people bar chat";position:relative;background:var(--bg);transition:grid-template-columns var(--dur-slow) var(--ease-out)}.room-wrap.resizing{transition:none;-webkit-user-select:none;user-select:none}.room-head{grid-area:head;display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3) 0 var(--sp-4);background:var(--s1);border-bottom:1px solid var(--line);position:relative;z-index:55;min-width:0}.room-mark{font:400 19px / 1 var(--font-display);color:var(--text);margin-right:var(--sp-2);display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.room-mark .glyph{color:var(--accent)}.room-head>button{flex:0 0 auto}.head-sep{width:1px;height:20px;background:var(--line);margin:0 var(--sp-1);flex:0 0 auto}.people,.chat{position:relative;min-width:0;overflow-x:hidden;background:var(--s1);transition:opacity var(--dur) var(--ease-out)}.people{grid-area:people;border-right:1px solid var(--line);overflow-y:auto;padding-bottom:var(--sp-3)}.chat{grid-area:chat;border-left:1px solid var(--line);display:flex;flex-direction:column}.people.collapsed,.chat.collapsed{opacity:0;pointer-events:none}.panel-title{display:flex;align-items:center;gap:7px;height:44px;padding:0 var(--sp-2) 0 var(--sp-4);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);flex:0 0 auto}.panel-count{font:500 11px / 1 var(--font-mono);color:var(--text-2);letter-spacing:0}.panel-collapse{margin-left:auto;min-height:28px;padding:4px 6px;background:transparent;color:var(--text-3)}.panel-collapse:hover{background:var(--s3);color:var(--text)}.rail-resizer{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:5;touch-action:none;transition:background-color var(--dur-fast)}.rail-resizer.right{right:0}.rail-resizer.left{left:0}.rail-resizer:hover,.resizing .rail-resizer{background:var(--accent-line)}.edge-tab{position:absolute;top:64px;z-index:30;flex-direction:column;gap:6px;padding:12px 6px;background:var(--s1);border:1px solid var(--line);color:var(--text-2)}.edge-tab:hover{color:var(--text);background:var(--s2)}.edge-tab.left{left:0;border-left:none;border-radius:0 var(--r-md) var(--r-md) 0}.edge-tab.right{right:0;border-right:none;border-radius:var(--r-md) 0 0 var(--r-md)}.edge-count{font:500 10px / 1 var(--font-mono);color:var(--text-3)}.person{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin:0 var(--sp-2);padding:7px var(--sp-2);border-radius:var(--r-md);transition:background-color var(--dur-fast);cursor:default}.person:hover{background:var(--s2)}.person .name{flex:1;min-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.person .you{color:var(--text-3);font-weight:400}.avatar{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:650;color:hsl(var(--av-h, 30) 70% 90%);background:hsl(var(--av-h, 30) 42% 34%)}.avatar.live{box-shadow:0 0 0 2px var(--s1),0 0 0 4px var(--danger)}.stage{grid-area:stage;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);background:var(--stage);overflow-y:auto;min-width:0}.stage-tiles{flex:1;min-height:0;display:grid;gap:var(--sp-3);align-content:safe center;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stage-tiles.has-player{flex:0 0 auto;grid-template-columns:repeat(auto-fill,minmax(240px,320px))}.stage-tiles:empty{display:none}.stage-empty{flex:1;display:grid;place-content:center;justify-items:start;gap:var(--sp-3);padding:var(--sp-8);width:100%;max-width:560px;margin:0 auto}.stage-empty .frame{width:100%;aspect-ratio:16 / 7;border-radius:var(--r-lg);background:linear-gradient(180deg,var(--s1),var(--umber-950));box-shadow:inset 0 0 0 1px var(--line);margin-bottom:var(--sp-3)}.stage-empty .frame svg{display:none}.stage-empty h2{font:400 26px / 1.2 var(--font-display);letter-spacing:-.01em}.stage-empty p{color:var(--text-2);max-width:46ch}.stage-empty .actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.stage-empty .actions button{min-height:40px;padding:8px 16px}.tile-wrap{position:relative;min-width:0}.stage-tile{position:relative;background:#000;border-radius:var(--r-lg);overflow:hidden;outline:1px solid var(--line);outline-offset:-1px}.stage-tile video{width:100%;height:auto;max-height:calc(100vh - 160px);display:block;object-fit:contain}.stage-tile .label{position:absolute;left:10px;bottom:10px;font:500 var(--fs-xs) / 1.3 var(--font-ui);background:var(--scrim);border-radius:var(--r-sm);padding:4px 8px}.stage-tile.controllable{outline:2px solid var(--accent);outline-offset:-2px}.stage-tile.controllable video{cursor:crosshair;touch-action:none}.stage-tile.painting{cursor:crosshair}.stage-tile.painting video{pointer-events:none}.request-btn{position:absolute;top:10px;right:10px;background:var(--scrim);font-size:var(--fs-sm);padding:5px 11px}.request-btn:hover{background:var(--s3)}.tile-fs,.tile-clear{position:absolute;z-index:7;background:var(--scrim);padding:6px 8px;min-height:30px}.tile-fs{bottom:10px;right:10px;opacity:0;transition:opacity var(--dur-fast)}.tile-clear{top:10px;right:52px}.stage-tile .label{transition:opacity var(--dur-slow) var(--ease-out)}.stage-tile:hover .tile-fs,.stage-tile:focus-within .tile-fs,.stage-tile.fs-fill .tile-fs{opacity:1}.stage-tile.tile-idle .tile-fs,.stage-tile.tile-idle .tile-clear,.stage-tile.tile-idle .label{opacity:0;pointer-events:none}.stage-tile.tile-idle .tile-fs:focus-visible,.stage-tile.tile-idle .tile-clear:focus-visible{opacity:1;pointer-events:auto}.control-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:9px 12px;border-radius:var(--r-md);font-size:var(--fs-sm);background:var(--s1);border:1px solid var(--line)}.control-banner svg{vertical-align:-2px}.control-banner.sharer{border-color:var(--danger-line);background:var(--danger-soft)}.control-banner.controller{border-color:var(--accent-line);background:var(--accent-soft)}.control-banner.warn-browser{display:block;border-color:var(--info-line);background:var(--info-soft);line-height:1.5}.warn-text{color:var(--info)!important}.warn-text svg{vertical-align:-2px}.control-note{font-size:var(--fs-sm);color:var(--text-2);padding:0 4px}.control-hint{position:absolute;top:10px;left:10px;background:var(--accent);color:var(--accent-ink);font-weight:600;border-radius:var(--r-sm);padding:3px 9px;font-size:var(--fs-xs);pointer-events:none}.dock-row{grid-area:bar;display:flex;align-items:center;justify-content:center;gap:var(--sp-3);background:var(--stage);padding:0 var(--sp-3) var(--sp-3);min-width:0}.control-bar{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-lg);padding:6px}.control-bar>button,.dock-group>button{min-height:36px}.dock-group{position:relative;display:inline-flex;align-items:center;gap:2px}.dock-group>button:first-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.dock-group>button:nth-child(2){border-top-left-radius:3px;border-bottom-left-radius:3px;font:500 12px / 1 var(--font-mono);color:var(--text-2)}.dock-group>button.active:nth-child(2){color:var(--accent-hi)}.paint-fab{width:48px;height:48px;padding:0;border-radius:var(--r-lg);background:var(--s1);border-color:var(--line)}.paint-fab:hover{background:var(--s2)}.paint-fab.active{background:var(--accent-soft);border-color:var(--accent-line)}.chat-log{flex:1;overflow-y:auto;padding:var(--sp-1) var(--sp-3) var(--sp-3);display:flex;flex-direction:column;gap:6px}.chat-msg{position:relative;font-size:13.5px;max-width:92%;align-self:flex-start;background:var(--s2);border-radius:var(--r-lg);border-bottom-left-radius:var(--r-sm);padding:6px 10px 7px}.chat-msg.own{align-self:flex-end;background:var(--accent-soft);border-radius:var(--r-lg);border-bottom-right-radius:var(--r-sm)}.chat-msg .who{display:flex;align-items:baseline;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--text-2);margin-bottom:1px}.chat-msg.own .who{color:var(--accent-hi)}.msg-time{font:400 10px / 1 var(--font-mono);color:var(--text-3)}.edited-mark{color:var(--text-3)}.edited-mark svg{vertical-align:-1px}.chat-msg .msg-text{overflow-wrap:anywhere;line-height:1.45}.chat-msg.deleted{background:transparent;border:1px dashed var(--line)}.chat-msg.deleted .deleted-text{font-style:italic;color:var(--text-3);font-size:var(--fs-sm)}.chat-quote{display:flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--text-2);padding:3px 8px;margin-bottom:4px;background:#00000038;border-radius:var(--r-sm);max-width:100%}.chat-quote .q-nick{color:var(--accent-hi);font-weight:600;flex:0 0 auto}.q-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.msg-actions{position:absolute;top:-14px;right:6px;display:none;gap:1px;background:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);padding:2px;box-shadow:0 6px 16px #0006}.chat-msg:hover .msg-actions,.chat-msg:focus-within .msg-actions{display:flex}.msg-actions button{min-height:26px;padding:3px 6px;background:transparent;color:var(--text-2)}.msg-actions button:hover{background:var(--s4);color:var(--text)}.composer-ctx{display:flex;align-items:center;gap:6px;margin:0 var(--sp-3);padding:6px 10px;font-size:var(--fs-sm);color:var(--text-2);background:var(--s2);border-radius:var(--r-md) var(--r-md) 0 0}.composer-ctx strong{color:var(--text)}.composer-ctx .q-text{flex:1}.composer-ctx button{min-height:24px;padding:2px 5px;background:transparent}.composer-ctx button:hover{background:var(--s3)}.chat-form{display:flex;gap:6px;padding:var(--sp-3);border-top:1px solid var(--line)}.chat-form input{flex:1;min-width:0}.chat-sys{display:flex;align-items:center;gap:7px;padding:3px 4px;font-size:var(--fs-xs);color:var(--text-3)}.sys-dot{flex:0 0 auto;width:4px;height:4px;border-radius:50%;background:currentColor}.sys-text{flex:1;min-width:0}.sys-time{flex:0 0 auto;font:400 10px / 1 var(--font-mono)}.chat-sys.sys-kicked .sys-text,.chat-sys.sys-denied .sys-text{color:var(--danger)}.chat-sys.sys-knocking .sys-text,.chat-sys.sys-share-start .sys-text{color:var(--accent-hi)}.chat-sys.sys-host-changed .sys-text,.chat-sys.sys-painter-on .sys-text{color:var(--text-2)}.reactions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px}.reaction{min-height:24px;padding:1px 7px;gap:4px;font-size:12px;border-radius:var(--r-pill);background:#00000038}.reaction.mine{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.r-count{font:600 11px / 1 var(--font-mono);color:var(--text-2)}.reaction.mine .r-count{color:var(--accent-hi)}.code-lens{position:relative;display:inline-flex;align-items:center;height:30px;font:500 13px / 1 var(--font-mono);letter-spacing:.22em;color:var(--text-2);background:var(--umber-950);border:1px solid var(--line);border-radius:var(--r-md);padding:0 60px 0 12px;overflow:hidden;cursor:default;flex:0 0 auto}.code-mask{opacity:.6;transition:opacity var(--dur)}.code-real{position:absolute;left:12px;top:50%;transform:translateY(-50%);white-space:nowrap;color:var(--accent-hi);opacity:0;transition:opacity var(--dur-fast);-webkit-mask-image:radial-gradient(48px 24px ellipse at var(--mx, 50%) var(--my, 50%),#000 45%,transparent 80%);mask-image:radial-gradient(48px 24px ellipse at var(--mx, 50%) var(--my, 50%),#000 45%,transparent 80%)}.lens-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity var(--dur-fast);background:radial-gradient(64px 32px ellipse at var(--mx, 50%) var(--my, 50%),rgba(233,165,64,.16),transparent 75%)}.code-lens:hover .code-real,.code-lens:focus-within .code-real{opacity:1}.code-lens:hover .code-mask,.code-lens:focus-within .code-mask{opacity:.12}.code-lens:hover .lens-glow{opacity:1}.code-lens:focus-within .code-real{-webkit-mask-image:none;mask-image:none}.lens-icons{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:flex;gap:2px}.lens-icons button{min-height:24px;padding:3px 6px;background:transparent;color:var(--text-3);opacity:.6;transition:opacity var(--dur-fast),background-color var(--dur-fast),color var(--dur-fast)}.code-lens:hover .lens-icons button,.lens-icons button:focus-visible{opacity:1;color:var(--text-2)}.lens-icons button:hover{background:var(--s3);color:var(--text)}.pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.popover{position:absolute;z-index:70;background:var(--s2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:10px;animation:pop-in var(--dur) var(--ease-out)}@keyframes pop-in{0%{opacity:0}}.occupancy-wrap{position:relative;display:inline-flex;flex:0 0 auto}.occupancy{font:500 12px / 1 var(--font-mono);gap:6px;color:var(--text-2)}.occupancy.locked{color:var(--accent-hi);background:var(--accent-soft)}.occupancy-pop{top:calc(100% + 8px);right:0;width:290px}.pop-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pop-label{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--text-2)}.pop-empty{color:var(--text-2);font-size:var(--fs-sm);padding:2px 0}.knock-list{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px}.knock-row{display:flex;align-items:center;gap:6px}.knock-row .name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knock-row button{min-height:28px;padding:3px 9px;font-size:var(--fs-xs)}.quality-pop{bottom:calc(100% + 10px);left:0;width:260px}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.chip{min-height:28px;padding:4px 10px;font-size:var(--fs-sm);background:var(--s3)}.chip:hover{background:var(--s4)}.enc-stats{display:flex;flex-direction:column;gap:2px;font:400 11px / 1.45 var(--font-mono);color:var(--text-2);padding:8px 10px;border-radius:var(--r-md);background:var(--umber-950)}.enc-hw{color:var(--ok)}.enc-sw{color:var(--accent-hi)}.enc-warn{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060504b3;display:grid;place-items:center;padding:var(--sp-4);z-index:100;animation:fade-in var(--dur) var(--ease-out)}@keyframes fade-in{0%{opacity:0}}.modal{width:420px;max-width:100%;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--s1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:var(--shadow-pop);animation:modal-in var(--dur-slow) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}}.modal h2{font-size:var(--fs-lg);margin-bottom:2px}.modal h2 svg{color:var(--text-2)}.modal p{color:var(--text-2)}.modal p strong{color:var(--text)}.modal select,.modal input:not([type=checkbox]):not([type=file]){width:100%}.preset-desc{color:var(--text-2);font-size:var(--fs-sm)}.preset-desc svg{vertical-align:-2px}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.modal-actions button{min-height:38px}.modal input[type=file]{font-size:var(--fs-sm);padding:6px}.modal input[type=file]::file-selector-button{font:inherit;color:var(--text);background:var(--s3);border:none;border-radius:var(--r-sm);padding:6px 10px;margin-right:10px;cursor:pointer}.field{display:flex;flex-direction:column;gap:6px;font-size:13px}.field-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:500}.field-group{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px;background:var(--umber-950);border:1px solid var(--line);border-radius:var(--r-md)}.chips{display:flex;flex-wrap:wrap;gap:6px 14px}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;position:relative;width:30px;height:18px;min-height:0;padding:0;margin:0;border:none;border-radius:var(--r-pill);background:var(--s4);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.toggle input:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--text-2);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast)}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{transform:translate(12px);background:var(--accent-ink)}.toggle input:focus{box-shadow:none}.toggle input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.preset-modal{width:580px}.preset-head{display:flex;align-items:center;justify-content:space-between}.preset-section{margin-top:4px}.preset-section-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:10px 0 6px}.preset-empty{color:var(--text-2);font-size:13px;padding:4px 0}.preset-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-md);margin-bottom:4px;background:var(--s2)}.preset-row .preset-name{font-weight:600}.preset-row .preset-sub{flex:1;color:var(--text-2);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-row button{min-height:28px;padding:3px 10px;font-size:var(--fs-sm);background:var(--s3)}.preset-row button:hover{background:var(--s4)}.preset-row button.danger{background:transparent}.preset-form{display:flex;flex-direction:column;gap:10px}.key-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;align-items:center}.key-chip{display:inline-flex;align-items:center;gap:6px;font:500 12px / 1.3 var(--font-mono);background:var(--s3);border-radius:var(--r-sm);padding:3px 6px 3px 8px;color:var(--text)}.key-chip.static{padding:3px 8px}.key-chip button{min-height:0;background:none;padding:0 2px;color:var(--text-3);font-size:14px;line-height:1}.key-chip button:hover{color:var(--danger);background:none}button.recording{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hi)}.recent-presets{display:flex;flex-direction:column;gap:6px}.recent-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.recent-chip{flex:0 0 auto;min-height:28px;font-size:var(--fs-sm);padding:4px 12px;border-radius:var(--r-pill)}.recent-chip.selected{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hi)}.media-found{display:flex;flex-direction:column;gap:4px}.media-candidate{justify-content:space-between;gap:10px;text-align:left;padding:7px 10px;font-size:var(--fs-sm);white-space:normal}.mc-url{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mc-label{color:var(--text-2);font-size:var(--fs-xs);flex:0 0 auto}.cowatch{position:relative;flex:1 1 auto;min-height:260px;display:flex;flex-direction:column;background:#000;border-radius:var(--r-lg);overflow:hidden;outline:1px solid var(--line);outline-offset:-1px}.cwp:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.cowatch-head{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:center;gap:var(--sp-2);padding:10px 12px 26px;background:linear-gradient(180deg,rgba(0,0,0,.66),transparent);transition:opacity var(--dur-slow) var(--ease-out)}.cowatch-head strong{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;flex:0 0 auto}.cowatch-head strong svg{color:var(--accent)}.cowatch-title{color:var(--text-2);font-size:var(--fs-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cowatch-head .badge{background:#00000080}.cowatch-head button,.cowatch-head .toggle{flex:0 0 auto}.cowatch-head button{min-height:30px;padding:5px 11px}.cowatch-head button.danger{background:#00000073}.cowatch-head .toggle{font-size:var(--fs-sm);color:var(--text-2);background:#00000073;border-radius:var(--r-md);padding:6px 10px}.cwp-stage{position:relative;flex:1;min-height:0;background:#000}.cowatch-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#000;display:block;cursor:pointer}.cwp-big{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;z-index:2;width:60px;height:60px;border-radius:50%;padding:0;background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 24px #00000073}.cwp-big:hover{background:var(--accent-hi)}.cwp-big svg{margin-left:4px}.cwp-fail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-5);text-align:center;background:var(--stage)}.cwp-fail svg{color:var(--accent)}.cwp-fail strong{font-size:var(--fs-lg);font-weight:600}.cwp-fail p{max-width:46ch;color:var(--text-2)}.cwp-fail .cwp-fail-hint{font-size:var(--fs-sm);color:var(--text-3)}.cwp-fail button{margin-top:var(--sp-2);min-height:38px}.cwp-bar{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:28px 14px 10px;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.35) 60%,transparent);transition:opacity var(--dur-slow) var(--ease-out)}.cwp-idle .cwp-bar,.cwp-idle .cowatch-head{opacity:0;pointer-events:none}.cwp-idle,.cwp-idle .cowatch-video{cursor:none}.cwp-idle:has(.cwp-bar :focus-visible) .cwp-bar,.cwp-idle:has(.cwp-bar :focus-visible) .cowatch-head,.cwp-idle:has(.cowatch-head :focus-visible) .cwp-bar,.cwp-idle:has(.cowatch-head :focus-visible) .cowatch-head{opacity:1;pointer-events:auto}.cwp-track{position:relative;height:18px;margin-bottom:2px;display:flex;align-items:center;cursor:pointer;touch-action:none}.cwp-track:before{content:"";position:absolute;left:0;right:0;height:4px;border-radius:var(--r-pill);background:#fff3;transition:height var(--dur-fast)}.cwp-track:hover:before,.cwp-track:hover .cwp-buf,.cwp-track:hover .cwp-fill{height:6px}.cwp-track-off{cursor:default;opacity:.55}.cwp-buf,.cwp-fill{position:absolute;left:0;height:4px;border-radius:var(--r-pill);transition:height var(--dur-fast)}.cwp-buf{background:#ffffff4d}.cwp-fill{background:var(--accent)}.cwp-knob{position:absolute;right:-7px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--accent-hi);box-shadow:0 0 0 3px #00000059;transform:scale(0);transition:transform var(--dur-fast) var(--ease-out)}.cwp-track:hover .cwp-knob,.cwp-track:focus-within .cwp-knob{transform:scale(1)}.cwp-row{display:flex;align-items:center;gap:4px}.cwp-row .spacer{flex:1;min-width:4px}.cwp-bar button.micro{color:var(--text)}.cwp-bar button.micro:hover{background:#ffffff1f}.cwp-key{min-height:34px;padding:6px 10px;background:transparent}.cwp-key:hover{background:#ffffff1f}.cwp-time{font:500 12px / 1 var(--font-mono);color:var(--text);white-space:nowrap;margin-left:6px}.cwp-time i{color:var(--text-3);font-style:normal}.cwp-sync{font:500 11px / 1 var(--font-mono);padding:5px 8px;border-radius:var(--r-sm);white-space:nowrap;background:#00000073}.cwp-ok{color:var(--ok)}.cwp-warn{color:var(--accent-hi)}.cwp-vol{display:inline-flex;align-items:center;gap:2px}.cwp-vol input[type=range]{width:84px;min-height:0;padding:0;border:none;background:none;box-shadow:none;accent-color:var(--accent)}.cwp-rate{position:relative;display:inline-flex}.cwp-rates{bottom:calc(100% + 8px);right:0;flex-direction:row;flex-wrap:wrap;gap:4px;width:172px;padding:8px}.cwp-rates button{min-height:28px;padding:4px 8px;font:500 12px / 1 var(--font-mono)}.cowatch{container:player / inline-size}@container player (max-width: 620px){.cwp-vol input[type=range],.cwp-sync,.cowatch-head .cowatch-title{display:none}}@container player (max-width: 440px){.cwp-row>button.micro:nth-of-type(2),.cwp-row>button.micro:nth-of-type(3){display:none}.cowatch-head .toggle{padding:6px 8px}}.cowatch-note{position:absolute;left:50%;top:52px;transform:translate(-50%);z-index:3;max-width:calc(100% - 24px);font-size:var(--fs-sm);color:var(--text-2);background:#0000008c;border-radius:var(--r-md);padding:5px 10px;transition:opacity var(--dur-slow)}.cwp-idle .cowatch-note{opacity:0}.fs-fill{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;width:100vw;height:100vh;border-radius:0;background:#000}.stage-tile.fs-fill,.stage-tile:fullscreen{display:grid;place-items:center;outline:none}.stage-tile.fs-fill video,.stage-tile:fullscreen video{width:100%;height:100%;max-height:none;object-fit:contain}.cowatch.fs-fill,.cowatch:fullscreen{min-height:0;outline:none;border-radius:0}.cowatch.fs-fill .cwp-bar,.cowatch:fullscreen .cwp-bar{padding:48px 28px 18px}.cowatch.fs-fill .cowatch-head,.cowatch:fullscreen .cowatch-head{padding:16px 24px 40px}.remote-cursor{position:absolute;left:0;top:0;z-index:6;pointer-events:none;color:hsl(var(--cur-h, 30) 80% 66%);transition:transform 80ms linear;will-change:transform}.cursor-arrow{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.cursor-tag{position:absolute;left:15px;top:16px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font:600 11px / 1.2 var(--font-ui);color:hsl(var(--cur-h, 30) 60% 94%);background:hsl(var(--cur-h, 30) 45% 30%);border-radius:var(--r-sm);padding:3px 7px;box-shadow:0 2px 8px #00000073;animation:cursor-pop var(--dur) var(--ease-out) both}.cursor-tag svg{opacity:.9}@keyframes cursor-pop{0%{opacity:0}}.remote-cursor.mode-control{color:var(--accent-hi)}.remote-cursor.mode-control .cursor-tag{background:var(--accent);color:var(--accent-ink)}.cursor-ping{position:absolute;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid currentColor;opacity:0}.remote-cursor.pressed .cursor-ping{animation:cursor-ping .45s ease-out}@keyframes cursor-ping{0%{opacity:.85;transform:scale(.6)}to{opacity:0;transform:scale(3)}}.paint-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none}.ctx-menu{position:fixed;z-index:200;min-width:190px;padding:4px;background:var(--s2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);animation:pop-in var(--dur-fast) var(--ease-out)}.ctx-title{padding:6px 10px;font-size:var(--fs-xs);font-weight:600;color:var(--text-3)}.ctx-group+.ctx-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--line)}.ctx-item{width:100%;justify-content:flex-start;gap:10px;padding:7px 10px;background:transparent;font-weight:400}.ctx-item:hover:not(:disabled){background:var(--s3)}.ctx-item.danger{border:none;color:var(--danger)}.ctx-item.danger:hover:not(:disabled){background:var(--danger-soft)}.ctx-icon{display:inline-flex;width:15px;justify-content:center;color:var(--text-3);flex:0 0 auto}.ctx-item:hover .ctx-icon{color:inherit}.ctx-emoji{display:flex;gap:2px;padding:2px 2px 6px;margin-bottom:4px;border-bottom:1px solid var(--line)}.ctx-emoji button{min-height:32px;padding:4px 6px;font-size:17px;line-height:1;background:transparent}.ctx-emoji button:hover{background:var(--s3)}.ctx-emoji button.mine{background:var(--accent-soft)}.toast-stack{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;max-width:calc(100vw - 32px)}.toast{background:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 14px;font-size:13px;box-shadow:var(--shadow-pop);animation:toast-in var(--dur) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.mobile-tabs{display:none;grid-area:tabs}@media (max-width: 900px) and (min-width: 721px){.room-head>button:not(.head-watch) .label-text{display:none}}@media (max-width: 720px){.room-wrap{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"head" "main" "bar" "tabs"}.room-head{flex-wrap:wrap;gap:6px;padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top))}.room-mark{font-size:17px}.head-sep{display:none}.room-head>button .label-text{display:none}.people,.stage,.chat{grid-area:main;min-height:0;border:none}.room-wrap[data-mtab=stage] .people,.room-wrap[data-mtab=stage] .chat,.room-wrap[data-mtab=people] .stage,.room-wrap[data-mtab=people] .chat,.room-wrap[data-mtab=chat] .stage,.room-wrap[data-mtab=chat] .people,.room-wrap[data-mtab=people] .dock-row,.room-wrap[data-mtab=chat] .dock-row{display:none}.stage{padding:8px}.stage-tiles,.stage-tiles.has-player{grid-template-columns:minmax(0,1fr)}.cowatch{min-height:220px;flex:0 0 auto;aspect-ratio:16 / 10}.cwp-vol input[type=range],.cwp-sync{display:none}.stage-empty{padding:var(--sp-5) var(--sp-3)}.stage-empty h2{font-size:24px}.mobile-tabs{display:flex;background:var(--s1);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-tabs button{flex:1;border-radius:0;background:transparent;min-height:52px;font-size:13px;color:var(--text-3)}.mobile-tabs button.active{color:var(--accent-hi);box-shadow:inset 0 2px 0 var(--accent)}.dock-row{padding:8px}.control-bar{flex:1;flex-wrap:wrap}.edge-tab,.rail-resizer,.panel-collapse{display:none}.people.collapsed,.chat.collapsed{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.badge.sharing:before{animation:none}}
