:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf9f6;--panel:#ebeae4;--surface:#fff;--card:#fff;--text:#1f1f1d;--muted:#66655f;--faint:#9d9b93;--line:#dddbd3;--line-strong:#d3d1c8;--hover:#1f1f1d0e;--press:#1f1f1d17;--accent:#2f5fd8;--accent-text:#fff;--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--danger:#b8322a;--success:#1f7a45;--warn:#a15c07;--ok-soft:color-mix(in srgb, var(--success) 11%, transparent);--bad-soft:color-mix(in srgb, var(--danger) 10%, transparent);--hl:#f5d90a6b;--me:#2f5fd8;--peer:#c2338b;--rec:#e5484d;--shadow:0 1px 2px #0000000f, 0 8px 24px #00000017;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#151514;--panel:#20201f;--surface:#292928;--card:#1e1e1d;--text:#ebe9e3;--muted:#a09f97;--faint:#6f6e68;--line:#2d2d2b;--line-strong:#3d3c39;--hover:#ebe9e30f;--press:#ebe9e31a;--accent:#8db0ff;--accent-text:#0d1a3a;--danger:#ff8577;--success:#66d18f;--warn:#f2b35a;--hl:#f5d90a42;--me:#8db0ff;--peer:#ff7ac6;--shadow:0 1px 2px #00000080, 0 10px 30px #00000073}*,:before,:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}html,body,#root{height:100%;margin:0}body{font:14px/1.45 var(--font);background:var(--panel);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.grow{flex:1}.muted{color:var(--muted)}.small{font-size:13px}.icon-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.on{background:var(--press);color:var(--text)}.icon-btn:disabled{opacity:.35;pointer-events:none}.icon-btn.warn{color:var(--danger)}.icon-btn.end{background:var(--rec);color:#fff;width:36px}.icon-btn.end:hover{background:color-mix(in srgb, var(--rec) 85%, #000);color:#fff}.badge{background:var(--accent);min-width:14px;height:14px;color:var(--accent-text);font:700 9px/14px var(--font);border-radius:7px;padding:0 3px;position:absolute;top:-3px;right:-3px}.btn{border:1px solid var(--line-strong);background:var(--surface);height:28px;color:var(--text);font:500 14px var(--font);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--surface) 92%, var(--text))}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.btn.primary:hover{background:color-mix(in srgb, var(--accent) 88%, #000)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.small{height:24px;padding:0 8px;font-size:13px}.chip{font:inherit;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:.18em .65em;font-size:.92em}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent-soft);border-color:#0000}.chip:disabled{cursor:default;border-color:var(--line)}.switch{background:var(--line-strong);cursor:pointer;border:0;border-radius:9px;flex:none;width:30px;height:18px;padding:0;position:relative}.switch i{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch.on{background:var(--accent)}.switch.on i{transform:translate(12px)}.seg{background:var(--hover);border-radius:7px;padding:2px;display:inline-flex}.seg button{height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:13px}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001a}.avatar{background:var(--c);color:#fff;box-shadow:0 0 0 2px var(--panel);border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-weight:650;display:inline-grid;position:relative}.avatar img{object-fit:cover;object-position:50% 50%;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}button.avatar{cursor:pointer}.avatar.ring-on{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--c)}.avatar .online{border:2px solid var(--panel);background:#3ecf6e;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.pro{color:var(--warn);font:600 10px/16px var(--font);letter-spacing:.02em;background:#d99a2b33;border-radius:4px;flex:none;padding:0 5px}.pop{z-index:100;border:1px solid var(--line-strong);background:var(--surface);min-width:190px;box-shadow:var(--shadow);border-radius:9px;padding:4px;font-size:14px;animation:.12s ease-out pop;position:fixed}@keyframes pop{0%{opacity:0;transform:translateY(-3px)}}.menu{flex-direction:column;display:flex}.mi{width:100%;height:32px;color:var(--text);font:14px var(--font);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 8px;display:flex}.mi:hover,.mi.on{background:var(--hover)}.mi:disabled{opacity:.45;cursor:default;background:0 0}.mi>.icon{color:var(--muted);flex:none}.mi.danger,.mi.danger>.icon{color:var(--danger)}.mi-label{flex:1}.mi-hint{color:var(--faint);margin-left:14px;font-size:13px}.mi-sp{flex:none;width:15px}.mi.tall{align-items:flex-start;height:auto;padding:6px 8px}.mi.tall>.icon{margin-top:2px}.mi small{color:var(--muted);font-size:13px;display:block}.ws-mi .avatar{box-shadow:none}.date-mi input{color:var(--text);font:14px var(--font);background:0 0;border:0;outline:none;flex:1}.menu-sep{background:var(--line);height:1px;margin:4px 2px}.menu-label{color:var(--muted);padding:6px 8px 4px;font-size:13px;font-weight:500}.sub{position:relative}.sub-pop{z-index:1;border:1px solid var(--line-strong);background:var(--surface);min-width:180px;box-shadow:var(--shadow);border-radius:9px;margin-left:2px;padding:4px;position:absolute;top:-5px;left:100%}.scrim{z-index:200;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line-strong);background:var(--surface);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);border-radius:12px;padding:14px 18px 18px;animation:.14s ease-out pop;overflow:auto}.dialog header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dialog h2{margin:0;font-size:15px;font-weight:650}.dlg-h{color:var(--muted);margin:18px 0 2px;font-size:13px;font-weight:600}.dlg-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.share-row,.share-opt{align-items:center;gap:10px;padding:8px 0;display:flex}.share-opt+.share-opt{border-top:1px solid var(--line)}.share-row small,.share-opt small{color:var(--muted);font-size:13px;display:block}.share-row b,.share-opt b{font-weight:600}.share-link{background:var(--hover);color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin-top:6px;padding:5px 5px 5px 10px;display:flex}.share-link code{color:var(--text);font:13px var(--mono)}.code{font-family:var(--mono);color:var(--text)}.big-code{text-align:center;font:600 28px var(--mono);letter-spacing:.08em;padding:18px 0 2px}select{border:1px solid var(--line-strong);background:var(--surface);height:28px;color:var(--text);font:14px var(--font);border-radius:6px;padding:0 6px}.price{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.price input{border:1px solid var(--line-strong);background:var(--bg);width:42px;height:26px;color:var(--text);font:14px var(--font);border-radius:6px;padding:0 6px}.field{color:var(--muted);flex-direction:column;flex:1;gap:4px;margin-bottom:12px;font-size:13px;display:flex}.field input,.field select{border:1px solid var(--line-strong);background:var(--bg);height:32px;color:var(--text);font:14px var(--font);border-radius:6px;padding:0 10px}.field input:focus{border-color:var(--accent);outline:none}.field-row{gap:10px;display:flex}.toast.has-action{pointer-events:auto;align-items:center;gap:12px;padding-right:6px;display:flex}.toast button{background:color-mix(in srgb, var(--bg) 18%, transparent);height:24px;color:var(--bg);font:600 12px var(--font);cursor:pointer;border:0;border-radius:5px;padding:0 10px}.toast{z-index:300;background:var(--text);color:var(--bg);box-shadow:var(--shadow);pointer-events:none;border-radius:8px;padding:8px 14px;font-size:13px;animation:.15s ease-out pop;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}.share-link code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.share-link .btn{flex:none}.sub>.mi>.mi-hint.icon{margin-left:14px}.mi.active{background:var(--hover)}.mi-badge{margin-left:8px}.form-error{color:var(--danger);margin:-4px 0 10px;font-size:13px}.toast.error{background:var(--danger)}.sub-pop.flip{margin:0 2px 0 0;left:auto;right:100%}.mi>.mi-check{color:var(--accent);flex:none;margin-left:10px}.app{flex-direction:column;height:100dvh;display:flex}.main{flex:1;min-height:0;display:flex}.center{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.role-student .center{box-shadow:inset 0 2px 0 var(--accent)}.panel{background:var(--panel);flex-direction:column;flex:none;min-height:0;display:flex;position:relative}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line)}.resizer{z-index:3;cursor:col-resize;width:7px;position:absolute;top:0;bottom:0}.left .resizer{right:-4px}.right .resizer{left:-4px}.resizer:hover{background:linear-gradient(90deg, transparent 3px, var(--accent) 3px 4px, transparent 4px)}.titlebar{background:var(--panel);height:40px;box-shadow:inset 0 -1px 0 var(--line);flex:none;align-items:stretch;display:flex}.tb-zone{align-items:center;min-width:0;display:flex}.tb-left{flex:none;gap:2px;padding:0 8px 0 6px}.tb-left.fixed{border-right:1px solid var(--line)}.tb-center{flex:1;align-items:stretch}.tb-right{flex:none;justify-content:flex-end;gap:6px;padding:0 8px}.tb-right.fixed{border-left:1px solid var(--line);overflow:hidden;container-type:inline-size}.ws-btn{cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;min-width:0;height:28px;padding:0 8px 0 6px;font-weight:600;display:flex}.ws-btn>.ws-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ws-btn:hover{background:var(--hover)}.ws-btn .avatar{box-shadow:none;font-size:9px}.ws-btn>.icon{color:var(--faint)}.crumb{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--muted);flex:1;align-self:center;padding:0 6px;overflow:hidden}.crumb b{color:var(--text);font-weight:500}.tb-right{flex:none;align-items:center;gap:6px;display:flex}.pill{border:1px solid var(--line-strong);background:var(--surface);height:28px;color:var(--text);font:500 14px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.pill>.icon{color:var(--muted)}.pill.as-student{background:var(--accent-soft);color:var(--accent);border-color:#0000;flex:none}.pill.as-student>.icon{color:inherit}.session-btn.mode-locked>.icon,.session-btn.mode-explicit>.icon{color:var(--warn)}.share{padding:0 14px}.tabs{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.tab{border-right:1px solid var(--line);max-width:240px;height:40px;color:var(--muted);white-space:nowrap;cursor:pointer;flex:none;align-items:center;gap:6px;padding:0 6px 0 12px;display:flex;position:relative}.tab span{text-overflow:ellipsis;overflow:hidden}.tab:hover{color:var(--text)}.tab.on{background:var(--bg);color:var(--text)}.tab .peer-dot{flex:none}.tab-x{width:18px;height:18px;color:var(--muted);opacity:0;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.tab:hover .tab-x,.tab.on .tab-x{opacity:1}.tab-x:hover{background:var(--hover);color:var(--text)}.page-tools{flex:none;align-items:center;gap:1px;padding:0 6px 0 8px;display:flex}.peer-dot{background:var(--c);border-radius:50%;flex:none;width:7px;height:7px}.pane{flex-direction:column;flex:1;min-height:0;display:flex}.pane-head{flex:none;align-items:center;gap:4px;padding:0 8px 8px;display:flex}.pane-head.title{justify-content:space-between;padding:0 12px;font-weight:600}.pane-head.title .small{font-weight:400}.pane-body{flex:1;min-height:0;padding:0 0 16px;overflow:auto}.search{background:var(--hover);min-width:0;height:30px;color:var(--faint);border-radius:6px;flex:1;align-items:center;gap:6px;padding:0 6px 0 8px;display:flex}.search:focus-within{background:var(--bg);box-shadow:inset 0 0 0 1px var(--accent)}.search input{min-width:0;color:var(--text);font:14px var(--font);background:0 0;border:0;outline:0;flex:1}.search input::placeholder{color:var(--faint)}.search .clear{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.empty-note{color:var(--muted);margin:0;padding:8px 14px;font-size:13px}.empty-note.pad{padding:16px}.first-steps{gap:2px;padding:2px 4px 8px;display:grid}.first-steps-head{color:var(--muted);margin:0;padding:6px 8px 4px;font-size:13px;font-weight:600}.first-step{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:16px 1fr;align-items:center;gap:1px 9px;padding:7px 8px;display:grid}.first-step:hover,.first-step:focus-visible{background:var(--hover)}.first-step>.icon{color:var(--accent)}.first-step b{font-weight:550}.first-step small{color:var(--muted);grid-column:2;font-size:13px;line-height:1.35}.no-doc .first-steps{justify-items:stretch;width:min(320px,100%)}.first-run-mark{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.ltabs{flex:none;align-items:center;gap:2px;height:40px;padding:0 6px 0 8px;display:flex}.ltabs button:not(.icon-btn){height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.ltabs button:not(.icon-btn):hover{background:var(--hover);color:var(--text)}.ltabs button.on{background:var(--press);color:var(--text)}.ltabs .count{background:var(--accent);min-width:16px;height:16px;color:var(--accent-text);font:700 10px/16px var(--font);text-align:center;border-radius:8px;padding:0 4px}.rtabs{border-top:0}.todo-add{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;margin:0 8px 8px;padding:8px}.todo-add input{border:1px solid var(--line-strong);background:var(--bg);width:100%;height:30px;color:var(--text);font:14px var(--font);border-radius:6px;outline:none;padding:0 8px}.todo-add input:focus{border-color:var(--accent)}.todo-due{flex-wrap:wrap;gap:4px;margin:8px 0;font-size:13px;display:flex}.todo-actions{justify-content:flex-end;gap:6px;display:flex}.ring-btn{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.hw-row.todo{cursor:default}.hw-row.todo.reviewed .hw-title{text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.hw-x{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:none}.hw-row.todo:hover .hw-x{display:grid}.hw-row.todo:hover .hw-due{display:none}.tree-row{height:28px;padding:0 8px 0 calc(6px + var(--d) * 14px);white-space:nowrap;cursor:pointer;border-radius:5px;align-items:center;gap:5px;margin:0 4px;display:flex}.tree-row:hover{background:var(--hover)}.tree-row.sel{background:var(--press)}.tree-row.drop-in{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tree.drop-root{box-shadow:inset 0 0 0 2px var(--accent-soft)}.tree-row .chev{width:14px;height:20px;color:var(--faint);flex:none;place-items:center;display:grid}.tree-row .ti{color:var(--muted);flex:none}.tree-row.doc .ti{color:color-mix(in srgb, var(--accent) 75%, var(--muted))}.tn{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ext{color:var(--faint)}.tree-row.asset,.tree-row.asset-dir{color:var(--muted)}.tree-row.asset{cursor:grab}.tree-row.memo-file{cursor:pointer}.memo-lock{color:var(--faint);margin-left:auto}.rename{border:1px solid var(--accent);background:var(--bg);min-width:0;height:22px;color:var(--text);font:14px var(--font);border-radius:4px;outline:none;flex:1;padding:0 4px}.results{padding-top:2px}.result{text-align:left;width:calc(100% - 8px);font:14px var(--font);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;margin:0 4px;padding:6px 10px;display:flex;position:relative}.result:hover{background:var(--hover)}.result-top{align-items:center;gap:6px;min-width:0;display:flex}.result .ti{color:var(--muted);flex:none}.snippet{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;overflow:hidden}.tags{flex-wrap:wrap;gap:4px;display:flex}.tag{background:var(--hover);color:var(--muted);border-radius:4px;padding:0 5px;font-size:12px}.tag.on{background:var(--accent-soft);color:var(--accent)}.notes-scroll{padding:2px 14px 24px 36px}.blk-group{padding-bottom:2px}.blk-item{text-align:left;cursor:grab;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:calc(100% - 8px);height:32px;margin:0 4px;padding:0 10px;display:flex}.blk-item:hover{background:var(--hover)}.blk-item.on{background:var(--press)}.blk-item:disabled{opacity:.5}.blk-item>.icon{color:var(--muted)}.bi-name{white-space:nowrap}.blk-item .pro{margin-left:-4px}.pro.near{margin-left:6px}.pro-offer{flex-direction:column;align-items:flex-start;gap:6px;width:240px;padding:8px 10px 10px;display:flex}.pro-offer span{color:var(--muted);font-size:13px}.pro-offer .btn{margin-top:4px}.bi-hint{text-overflow:ellipsis;white-space:nowrap;color:var(--faint);opacity:0;margin-left:auto;font-size:13px;overflow:hidden}.blk-item:hover .bi-hint,.blk-item.on .bi-hint{opacity:1}.session-pop{padding:6px}.sess-head{color:var(--muted);align-items:center;gap:8px;padding:4px 6px 8px;display:flex}.sess-head .avatar{box-shadow:none}.sess-head b{color:var(--text);font-weight:500}.lock-opt{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:flex-start;gap:10px;width:100%;padding:7px 8px;display:flex}.lock-opt:hover{background:var(--hover)}.lock-opt b{font-weight:500}.lock-opt small{color:var(--muted);font-size:13px;display:block}.lock-opt .lock-ic{color:var(--muted);flex:none;margin-top:1px}.lock-opt.on{background:var(--accent-soft)}.lock-opt.on .lock-ic{color:var(--accent)}.doc-host{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.no-doc{color:var(--muted);flex:1;place-content:center;justify-items:center;gap:10px;display:grid}.panes{flex:1;min-height:0;display:flex;position:relative}.panes>.doc-host,.panes>.no-doc{flex:1;min-width:0}.panes.split>*+*{border-left:1px solid var(--line-strong)}.doc-host.focused:before{content:"";z-index:9;background:var(--accent);pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.tab.other{box-shadow:inset 0 -2px 0 var(--line-strong)}.doc-body.held .doc-scroll{overflow:hidden}.zoom-float{z-index:10;border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;align-items:center;padding:2px;display:flex;position:absolute;bottom:14px;right:14px}.zoom-float button{min-width:28px;height:26px;color:var(--muted);font:13px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0 4px;display:grid}.zoom-float button:hover{background:var(--hover);color:var(--text)}.doc-body{flex:1;min-height:0;display:flex;position:relative}.doc-body>.doc-scroll{min-width:0}.memos{border-right:1px solid var(--line);background:var(--panel);flex:none;width:300px;animation:.16s ease-out slide-l;position:relative}.memos-head{height:40px;color:var(--muted);flex:none;align-items:center;gap:6px;padding:0 6px 0 14px;font-size:13px;display:flex}.memos-head .grow+.icon-btn{margin-left:0}.memos .resizer{right:-4px}.is-narrow .memos{z-index:12;max-width:88%;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;left:0}.memo-btn{z-index:5;border:1px solid var(--line);background:var(--bg);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;top:12px;left:14px}.memo-btn:hover{border-color:var(--line-strong);color:var(--text)}.memo-btn i{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.is-phone .memo-btn{border-color:#0000;width:24px;height:24px;top:6px;left:2px}.scrim-soft{z-index:30;background:#0003;animation:.15s fade;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.panel.drawer{z-index:31;width:min(320px,88vw);box-shadow:var(--shadow);animation:.18s ease-out slide-l;position:absolute;top:0;bottom:0}.left.drawer{left:0}.right.drawer{animation-name:slide-r;right:0}@keyframes slide-l{0%{opacity:0;transform:translate(-24px)}}@keyframes slide-r{0%{opacity:0;transform:translate(24px)}}.is-phone .titlebar{height:46px}.is-phone .tb-left{padding:0 0 0 4px}.is-phone .crumb{padding:0 4px;font-size:14px}.is-phone .tb-right{gap:4px;padding:0 6px 0 2px}.is-phone .share{justify-content:center;width:32px;padding:0}.share>.icon:not(:only-child){display:none}.blk-group h3{color:var(--muted);justify-content:space-between;margin:0;padding:10px 10px 4px;font-size:13px;font-weight:600;display:flex}.cal-tab>.icon{color:var(--accent)}.tab:focus-within .tab-x{opacity:1}.hw-row.todo:focus-within .hw-x{display:grid}.hw-row.todo:focus-within .hw-due{display:none}.blk-item:focus-visible .bi-hint{opacity:1}.tree-row:focus-visible,.tab:focus-visible{outline-offset:-2px}.ws-lead{flex:none;display:inline-grid;position:relative}.ws-lead .avatar{box-shadow:none}.shell-call-row .call-idle{align-items:center;gap:10px;padding:2px 2px 2px 4px;display:flex}.shell-call-row .call-idle .avatar{box-shadow:none}.shell-call-row .call-idle small{color:var(--muted);font-size:13px;display:block}.call-panel.shell-call-row{border-bottom:1px solid var(--line);flex:none;padding:8px 8px 6px}.session-btn{flex:none}.snippet mark{background:var(--hl);color:inherit;border-radius:2px}.dialog.settings{padding-bottom:14px}.settings-body{gap:18px;min-height:360px;display:flex}.settings-nav{flex-direction:column;flex:none;gap:2px;width:160px;display:flex}.settings-main{flex:1;min-width:0}.settings-actions{margin-top:0}.is-phone .settings-body{flex-direction:column}.is-phone .settings-nav{flex-flow:wrap;width:auto}.is-phone .settings-nav .mi{width:auto}.no-doc p{margin:0}.dialog .form-error{margin-top:0}.is-phone .zoom-float{bottom:12px;right:10px}.is-phone .zoom-float button{min-width:24px;height:24px;font-size:12px}.sync-banner{border-bottom:1px solid var(--line);background:var(--bad-soft);color:var(--danger);flex:none;padding:6px 14px;font-size:13px}.pro.ai-mark{margin-left:6px}.call-panel{border-bottom:1px solid var(--line);flex:none;padding:8px 8px 6px}.video{aspect-ratio:4/3;background:#0f0f0f;border-radius:10px;position:relative;overflow:hidden}.video>img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;display:block}.video-initial{background:var(--c);color:#fff;place-items:center;font-size:40px;font-weight:650;display:grid;position:absolute;inset:0}.self{aspect-ratio:4/3;color:#fff;background:linear-gradient(140deg,#4a6cc4,#25325a);border:1px solid #ffffff4d;border-radius:6px;place-items:center;width:27%;font-weight:650;display:grid;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #00000059}.self.off{color:#999;background:#2a2a2a}.video-tag{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:13px;font-weight:500;display:flex;position:absolute;bottom:8px;left:8px}.bars{align-items:flex-end;gap:1px;height:10px;display:inline-flex}.bars i{background:#6ee7a0;border-radius:1px;width:3px}.bars i:first-child{height:4px}.bars i:nth-child(2){height:7px}.bars i:nth-child(3){height:10px}.video-tag .tag-eye{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:22px;height:20px;margin:0 -4px 0 2px;padding:0;display:grid}.video-tag .tag-eye:hover,.video-tag .tag-eye.on{background:#ffffff38}.video-btn{color:#fff;opacity:0;cursor:pointer;background:#0006;border:0;border-radius:6px;place-items:center;width:26px;height:26px;padding:0;transition:opacity .12s;display:grid;position:absolute;top:8px}.video-btn.big{right:8px}.video-btn.pin{left:8px}.video-btn.pin.on{opacity:.85}.video:hover .video-btn{opacity:1}.call-bar{align-items:center;gap:2px;padding-top:6px;display:flex}.call-time{color:var(--muted);font-variant-numeric:tabular-nums;padding:0 8px 0 4px;font-size:13px}.call-ctl{align-items:center;gap:2px;display:flex}.session-btn.icon-btn{color:var(--text)}.call-idle .session-btn{flex:none}.call-idle{align-items:center;gap:10px;padding:2px 2px 2px 4px;display:flex}.call-idle .avatar{box-shadow:none}.call-idle small{color:var(--muted);font-size:13px;display:block}.float-call{z-index:60;border:1px solid var(--line-strong);background:var(--surface);width:248px;box-shadow:var(--shadow);cursor:grab;touch-action:none;border-radius:12px;padding:6px;position:fixed}.float-call .video{border-radius:8px}.float-call.compact{width:212px;padding:4px}.float-call.compact .call-bar{padding-top:4px}.float-call.compact .call-ctl .icon-btn{width:28px;height:28px}.float-call .video-btn.shrink{opacity:1;z-index:1;top:12px;right:12px}.float-call.compact .video-btn.big{left:8px;right:auto}.is-compact .video-btn{opacity:1}.float-call.bubble-wrap{border-radius:50%;width:auto;padding:0}.bubble{border:2px solid var(--peer);cursor:pointer;background:#000;border-radius:50%;width:64px;height:64px;padding:0;display:block;position:relative;overflow:hidden}.bubble img{object-fit:cover;object-position:50% 30%;width:100%;height:100%}.float-call .call-ctl .icon-btn{width:26px;height:26px}.float-call .call-ctl .icon-btn.end{width:32px}.video-sheet{z-index:150;color:#ccc;background:#000000db;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;animation:.15s fade;display:flex;position:fixed;inset:0}.video-sheet .video{width:100%;max-width:560px}.video>video.video-remote,.bubble>video{object-fit:cover;object-position:50% 30%;width:100%;height:100%;display:block;position:absolute;inset:0}.self>video{object-fit:cover;border-radius:5px;width:100%;height:100%;transform:scaleX(-1)}.bubble .video-initial{font-size:26px}.call-bar>.icon-btn.end,.call-idle .btn{flex:none}.call-idle .btn .icon{margin-right:2px}.call-ring{top:52px;bottom:auto}.call-ring .avatar{box-shadow:none;flex:none}.call-status{color:var(--muted);overflow-wrap:anywhere;margin:6px 2px 0;font-size:12px;line-height:1.35}.call-status.error,.call-hint{color:var(--danger)}.call-status-countdown{font-variant-numeric:tabular-nums;white-space:nowrap}.call-hint{margin:4px 2px 0;font-size:12px}.call-relay-action{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:4px 2px 0;font-size:12px;display:flex}.call-idle-status{margin-top:2px}.call-tap-to-play{z-index:2;color:#fff;width:max-content;height:max-content;font:600 13px var(--font);cursor:pointer;background:#000000a6;border:1px solid #ffffffb3;border-radius:999px;margin:auto;padding:6px 14px;position:absolute;inset:0}.call-diagnostics{color:var(--muted);font-family:var(--mono,ui-monospace, monospace);overflow-wrap:anywhere;margin:4px 2px 0;font-size:11px;line-height:1.4}.call-diagnostics>summary{width:fit-content;font-family:var(--font);cursor:pointer;font-size:12px}.call-diagnostics>summary:hover{color:var(--text)}.call-diagnostics-summary{margin:4px 0 0}.call-diagnostics>pre{max-height:40vh;font:inherit;white-space:pre-wrap;-webkit-user-select:text;user-select:text;margin:4px 0;overflow:auto}.call-diagnostics-actions{font-family:var(--font);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;display:flex}.float-call .call-diagnostics,.float-call .call-status,.float-call .call-relay-action{cursor:auto}.bars.weak i:nth-child(n+2){background:#ffffff59}.video>video.video-share{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.video.sharing>video.video-remote.peer-cam,.video.sharing>.video-initial.peer-cam{z-index:1;aspect-ratio:4/3;border:1px solid var(--line-strong);width:27%;height:auto;box-shadow:var(--shadow);object-position:50% 30%;border-radius:6px;inset:auto 8px 8px auto}.video.sharing>.video-initial.peer-cam{font-size:18px}.share-open{border-radius:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;position:absolute;inset:0}.share-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.float-call .share-open{cursor:grab}.video.sharing .video-tag{max-width:calc(73% - 20px)}.video-tag .tag-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.video-tag .bars,.video-tag .tag-eye{flex:none}.call-ctl .share-btn.on{background:var(--accent-soft);color:var(--accent)}.call-sharing{background:var(--accent-soft);color:var(--text);cursor:auto;border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:6px 0 0;padding:4px 4px 4px 8px;font-size:12px;line-height:1.35;display:flex}.call-sharing>.icon{color:var(--accent);flex:none}.call-sharing>[role=status]{flex:auto;min-width:0}.call-sharing>[role=status]:after{content:"·";color:var(--muted);margin-left:6px}.call-sharing>.btn{flex:none}.bubble-share{border:2px solid var(--surface);background:var(--accent);width:22px;height:22px;color:var(--accent-text);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:-3px;right:-3px}.bubble-share.own{background:var(--surface);color:var(--accent);border-color:var(--accent)}.video-sheet.share-sheet{gap:10px;padding:12px}.share-full{border-radius:10px;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.share-full>video.share-full-video{object-fit:contain;width:100%;height:100%;display:block}.share-full-cam{aspect-ratio:4/3;border:1px solid var(--line-strong);width:min(22%,220px);box-shadow:var(--shadow);border-radius:8px;position:absolute;bottom:12px;right:12px;overflow:hidden}.share-full-cam>video{object-fit:cover;width:100%;height:100%;display:block}.share-full .video-tag{max-width:calc(78% - 24px);bottom:12px;left:12px}.share-sheet-foot{flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:6px 12px;margin:0;display:flex}.tree-row.asset.unused .tn,.tree-row.asset.unused .ti{color:var(--faint)}.tree-row.asset-dir{cursor:pointer}.tree-row.asset-dir:hover{background:var(--hover)}.asset-pop{flex-direction:column;align-items:flex-start;gap:8px;padding:8px;display:flex}.asset-pop img{object-fit:cover;border-radius:6px;width:100%;max-height:160px}.asset-pop .audio-chip{background:var(--hover);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.45em;padding:.15em .7em;font-size:.9em;display:inline-flex}.asset-pop .audio-chip.playing{background:var(--accent-soft);color:var(--accent)}.asset-pop .audio-chip em{color:var(--muted);font-variant-numeric:tabular-nums;font-style:normal}.asset-pop .asset-file{color:var(--text);align-items:center;gap:6px;display:inline-flex}.asset-pop-actions{flex-wrap:wrap;gap:6px;display:flex}.asset-pop .btn.danger{color:var(--danger)}.tree-add{width:22px;height:22px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;margin-left:auto;padding:0;display:grid}.tree-add:hover,.tree-add:focus-visible{background:var(--press);color:var(--text)}.tree-row.asset.upload{cursor:default;position:relative}.tree-row.asset.upload .up-progress{font-variant-numeric:tabular-nums}.tree-row.asset.upload .up-bar{left:calc(6px + var(--d) * 14px + 19px);background:linear-gradient(to right, var(--accent) var(--p), var(--line) var(--p));border-radius:1px;height:2px;position:absolute;bottom:3px;right:8px}.tree-row.asset.upload.failed .tn{color:var(--danger)}.up-failed{color:var(--danger);font-size:12px}.up-act{border:1px solid var(--line-strong);background:var(--surface);height:20px;color:var(--text);font:500 12px var(--font);cursor:pointer;border-radius:5px;padding:0 6px}.up-act:hover{border-color:var(--accent)}.import-dlg{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.import-dlg .dlg-actions{align-self:stretch}.import-report ul{color:var(--muted);margin:4px 0 0;padding-left:18px}.storage-use{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.storage-bar{background:linear-gradient(to right, var(--accent) var(--p), var(--hover) var(--p));border-radius:3px;height:6px;display:block}.weekly-list{margin:0 0 8px;padding:0;list-style:none}.weekly-list li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.weekly-list small{color:var(--muted)}.storage-section .pro{color:var(--warn);background:#d99a2b33;border-radius:4px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600}.doc-host.following:after,.doc-host.spotlight:after{content:"";border:2px solid var(--c);pointer-events:none;z-index:7;position:absolute;inset:0}.doc-host.spotlight:after{border-color:var(--accent)}.lasering .doc-scroll,.lasering .doc-scroll *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='8' cy='8' r='5' fill='%23ff3b30' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 8 8,crosshair!important}canvas.laser{z-index:20;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.peer-pointer{z-index:6;pointer-events:none;align-items:flex-start;transition:transform .8s cubic-bezier(.3,.7,.3,1);display:flex;position:absolute;top:0;left:0}.peer-pointer path{fill:var(--c);stroke:#fff;stroke-width:1.2px}.peer-pointer span{background:var(--c);color:#fff;font:600 11px/1.6 var(--font);border-radius:4px;margin:13px 0 0 -3px;padding:0 6px}.peer-edge{z-index:8;background:var(--c);color:#fff;height:24px;font:600 12px var(--font);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:4px;padding:0 10px 0 8px;animation:.15s ease-out pop;display:flex;position:absolute;left:50%;transform:translate(-50%)}.peer-edge.up{top:14px;left:auto;right:58px;transform:none}.outline-pinned .peer-edge.up{right:258px}.has-lib .peer-edge.up{top:50px}.is-phone .peer-edge{justify-content:center;width:30px;height:30px;padding:0}.is-phone .peer-edge .name{display:none}.peer-edge.down{bottom:16px;left:auto;right:146px;transform:none}.is-compact .peer-edge.down{left:12px;right:auto}.is-phone .peer-edge.up{top:10px;right:30px}.hist-open .peer-edge.up{right:358px}.hist-open .peer-edge.down{right:316px}.follow-banner{z-index:9;background:var(--c);color:#fff;height:24px;font:600 12px var(--font);border-radius:8px 8px 0 0;align-items:center;gap:10px;padding:0 4px 0 12px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.follow-banner button{color:#fff;height:18px;font:600 11px var(--font);cursor:pointer;background:#ffffff38;border:0;border-radius:4px;padding:0 8px}:root[data-theme=dark] .follow-banner.spot{color:var(--accent-text)}.shake-hand,.peer-pointer .peer-wave{filter:drop-shadow(0 0 1.5px var(--bg)) drop-shadow(0 0 1px var(--bg))}.shake-hand{z-index:400;color:var(--accent);pointer-events:none;transform:scale(var(--grow,1));transform-origin:0 100%;transition:transform .25s ease-out;position:fixed}.shake-hand b{transform-origin:60% 90%;transition:transform 80ms ease-out;display:block}.peer-pointer .peer-wave{color:var(--c);transform-origin:0 100%;animation:2.6s ease-out forwards grow,.4s 2.6s forwards fade-out;position:absolute;top:-26px;left:16px}.peer-pointer .peer-wave b{transform-origin:60% 90%;animation:.22s ease-in-out 12 alternate wave;display:block}@keyframes grow{to{transform:scale(2.3)}}@keyframes wave{0%{transform:rotate(-16deg)}to{transform:rotate(20deg)}}@keyframes fade-out{to{opacity:0}}.video-wave{z-index:1;color:#fff;transform-origin:50% 80%;background:#00000059;border-radius:50%;place-items:center;width:48px;height:48px;margin-left:-24px;animation:.5s ease-in-out 5 alternate wave,.4s 2.6s forwards fade-out;display:grid;position:absolute;top:38%;left:50%}.ws-lead>.online{border:2px solid var(--panel);background:#3ecf6e;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.tree-row .peer-dot{margin-left:4px}.tb-right .pill.timer,.tb-right .pill.counter{height:32px;font-size:17px;font-weight:600}.tb-right .pill.timer{cursor:default;gap:2px;padding:0 4px}.timer-go,.timer-digits{height:26px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0 6px;display:grid}.timer-go:hover:not(:disabled),.timer-digits:hover:not(:disabled){background:var(--hover)}.timer-go:disabled,.timer-digits:disabled{cursor:default}.timer-go{color:var(--muted)}.pill.timer.run .timer-go{color:var(--accent)}.timer-input{border:1px solid var(--accent);background:var(--bg);width:4.2em;height:26px;color:var(--text);font:inherit;text-align:center;border-radius:5px;outline:none;padding:0 4px}.is-phone .tb-right .pill.timer{height:30px;font-size:15px}.pill.timer.run,.pill.timer.run>.icon{color:var(--accent)}.pill.timer.rang{animation:.5s 6 alternate blink}@keyframes blink{to{background:var(--rec);color:#fff}}.pill.counter{cursor:default;gap:3px;padding:0 3px}.pill.counter button,.pill.timer button.x{width:20px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.pill.counter button:hover,.pill.timer button.x:hover{background:var(--hover);color:var(--text)}.pill.counter b{text-align:center;min-width:14px}@container (width<=380px){.tb-right:has(>.pill.timer):has(>.pill.counter)>.grow{margin-left:-6px}:is(.tb-right:has(>.pill.timer):has(>.pill.counter)>.pill.timer .timer-go,.tb-right:has(>.pill.timer):has(>.pill.counter)>.pill.timer .timer-digits){padding:0 4px}.tb-right:has(>.pill.timer):has(>.pill.counter)>.pill.counter{gap:2px}.tb-right:has(>.pill.timer):has(>.pill.counter)>.share{justify-content:center;width:32px;padding:0}.tb-right:has(>.pill.timer):has(>.pill.counter)>.share>.icon{display:block}.tb-right:has(>.pill.timer):has(>.pill.counter)>.share>.share-label{display:none}}.pill.counter>.icon:first-child{margin-left:6px}.pill.counter>b:last-child{margin-right:6px}.dnd-ghost{background:var(--bg);box-shadow:var(--shadow);border-radius:6px}.dnd-line{background:var(--accent);border-radius:1px}html.dnd-dragging,html.dnd-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}
