:root{--bg: #f3f1ec;--sidebar: #ebe8e1;--surface: #fbfaf7;--paper: #fffdf8;--text: #1b1d21;--muted: #62666e;--line: #dedad1;--accent: #1e6b4f;--accent-strong: #175a42;--accent-text: #ffffff;--accent-soft: rgba(30, 107, 79, .1);--selected: rgba(27, 29, 33, .06);--ok: #1e6b4f;--warn: #9a5b00;--bad: #b3261e;--board: #e6e3dc;--shadow: 0 1px 2px rgba(27, 29, 33, .08), 0 8px 24px rgba(27, 29, 33, .12);--radius: 8px;--serif: ui-serif, "New York", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #151715;--sidebar: #111311;--surface: #1c1f1d;--paper: #fffdf8;--text: #ecebe6;--muted: #9ea39f;--line: #2d312e;--accent: #6cc59c;--accent-strong: #84d3ad;--accent-text: #0c1a13;--accent-soft: rgba(108, 197, 156, .14);--selected: rgba(236, 235, 230, .07);--ok: #6cc59c;--warn: #f0b45a;--bad: #f2867c;--board: #232624;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .45);color-scheme:dark}}:root[data-theme=dark]{--bg: #151715;--sidebar: #111311;--surface: #1c1f1d;--paper: #fffdf8;--text: #ecebe6;--muted: #9ea39f;--line: #2d312e;--accent: #6cc59c;--accent-strong: #84d3ad;--accent-text: #0c1a13;--accent-soft: rgba(108, 197, 156, .14);--selected: rgba(236, 235, 230, .07);--ok: #6cc59c;--warn: #f0b45a;--bad: #f2867c;--board: #232624;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.45 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2{margin:0;text-wrap:balance}h1{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}h2{letter-spacing:-.005em}a{color:var(--accent)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;user-select:none;-webkit-user-select:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font-weight:600;font-size:15px;text-decoration:none;transition:background-color .12s ease-out,transform .1s ease-out}@media(hover:hover){.primary:hover{background:var(--accent-strong)}}.primary:active{transform:scale(.98)}.primary:disabled{opacity:.5;cursor:default}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-weight:500;font-size:15px;text-decoration:none}@media(hover:hover){.secondary:hover{border-color:var(--muted)}}.wide{width:100%}.ghost{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:0;border-radius:var(--radius);background:transparent;color:var(--accent);font-weight:500;text-decoration:none}@media(hover:hover){.ghost:hover{background:var(--accent-soft)}}.error{color:var(--bad);margin:0}.hint{color:var(--muted);font-size:15px;margin:0}.page-head{display:flex;align-items:center;gap:4px;margin-bottom:20px}.page-head h1{font-size:28px}.group{background:var(--surface);border-radius:var(--radius);overflow:hidden;margin:0;padding:0;list-style:none}.group>*+*{box-shadow:inset 0 1px 0 var(--line)}.row{display:flex;align-items:center;gap:12px;min-height:50px;padding:8px 16px}.row>span:first-child{flex-shrink:0;min-width:104px;color:var(--text)}.row input:not([type=checkbox]),.row select{flex:1;min-width:0;min-height:34px;border:0;background:transparent;text-align:left;font-size:17px}.row select{text-align-last:left}.row input::placeholder{color:var(--muted);opacity:.7}.row input[type=checkbox]{margin-left:auto;width:22px;height:22px;accent-color:var(--accent)}.code-input{font:600 22px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.3em}.signin-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px}.signin{max-width:440px;margin:0 auto;padding:72px 16px 40px;display:grid;gap:8px}.hint a{color:var(--accent)}.mark{flex-shrink:0}.mark-sheet{fill:var(--paper);stroke:var(--text);stroke-width:1.5}.mark-margin{stroke:#c8372d;stroke-width:1.5}.mark-lines{stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;fill:none}.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font:600 20px/1 var(--serif);letter-spacing:-.01em}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand h1{font-size:28px;line-height:1.1}.brand p{margin:4px 0 0;color:var(--muted);font-size:15px}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:18px;padding:calc(20px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));background:var(--sidebar);border-right:1px solid var(--line)}.sidebar .wordmark{padding:4px 6px}.side-action{width:100%}.side-nav{display:grid;gap:2px}.side-nav a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:15px;font-weight:500}@media(hover:hover){.side-nav a:hover{background:var(--selected)}}.side-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.side-me{margin-top:auto;display:grid;gap:2px;padding:12px 8px 0;border-top:1px solid var(--line)}.side-name{font-weight:600;font-size:15px;overflow-wrap:anywhere}.side-role{color:var(--muted);font-size:13px}.side-link{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 0;border:0;background:none;color:var(--muted);font-size:14px;text-decoration:none}@media(hover:hover){.side-link:hover{color:var(--text)}}.shell-main{min-width:0}.segmented.theme-switch{grid-template-columns:repeat(3,minmax(0,1fr));max-width:360px}a.side-me{color:var(--text);text-decoration:none;border-radius:var(--radius);padding:12px 8px 4px}@media(hover:hover){a.side-me:hover .side-name{text-decoration:underline}}.tabbar{display:none}@media(max-width:760px){.shell{grid-template-columns:minmax(0,1fr);padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.sidebar{display:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--sidebar);border-top:1px solid var(--line)}.tabbar a{display:grid;justify-items:center;gap:2px;padding:4px 0;color:var(--muted);text-decoration:none;font-size:11px;font-weight:500}.tabbar a[aria-current=page]{color:var(--accent)}}.page{max-width:1040px;padding:calc(28px + env(safe-area-inset-top,0px)) 32px 56px}@media(max-width:760px){.page{padding:calc(20px + env(safe-area-inset-top,0px)) 16px 32px}}.page-title{display:grid;gap:2px;margin-bottom:20px}.page-title h1{font-size:34px;line-height:1.1}.page-sub{margin:0;color:var(--muted);font-size:15px}.start-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding-bottom:24px;border-bottom:1px solid var(--line)}.start-row .hint{flex:1 1 240px}.join-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding-bottom:24px;border-bottom:1px solid var(--line)}.join-inline label{display:grid;gap:4px;flex:1 1 180px;font-size:13px;font-weight:600;color:var(--muted)}.join-inline input{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px;font-weight:400}.join-inline input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.join-inline .error,.join-inline .hint{flex:1 0 100%}.block{padding-top:24px}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.block-head h2{font-size:17px;font-weight:600}.block-head a{font-size:14px;text-decoration:none}.cover-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:18px 16px}.cover-link{display:grid;gap:2px;color:var(--text);text-decoration:none}.cover-link strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.cover-sk{aspect-ratio:1000 / 1414;border-radius:4px}.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.row-item{display:flex;align-items:center;gap:16px;min-height:56px;padding:8px 0;border-bottom:1px solid var(--line)}.row-when{width:120px;flex-shrink:0;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.row-when b{color:var(--text);font-weight:600}.row-what{flex:1;min-width:0;display:grid;font-weight:500;overflow-wrap:anywhere}.row-what small{color:var(--muted);font-size:13px;font-weight:400}.row-actions{display:flex;gap:16px;flex-shrink:0}.row-actions a{font-size:14px;font-weight:500;text-decoration:none}@media(hover:hover){.row-actions a:hover{text-decoration:underline}}.row-sk{display:block;height:56px;border-radius:0;margin-bottom:1px}@media(max-width:480px){.row-item{flex-wrap:wrap;gap:4px 12px}.row-when{width:auto}}.list .link{color:inherit;text-decoration:none;align-items:flex-start;padding:16px}@media(hover:hover){.list .link:hover{background:var(--accent-soft)}}.list .link:active{background:var(--accent-soft)}.row-icon{color:var(--accent);padding-top:1px;min-width:0!important}.row-text{display:grid;gap:2px;flex:1;min-width:0}.row-text strong{font-weight:600}.row-text>span{color:var(--muted);font-size:15px}.row-status{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--text)!important}.row-status i,.status i{width:8px;height:8px;border-radius:50%;background:var(--warn);flex-shrink:0}.chev{color:var(--muted);align-self:center;flex-shrink:0}.stats{display:grid;grid-template-columns:auto auto;gap:2px 12px;margin:0;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.stats dt{color:var(--muted)}.stats dd{margin:0;text-align:right}:root{--bar: #f8f6f1;--bar-line: rgba(27, 29, 33, .1);--selected: rgba(30, 107, 79, .11);--pop: #fffdf8;--paper-ring: rgba(27, 29, 33, .14)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bar: #1a1d1b;--bar-line: rgba(255, 255, 255, .08);--selected: rgba(108, 197, 156, .16);--pop: #232624;--paper-ring: rgba(255, 255, 255, .38)}}:root[data-theme=dark]{--bar: #1a1d1b;--bar-line: rgba(255, 255, 255, .08);--selected: rgba(108, 197, 156, .16);--pop: #232624;--paper-ring: rgba(255, 255, 255, .38)}.ink{position:relative;height:100%;height:100dvh;overflow:hidden}.board{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--board);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.board .live{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.doc{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.doc canvas.sheet{padding:0;max-width:none;position:absolute;background:#fff;box-shadow:0 1px 2px #00000014,0 4px 16px #0000001a}.add-page-tile{--pull: 0;position:absolute;height:132px;display:grid;grid-template-columns:auto auto;place-content:center;align-items:center;gap:2px 14px;overflow:hidden;border:2px dashed color-mix(in srgb,var(--muted) 45%,transparent);border-radius:18px;background:transparent;color:var(--muted);font-size:30px;font-weight:500}@media(hover:hover){.add-page-tile:hover{color:var(--accent);border-color:var(--accent)}}.add-page-tile:active{color:var(--accent);border-color:var(--accent)}.add-page-tile svg{grid-row:span 2}.add-page-tile small{font-size:20px;font-weight:400;opacity:.8}.pull-bar{position:absolute;left:0;bottom:0;height:6px;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--pull))}.menu-actions{display:grid;gap:4px;padding:6px}.popover-menu .menu-actions .primary{min-height:44px;background:var(--accent);color:var(--accent-text);font-weight:600}.popover-menu .menu-actions button{justify-content:center}.orient{display:block;border:1.5px solid currentColor;border-radius:2px}.orient.portrait{width:14px;height:19px}.orient.landscape{width:19px;height:14px;margin:2px 0}.mode{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;margin-right:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:14px;font-weight:500;white-space:nowrap}.mode[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.page-count{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));translate:-50% 0;z-index:5;padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--text) 72%,transparent);color:var(--bg);font-size:13px;font-variant-numeric:tabular-nums;pointer-events:none}@media(max-width:900px){.mode span{display:none}.mode{padding:0 9px}}@media(max-width:480px){.add-page-btn{display:none}}.bar{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(6px + env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) 6px max(8px,env(safe-area-inset-left,0px));background:var(--bar);box-shadow:0 1px 0 var(--bar-line)}.bar-group{display:flex;align-items:center;gap:2px}@media(min-width:761px){.bar{display:grid;grid-template-columns:1fr auto 1fr}.bar-center{justify-content:center}.bar-end{justify-content:flex-end}}.divider{width:1px;height:24px;background:var(--bar-line);margin:0 6px;flex-shrink:0}.icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--text);text-decoration:none;transition:transform .1s ease-out,background-color .12s ease-out}.icon:active{transform:scale(.92)}@media(hover:hover){.icon:hover{background:var(--selected)}}.icon[aria-pressed=true]{background:var(--selected);color:var(--accent);border:0}.icon svg{display:block}.swatches,.sizes{display:flex;align-items:center;gap:0}.swatch{display:grid;place-items:center;width:40px;height:44px;min-height:44px;padding:0;border:0;background:transparent;flex-shrink:0}.swatch span{width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--paper-ring);transition:transform .12s ease-out,box-shadow .12s ease-out}.swatch:active span{transform:scale(.88)}.swatch[aria-pressed=true]{background:transparent}.swatch[aria-pressed=true] span{box-shadow:0 0 0 2px var(--bar),0 0 0 4px var(--accent)}.size span{display:block;border-radius:50%;background:currentColor}.current{display:block;border-radius:50%;box-shadow:0 0 0 2px var(--bar),0 0 0 3.5px var(--paper-ring);max-width:22px;max-height:22px}.inline-style{display:flex;align-items:center;gap:4px}.options-slot{width:344px;justify-content:flex-start}.seg{display:inline-grid;grid-auto-flow:column;padding:2px;border-radius:10px;background:var(--line)}.seg button{min-height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap}.seg button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.slider{display:flex;align-items:center;gap:8px;margin-left:8px;min-height:44px}.slider input{width:96px;accent-color:var(--accent)}.slider-dot{display:block;border-radius:50%;border:1.5px solid currentColor;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.popover-style .seg,.popover-style .slider{justify-self:center}.size.ring span{background:transparent;border:1.5px solid currentColor}.bar,.popover{touch-action:manipulation}.menu-label{padding:8px 12px 2px;font-size:13px;color:var(--muted)}.menu-row{display:flex;gap:4px;padding:4px 6px 8px}.popover-menu .chip-btn,.filter-row .chip-btn{flex:1;display:grid;justify-items:center;gap:2px;min-height:56px;padding:6px 4px;border-radius:10px;font-size:13px;text-align:center}.popover-menu .chip-btn[aria-checked=true],.filter-row .chip-btn[aria-checked=true]{background:var(--accent-soft);color:var(--accent)}.compact-style{display:none}.anchor{position:relative}.popover{position:absolute;top:calc(100% + 8px);z-index:20;background:var(--pop);border-radius:14px;box-shadow:var(--shadow);padding:6px;transform-origin:top center;animation:pop-in .16s cubic-bezier(.2,.8,.2,1)}.popover-style{left:50%;translate:-50% 0;display:grid;gap:2px;justify-items:center}.popover-menu{right:0;transform-origin:top right;min-width:272px;display:grid}.popover-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border:0;border-radius:10px;background:transparent;text-align:left;padding:0 12px}@media(hover:hover){.popover-menu button:hover{background:var(--selected)}}.popover-menu .check{margin-left:auto;color:var(--muted);font-size:14px}.popover-menu .danger{color:var(--bad)}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}}.ink>.stats{position:absolute;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:5;padding:10px 12px;background:var(--pop);border-radius:12px;box-shadow:var(--shadow);pointer-events:none}.toast{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;max-width:calc(100% - 32px);padding:10px 16px;border-radius:12px;background:var(--text);color:var(--bg);font-size:15px;translate:-50% 0;opacity:0;transform:translateY(8px);transition:opacity .2s ease-out,transform .2s ease-out;pointer-events:none}.toast[data-show]{opacity:1;transform:none}@media(max-width:1280px){.inline-style{display:none}.compact-style{display:block}}@media(max-width:480px){.bar{gap:0;padding-left:max(4px,env(safe-area-inset-left,0px));padding-right:max(4px,env(safe-area-inset-right,0px))}.bar-group{gap:0}.icon{width:38px}.divider{margin:0 2px}}@media(max-width:360px){.back-link{display:none}}@media(prefers-reduced-motion:reduce){.popover{animation:none}.icon,.swatch span,.toast{transition:opacity .15s ease}.icon:active,.swatch:active span{transform:none}}.lobby{max-width:1040px;margin:0 auto;padding:24px 16px 40px}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}@media(max-width:760px){.lobby-grid{grid-template-columns:minmax(0,1fr)}}.lobby-camera{display:grid;gap:12px}.preview{position:relative;aspect-ratio:16 / 10;max-width:100%;border-radius:16px;overflow:hidden;background:#16181d;display:grid;place-items:center}.preview video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.preview-note{color:#c9ccd3;font-size:15px;padding:0 24px;text-align:center}.device-row{display:flex;gap:8px;justify-content:center}.device{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--surface);font-size:15px;font-weight:500}.device[aria-pressed=true]{background:var(--bad);color:#fff}.lobby-form{display:grid;gap:16px}.lede{margin:0;color:var(--muted)}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:11px;background:var(--line)}.segmented button{min-height:36px;border:0;border-radius:9px;background:transparent;font-size:15px;font-weight:500;color:var(--muted);transition:background-color .15s ease-out,color .15s ease-out}.segmented button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.meeting{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:12px 8px 8px 16px;border-radius:var(--radius);background:var(--surface)}.meeting-text{display:grid;flex:1 1 100%;min-width:0}.meeting-label{font-size:13px;color:var(--muted)}.meeting-text strong{font-weight:600;font-size:19px;overflow-wrap:anywhere}.ghost.on-dark{color:#9ee0bd;justify-self:center}.tile-name b{margin-right:6px;color:#9ee0bd;font-size:12px;font-weight:600}.form-title{font-size:22px}button:disabled{opacity:.5;cursor:default}.last-result{margin-top:32px;display:grid;gap:8px}.last-head{display:flex;align-items:center;justify-content:space-between}.last-head h2{font-size:20px}.facts{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;color:var(--muted);font-variant-numeric:tabular-nums}.log{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:14px}.log li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px}.log time{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);font-variant-numeric:tabular-nums}.log span{overflow-wrap:anywhere}.call{--call-bg: #0d0e11;--call-fg: #e9ebef;--call-muted: #9aa0ab;--call-tile: #1c1e23;--call-ctl: #24262c;position:relative;height:100%;height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:var(--call-bg);color:var(--call-fg)}.call>*{grid-column:1}.call-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px}.status{display:inline-flex;align-items:center;gap:8px;font-weight:600}.status-connected i{background:var(--ok)}.status-disconnected i{background:var(--bad)}.call-meta{color:var(--call-muted);font-size:15px}.timer{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600}.timer small{color:var(--call-muted);font-weight:400}.progress{width:120px;height:3px;border-radius:2px;background:var(--call-ctl);overflow:hidden}.progress span{display:block;height:100%;background:var(--ok)}.call .stage,.call .connecting{grid-row:2;padding:8px 16px;overflow:auto}.stage,.stage-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;align-content:center}.stage-inner{grid-column:1 / -1}.tile{position:relative;aspect-ratio:var(--ar, 16 / 9);max-width:100%;max-height:calc(100dvh - 200px);justify-self:center;background:var(--call-tile, #1c1e23);border-radius:14px;overflow:hidden}.tile video,.tile video-player{width:100%;height:100%;object-fit:cover;display:block}.tile.cam-off video{visibility:hidden}.tile-name{position:absolute;left:10px;bottom:8px;z-index:1;padding:2px 8px;border-radius:6px;background:#0000008c;color:#fff;font-size:13px}.connecting{display:grid;gap:10px;align-content:start}.call-empty{grid-row:2;align-self:center;justify-self:center;text-align:center;padding:24px;max-width:420px;display:grid;gap:6px}.call-empty strong{color:var(--call-fg)}.call .hint{color:var(--call-muted)}.call-panel{position:absolute;right:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:10;width:min(360px,calc(100% - 32px));max-height:60%;overflow:auto;display:grid;gap:10px;padding:16px;border-radius:16px;background:var(--call-ctl);color:var(--call-fg);animation:pop-in .16s cubic-bezier(.2,.8,.2,1);transform-origin:bottom right}.call-panel h2{font-size:17px}.info-list{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}.info-list dt{color:var(--call-muted)}.info-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.facts.on-dark{color:var(--call-muted)}.call-panel .log time{color:var(--call-muted)}.call-log{position:absolute;right:16px;bottom:96px;width:min(380px,calc(100% - 32px));max-height:45%;overflow:auto;padding:12px 14px;border-radius:14px;background:var(--call-ctl);color:var(--call-fg)}.call-log time{color:var(--call-muted)}.controls{grid-row:3;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.ctl{display:grid;justify-items:center;gap:4px;min-width:76px;min-height:60px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:var(--call-fg);font-size:12px;transition:background-color .12s ease-out,transform .1s ease-out}@media(hover:hover){.ctl:hover{background:var(--call-ctl)}}.ctl:active{transform:scale(.96)}.ctl-device[aria-pressed=true]{color:#ff8a8a}.ctl:not(.ctl-device)[aria-pressed=true]{background:var(--call-ctl)}.ctl-num{font:600 18px/24px -apple-system,system-ui,sans-serif;font-variant-numeric:tabular-nums}.ctl.leave{color:#ff6b6b}@media(prefers-reduced-motion:reduce){.ctl,.primary,.segmented button{transition:none}.ctl:active,.primary:active{transform:none}}:root{--sk: rgba(23, 24, 28, .08)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--sk: rgba(255, 255, 255, .08)}}:root[data-theme=dark]{--sk: rgba(255, 255, 255, .08)}.sk{display:block;background:var(--sk);border-radius:8px;animation:sk-pulse 1.6s ease-in-out infinite;flex-shrink:0}@keyframes sk-pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.sk{animation:none}}.sk-bar{pointer-events:none}.sk-icon{width:28px;height:28px;margin:8px;border-radius:8px}.sk-dot{width:24px;height:24px;margin:10px 8px;border-radius:50%}.sk-page{position:absolute;left:16px;right:16px;top:72px;max-width:1200px;margin:0 auto;aspect-ratio:1000 / 1414;background:#fff;opacity:.9;box-shadow:0 2px 12px #0000002e}.sk-title{width:160px;height:28px}.sk-preview{aspect-ratio:16 / 10;border-radius:16px}.sk-row{height:50px;border-radius:0}.sk-group{display:grid;gap:1px;border-radius:var(--radius);overflow:hidden}.sk-fieldset{height:64px;border-radius:10px}.sk-field{display:grid;gap:6px}.sk-label{width:90px;height:14px;border-radius:4px}.sk-input{height:44px;border-radius:10px}.sk-button{height:40px;border-radius:10px}.sk-tile{background:var(--sk)}.sk-name{position:absolute;left:8px;bottom:8px;width:72px;height:12px;border-radius:4px;background:#fff3}.connecting{display:grid;gap:10px}.phase{margin:0;font-weight:500}@media(max-width:480px){.controls{flex-wrap:nowrap;gap:0;padding-left:4px;padding-right:4px}.ctl{min-width:0;flex:1;padding:8px 2px;font-size:11px}.timer{margin-left:0;justify-items:start}}.net{display:inline-flex;align-items:center;gap:6px;margin-left:6px;color:var(--muted);font-size:14px;white-space:nowrap;max-width:220px}.net-text{overflow:hidden;text-overflow:ellipsis}.net-live{color:var(--ok)}.net-live .net-text{color:var(--muted)}.net-offline{color:var(--warn)}@media(max-width:900px){.net-text{display:none}}.people-count{margin-left:2px;min-width:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:12px;line-height:20px;text-align:center}.board-banner{position:absolute;left:50%;top:calc(64px + env(safe-area-inset-top,0px));translate:-50% 0;z-index:8;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow);font-size:14px;color:var(--muted)}.follow-btn{position:absolute;right:16px;bottom:calc(52px + env(safe-area-inset-bottom,0px));z-index:8;min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-text);font-weight:600;box-shadow:var(--shadow)}.board-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);pointer-events:none}.ink.embedded{position:absolute;top:0;right:0;bottom:0;left:0;height:auto}.bar-center[aria-disabled=true]{opacity:.45}.library{max-width:1100px;margin:0 auto;padding:24px 16px 48px}.lib-head{display:flex;align-items:center;gap:6px;margin-bottom:20px}.lib-head h1{font-size:28px;flex:1}.lib-head .primary,.lib-empty .primary{display:inline-flex;align-items:center;gap:6px;min-height:44px}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 18px;margin:0;padding:0;list-style:none}.lib-sk{aspect-ratio:3 / 4;border-radius:10px}.wb{display:grid;gap:3px;color:var(--text);text-decoration:none}.wb strong{font-weight:600;font-size:15px;overflow-wrap:anywhere}.wb>span:last-child{color:var(--muted);font-size:13px}.wb-cover{aspect-ratio:1000 / 1414;margin-bottom:6px;border-radius:8px;background:#fff;display:grid;align-content:start;gap:14%;padding:22% 12% 0;box-shadow:0 1px 2px #0000001a,0 6px 18px #0000001a;transition:transform .12s ease-out}.wb-cover i{display:block;height:1px;background:#dfe6f0}.wb:active .wb-cover{transform:scale(.97)}@media(hover:hover){.wb:hover .wb-cover{box-shadow:0 0 0 3px var(--accent-soft),0 6px 18px #0000001f}}.lib-empty{display:grid;justify-items:start;gap:10px;max-width:460px;padding:24px 0}.call-board{grid-row:1 / 3;grid-column:1;position:relative;min-height:0;background:var(--board);color:var(--text)}.call.with-board .call-head,.call.with-board .call-empty,.call.with-board .connecting{display:none}.pip{display:contents}.call .stage{grid-column:1}.call.with-board .pip{display:grid;gap:4px;position:absolute;z-index:9;width:min(200px,28vw);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.call.with-board .pip.small{width:min(120px,22vw)}.call.with-board .pip[data-corner^=t]{top:calc(64px + env(safe-area-inset-top,0px))}.call.with-board .pip[data-corner^=b]{bottom:calc(104px + env(safe-area-inset-bottom,0px))}.call.with-board .pip[data-corner$=r]{right:12px}.call.with-board .pip[data-corner$=l]{left:12px}.call.with-board .pip:active{cursor:grabbing}.pip-bar{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 2px 0 8px;border-radius:9px;background:#0d0e11b8;color:#e9ebef}.pip-btn{display:grid;place-items:center;width:32px;height:28px;border:0;border-radius:7px;background:transparent;color:inherit}.call.with-board .stage{position:static;width:100%;max-height:calc(100dvh - 260px);padding:0;overflow:hidden;grid-template-columns:1fr;gap:8px}.call.with-board .pip.small .tile-name{display:none}.call.with-board .tile{border-radius:12px;box-shadow:0 4px 16px #0000004d;max-height:40dvh}.call.with-board .controls{background:var(--call-bg)}.wb-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:240px;overflow:auto}.wb-pick{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:#ffffff0f;color:var(--call-fg);text-align:left}@media(hover:hover){.wb-pick:hover{background:#ffffff1f}}.call-panel .menu-label{color:var(--call-muted);padding:4px 0 0}.tile{display:grid;place-items:center}.tile>video,.tile>video-player{position:absolute;top:0;right:0;bottom:0;left:0}.tile-face{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#3a3d45;color:#e9ebef;font-size:24px;font-weight:600}.call.with-board .tile-face{width:40px;height:40px;font-size:18px}.tile{width:100%;justify-self:stretch}.tile>video{object-fit:contain;background:#000}.people-panel{gap:18px;max-height:min(70dvh,640px)}.panel-section{display:grid;gap:10px}.panel-section+.panel-section{padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.person-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.person-list li{display:flex;align-items:center;gap:8px;min-height:40px}.person-name{flex:1;min-width:0;overflow-wrap:anywhere}.person-name small{color:var(--call-muted);font-size:13px}.person-list .primary,.person-list .ghost,.section-head .ghost{min-height:36px;padding:0 12px;font-size:14px}.danger-btn{min-height:36px;padding:0 12px;border:0;border-radius:10px;background:#c0392b;color:#fff;font-weight:600;font-size:14px}.switch-row{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.switch-row>span{flex:1;min-width:0;display:grid;gap:2px}.switch-row small{color:var(--call-muted);font-size:13px}.switch-row input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:46px;height:28px;margin:0;border-radius:999px;background:#3a3d45;position:relative;transition:background-color .16s ease-out;cursor:pointer}.switch-row input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:translate .2s cubic-bezier(.2,.9,.25,1)}.switch-row input[type=checkbox]:checked{background:var(--ok)}.switch-row input[type=checkbox]:checked:after{translate:18px 0}.switch-row input[type=checkbox]:focus-visible{outline:2px solid #9ee0bd;outline-offset:2px}.panel-actions{display:flex;flex-wrap:wrap;gap:8px}.panel-actions>button{flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.ctl-icon{position:relative;display:grid;place-items:center}.ctl-badge{position:absolute;top:-6px;right:-12px;min-width:18px;padding:0 5px;border-radius:999px;background:#ff6b6b;color:#fff;font-size:11px;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.knock,.call-error{position:absolute;left:50%;translate:-50% 0;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:12;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 8px 8px 16px;border-radius:14px;background:var(--call-ctl);color:var(--call-fg);box-shadow:0 8px 24px #00000059;animation:pop-in .16s cubic-bezier(.2,.8,.2,1)}.knock span,.call-error{min-width:0;overflow-wrap:break-word}.knock .primary,.knock .ghost,.call-error .ghost{min-height:36px;padding:0 12px;flex-shrink:0}.call-error{bottom:calc(150px + env(safe-area-inset-bottom,0px))}.call .call-meta{padding:2px 8px;border-radius:6px;background:var(--call-ctl);font-size:13px}@media(prefers-reduced-motion:reduce){.knock,.call-error{animation:none}.switch-row input:after{transition:none}}.waiting{justify-items:start}.waiting h1{font-size:24px;text-wrap:balance}.waiting-dot{width:44px;height:44px;border-radius:50%}.lib-section+.lib-section{margin-top:32px}.lib-label{font-size:15px;font-weight:600;color:var(--muted);margin-bottom:12px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.lesson-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;border-radius:var(--radius);overflow:hidden;background:var(--line)}.lesson{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--surface)}.lesson-when{display:grid;width:96px;flex-shrink:0;font-variant-numeric:tabular-nums}.lesson-when span,.lesson-what span{color:var(--muted);font-size:14px}.lesson-what{flex:1;min-width:0;display:grid;gap:2px}.lesson-what strong,.lesson-what span{overflow-wrap:anywhere}.lesson .ghost{flex-shrink:0}.lesson-sk{height:64px;border-radius:0}.signout{margin-left:auto;display:inline-flex;align-items:center;gap:6px}@media(max-width:480px){.lesson{flex-wrap:wrap;gap:8px 12px}.lesson-when{width:auto;display:flex;gap:8px}}.filter-row .chip-btn{flex:none;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:14px}@media(max-width:420px){.ink.embedded .net,.ink.embedded .divider{display:none}}.call.with-board .tile-name{max-width:calc(100% - 12px);left:6px;bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.rec-banner{position:absolute;left:50%;translate:-50% 0;top:calc(10px + env(safe-area-inset-top,0px));z-index:12;display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:6px 14px;border-radius:999px;background:#b42318;color:#fff;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px #0000004d}.call.with-board .rec-banner{top:calc(64px + env(safe-area-inset-top,0px))}.rec-banner i{width:9px;height:9px;border-radius:50%;background:#fff;flex-shrink:0;animation:rec-blink 1.6s ease-in-out infinite}.rec-banner.asking{background:var(--call-ctl);color:var(--call-fg);font-weight:500;padding:4px 4px 4px 14px}.rec-banner.asking .ghost{min-height:32px;padding:0 12px}@keyframes rec-blink{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.rec-banner i{animation:none}}.ctl.rec-on{color:#ff6b6b}.consent-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:16px;background:#0000008c}.consent{width:min(420px,100%);display:grid;gap:10px;padding:22px;border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 20px 60px #0006;animation:pop-in .18s cubic-bezier(.2,.8,.2,1)}.consent h2{font-size:20px;text-wrap:balance}.consent p{margin:0}.consent .hint{color:var(--muted)}.consent-icon{color:#b42318}.consent-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.consent-actions button{min-height:44px;padding:0 18px}.replay{max-width:1100px;margin:0 auto;padding:24px 16px 32px;display:grid;gap:12px}.replay .lib-head{margin-bottom:0}.replay-meta{margin:0}.replay-stage{display:grid;place-items:center;height:min(70dvh,900px);min-height:280px;border-radius:var(--radius);background:var(--board, #e9ebef);overflow:hidden}.replay-page{max-width:100%;max-height:100%;box-shadow:0 2px 12px #0000002e;background:#fff}.replay-sk{width:min(420px,70%);aspect-ratio:1000 / 1414}.replay-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.replay-play{width:48px;height:48px;padding:0;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.replay-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px;min-width:44px}.replay-scrub{flex:1 1 200px;min-width:0;accent-color:var(--accent)}.replay-label{margin:0}.replay-speed{grid-template-columns:repeat(3,minmax(44px,auto))}.sel-bar{position:absolute;left:0;top:0;z-index:11;display:flex;align-items:center;gap:2px;padding:4px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow);color:var(--text);white-space:nowrap;animation:pop-in .14s cubic-bezier(.2,.8,.2,1)}.sel-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:inherit;font-size:14px}.sel-btn.danger{color:var(--bad)}@media(hover:hover){.sel-btn:hover{background:var(--selected)}}.text-edit{position:absolute;left:0;top:0;z-index:9;transform-origin:0 0;margin:0;padding:0;border:1.5px dashed var(--accent);border-radius:4px;background:#fff9;line-height:1.3;resize:none;overflow:hidden;outline:none;min-height:1.6em}.tool-hint{color:var(--muted);font-size:13px;white-space:nowrap;padding:0 6px}.seg-3{grid-template-columns:repeat(3,1fr)}.chip-action{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 10px;white-space:nowrap}.menu-row .chip-btn:disabled{opacity:.4}@media(prefers-reduced-motion:reduce){.sel-bar{animation:none}}.folder-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.folder{width:100%;display:grid;justify-items:start;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;transition:transform .12s ease-out}.folder svg{color:var(--accent)}.folder strong{font-size:15px;overflow-wrap:anywhere}.folder span{color:var(--muted);font-size:13px}.folder:active{transform:scale(.98)}@media(hover:hover){.folder:hover{border-color:var(--accent)}}.wb-cell{position:relative}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:end center;padding:16px;background:#0006}@media(min-width:600px){.sheet-scrim{place-items:center}}.sheet{width:min(440px,100%);display:grid;gap:12px;padding:20px;border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 20px 60px #00000059;animation:pop-in .16s cubic-bezier(.2,.8,.2,1)}.sheet h2{font-size:18px;overflow-wrap:anywhere}.move-list{display:grid;gap:4px;max-height:40dvh;overflow:auto}.move-to{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;font-size:15px}.move-to svg{color:var(--accent)}.move-to[aria-current=true]{background:var(--accent-soft)}@media(hover:hover){.move-to:hover{background:var(--selected)}}.new-folder{display:flex;gap:8px}.new-folder input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font-size:16px}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}@media(max-width:600px){.bar{flex-wrap:wrap;row-gap:2px}.bar-center{order:3;flex:1 0 100%;justify-content:center}.bar-center .divider{display:none}}.lib-head .ghost{min-height:44px}.wb{position:relative;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;cursor:pointer}.wb-date{color:var(--muted);font-size:13px}.wb-check{position:absolute;right:8px;top:8px;color:var(--accent);background:#ffffffe6;border-radius:50%;line-height:0}.wb-cell.picked .wb-cover{box-shadow:0 0 0 3px var(--accent),0 6px 18px #0000001f}.folder.trash svg{color:var(--muted)}.sheet-date{margin:-6px 0 0}.sheet-actions{display:grid;gap:2px}.move-to.danger{color:var(--bad)}.move-to.danger svg{color:var(--bad)}.select-bar{position:fixed;left:50%;translate:-50% 0;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 32px);padding:8px 8px 8px 16px;border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.select-bar>span{font-weight:600;margin-right:6px;font-variant-numeric:tabular-nums}.select-bar .ghost,.danger-solid{min-height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 12px}.danger-solid{border:0;border-radius:10px;background:var(--bad);color:#fff;font-weight:600}.lib-toast{position:fixed;left:50%;translate:-50% 0;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:31;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 8px 8px 16px;border-radius:14px;background:var(--text);color:var(--bg);box-shadow:var(--shadow);animation:pop-in .16s cubic-bezier(.2,.8,.2,1)}.lib-toast span{min-width:0;overflow-wrap:anywhere}.lib-toast .ghost{color:var(--bg);font-weight:600;min-height:36px}@media(prefers-reduced-motion:reduce){.lib-toast{animation:none}}.wb-cover{position:relative;overflow:hidden}.wb-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:top;background:#fff;opacity:0;transition:opacity .16s ease-out}.wb-cover img.ready{opacity:1}@media(prefers-reduced-motion:reduce){.wb-cover img{transition:none}}.state-page{max-width:520px;margin:0 auto;padding:18vh 16px 48px;display:grid;gap:12px}.state-code{margin:0;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.08em}.state-page h1{font-size:28px}.state-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.state-actions .primary{display:inline-flex;align-items:center;text-decoration:none}.wb{display:grid;gap:8px;color:var(--text);text-decoration:none}.wb-open{display:block;color:inherit;text-decoration:none;min-width:0}.wb-cover{margin-bottom:0;border-radius:3px;background:var(--paper);box-shadow:0 0 0 1px var(--line),0 1px 2px #1b1d210f}.wb-cover i{background:#e6e1d6}@media(hover:hover){.wb-open:hover .wb-cover,a.wb-open:hover+.wb-meta .wb-cover{box-shadow:0 0 0 2px var(--accent)}}.wb-meta{display:flex;align-items:flex-start;gap:4px;min-width:0}.wb-caption{display:grid;gap:1px;min-width:0;flex:1}.wb-caption strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}.wb-more{position:static;width:32px;height:28px;margin-top:-3px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted);box-shadow:none}@media(hover:hover){.wb-more:hover{background:var(--selected);color:var(--text)}}.wb-check{top:8px;right:8px}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:24px 18px}.folder{border-radius:var(--radius);background:var(--surface)}.lib-label{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.01em}.lib-head h1{font-size:34px}.lib-head{margin-bottom:24px}.wb-meta>.wb-open{flex:1}.call{--call-bg: #16181a;--call-fg: #ecebe6;--call-muted: #9ea39f;--call-tile: #23262a;--call-ctl: #2b2f33}.controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--call-bg);border-top:1px solid #262a2e}.controls-side{display:grid;gap:1px;min-width:0;font-variant-numeric:tabular-nums}.ctl-time{font-weight:600;font-size:15px}.ctl-room{color:var(--call-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls-main{display:flex;justify-content:center;gap:4px}.controls-end{display:flex;justify-content:flex-end}.ctl{min-width:68px;min-height:58px;padding:6px 8px;gap:4px;border-radius:var(--radius);font-size:12px;color:var(--call-muted)}.ctl>svg,.ctl .ctl-icon{display:grid;place-items:center;width:44px;height:36px;border-radius:10px;color:var(--call-fg)}.ctl>svg{padding:6px 10px;box-sizing:content-box;width:24px;height:24px}@media(hover:hover){.ctl:hover{background:transparent}.ctl:hover>svg,.ctl:hover .ctl-icon{background:var(--call-ctl)}}.ctl-device[aria-pressed=true]{color:var(--call-muted)}.ctl-device[aria-pressed=true]>svg{background:#b3261e;color:#fff}.ctl:not(.ctl-device)[aria-pressed=true]{background:transparent;color:var(--call-fg)}.ctl:not(.ctl-device)[aria-pressed=true]>svg,.ctl:not(.ctl-device)[aria-pressed=true] .ctl-icon{background:#3a3f44}.ctl.rec-on>svg{background:#b3261e;color:#fff}.leave-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:var(--radius);background:#b3261e;color:#fff;font-weight:600;font-size:15px}@media(hover:hover){.leave-btn:hover{background:#9b1f18}}.call-head{display:none}.call .status{position:absolute}@media(max-width:900px){.ctl-room{display:none}.ctl{min-width:58px}}@media(max-width:600px){.controls{grid-template-columns:minmax(0,1fr) auto;padding-left:6px;padding-right:6px;gap:6px}.controls-side{display:none}.controls-main{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);padding-right:24px}.ctl{min-width:54px;padding:4px 2px;font-size:11px;flex:none}.leave-btn{padding:0 12px}.leave-btn span{display:none}}.ctl-time.status-reconnecting,.ctl-time.status-connecting{color:#f0b45a}.ctl-time.status-disconnected{color:#f2867c}.group{border:1px solid var(--line);background:var(--surface)}.signin{padding-top:14vh}.signin .brand h1,.lobby .page-head h1,.signin .page-head h1{font-size:30px}.preview{border-radius:var(--radius)}.device{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.group .row input:focus,.group .row select:focus{outline:none}.group:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}@media(max-width:600px){.cover-row{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:40%;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}}.settings{max-width:680px}.set-block{padding-top:28px}.set-block:first-of-type{padding-top:4px}.set-block>h2{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.set-note{margin-top:8px;font-size:14px}.set-row>span:first-child{min-width:112px}@media(max-width:480px){.set-row>span:first-child{min-width:72px}}.set-value{flex:1;min-width:0;text-align:right;color:var(--muted);overflow-wrap:break-word}.set-email small{color:var(--ok)}.set-inline{flex-shrink:0;margin-right:-10px}.set-saved{flex-shrink:0;color:var(--ok);font-size:14px}.set-form,.set-expand{margin:0}.set-expand{display:grid;padding-bottom:12px}.set-expand .set-note{padding:12px 16px 0;margin:0}.set-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:8px 16px 0}.set-err{padding:0 16px 10px;font-size:14px}.set-link{width:100%;border:0;background:none;font:inherit;color:var(--text);text-align:left;text-decoration:none;cursor:pointer}@media(hover:hover){.set-link:hover{background:var(--selected)}}.set-link:disabled{cursor:default}.set-switch{cursor:pointer}.set-switch>span:first-child{display:grid;gap:2px;flex:1;min-width:0}.set-switch small{color:var(--muted);font-size:13px}.set-switch input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;position:relative;width:44px;height:26px;margin:0 0 0 auto;border-radius:13px;background:var(--line);cursor:pointer;transition:background-color .15s ease-out}.set-switch input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:translate .15s ease-out}.set-switch input[type=checkbox]:checked{background:var(--accent)}.set-switch input[type=checkbox]:checked:after{translate:18px 0}.set-switch input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.set-danger{margin-top:28px;border-top:1px solid var(--line)}.danger-text{margin-top:8px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--bad);font-weight:600;font-size:15px}@media(hover:hover){.danger-text:hover{border-color:var(--bad)}}.del-list{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--text);font-size:15px}.del-confirm{display:grid;gap:6px;font-size:15px}.del-confirm input{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:#1b1d21;font:inherit}.del-actions{display:flex;justify-content:flex-end;gap:8px}.del-go{min-height:44px;padding:0 16px}.del-go:disabled{opacity:.5}@media(prefers-reduced-motion:reduce){.set-switch input[type=checkbox],.set-switch input[type=checkbox]:after{transition:none}}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:-8px 0 4px;font-size:14px;color:var(--muted)}.crumb-step{display:inline-flex;align-items:center;gap:2px;min-width:0}.crumb{min-height:32px;padding:0 6px;border:0;border-radius:6px;background:none;color:var(--accent);font:inherit;overflow-wrap:anywhere;text-align:left}@media(hover:hover){.crumb:hover{background:var(--accent-soft)}}.folder-cell{position:relative}.folder-cell .folder{padding-right:44px}.folder:disabled{opacity:.5}.folder-more{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:none;color:var(--muted)}@media(hover:hover){.folder-more:hover{background:var(--selected);color:var(--text)}}.choice{display:grid;gap:2px;min-width:0;flex:1}.choice small{color:var(--muted);font-size:13px;font-weight:400}.move-to.danger .choice small{color:var(--muted)}.move-to:disabled{opacity:.45;cursor:default}.picker{display:grid;gap:10px}.picker-head{display:flex;align-items:center;gap:6px;min-height:40px}.picker-head strong{font-size:16px;overflow-wrap:anywhere}.picker-pad{width:8px}.picker-in{margin-left:auto;flex-shrink:0;color:var(--muted)}.picker-empty{padding:8px 12px;font-size:14px}.picker-new{justify-self:start}.picker .move-list{border:1px solid var(--line);border-radius:10px;padding:4px;min-height:52px}.new-book{display:grid;gap:12px}.nb-folder{width:100%;border:0;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.nb-path{flex:1;min-width:0;text-align:right;color:var(--muted);overflow-wrap:anywhere}@media(hover:hover){.nb-folder:hover{background:var(--selected)}}.lib-head h1{min-width:0;overflow-wrap:anywhere}@media(max-width:480px){.wide-only{display:none}.lib-head .primary{padding:0 14px}.lib-head .ghost{padding:0 8px}}.send-icon{color:var(--accent)}.send-sheet .segmented{grid-template-columns:1fr 1fr}.send-ink{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px}.send-ink input{width:20px;height:20px;accent-color:var(--accent)}.ho-choice{display:grid;gap:8px;margin:0;padding:0;border:0}.ho-opt{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.ho-opt.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ho-opt input[type=radio]{margin-top:3px;width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.ho-opt>span{display:grid;gap:4px;min-width:0;flex:1}.ho-opt small{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.ho-opt select{min-height:40px;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:#1b1d21;font:inherit;font-size:15px;padding:0 8px}.work-grid{grid-row:1 / 3;grid-column:1;position:relative;z-index:5;min-height:0;overflow:auto;padding:20px 20px 110px;background:#16181a;color:#f2f2f0}.work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.work-head h2{font-size:20px}.work-head .hint{color:#a8adb3}.work-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.work-tile{width:100%;display:grid;gap:8px;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}.work-tile:disabled{cursor:default}.work-pic{display:grid;place-items:center;aspect-ratio:1000 / 1414;overflow:hidden;border-radius:8px;background:#fffdf8;box-shadow:0 0 0 1px #ffffff14;transition:box-shadow .12s ease-out}.work-pic img{width:100%;height:100%;object-fit:contain;display:block}@media(hover:hover){.work-tile:not(:disabled):hover .work-pic{box-shadow:0 0 0 3px #6cc59c}}.work-tile:not(:disabled):active .work-pic{transform:scale(.98)}.work-wait{padding:16px;color:#62666e;font-size:14px;text-align:center}.work-name{display:grid;gap:2px}.work-name small{color:#a8adb3;font-size:13px;font-variant-numeric:tabular-nums}.peek-bar{position:absolute;z-index:12;left:50%;translate:-50% 0;top:64px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:6px 8px;border-radius:14px;background:#16181a;color:#f2f2f0;box-shadow:var(--shadow);font-size:14px}.peek-bar .ghost{min-height:36px;flex-shrink:0}@media(max-width:600px){.work-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-grid{padding:16px 16px 120px}}.peek-step{display:inline-flex;gap:2px;flex-shrink:0}.peek-step .icon{color:#f2f2f0}.ctl.hand-up{color:#f0b45a}.hand-menu{position:absolute;z-index:25;left:50%;translate:-50% 0;bottom:calc(92px + env(safe-area-inset-bottom,0px));display:grid;gap:2px;min-width:220px;padding:6px;border-radius:14px;background:#24272a;box-shadow:var(--shadow)}.hand-menu button,.peek-menu button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:none;color:#f2f2f0;font:inherit;font-size:15px;text-align:left}@media(hover:hover){.hand-menu button:hover,.peek-menu button:hover{background:#ffffff14}}.knock.hand svg{color:#f0b45a;flex-shrink:0}.work-hand{justify-self:start;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#f0b45a2e;color:#f0b45a}.work-hand.check{background:#6cc59c2e;color:#6cc59c}.work-tiles li.gone .work-pic{opacity:.45}.peek-show{position:relative;flex-shrink:0}.peek-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:2;display:grid;gap:2px;min-width:200px;padding:6px;border-radius:12px;background:#24272a;box-shadow:var(--shadow)}@media(max-width:600px){.peek-show .ghost{font-size:0;gap:0}.peek-show .ghost svg{width:20px;height:20px}}.peek-bar{width:max-content}.peek-bar .peek-btn{flex-shrink:0}.peek-bar .peek-name{flex:0 1 auto;min-width:2.5em;max-width:18em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;padding:0 4px}.peek-bar .peek-text{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knock strong.trunc{display:inline-block;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.peek-menu button{overflow-wrap:anywhere}.work-left{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:20px 0 0;color:#a8adb3;font-size:14px}.work-left span{min-width:0;overflow-wrap:anywhere}@media(max-width:900px){.peek-label{display:none}.peek-bar .peek-btn{padding:0 8px}}.peek-bar .peek-menu{min-width:200px;max-width:min(300px,calc(100vw - 32px))}@media(max-width:600px){.knock strong.trunc{max-width:7em}}@media(max-width:600px){.knock{flex-wrap:wrap;justify-content:flex-end}.knock>span{flex:1 1 calc(100% - 40px)}}.lesson-what .lesson-work{color:var(--muted);font-size:14px}.lesson-work a{color:var(--accent);text-decoration:none;overflow-wrap:anywhere}@media(hover:hover){.lesson-work a:hover{text-decoration:underline}}.text-bar{position:absolute;z-index:11;left:50%;translate:-50% 0;top:64px;display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--pop);box-shadow:var(--shadow)}.follow-btn{max-width:calc(100% - 32px);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.follow-btn .follow-name,.popover-menu .follow-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-grid[aria-label="Deleted folders"]{margin-bottom:16px}.tool-anchor{display:inline-flex}.tool-anchor .popover-style{top:calc(100% + 6px);min-width:260px;padding:10px;gap:8px}.opt-switch{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:4px 6px;font-size:15px;cursor:pointer}.opt-switch input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.opt-switch span{display:grid;text-align:left}.opt-switch small{color:var(--muted);font-size:12px}
