@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+20-7E,U+A0-A3,U+A5-A6,U+A8-AB,U+AD-B1,U+B4,U+B6-B8,U+BA-FF,U+131,U+152-153,U+2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2024-2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2212}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+400-45F,U+490-491,U+2116}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+462-463,U+472-475,U+4D8-4D9,U+4E2-4E3,U+4E6-4E9,U+4EE-4EF}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+100-130,U+132-137,U+139-149,U+14C-151,U+154-17E,U+192,U+1FC-1FF,U+218-21B,U+237,U+1E80-1E85,U+1EF2-1EF3,U+2113}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+37E,U+384-38A,U+38C,U+38E-393,U+395-3A1,U+3A3-3A8,U+3AA-3CF,U+3D7}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+2C7,U+2D8-2D9,U+2DB,U+2DD,U+302,U+306-307,U+30A-30C,U+326-328,U+212E,U+2211,U+FB01-FB02}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+300-301,U+303}:root{--font-display:"Bricolage Grotesque", system-ui, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-body:"Hanken Grotesk", system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--font-body);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,html[data-theme=paper]{--bg:#efe9da;--surface:#faf7ef;--surface-2:#f2ecdd;--border:#1e1e1e24;--border-strong:#1e1e1e52;--text:#1e1e1e;--text-dim:#6b6256;--accent:#4b6bfb;--accent-2:#3a55d9;--accent-glow:#4b6bfb40;--success:#2f9e6f;--danger:#d6455d;--ok:#3a7a2e;--canvas-bg:#f7f4ec;--canvas-grid:#1e1e1e12;--canvas-ink:#1e1e1e;--cr-warn:#c98a1e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#272421;--surface:#312b26;--surface-2:#38322b;--border:#e8a85729;--border-strong:#e8a8575c;--text:#efe7d9;--text-dim:#b8ad9a;--accent:#e8a857;--accent-2:#d2924a;--accent-glow:#e8a85738;--success:#54e0a6;--danger:#ff7a90;--ok:#7ed468;--canvas-bg:#2e2a26;--canvas-grid:#efe7d912;--canvas-ink:#efe7d9;--cr-warn:#e8b454;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh;color:var(--text);font-family:var(--font-body);background-color:var(--bg);background-image:radial-gradient(1100px 620px at 50% -8%, var(--accent-glow), transparent 60%), radial-gradient(900px 700px at 92% 8%, var(--accent-glow), transparent 55%), radial-gradient(var(--canvas-grid) 1px, transparent 1px), radial-gradient(120% 120% at 50% 40%, transparent 60%, var(--bg) 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:no-repeat,no-repeat,repeat,no-repeat;background-size:100% 100%,100% 100%,22px 22px,100% 100%;background-attachment:fixed}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-weight:600}p{margin:0}a{color:var(--accent)}::selection{background:var(--accent-glow);color:var(--text)}*{scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.auth-screen{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:12vh 20px 40px;display:flex}.auth-stack{flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:360px;display:flex}.auth-switch{flex-wrap:wrap;justify-content:center;gap:10px 18px;display:flex}.login-guest-row{flex-direction:column;flex:1 0 100%;align-items:stretch;gap:10px;margin-top:2px;display:flex}.login-guest-or{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);align-self:center;padding:0 10px;font-size:10px;position:relative}.login-guest-or:before,.login-guest-or:after{content:"";background:linear-gradient(to right, transparent, var(--border-strong));width:46px;height:1px;position:absolute;top:50%}.login-guest-or:before{right:100%}.login-guest-or:after{background:linear-gradient(to left, transparent, var(--border-strong));left:100%}.login-guest-cta{border:1px solid var(--border-strong);border-radius:10px;width:100%;height:42px;font-size:13.5px;font-weight:600}.login-guest-cta:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.guest-upsell{border:1px solid var(--border);background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(120deg, var(--accent-glow), transparent 55%) border-box;border-radius:12px;align-items:center;gap:16px;margin:0 0 4px;padding:12px 16px 12px 14px;display:flex}.guest-upsell-rule{background:var(--cr-warn);border-radius:3px;flex:none;align-self:stretch;width:3px}.guest-upsell-body{flex-wrap:wrap;flex:auto;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.guest-upsell-tag{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cr-warn);font-size:10px;font-weight:600}.guest-upsell-text{color:var(--text);margin:0;font-size:13.5px;line-height:1.5}.guest-upsell-actions{flex:none;align-items:center;gap:8px;display:flex}.btn-ghost.guest-claim-cta{color:var(--accent);border-color:var(--accent)}.btn-ghost.guest-claim-cta:hover{color:var(--accent);background:var(--accent-glow);border-color:var(--accent)}@media (width<=640px){.guest-upsell{flex-wrap:wrap}.guest-upsell-actions{justify-content:flex-end;width:100%}}.brand{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:22px;display:flex}.brand-row{align-items:center;gap:12px;display:flex}.brand-mark{filter:drop-shadow(0 4px 14px var(--accent-glow));display:block}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:30px;font-weight:700;line-height:1}.brand-tagline{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px;font-weight:500}.auth-card,.card{background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);border:1px solid var(--border);border-radius:16px;width:100%;position:relative;box-shadow:0 24px 60px -20px #000000b3,0 6px 20px -8px #00000080,inset 0 1px #ffffff0d}.auth-card{flex-direction:column;gap:14px;max-width:360px;padding:30px;display:flex}.auth-card:before{content:"";background:radial-gradient(120% 90% at 50% 0%, var(--accent-glow), transparent 60%);opacity:.5;z-index:-1;filter:blur(14px);pointer-events:none;border-radius:17px;position:absolute;inset:-1px}.card{color:var(--text);padding:22px}.card-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:19px;font-weight:600}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:500}.field{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-family:var(--font-body);border-radius:10px;outline:none;padding:10px 12px;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s}.field::placeholder{color:var(--text-dim);opacity:.7}.field:hover{border-color:var(--border-strong)}.field:focus,.field:focus-visible{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-glow);background:var(--surface)}textarea.field{resize:vertical;line-height:1.5}textarea.field--inline-label{text-align:center;padding:0 2px;line-height:1.2}textarea.field--wysiwyg{box-shadow:none;caret-color:var(--accent);scrollbar-width:none;background:0 0;border:none;border-radius:0;padding:0;line-height:1.2}textarea.field--wysiwyg::-webkit-scrollbar{width:0;height:0}textarea.field--wysiwyg:hover,textarea.field--wysiwyg:focus,textarea.field--wysiwyg:focus-visible{box-shadow:none;background:0 0;border:none}select.field{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%), linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:34px}.btn-primary,.btn-ghost{font-family:var(--font-body);cursor:pointer;border-radius:10px;padding:10px 14px;font-size:14.5px;font-weight:600;line-height:1.2;transition:transform .12s,box-shadow .18s,background .18s,border-color .18s,color .18s,filter .18s}.btn-primary{color:#fff;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);box-shadow:0 6px 18px -6px var(--accent-glow), inset 0 1px 0 #ffffff38;border:1px solid #0000}.btn-primary:hover{filter:brightness(1.08);box-shadow:0 10px 26px -8px var(--accent-glow), inset 0 1px 0 #ffffff47;transform:translateY(-1px)}.btn-primary:active{filter:brightness(.97);box-shadow:0 3px 10px -6px var(--accent-glow), inset 0 1px 0 #ffffff26;transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:none;transform:none}.btn-ghost{border:1px solid var(--border);color:var(--text-dim);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--border-strong);background:var(--accent-glow)}.btn-ghost:active{background:var(--accent-glow)}.share-role-group .btn-ghost[aria-pressed=true],.fv-palette .btn-ghost[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.fv-hotkey-badge{background:var(--bg);border:1px solid var(--border-strong);width:12px;height:12px;color:var(--text-dim);font-family:var(--font-mono);text-align:center;pointer-events:none;border-radius:4px;font-size:8px;font-weight:700;line-height:11px;position:absolute;bottom:1px;right:1px}.room-item:hover{border-color:var(--border-strong)!important;background:var(--surface)!important}.btn-sm{border-radius:8px;padding:6px 10px;font-size:13px}.fv-iconopt{border:1px solid var(--border);background:var(--surface);min-width:0;height:30px;color:var(--text-dim);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s,background .12s,box-shadow .12s;display:inline-flex}.fv-iconopt:hover{color:var(--text);border-color:var(--border-strong)}.fv-iconopt.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 1px var(--accent) inset}.form-error{color:var(--danger);border-left:2px solid var(--danger);background:#ff7a9014;border-radius:0 8px 8px 0;padding:8px 10px 8px 12px;font-size:13.5px}.form-ok{color:var(--success);font-size:13.5px}.banner{color:var(--text-dim);border:1px solid var(--border);background:var(--accent-glow);border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.45}.meta-mono{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;font-size:12px}.hint{color:var(--text-dim);font-size:14px}.te-code{border:1px solid var(--border);background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(135deg, var(--accent-glow), transparent 60%) border-box;border-radius:12px;padding:12px}.te-tab{border:1px solid var(--border);background:var(--bg);border-radius:9px;align-items:stretch;height:32px;transition:border-color .12s,background .12s,box-shadow .12s;display:inline-flex;overflow:hidden}.te-tab-main{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;transition:color .12s;display:inline-flex}.te-tab:hover{border-color:var(--border-strong)}.te-tab:hover .te-tab-main{color:var(--text)}.te-tab-dot{background:var(--border-strong);border-radius:50%;width:6px;height:6px;transition:background .12s,box-shadow .12s}.te-tab.is-on .te-tab-main{color:var(--text)}.te-tab.is-on .te-tab-dot{background:var(--accent)}.te-tab.is-active{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 0 1px var(--accent) inset}.te-tab.is-active .te-tab-main{color:var(--accent)}.te-tab.is-active .te-tab-dot{box-shadow:0 0 0 3px var(--accent-glow)}.te-tab-add{opacity:.7;font-size:14px;line-height:1}.te-tab:not(.is-on){border-style:dashed}.te-tab-close{border:none;border-left:1px solid color-mix(in srgb, var(--border) 70%, transparent);width:24px;color:var(--text-dim);cursor:pointer;opacity:.55;background:0 0;font-size:15px;line-height:1;transition:color .12s,background .12s,opacity .12s}.te-tab-close:hover{color:var(--danger);opacity:1;background:#ff7a901a}.te-editors{grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;display:grid}@media (width<=760px){.te-editors{grid-template-columns:1fr}}.te-editor{border:1px solid var(--border);background:var(--canvas-bg);border-radius:12px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.te-editor-head{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;padding:8px 12px;display:flex}.te-editor-file{font-family:var(--font-mono);color:var(--text);letter-spacing:.01em;font-size:12.5px}.te-editor-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-left:auto;font-size:10px}.te-dot{border-radius:50%;flex:none;width:7px;height:7px}.te-dot-1{background:var(--accent)}.te-dot-2{background:var(--cr-warn,#e0a200)}.te-cm{flex:auto;height:360px;min-height:220px;overflow:auto}.te-cm .cm-editor{background:var(--canvas-bg);height:100%;color:var(--canvas-ink)}.te-cm .cm-editor.cm-focused{outline:none}.te-cm .cm-gutters{background:var(--canvas-bg);color:var(--text-dim);border:none;border-right:1px solid var(--border)}.te-card-code{max-height:calc(100vh - 80px);overflow:auto}@keyframes fv-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fv-enter{opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) forwards fv-rise}.fv-d1{animation-delay:50ms}.fv-d2{animation-delay:.16s}.fv-d3{animation-delay:.27s}.fv-d4{animation-delay:.36s}@media (prefers-reduced-motion:reduce){.fv-enter{opacity:1;animation:none}}.notes-resize{pointer-events:auto;cursor:col-resize;touch-action:none;flex-shrink:0;align-self:stretch;width:8px;margin-top:4px;position:relative}.notes-resize:after{content:"";background:var(--border);opacity:.8;border-radius:2px;width:3px;height:40px;transition:background .15s,opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.notes-resize:hover:after,.notes-resize:active:after{background:var(--accent);opacity:1}.rl-shell{flex-direction:column;gap:22px;width:min(960px,100%);margin:10vh auto 48px;padding:0 20px;display:flex}.rl-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.rl-head-titles{flex-direction:column;gap:4px;display:flex}.rl-kicker{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px;font-weight:500}.rl-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:27px;font-weight:700;line-height:1.05}.rl-tabs{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:stretch;gap:4px;padding:4px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.rl-tab{height:34px;color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:0 13px;font-size:13.5px;font-weight:600;transition:color .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.rl-tab:hover{color:var(--text)}.rl-tab[aria-selected=true]{color:var(--text);background:var(--surface);border-color:var(--border-strong);box-shadow:0 4px 14px -8px #00000080,inset 0 1px #ffffff0f}.rl-tab-count{min-width:19px;height:19px;font-family:var(--font-mono);color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.rl-tab[aria-selected=true] .rl-tab-count{color:#fff;background:var(--accent);border-color:#0000}.rl-grid{grid-template-columns:repeat(auto-fill,minmax(296px,1fr));gap:14px;display:grid}.rl-card{border:1px solid var(--border);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);border-radius:14px;flex-direction:column;gap:10px;padding:13px 15px 12px 18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px -22px #0009,inset 0 1px #ffffff0a}.rl-card:before{content:"";background:var(--accent);opacity:.85;width:4px;position:absolute;top:0;bottom:0;left:0}.rl-card.is-code:before{background:linear-gradient(var(--success), var(--accent))}.rl-card.is-archived{opacity:.82}.rl-card.is-archived:before{background:var(--border-strong);opacity:1}.rl-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 22px 44px -24px #000000b3,inset 0 1px #ffffff0f}.rl-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rl-card-kind{border:1px solid var(--border);background:var(--bg);font-family:var(--font-mono);letter-spacing:.02em;color:var(--text);border-radius:8px;align-items:center;gap:7px;padding:4px 9px 4px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.rl-card-kind svg{color:var(--accent);display:block}.rl-card.is-code .rl-card-kind svg{color:var(--success)}.rl-lang{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);border-left:1px solid var(--border);margin-left:1px;padding-left:6px;font-size:10.5px}.rl-serial{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-dim);opacity:.8;align-self:center;font-size:10.5px}.rl-chips{flex-wrap:wrap;gap:6px;display:flex}.rl-chip{border:1px solid var(--border);background:var(--surface-2);letter-spacing:.01em;color:var(--text-dim);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.rl-chip.is-role{color:var(--text)}.rl-chip-dot{background:var(--text-dim);border-radius:50%;width:6px;height:6px}.rl-chip.is-active .rl-chip-dot{background:var(--success);box-shadow:0 0 0 2px #2f9e6f2e}.rl-chip.is-finished .rl-chip-dot{background:var(--cr-warn)}.rl-chip.is-archived{border-style:dashed}.rl-chip.is-archived .rl-chip-dot{background:var(--border-strong)}.rl-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:2px;padding-top:11px;display:flex}.rl-act-cluster{flex:none;align-items:center;gap:6px;display:inline-flex}.rl-act{border:1px solid var(--border);height:32px;color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:600;transition:color .14s,border-color .14s,background .14s,transform .1s;display:inline-flex}.rl-act:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.rl-act:active{transform:translateY(1px)}.rl-act.is-open{color:#fff;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);min-width:96px;box-shadow:0 5px 14px -7px var(--accent-glow), inset 0 1px 0 #ffffff38;border-color:#0000;flex:auto}.rl-act.is-open:hover{filter:brightness(1.08);color:#fff}.rl-act.is-icon{width:32px;color:var(--text-dim);padding:0}.rl-act.is-icon svg{display:block}.rl-act.is-danger:hover{color:var(--danger);border-color:var(--danger);background:#d6455d14}.rl-act.is-confirm{color:#fff;background:var(--danger);border-color:#0000;padding:0 11px;font-size:12px}.rl-act.is-confirm:hover{filter:brightness(1.06);color:#fff}.rl-act:disabled{opacity:.42;cursor:not-allowed}.rl-act:disabled:hover{color:var(--text-dim);border-color:var(--border);background:0 0}.rl-empty{text-align:center;border:1px dashed var(--border);color:var(--text-dim);background:var(--surface-2);border-radius:14px;padding:40px 24px;font-size:14px}.dash{flex-direction:column;gap:24px;width:min(1200px,100%);margin:0 auto;padding:30px 28px 48px;display:flex}.dash-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.dash-brand{flex-direction:column;gap:5px;display:flex}.dash-kicker{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px;font-weight:500}.dash-wordmark{align-items:baseline;gap:11px;display:flex}.dash-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text);margin:0;font-size:30px;font-weight:700;line-height:1}.dash-sub{font-family:var(--font-body);color:var(--text-dim);font-size:13.5px}.dash-account{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.dash-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:8px;height:32px;padding:0 12px;display:inline-flex;box-shadow:inset 0 1px #ffffff0d}.dash-chip-dot{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #2f9e6f2e}.dash-cards{flex-direction:column;gap:12px;display:flex}.dash-card{text-align:left;border:1px solid var(--border-strong);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px 14px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}button.dash-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.dash-card:focus-visible,.dash-lang-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.dash-card:disabled{opacity:.65;cursor:default}.dash-card-code{cursor:pointer}.dash-card-code:not([aria-disabled=true]):hover{border-color:var(--accent);box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.dash-card-code[aria-disabled=true]{opacity:.65;cursor:default}.dash-sketch{color:var(--text-dim);margin-bottom:2px;transition:color .15s;display:block}button.dash-card:hover:not(:disabled) .dash-sketch,.dash-card-code:hover .dash-sketch{color:var(--text)}.dash-card-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:17.5px;font-weight:700}.dash-card-sub{color:var(--text-dim);font-size:12.5px;line-height:1.5}.dash-card-code .dash-card-sub{margin-bottom:18px}.dash-card-cta{color:var(--accent);font-family:var(--font-mono);padding-top:6px;font-size:12px}.dash-langs{flex-wrap:wrap;gap:7px;padding-top:6px;display:flex;position:relative}.dash-lang-chip{border:1px solid var(--border-strong);background:var(--surface-2);min-width:54px;color:var(--text);font-family:var(--font-mono);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:12.5px;transition:border-color .15s,background .15s,box-shadow .15s,color .15s}.dash-lang-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface);box-shadow:0 4px 16px var(--accent-glow)}.dash-lang-chip:disabled{opacity:.65;cursor:default}.dash-lib-btn{border:1px solid var(--border);background:var(--bg);width:100%;height:44px;color:var(--text);font-family:var(--font-body);cursor:pointer;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:14px;font-weight:600;transition:color .16s,border-color .16s,background .16s,transform .12s,box-shadow .16s;display:flex}.dash-lib-btn:hover{border-color:var(--border-strong);background:var(--surface);transform:translateY(-1px);box-shadow:0 8px 20px -12px #00000080}.dash-lib-btn .dash-lib-arrow{color:var(--text-dim);transition:transform .16s,color .16s}.dash-lib-btn:hover .dash-lib-arrow{color:var(--accent);transform:translate(3px)}.dash-back{align-self:flex-start;margin:0 0 4px -4px}.dash-orgs{width:100%;min-width:0}.dash-orgs .rl-shell{width:100%}@media (width<=880px){.dash{gap:22px;padding:22px 18px 56px}}.ol-org-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-size:16px;font-weight:600;line-height:1.2}.ol-org-desc{color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.ol-members-chip{align-items:center;gap:5px;display:inline-flex}.ol-members-chip svg{opacity:.65;display:block}.ol-chip-admin{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.ol-chip-editor{color:var(--success);border-color:var(--success);background:#2f9e6f1a}html[data-theme=dark] .ol-chip-editor{background:#54e0a614}.ol-pending-chip{color:#fff;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);box-shadow:0 3px 10px -6px var(--accent-glow);border-color:#0000}.ol-empty{flex-direction:column;gap:4px;display:flex}.ol-empty-cta{justify-content:center;display:flex}.ol-catalog{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:14px;padding:16px;display:flex}.ol-catalog>.field{max-width:420px}.ol-requests{flex-direction:column;gap:8px;display:flex}.ol-request-row{border:1px solid var(--border);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.ol-request-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.ol-request-role{flex:none;width:auto;min-width:110px;height:32px;padding:0 28px 0 10px;font-size:12.5px}.ol-invite{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:10px;margin-top:14px;padding:14px 16px;display:flex}.ol-disc-toggle{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.ol-disc-toggle input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.ol-invite-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ol-invite-link{border:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);color:var(--text-dim);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;padding:8px 12px;font-size:12px;display:block}.ol-invite-copied{color:var(--success);font-size:12px;font-weight:600}.ol-create-cta{border:1.5px dashed var(--border-strong);min-height:120px;color:var(--text-dim);cursor:pointer;font-family:var(--font-body);background:0 0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 20px;transition:border-color .18s,color .18s,background .18s,transform .18s;display:flex}.ol-create-cta:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);transform:translateY(-2px)}.ol-create-cta:active{transform:translateY(0)}.ol-create-plus{color:inherit;opacity:.8;font-size:26px;font-weight:300;line-height:1}.ol-create-label{letter-spacing:.01em;font-size:13px;font-weight:600}.ol-create-cta--header{min-height:unset;border-style:solid;border-color:var(--border);border-radius:10px;flex-direction:row;height:36px;padding:0 13px;font-size:13.5px}.ol-create-cta--header .ol-create-plus{opacity:1;font-size:18px}.ol-create-cta--header:hover{transform:translateY(-1px)}.ol-create-cta--standalone{border-color:var(--accent);width:min(340px,100%);min-height:100px;color:var(--accent);background:var(--accent-glow)}.ol-create-cta--standalone:hover{background:var(--accent-glow);filter:brightness(1.08)}.ol-create-card{max-width:480px}.ol-page{flex-direction:column;gap:22px;width:min(820px,100%);margin:8vh auto 56px;padding:0 20px;display:flex}.ol-back{color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-self:flex-start;align-items:center;gap:7px;margin-bottom:-6px;padding:6px 10px 6px 7px;font-size:13px;font-weight:600;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.ol-back:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.ol-back svg{display:block}.ol-page-head{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding-bottom:20px;display:flex}.ol-page-titlerow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.ol-page-name{min-width:0;margin:0}.ol-page-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.ol-page-desc{max-width:60ch;color:var(--text-dim);margin:0;font-size:14px;line-height:1.55}.ol-rename-field{min-width:0;font-family:var(--font-display);letter-spacing:-.02em;flex:280px;padding:6px 12px;font-size:24px;font-weight:700}.ol-tabs{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-self:flex-start;align-items:stretch;gap:4px;padding:4px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.ol-tab{height:34px;color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:0 15px;font-size:13.5px;font-weight:600;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.ol-tab.is-active{color:var(--text);background:var(--surface);border-color:var(--border-strong);box-shadow:0 4px 14px -8px #00000080,inset 0 1px #ffffff0f}.ol-tab.is-soon{cursor:not-allowed;opacity:.6}.ol-tab-soon{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-dim);background:var(--bg);border-radius:999px;padding:1px 6px;font-size:9px}.ol-members{flex-direction:column;gap:16px;display:flex}.ol-add-row{border:1px solid var(--border);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);border-radius:14px;align-items:flex-end;gap:10px;padding:14px;display:flex;box-shadow:inset 0 1px #ffffff0a}.ol-search-box{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex;position:relative}.ol-add-role{flex-direction:column;flex:none;gap:6px;width:160px;display:flex}.ol-add-tag{margin-bottom:0}.ol-add-btn{flex:none;height:41px}.ol-search-results{z-index:20;border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;max-height:260px;padding:5px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px -16px #0000008c,inset 0 1px #ffffff0d}.ol-search-result-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:baseline;gap:9px;padding:9px 11px;transition:background .12s,color .12s;display:flex}.ol-search-result-item:hover,.ol-search-result-item:focus-visible{background:var(--accent-glow);outline:none}.ol-result-name{font-size:14px;font-weight:600}.ol-result-sub{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.ol-search-empty{color:var(--text-dim);padding:10px 11px;font-size:13px}.ol-member-list{flex-direction:column;gap:8px;display:flex}.ol-member-row{border:1px solid var(--border);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px 12px 18px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 26px -22px #0000008c,inset 0 1px #ffffff0a}.ol-member-row:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.ol-member-row--admin:before{background:var(--accent)}.ol-member-row--editor:before{background:var(--success)}.ol-member-row--user:before{background:var(--border-strong)}.ol-member-row:hover{border-color:var(--border-strong)}.ol-member-row.is-self{border-color:var(--border-strong);background:radial-gradient(120% 160% at 0% 50%, var(--accent-glow), transparent 55%), linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%)}.ol-member-id{flex-direction:column;gap:2px;min-width:0;display:flex}.ol-member-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.ol-member-you{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);background:var(--accent-glow);border-radius:999px;padding:1px 6px;font-size:9.5px;font-weight:600}.ol-member-handle{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.ol-member-controls{flex:none;align-items:center;gap:10px;display:inline-flex}.ol-role-select{width:auto;min-width:132px;padding:7px 30px 7px 11px;font-size:13px}.ol-role-select:disabled{opacity:.6;cursor:not-allowed}.ol-row-act{height:30px}.ol-row-act.is-icon{width:30px;font-size:17px;line-height:1}@media (width<=620px){.ol-add-row{flex-wrap:wrap}.ol-add-role,.ol-add-btn{width:100%}.ol-member-row{flex-direction:column;align-items:flex-start;gap:12px}.ol-member-controls{justify-content:space-between;width:100%}}.ol-tasks-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ol-task-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0;font-size:15px;font-weight:600;line-height:1.3}.rl-chip.is-approved{color:var(--success);border-color:var(--success);background:#2f9e6f1a}.rl-chip.is-approved .rl-chip-dot{background:var(--success);box-shadow:0 0 0 2px #2f9e6f2e}html[data-theme=dark] .rl-chip.is-approved{background:#54e0a614}.rl-chip.is-pending{color:var(--cr-warn,#e0a200);border-color:var(--cr-warn,#e0a200);background:#e0a2001a}.rl-chip.is-pending .rl-chip-dot{background:var(--cr-warn,#e0a200)}html[data-theme=dark] .rl-chip.is-pending{background:#e0a20012}.rl-chip.is-rejected{color:var(--danger);border-color:var(--danger);background:#d6455d14}.rl-chip.is-rejected .rl-chip-dot{background:var(--danger)}.rl-chip.is-lang{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.ol-propose-wrap{flex:none;position:relative}.ol-propose-picker{z-index:20;border:1px solid var(--border-strong);background:var(--surface);border-radius:14px;flex-direction:column;gap:6px;min-width:300px;max-width:440px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 48px -18px #0000008c,inset 0 1px #ffffff0d}.ol-propose-picker-empty{color:var(--text-dim);margin:0;padding:10px 11px;font-size:13px;line-height:1.5}.ol-propose-picker-item{width:100%;color:var(--text);text-align:left;cursor:pointer;font-family:var(--font-body);background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;transition:background .12s;display:flex}.ol-propose-picker-item:hover{background:var(--accent-glow)}.ol-propose-picker-item.is-selected{background:var(--accent-glow);font-weight:600}.ol-propose-actions{border-top:1px solid var(--border);gap:8px;padding-top:6px;display:flex}@media (width<=620px){.ol-tasks-bar{flex-direction:column;align-items:flex-start}.ol-propose-picker{min-width:min(300px,100vw - 40px);left:0;right:auto}}.catalog-page{flex-direction:column;gap:22px;width:min(960px,100%);margin:8vh auto 56px;padding:0 20px;display:flex}.catalog-page__bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:22px;display:flex}.catalog-page__title{text-align:right;flex-direction:column;gap:4px;display:flex}.catalog-page__filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.catalog-page__filters .catalog-search{flex:280px;min-width:200px}.catalog-page__filters .catalog-select{flex:0 0 160px}.catalog-page__error{margin:0}.catalog-page__empty{text-align:center;border:1px dashed var(--border);color:var(--text-dim);background:var(--surface-2);border-radius:14px;margin:0;padding:40px 24px;font-size:14px}.catalog-page__more{justify-content:center;padding-top:8px;display:flex}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(296px,1fr));gap:14px;display:grid}.catalog-card{border:1px solid var(--border);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);border-radius:14px;flex-direction:column;gap:8px;padding:13px 15px 12px 18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px -22px #0009,inset 0 1px #ffffff0a}.catalog-card:before{content:"";background:var(--accent);opacity:.85;width:4px;position:absolute;top:0;bottom:0;left:0}.catalog-card.is-code:before{background:linear-gradient(var(--success), var(--accent));opacity:1}.catalog-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 22px 44px -24px #000000b3,inset 0 1px #ffffff0f}.catalog-card__head{align-items:flex-start;gap:10px;display:flex}.catalog-card__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0;font-size:16px;font-weight:600;line-height:1.25}.catalog-card__owner{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-dim);margin:0;font-size:11px}.catalog-card__cond{color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.catalog-card__langs{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.catalog-card__actions{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:4px;padding-top:11px;display:flex}.catalog-card__actions .rl-act.is-open{flex:auto}@media (width<=600px){.catalog-page__filters{flex-direction:column;align-items:stretch}.catalog-page__filters .catalog-select{flex:auto}}.ts-new-chooser{border:1px solid var(--border-strong,var(--border));background:color-mix(in srgb, var(--surface) 60%, var(--bg));border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.ts-chooser-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:9.5px;font-weight:600}.ts-chooser-row{gap:8px;display:flex}.ts-chooser-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:2px;padding:11px 12px;transition:border-color .14s,background .14s,transform .1s;display:flex}.ts-chooser-btn:hover{border-color:var(--accent);background:var(--accent-glow)}.ts-chooser-btn:active{transform:translateY(1px)}.ts-chooser-btn-title{font-family:var(--font-body);font-size:14.5px;font-weight:600}.ts-chooser-btn-sub{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-dim);font-size:10.5px}.ts-chooser-cancel{align-self:flex-start}.ts-drafts{flex-direction:column;gap:8px;display:flex}.ts-drafts-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin:2px 0 0;font-size:9.5px;font-weight:600}.ts-drafts-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ts-draft-row{border:1px dashed var(--border-strong,var(--border));background:color-mix(in srgb, var(--surface) 40%, var(--bg));color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:9px 11px;font-size:14.5px;display:flex}.ts-draft-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-glow);border-radius:50%;flex-shrink:0;animation:1.8s ease-in-out infinite ts-draft-pulse}@keyframes ts-draft-pulse{50%{opacity:.5}}.ts-draft-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ts-draft-langs{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-dim);flex-shrink:0;font-size:11px}@media (prefers-reduced-motion:reduce){.ts-draft-dot{animation:none}}@keyframes fv-ctx-menu-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.canvas-ctx-menu{z-index:60;background:var(--surface);min-width:236px;color:var(--text);border:1px solid var(--border-strong);transform-origin:0 0;border-radius:12px;padding:5px;animation:.13s cubic-bezier(.22,1,.36,1) fv-ctx-menu-in;position:fixed;box-shadow:0 20px 48px -18px #0000008c,inset 0 1px #ffffff0d}.canvas-ctx-item{width:100%;color:inherit;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:8px 11px;font-size:13.5px;transition:background .12s,color .12s;display:flex}.canvas-ctx-item svg{color:var(--text-dim);flex-shrink:0;transition:color .12s}.canvas-ctx-item:hover:not(:disabled){background:var(--accent-glow)}.canvas-ctx-item:hover:not(:disabled) svg{color:var(--accent)}.canvas-ctx-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.canvas-ctx-item:disabled{opacity:.45;cursor:not-allowed}.canvas-ctx-sep{background:var(--border);height:1px;margin:5px 7px}.canvas-ctx-kbd{font-family:var(--font-body);letter-spacing:.02em;color:var(--text-dim);opacity:.8;white-space:nowrap;margin-left:auto;padding-left:22px;font-size:11.5px;transition:color .12s}.canvas-ctx-item:hover:not(:disabled) .canvas-ctx-kbd{color:var(--text)}@keyframes fv-copy-chip{0%{opacity:0;transform:translate(-50%,8px)}10%{opacity:1;transform:translate(-50%)}88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,4px)}}.canvas-copy-chip{z-index:60;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);font-family:var(--font-body);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;animation:1.94s forwards fv-copy-chip;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 14px 32px -14px #00000080,inset 0 1px #ffffff0d}.canvas-copy-chip svg{color:var(--success);flex-shrink:0}.canvas-copy-chip.is-error{border-color:var(--danger);color:var(--danger)}.canvas-copy-chip.is-error svg{color:var(--danger)}.zoom-to-fit{z-index:40;background:var(--surface);position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0000001f}.room-menu-wrap{align-items:center;display:flex;position:relative}.room-menu-trigger{padding:4px 10px;font-size:16px;line-height:1}.room-menu-pop{z-index:70;background:var(--surface);min-width:224px;color:var(--text);border:1px solid var(--border-strong);transform-origin:100% 0;border-radius:12px;padding:5px;animation:.13s cubic-bezier(.22,1,.36,1) fv-ctx-menu-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 48px -18px #0000008c,inset 0 1px #ffffff0d}.room-menu-item{width:100%;color:inherit;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:8px 11px;font-size:13.5px;transition:background .12s,color .12s;display:flex}.room-menu-item:hover:not(:disabled){background:var(--accent-glow)}.room-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.room-menu-item:disabled{opacity:.45;cursor:default}.room-menu-error{margin:4px 6px 6px;font-size:12px}.guest-logout-pop{z-index:70;background:var(--surface);width:270px;color:var(--text);border:1px solid var(--border-strong);transform-origin:100% 0;border-radius:12px;flex-direction:column;gap:8px;padding:14px;animation:.13s cubic-bezier(.22,1,.36,1) fv-ctx-menu-in;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 48px -18px #0000008c,inset 0 1px #ffffff0d}.guest-logout-close{justify-content:center;align-items:center;width:24px;height:24px;padding:0;line-height:1;display:flex;position:absolute;top:6px;right:6px}.guest-logout-text{color:var(--text);margin:0;padding-right:18px;font-size:13px;line-height:1.5}.guest-logout-actions{flex-direction:column;gap:6px;margin-top:2px;display:flex}.guest-logout-actions button{width:100%}.room-topbar{z-index:50;background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.room-topbar--overlay{position:absolute;top:0;left:0;right:0}.room-topbar-spacer{flex:auto}.frozen-chip{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11.5px}.room-frozen-banner{z-index:40;border:1px solid var(--border-strong);background:var(--surface);color:var(--cr-warn);font-family:var(--font-mono);border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;bottom:12px;left:12px}.board-gate-wrap{z-index:44;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.board-gate{pointer-events:auto;flex-direction:column;align-items:flex-start;gap:8px;width:auto;max-width:min(420px,100vw - 32px);padding:16px 20px;display:flex}.board-gate-head{align-items:center;gap:9px;display:flex}.board-gate-title{font-family:var(--font-display);color:var(--text);font-size:15.5px;font-weight:600}.board-gate-text{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.board-gate-spinner{border:2px solid color-mix(in srgb, var(--accent) 28%, transparent);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite board-gate-spin}@keyframes board-gate-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.board-gate-spinner{animation:none}}.connection-lost-banner{z-index:45;border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;align-items:flex-start;gap:9px;max-width:min(300px,100vw - 24px);padding:10px 13px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 10px 28px -12px #0006}.connection-lost-dot{background:var(--cr-warn);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px;animation:1.6s ease-in-out infinite connection-lost-pulse}@keyframes connection-lost-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.connection-lost-dot{animation:none}}.connection-lost-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.connection-lost-title{font-family:var(--font-mono);color:var(--cr-warn);white-space:nowrap;font-size:12px;font-weight:600}.connection-lost-text{color:var(--text-dim);font-size:12px;line-height:1.4}.room-doc-panel{top:var(--room-document-top,max(56px, calc(var(--room-header-height,48px) + 8px)));z-index:45;width:min(420px,100vw - 24px);max-height:calc(100vh - var(--room-document-top,max(56px, calc(var(--room-header-height,48px) + 8px))) - 24px);flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;left:12px;overflow:hidden}.room-doc-panel--right{width:300px;left:auto;right:12px}.room-doc-panel--left{top:var(--room-document-top,120px);width:min(380px,100vw - 280px);max-height:calc(100vh - var(--room-document-top,120px) - 24px);left:260px}.room-doc-panel-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-doc-panel-close{width:24px;height:24px;padding:0;line-height:1}@media (prefers-reduced-motion:reduce){.canvas-ctx-menu{animation:none}.canvas-copy-chip{opacity:1;animation:none}}.landing{flex-direction:column;min-height:100vh;padding:18px clamp(18px,5vw,56px) 48px;display:flex}.landing-top{justify-content:flex-end;align-items:center;gap:10px;display:flex}.landing-top [data-testid=landing-login]{color:var(--text);border-color:var(--border-strong);margin-left:14px;position:relative}.landing-top [data-testid=landing-login]:before{content:"";background:var(--border-strong);width:1px;height:60%;position:absolute;top:20%;left:-13px}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:26px;width:100%;max-width:780px;margin:auto;display:flex}.landing-hero .brand{margin-bottom:0}.landing-h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text);margin:0;font-size:clamp(27px,4.2vw,40px);font-weight:650;line-height:1.16}.landing-h1-how{font-family:var(--font-body);letter-spacing:0;color:var(--text-dim);margin-top:12px;font-size:clamp(15px,2vw,18.5px);font-weight:500;line-height:1.4;display:inline-block}.landing-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;width:100%;display:grid}.landing-card{text-align:left;border:1px solid var(--border-strong);background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);min-height:190px;color:var(--text);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:22px 24px 20px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}button.landing-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.landing-card:focus-visible,.landing-lang-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing-card:disabled{opacity:.65;cursor:default}.landing-card-code{cursor:pointer}.landing-card-code:not([aria-disabled=true]):hover{border-color:var(--accent);box-shadow:0 8px 28px var(--accent-glow);transform:translateY(-2px)}.landing-card-code[aria-disabled=true]{opacity:.65;cursor:default}.landing-sketch{color:var(--text-dim);margin-bottom:4px;transition:color .15s;display:block}button.landing-card:hover:not(:disabled) .landing-sketch,.landing-card-code:hover .landing-sketch{color:var(--text)}.landing-card-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:700}.landing-card-sub{color:var(--text-dim);font-size:14px;line-height:1.5}.landing-card-code .landing-card-sub{margin-bottom:22px}.landing-card-cta{color:var(--accent);font-family:var(--font-mono);margin-top:auto;padding-top:12px;font-size:13px}.landing-langs{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px;display:flex;position:relative}.landing-lang-chip{border:1px solid var(--border-strong);background:var(--surface-2);min-width:66px;color:var(--text);font-family:var(--font-mono);cursor:pointer;border-radius:999px;padding:7px 18px;font-size:13px;transition:border-color .15s,background .15s,box-shadow .15s,color .15s}.landing-lang-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface);box-shadow:0 4px 16px var(--accent-glow)}.landing-lang-chip:disabled{opacity:.65;cursor:default}.lang-hint{border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;box-shadow:0 6px 18px var(--accent-glow);pointer-events:none;border-radius:999px;padding:4px 11px;font-size:11.5px;animation:.18s lang-hint-in;position:absolute;bottom:calc(100% - 4px);left:2px}@keyframes lang-hint-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.landing-langs.is-nudge-a .landing-lang-chip,.dash-langs.is-nudge-a .dash-lang-chip{animation:.55s chip-nudge-a}.landing-langs.is-nudge-b .landing-lang-chip,.dash-langs.is-nudge-b .dash-lang-chip{animation:.55s chip-nudge-b}.landing-langs.is-nudge-a .landing-lang-chip:nth-child(2),.landing-langs.is-nudge-b .landing-lang-chip:nth-child(2),.dash-langs.is-nudge-a .dash-lang-chip:nth-child(2),.dash-langs.is-nudge-b .dash-lang-chip:nth-child(2){animation-delay:60ms}.landing-langs.is-nudge-a .landing-lang-chip:nth-child(3),.landing-langs.is-nudge-b .landing-lang-chip:nth-child(3),.dash-langs.is-nudge-a .dash-lang-chip:nth-child(3),.dash-langs.is-nudge-b .dash-lang-chip:nth-child(3){animation-delay:.12s}.landing-langs.is-nudge-a .landing-lang-chip:nth-child(4),.landing-langs.is-nudge-b .landing-lang-chip:nth-child(4),.dash-langs.is-nudge-a .dash-lang-chip:nth-child(4),.dash-langs.is-nudge-b .dash-lang-chip:nth-child(4){animation-delay:.18s}.landing-langs.is-nudge-a .landing-lang-chip:nth-child(5),.landing-langs.is-nudge-b .landing-lang-chip:nth-child(5),.dash-langs.is-nudge-a .dash-lang-chip:nth-child(5),.dash-langs.is-nudge-b .dash-lang-chip:nth-child(5){animation-delay:.24s}.landing-langs.is-nudge-a .landing-lang-chip:nth-child(6),.landing-langs.is-nudge-b .landing-lang-chip:nth-child(6),.dash-langs.is-nudge-a .dash-lang-chip:nth-child(6),.dash-langs.is-nudge-b .dash-lang-chip:nth-child(6){animation-delay:.3s}.landing-langs.is-nudge-a .landing-lang-chip:nth-child(7),.landing-langs.is-nudge-b .landing-lang-chip:nth-child(7),.dash-langs.is-nudge-a .dash-lang-chip:nth-child(7),.dash-langs.is-nudge-b .dash-lang-chip:nth-child(7){animation-delay:.36s}@keyframes chip-nudge-a{0%,to{box-shadow:none;transform:none}40%{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 14px var(--accent-glow);transform:translateY(-3px)}}@keyframes chip-nudge-b{0%,to{box-shadow:none;transform:none}40%{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 14px var(--accent-glow);transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.lang-hint,.landing-langs.is-nudge-a .landing-lang-chip,.landing-langs.is-nudge-b .landing-lang-chip,.dash-langs.is-nudge-a .dash-lang-chip,.dash-langs.is-nudge-b .dash-lang-chip{animation:none}}.landing-note{max-width:580px;color:var(--text-dim);margin:0;font-size:13.5px;line-height:1.55}.cab{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.cab-band{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 28px;display:flex}.cab-brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:19px;font-weight:700}.cab-body{flex:1;grid-template-columns:264px minmax(0,1fr);min-height:0;display:grid}.cs{border-right:1px solid var(--border);flex-direction:column;align-self:start;gap:18px;min-height:calc(100vh - 58px);max-height:100vh;padding:20px 14px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.cs-create-btn{background:var(--accent);color:#fff;width:100%;height:42px;font-family:var(--font-body);cursor:pointer;box-shadow:0 6px 18px -8px var(--accent);border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;font-size:14.5px;font-weight:700;transition:background .15s,transform .12s,box-shadow .15s;display:flex}html[data-theme=dark] .cs-create-btn{color:#1f1b17}.cs-create-btn:hover{background:var(--accent-2);transform:translateY(-1px)}.cs-create-btn[aria-expanded=true]{background:var(--accent-2);box-shadow:0 0 0 3px var(--accent-glow)}.cs-create-plus{margin-top:-2px;font-size:19px;line-height:1}.cs-create-btn:focus-visible,.cs-item:focus-visible,.cs-node-btn:focus-visible,.cs-toggle:focus-visible,.cs-add:focus-visible,.cs-library:focus-visible,.cab-crumb:focus-visible,.cab-folder-open:focus-visible,.cs-node-menu:focus-visible,.fm-item:focus-visible,.fm-danger-btn:focus-visible,.cab-drawer-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cs-nav{flex-direction:column;gap:2px;display:flex}.cs-item,.cs-node-btn{width:100%;min-height:34px;color:var(--text);font:500 14px/1.2 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:0 10px;transition:background .14s,color .14s;display:flex;position:relative}.cs-item:hover,.cs-node-btn:hover{background:var(--surface-2)}.cs-glyph{color:var(--text-dim);flex:none}.cs-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.cs-count{font-family:var(--font-mono);color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.cs-item.is-active,.cs-node.is-active .cs-node-btn{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent), 0 1px 0 var(--border);font-weight:650}.cs-item.is-active .cs-glyph,.cs-node.is-active .cs-glyph{color:var(--accent)}.cs-folders{flex-direction:column;gap:6px;display:flex}.cs-section-head{justify-content:space-between;align-items:center;padding:0 4px 0 10px;display:flex}.cs-section-title{color:var(--text-dim);font-size:12.5px;font-weight:650}.cs-add{border:1px solid var(--border);width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.cs-add:hover{color:var(--accent);border-color:var(--accent)}.cs-hint{color:var(--text-dim);margin:0;padding:2px 10px;font-size:12.5px;line-height:1.5}.cs-tree{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.cs-tree .cs-tree{border-left:1px dashed var(--border-strong);margin-left:17px;padding-left:4px}.cs-tree .cs-tree.is-capped{margin-left:7px;padding-left:2px}.cs-tree .cs-tree.is-flat{border-left:0;margin-left:0;padding-left:0}@media (width<=759px){.cs-tree .cs-tree.is-capped{border-left:0;margin-left:0;padding-left:0}}.cs-tree-item{min-width:0}.cs-node{border-radius:9px;align-items:center;gap:0;display:flex;position:relative}.cs-node.is-dragging{opacity:.45}.cs-node[draggable=true] .cs-node-btn{cursor:pointer}.cs-node-menu{width:26px;height:26px;color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s,background .12s;display:inline-flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.cs-node-menu:hover,.cs-node-menu[aria-expanded=true]{color:var(--text);background:var(--surface-2);border-color:var(--border)}.cs-node:hover .cs-node-menu,.cs-node:focus-within .cs-node-menu,.cs-node.is-menu .cs-node-menu{opacity:1}.cs-node:hover .cs-node-btn,.cs-node:focus-within .cs-node-btn,.cs-node.is-menu .cs-node-btn{padding-right:34px}.cs-node:hover .cs-count,.cs-node:focus-within .cs-count,.cs-node.is-menu .cs-count{visibility:hidden}@media (hover:none),(pointer:coarse){.cs-node-menu{opacity:1}.cs-node .cs-node-btn{padding-right:34px}.cs-node:is(*,:hover,:focus-within) .cs-count{visibility:visible}}.cs-rename{flex:auto;align-items:center;gap:8px;min-width:0;padding-left:4px;display:flex}.cs-rename .cs-newfolder-input{height:30px;padding:0 8px;font-weight:500}.cs-newfolder.cs-subfolder{padding:2px 0 2px 22px}.cs-subfolder .cs-newfolder-input{height:30px}.cs-section-head{border-radius:9px;min-height:30px}.cs-toggle{width:18px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.cs-toggle:hover{color:var(--text)}.cs-toggle.is-leaf{cursor:default}.cs-node-btn{flex:auto;min-width:0;min-height:32px;padding-left:4px}.cs-newfolder{flex-direction:column;gap:4px;padding:0 2px;display:flex}.cs-newfolder-input{border:1px solid var(--accent);background:var(--surface);width:100%;height:34px;color:var(--text);font:14px var(--font-body);box-shadow:0 0 0 3px var(--accent-glow);border-radius:9px;outline:none;padding:0 10px}.cs-newfolder-error{color:var(--danger);padding:0 4px;font-size:12.5px}.cs-nav-tail{border-top:1px solid var(--border);padding-top:12px}.cs-library{border:1px solid var(--border);color:var(--text);font:600 13.5px var(--font-body);cursor:pointer;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:10px 12px;display:flex}.cs-library:hover{border-color:var(--border-strong);background:var(--surface)}.cs-library-arrow{color:var(--text-dim)}.cs-library:hover .cs-library-arrow{color:var(--accent)}.cs-upsell .guest-upsell{flex-direction:column;align-items:stretch;gap:10px;margin:0;padding:12px}.cs-upsell .guest-upsell-rule{align-self:stretch;width:auto;height:3px}.cs-upsell .guest-upsell-text{font-size:12.5px}.cs-upsell .guest-upsell-actions{flex-wrap:wrap}.cab-main{flex-direction:column;gap:18px;width:100%;min-width:0;max-width:1240px;padding:22px 36px 64px;display:flex}.cab-topline{align-items:center;gap:10px;min-height:24px;display:flex}.cab-topline.is-bare{display:none}.cab-drawer-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;display:none}.cab-crumbs{min-width:0;color:var(--text-dim);flex-wrap:wrap;align-items:center;font-size:13.5px;display:flex}.cab-crumb-seg{align-items:center;min-width:0;display:inline-flex}.cab-crumb-sep{opacity:.6;margin:0 6px}.cab-crumb{color:var(--text-dim);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:5px;max-width:220px;padding:2px 4px;overflow:hidden}.cab-crumb:hover{color:var(--text);background:var(--surface-2)}.cab-crumb.is-current{color:var(--text);cursor:default}.cab-crumb.is-current:hover{background:0 0}.cab-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.cab-head-titles{flex-direction:column;gap:6px;min-width:0;display:flex}.cab-title{font-family:var(--font-display);letter-spacing:-.028em;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:34px;font-weight:700;line-height:1.02}.cab-title:focus{outline:none}.cab-title:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.cab-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:0;font-size:13.5px}.cab-head-actions{gap:8px;display:flex}.cab-btn{height:36px;padding:0 14px;font-weight:650}.cab-newfolder{max-width:360px}.cab-toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;padding-bottom:4px;display:flex}.cab-search{border:1px solid var(--border);background:var(--surface) no-repeat 11px 50% / 15px 15px;min-width:0;max-width:320px;height:40px;color:var(--text);font:14px var(--font-body);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23887d6e' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='m10.5 10.5 3 3'/%3E%3C/svg%3E");border-radius:11px;flex:220px;padding:0 12px 0 34px}.cab-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.cab-chips{flex:none}.cab-sort{color:var(--text-dim);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:inline-flex}.cab-sort select{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text);font:13.5px var(--font-body);cursor:pointer;border-radius:9px;padding:0 10px}.cab-section{flex-direction:column;gap:10px;display:flex}.cab-section-title{font-family:var(--font-body);color:var(--text-dim);margin:4px 0 0;font-size:13.5px;font-weight:650}.cab-folders{grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:12px;display:grid}.cab-folder{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:0;transition:border-color .14s,background .14s,opacity .14s;position:relative}.cab-folder:hover,.cab-folder.is-menu{border-color:var(--border-strong);background:var(--surface-2)}.cab-folder.is-dragging{opacity:.45}.cab-folder-open{width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 12px;padding:14px 48px 14px 16px;display:grid}.cab-folder-open.is-renaming{cursor:default;padding-right:16px}.cab-folder-input{height:30px;padding:0 8px;font-weight:600}.cab-folder-glyph{color:var(--text-dim);grid-row:1/span 2}.cab-folder:hover .cab-folder-glyph{color:var(--accent)}.cab-folder-menu{border-color:#0000;width:30px;height:30px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.cab-folder:hover .cab-folder-menu{border-color:var(--border)}.cab-folder-name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:650;overflow:hidden}.cab-folder-meta{color:var(--text-dim);font-size:12.5px}.cab-empty{text-align:center;border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:300px;padding:44px 28px;display:flex}.cab-empty-title{font-family:var(--font-display);color:var(--text);font-size:21px;font-weight:650}.cab-empty-sub{max-width:360px;color:var(--text-dim);font-size:14px;line-height:1.5}.cab-empty .btn-primary{margin-top:6px}.cab-toast{z-index:80;background:var(--text);color:var(--bg);border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;animation:.18s ease-out cab-toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -12px #00000080}@keyframes cab-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.cm-pop{top:var(--cm-top,120px);left:var(--cm-left,24px);width:var(--cm-width,348px);max-height:var(--cm-max-h,70vh);z-index:60;border:1px solid var(--border-strong);background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;padding:12px;animation:.14s ease-out cm-pop-in;display:flex;position:fixed;overflow-y:auto;box-shadow:0 24px 60px -24px #0000008c,0 2px 6px -2px #00000026}@keyframes cm-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.cm-pop .dash-card{background:var(--bg)}.cm-pop .card{width:100%;box-shadow:none}@media (prefers-reduced-motion:reduce){.cm-pop,.cab-toast{animation:none}}.bc-grid{grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px;display:grid}.bc{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s,opacity .15s;display:flex;position:relative}.bc:hover{border-color:var(--border-strong);box-shadow:0 14px 30px -24px #0000008c}.bc[draggable=true]{cursor:grab}.bc.is-dragging{opacity:.45}.bc.is-archived .bc-thumb{filter:grayscale(.85);opacity:.7}.bc-thumb{border-bottom:1px solid var(--border);background-color:var(--canvas-bg);background-image:radial-gradient(var(--border) 1.2px, transparent 1.3px);min-width:0;height:108px;color:var(--accent);cursor:pointer;background-position:7px 7px;background-size:14px 14px;border-radius:13px 13px 0 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.bc.is-code .bc-thumb{background-color:var(--surface-2);background-image:linear-gradient(90deg, var(--bg) 0 26px, var(--border) 26px 27px, transparent 27px), repeating-linear-gradient(180deg, transparent 0 17px, color-mix(in srgb, var(--border) 55%, transparent) 17px 18px);color:var(--success);background-position:0 0;background-size:auto}.bc-thumb-glyph{opacity:.72;display:inline-flex}.bc-thumb-glyph svg{display:block}.bc:hover .bc-thumb-glyph{opacity:1}.bc-body{flex-direction:column;flex:auto;gap:8px;min-width:0;padding:12px 14px;display:flex}.bc-title-row{align-items:flex-start;gap:6px;min-width:0;display:flex}.bc-meta{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:2px 10px;font-size:12.5px;display:flex}.bc-kind{color:var(--text);opacity:.78}.bc-changed{font-variant-numeric:tabular-nums}.bc-chips{flex-wrap:wrap;gap:6px;display:flex}.bc-actions{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.bc-cluster{flex:none;gap:6px;display:inline-flex}.bc-open{border:1px solid var(--border-strong);min-width:0;height:32px;color:var(--text);font:650 13px var(--font-body);cursor:pointer;background:0 0;border-radius:8px;flex:auto;transition:background .14s,color .14s,border-color .14s}.bc-open:hover{background:var(--accent);border-color:var(--accent);color:#fff}html[data-theme=dark] .bc-open:hover{color:#1f1b17}.bc-icon-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.bc-icon-btn:hover,.bc-icon-btn[aria-expanded=true]{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.bc-icon-btn.is-danger:hover{color:var(--danger);border-color:var(--danger);background:0 0}.bc-title-row .bc-icon-btn{border-color:#0000;width:28px;height:28px;margin:-3px -6px 0 0}.bc-title-row .bc-icon-btn:hover,.bc-title-row .bc-icon-btn[aria-expanded=true]{border-color:var(--border)}.bc-confirm{background:var(--danger);color:#fff;height:32px;font:650 12.5px var(--font-body);cursor:pointer;border:0;border-radius:8px;padding:0 11px}.bc-open:focus-visible,.bc-icon-btn:focus-visible,.bc-confirm:focus-visible,.bc-menu-item:focus-visible,.bn-text--button:focus-visible,.mt-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bc-menu-wrap{flex:none;position:relative}.bc-menu{z-index:30;border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;flex-direction:column;min-width:176px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:-6px;box-shadow:0 16px 36px -18px #0000008c}.bc-menu-item{height:34px;color:var(--text);font:500 13.5px var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 10px}.bc-menu-item:hover{background:var(--surface-2)}.bn{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.bn-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);display:block;overflow:hidden}.bn--card .bn-text{font-family:var(--font-display);letter-spacing:-.012em;font-size:16px;font-weight:650;line-height:1.3}.bn-text--button{max-width:100%;font:650 14.5px var(--font-body);text-align:left;cursor:text;background:0 0;border:1px solid #0000;border-radius:7px;padding:2px 6px}.bn-text--button:hover{border-color:var(--border);background:var(--surface-2)}.bn-input{border:1px solid var(--accent);background:var(--bg);width:100%;min-width:0;height:32px;color:var(--text);font:600 14.5px var(--font-body);box-shadow:0 0 0 3px var(--accent-glow);border-radius:8px;outline:none;padding:0 9px}.bn-help{color:var(--text-dim);font-size:11.5px}.bn-error{color:var(--danger);font-size:12px;line-height:1.35}.cs-node.is-drop,.cs-item.is-drop,.cs-section-head.is-drop,.cab-crumb.is-drop,.cab-folder.is-drop{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-glow);color:var(--text)}.mt-pop{top:var(--mt-top,auto);bottom:var(--mt-bottom,auto);left:var(--mt-left,24px);width:var(--mt-width,300px);max-height:var(--mt-max-h,60vh);z-index:75;border:1px solid var(--border-strong);background:var(--surface);border-radius:14px;outline:none;flex-direction:column;gap:8px;padding:12px;animation:.14s ease-out cm-pop-in;display:flex;position:fixed;box-shadow:0 24px 60px -24px #0000008c,0 2px 6px -2px #00000026}.mt-head{flex-direction:column;gap:2px;min-width:0;padding:2px 4px 4px;display:flex}.mt-title{font-family:var(--font-display);color:var(--text);font-size:15.5px;font-weight:650}.mt-subject{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.mt-list{flex-direction:column;gap:1px;min-height:0;display:flex;overflow-y:auto}.mt-row{min-height:34px;padding:0 10px 0 calc(10px + var(--mt-depth,0) * 14px);color:var(--text);font:500 14px var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:8px;display:flex}.mt-row:hover:not(:disabled){background:var(--surface-2)}.mt-row:hover:not(:disabled) .mt-glyph{color:var(--accent)}.mt-row:disabled{cursor:default;color:var(--text-dim)}.mt-glyph{color:var(--text-dim);flex:none}.mt-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mt-here{color:var(--text-dim);flex:none;font-size:11.5px}.mt-sep{background:var(--border);flex:none;height:1px;margin:4px 6px}.mt-hint{color:var(--text-dim);margin:4px 10px;font-size:12.5px;line-height:1.45}.mt-error{color:var(--danger);padding:0 6px;font-size:12.5px}.mt-scrim{display:none}.fm-pop{top:var(--fm-top,auto);bottom:var(--fm-bottom,auto);left:var(--fm-left,24px);width:var(--fm-width,220px);max-height:var(--fm-max-h,60vh);z-index:76;border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;outline:none;flex-direction:column;padding:5px;animation:.12s ease-out cm-pop-in;display:flex;position:fixed;overflow-y:auto;box-shadow:0 20px 44px -20px #0000008c,0 2px 6px -2px #0000001f}.fm-item{height:36px;color:var(--text);font:500 14px var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:0 11px}.fm-item:hover{background:var(--surface-2)}.fm-item.is-danger{color:var(--danger)}.fm-item.is-danger:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}.fm-sep{background:var(--border);flex:none;height:1px;margin:4px 6px}.fm-pop.is-confirm{box-shadow:inset 3px 0 0 var(--danger), 0 20px 44px -20px #0000008c;padding:14px 14px 12px 16px}.fm-confirm{flex-direction:column;gap:12px;display:flex}.fm-confirm-text{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.fm-confirm-text strong{font-weight:700}.fm-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.fm-danger-btn{background:var(--danger);color:#fff;height:32px;font:650 13px var(--font-body);cursor:pointer;border:0;border-radius:8px;padding:0 13px}.fm-danger-btn:disabled{opacity:.6;cursor:default}html[data-theme=dark] .fm-danger-btn{color:#1f1b17}.fm-error{color:var(--danger);margin:0;font-size:12.5px}.fm-scrim,.fm-head{display:none}.cs-node.is-drop .cs-node-menu{opacity:0}.cs-node.is-drop .cs-count{visibility:visible}@media (prefers-reduced-motion:reduce){.mt-pop,.fm-pop{animation:none}}@media (width<=759px){.cab-band{padding:10px 16px}.cab-body{grid-template-columns:minmax(0,1fr)}.cs{z-index:70;background:var(--bg);border-right:1px solid var(--border-strong);visibility:hidden;align-self:stretch;width:min(300px,86vw);min-height:0;max-height:none;transition:transform .2s,visibility 0s linear .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.cs.is-open{visibility:visible;transition:transform .2s;transform:none;box-shadow:20px 0 50px -20px #00000080}.cs-backdrop{z-index:65;background:#14100c61;position:fixed;inset:0}.cab-drawer-btn{display:inline-flex}.cab-topline.is-bare{display:flex}.cab-chips{width:100%}.cab-chips .rl-tab{flex:auto;justify-content:center;gap:6px;padding:0 8px;font-size:13px}.cab-main{gap:14px;padding:16px 16px 56px}.cab-title{font-size:28px}.cab-search{flex-basis:100%;max-width:none}.cab-sort{margin-left:0}.cab-sort-label{display:none}.cab-folders{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.bc-grid{grid-template-columns:minmax(0,1fr);gap:10px}.bc{flex-direction:row}.bc-thumb{border-bottom:0;border-right:1px solid var(--border);border-radius:13px 0 0 13px;flex:0 0 76px;height:auto;min-height:100%}.bc-thumb-glyph svg{width:30px;height:30px}.bc-body{gap:7px;padding:11px 12px}.bc-open{height:30px}.fm-scrim{z-index:75;background:#14100c61;display:block;position:fixed;inset:0}.fm-pop{width:auto;max-height:72vh;padding:8px 8px max(10px, env(safe-area-inset-bottom));border-radius:18px 18px 0 0;inset:auto 0 0}.fm-pop.is-confirm{padding:18px 18px max(16px, env(safe-area-inset-bottom));box-shadow:0 -20px 44px -20px #0000008c}.fm-head{font-family:var(--font-display);color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding:8px 12px 6px;font-size:15px;font-weight:650;display:block;overflow:hidden}.fm-pop.is-confirm .fm-head{padding:0 0 10px}.fm-item{height:44px;font-size:15px}.fm-confirm-actions .btn-ghost,.fm-danger-btn{flex:1 1 0;height:40px}.mt-scrim{z-index:74;background:#14100c61;display:block;position:fixed;inset:0}.mt-pop{width:auto;max-height:72vh;padding-bottom:max(12px, env(safe-area-inset-bottom));border-radius:18px 18px 0 0;inset:auto 0 0}.cm-pop{width:auto;max-height:calc(100vh - 80px);top:64px;left:12px;right:12px}}.room-topbar-name{flex:0 320px;min-width:0}.room-topbar>[data-testid=leave-room]{flex-shrink:0}@media (width<=760px){.room-topbar{flex-wrap:wrap;gap:6px}.room-topbar-name{flex:calc(100% - 100px)}.room-topbar-spacer{display:none}.room-topbar>[data-testid=current-user]{text-overflow:ellipsis;max-width:110px;overflow:hidden}}.room-canvas-shell{--room-inspector-top:max(116px, calc(var(--room-header-height,48px) + 16px + var(--room-palette-height,48px) + 4px));--room-document-top:max(120px, calc(var(--room-header-height,48px) + 16px + var(--room-palette-height,48px) + 8px))}@media (width<=760px){.room-canvas-shell{--room-notes-top:var(--room-document-top)}.room-doc-panel--left{width:calc(100vw - 24px);left:12px}}.cab-view-toggle{border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.cab-view-toggle [aria-pressed=true]{background:var(--surface-2);color:var(--accent)}.bc-favorite.is-favorite{color:var(--accent)}.bc-icon-btn:disabled{opacity:.5;cursor:wait}.bc-grid.is-list{grid-template-columns:minmax(0,1fr);gap:8px}.bc-grid.is-list .bc{flex-direction:row;align-items:stretch}.bc-grid.is-list .bc-thumb{border-bottom:0;border-right:1px solid var(--border);border-radius:13px 0 0 13px;flex:0 0 56px;height:auto}.bc-grid.is-list .bc-thumb-glyph svg{width:28px;height:28px}.bc-grid.is-list .bc-body{grid-template-columns:minmax(0,1fr) auto;gap:5px 20px;padding:12px;display:grid}.bc-grid.is-list .bc-title-row,.bc-grid.is-list .bc-meta,.bc-grid.is-list .bc-chips{grid-column:1}.bc-grid.is-list .bc-meta{justify-content:flex-start}.bc-grid.is-list .bc-actions{border-top:0;grid-area:1/2/4;align-self:center;margin-top:0;padding-top:0}.bc-grid.is-list .bc-open{min-width:76px}@media (width<=759px){.bc-grid.is-list .bc-body{gap:7px;display:flex}.bc-grid.is-list .bc-actions{border-top:1px solid var(--border);align-self:stretch;padding-top:8px}.bc-grid.is-list .bc-thumb{flex-basis:44px}}.bc-preview{object-fit:contain;background:#f7f4ec;width:100%;height:100%;position:absolute;inset:0}.bc-code-preview{box-sizing:border-box;text-align:left;white-space:pre;width:100%;min-width:0;height:100%;font:11px/1.5 var(--font-mono,monospace);color:var(--text);margin:0;padding:14px 18px;position:absolute;inset:0;overflow:hidden}.bc-thumb-glyph.has-preview,.bc-grid.is-list .bc-preview,.bc-grid.is-list .bc-code-preview{display:none}.bc-grid.is-list .bc-thumb-glyph.has-preview{display:inline-flex}.cs-team-share{border-radius:6px;width:100%;min-height:34px;padding:6px 10px}.cs-team-share.is-active{background:var(--accent-glow);color:var(--accent)}.cs-team-badge{color:var(--text-dim);white-space:nowrap;font-size:10px}.cs-teams .cs-toggle:disabled{opacity:1;cursor:default}.team-main .cab-title{overflow-wrap:anywhere}.team-main .cab-crumbs{flex-wrap:wrap;min-width:0}.team-main .cab-crumb{overflow-wrap:anywhere;white-space:normal;text-align:left;max-width:100%}.team-access{border:1px solid var(--border);color:var(--text-dim);border-radius:5px;margin-left:6px;padding:2px 6px;font-size:11px;display:inline-block}.team-share-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.team-share-meta .team-access{margin-left:0}.team-folder{flex-wrap:wrap;position:relative}.team-folder-actions .bc-menu{z-index:20;top:36px;right:4px}.team-delete{width:100%;padding:10px;font-size:12px}.team-delete p{margin:0 0 8px}.team-owner{margin-top:7px}@media (width<=759px){.team-main .cab-head{flex-wrap:wrap;align-items:flex-start;gap:12px}.team-main .cab-head-titles{width:100%;min-width:0}.team-main .cab-toolbar{flex-wrap:wrap}.team-main .cab-sort{margin-left:0}}.team-main .cab-folders{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}@media (width<=759px){.team-main .cab-folders{grid-template-columns:1fr}}.cs-team-share-label{flex-direction:column;gap:2px;display:flex}.cs-team-share-label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cs-team-sharer{color:var(--text-dim);font-size:11px;font-weight:400}.cs-teams .cs-tree.is-flat{margin-left:0;padding-left:0}.tp-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;margin:0 0 28px;padding:24px}.tp-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.tp-heading h1{overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.25}.tp-columns{grid-template-columns:1fr 1fr;gap:32px;display:grid}.tp-section{min-width:0}.tp-section h3{margin:0 0 12px;font-size:16px;font-weight:650}.tp-section h4{color:var(--text-dim);margin:20px 0 8px;font-size:13px;font-weight:500}.tp-count{color:var(--text-dim);margin-left:6px;font-weight:400}.tp-list{margin:0;padding:0;list-style:none}.tp-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.tp-row:last-child{border-bottom:0}.tp-identity{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;font-size:14px;display:flex}.tp-identity strong{font-weight:600}.tp-meta,.tp-empty{color:var(--text-dim);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.tp-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 12px;display:flex}.tp-actions .rl-act,.tp-row>.rl-act{flex-shrink:0}.tp-invite label{color:var(--text-dim);margin-bottom:6px;font-size:12px;display:block}.tp-invite-fields{gap:8px;display:flex}.tp-invite-fields .field{flex:1;width:100%;min-width:0}.tp-status{color:var(--text);font-size:13px}.tp-status:not(:empty){margin-top:10px}.tp-shares{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.tp-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.tp-rename{flex-wrap:wrap;gap:8px;width:100%;display:flex}.tp-rename .field{flex:1;min-width:160px}.tp-rename .form-error{flex-basis:100%}.tp-dialog-backdrop{z-index:300;background:#00000073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.tp-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-sizing:border-box;border-radius:14px;width:100%;max-width:460px;max-height:calc(100dvh - 40px);padding:24px;overflow:auto}.tp-dialog h2{margin:0 0 12px;font-size:21px;line-height:1.3}.tp-dialog p{margin:0 0 20px;font-size:14px;line-height:1.6}.tp-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=900px){.tp-columns{grid-template-columns:1fr;gap:24px}}@media (width<=540px){.tp-panel{padding:16px}.tp-heading h1{font-size:21px}.tp-invite-fields{flex-direction:column}.tp-row{flex-wrap:wrap}.tp-actions{justify-content:flex-start}.tp-row .tp-identity{flex:100%}.tp-row .rl-act,.tp-footer .rl-act{min-height:36px}.tp-dialog{padding:20px}}.invite-bell-wrap{align-items:center;display:flex}.invite-bell{justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:8px;display:inline-flex;position:relative}.invite-bell-count{background:var(--accent);min-width:18px;height:18px;color:var(--bg);text-align:center;border-radius:9px;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-2px;right:-5px}.invite-popover{z-index:150;border:1px solid var(--border);background:var(--surface);width:min(360px,100vw - 24px);color:var(--text);border-radius:12px;padding:18px;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #0003}.invite-popover h2{font:inherit;margin:0 0 12px;font-size:17px;font-weight:650}.invite-row{border-top:1px solid var(--border);padding:14px 0}.invite-row:last-child{padding-bottom:0}.invite-row p{overflow-wrap:anywhere;margin:0 0 12px;line-height:1.5}.invite-row .form-error{margin:10px 0 0}.invite-actions{flex-wrap:wrap;gap:8px;display:flex}.invite-empty,.invite-notice{color:var(--text-dim);margin:0;font-size:14px;line-height:1.5}.invite-notice{margin-bottom:12px}.invite-popover:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sf-scrim{z-index:74;background:0 0;position:fixed;inset:0}.sf-pop{z-index:75;left:var(--sf-left,24px);top:var(--sf-top,auto);bottom:var(--sf-bottom,auto);width:var(--sf-width,360px);max-height:var(--sf-max-h,80vh);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 24px 60px -24px #0000008c}.sf-pop p{margin:0;font-size:13px;line-height:1.5}.sf-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.sf-head>div{min-width:0}.sf-head h2{font:650 18px/1.3 var(--font-display);margin:0 0 4px}.sf-head p{color:var(--text-dim);overflow-wrap:anywhere}.sf-teams{border:0;min-width:0;margin:0;padding:0}.sf-teams legend{color:var(--text-dim);margin-bottom:6px;font-size:13px}.sf-team{cursor:pointer;overflow-wrap:anywhere;border-radius:7px;align-items:center;gap:10px;padding:10px;font-size:14px;display:flex}.sf-team input{accent-color:var(--accent);flex-shrink:0}.sf-team:hover,.sf-team.is-selected{background:var(--accent-glow)}.share-folder-levels{gap:6px;display:flex}.share-folder-levels .btn-ghost{flex:1;padding-inline:8px}.share-folder-levels .btn-ghost[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.sf-help,.sf-empty{color:var(--text-dim)}.sf-warning{background:var(--accent-glow);border-left:3px solid var(--accent);padding:10px}.sf-actions{justify-content:flex-end;gap:8px;display:flex}.sf-error,.sf-unshare{color:var(--danger)}.sf-pop :focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=759px){.sf-pop{width:auto;max-height:calc(100dvh - 24px);padding:16px;inset:auto 12px 12px}.sf-scrim{background:#00000040}}.fm-item:disabled{color:var(--text-dim);cursor:default}.mt-group-title{border-top:1px solid var(--border);color:var(--text-dim);margin:8px 0 4px;padding:10px 12px 4px;font-size:12px;font-weight:600}.mt-share-label{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mt-team-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.bc-shared-chip{background:var(--surface);width:fit-content;max-width:100%;color:var(--text-dim);overflow-wrap:anywhere;border-radius:4px;margin-top:8px;padding:3px 7px;font-size:11px;line-height:1.4;display:block}a.bc-shared-chip{color:var(--accent);text-decoration:none}a.bc-shared-chip:hover{text-decoration:underline}a.bc-shared-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mt-share-row{padding-top:7px;padding-bottom:7px}.bc-menu-share{min-width:240px;max-width:calc(100vw - 32px)}.presence-roster{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.presence-chip{--peer:var(--text-dim);border:1px solid color-mix(in srgb, var(--peer) 40%, var(--border));background:color-mix(in srgb, var(--peer) 12%, var(--surface));max-width:180px;font-family:var(--font-mono);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:11.5px;line-height:1.2;display:inline-flex}.presence-chip.is-self{border-color:color-mix(in srgb, var(--peer) 60%, var(--border));background:color-mix(in srgb, var(--peer) 18%, var(--surface))}.presence-dot{background:var(--peer);width:8px;height:8px;box-shadow:0 0 0 2px color-mix(in srgb, var(--peer) 26%, transparent);border-radius:50%;flex:none}.presence-name{text-overflow:ellipsis;overflow:hidden}.presence-you,.presence-guest{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:1px 6px;font-size:9.5px;font-weight:600}.presence-you{color:var(--peer);background:color-mix(in srgb, var(--peer) 22%, transparent)}.presence-guest{color:var(--text-dim);background:color-mix(in srgb, var(--text-dim) 16%, transparent)}.cr-root{background:var(--canvas-bg);height:100%;min-height:0;color:var(--canvas-ink);flex-direction:column;display:flex}.cr-top{flex:auto;min-height:0;display:flex}.cr-pane{background:var(--canvas-bg);flex-direction:column;min-width:0;min-height:0;display:flex}.cr-pane-head{min-height:40px;font-family:var(--font-mono);color:var(--text-dim);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 70%, transparent), color-mix(in srgb, var(--surface) 30%, transparent));border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:7px 12px;font-size:11.5px;display:flex}.cr-pane-name{letter-spacing:.04em;color:var(--canvas-ink);align-items:center;gap:7px;font-weight:600;display:inline-flex}.cr-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-glow);border-radius:50%}.cr-lang-ver{white-space:nowrap;letter-spacing:.04em;border:1px solid var(--border);color:var(--text-dim);background:var(--bg);cursor:default;border-radius:6px;flex:none;padding:2px 7px;font-size:10px;font-weight:600}.cr-dot-2{background:var(--text-dim);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-dim) 22%, transparent)}.cr-toolbar-right{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:6px 10px;min-width:0;display:flex}.cr-fontctl{flex:none;align-items:center;gap:8px;display:inline-flex}.cr-font-select.field{width:auto;font-size:12px;font-family:var(--font-mono);background-color:var(--surface);background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 7px) calc(50% - 2px);border-radius:8px;padding:4px 26px 4px 10px}.cr-font-size{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.cr-font-step{width:22px;height:22px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .14s,color .14s;display:inline-flex}.cr-font-step:hover:not(:disabled){background:var(--accent-glow);color:var(--text)}.cr-font-step:disabled{opacity:.35;cursor:not-allowed}.cr-font-size-val{text-align:center;min-width:20px;font-family:var(--font-mono);color:var(--canvas-ink);font-size:12px}.cr-run-btn{white-space:nowrap;min-width:132px;height:30px;font-family:var(--font-body);letter-spacing:.01em;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.cr-run-btn.btn-ghost{min-width:150px}.cr-run-btn.btn-primary{box-shadow:0 4px 14px -6px var(--accent-glow), inset 0 1px 0 #fff3}.cr-run-glyph{font-size:9px;line-height:1;transform:translateY(.5px)}.cr-roster-slot{align-items:center;min-width:0;margin-left:auto;display:inline-flex;overflow:hidden}.cr-connecting{min-height:0;font-family:var(--font-mono);color:var(--text-dim);background:var(--canvas-bg);flex:auto;justify-content:center;align-items:center;gap:9px;font-size:12.5px;display:flex}.cr-pane-fallback{text-align:center;min-height:0;font-family:var(--font-mono);color:var(--text-dim);background:var(--canvas-bg);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;padding:20px;font-size:12.5px;display:flex}.cr-pane-fallback-mark{color:var(--danger);font-size:20px}.cr-room-full{background:var(--canvas-bg);flex:auto;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex}.cr-room-full-card{text-align:center;border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 80%, transparent), color-mix(in srgb, var(--surface) 40%, transparent));border-radius:14px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:380px;padding:28px 24px;display:flex;box-shadow:0 18px 48px -22px #00000080}.cr-room-full-mark{font-size:34px;line-height:1}.cr-room-full-title{font-family:var(--font-body);letter-spacing:.01em;color:var(--text);margin:0;font-size:18px;font-weight:700}.cr-room-full-text{font-family:var(--font-mono);color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.cr-cm{flex:auto;min-height:0;overflow:auto}.cr-cm .cm-editor{background:var(--canvas-bg);height:100%;color:var(--canvas-ink)}.cr-cm .cm-editor.cm-focused{outline:none}.cr-cm .cm-gutters{background:var(--canvas-bg);color:var(--text-dim);border:none;border-right:1px solid var(--border)}.cr-divider-v,.cr-divider-h{background:var(--border);flex:none;transition:background .15s;position:relative}.cr-divider-v{cursor:col-resize;width:1px}.cr-divider-h{cursor:row-resize;height:1px}.cr-divider-v:before,.cr-divider-h:before{content:"";z-index:2;position:absolute}.cr-divider-v:before{inset:0 -3px}.cr-divider-h:before{inset:-3px 0}.cr-divider-v:after,.cr-divider-h:after{content:"";background:var(--accent);opacity:0;border-radius:99px;transition:opacity .15s;position:absolute}.cr-divider-v:after{width:3px;height:34px;top:50%;left:50%;transform:translate(-50%,-50%)}.cr-divider-h:after{width:34px;height:3px;top:50%;left:50%;transform:translate(-50%,-50%)}.cr-divider-v:hover,.cr-divider-h:hover,.cr-divider-v:active,.cr-divider-h:active{background:var(--accent)}.cr-divider-v:hover:after,.cr-divider-h:hover:after,.cr-divider-v:active:after,.cr-divider-h:active:after{opacity:.9}.cr-console-shell{background:var(--canvas-bg);border-top:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow:hidden}.cr-console-body{flex:auto;min-height:0;display:flex;overflow:hidden}.cr-error{font-family:var(--font-mono);color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, transparent);border-bottom:1px solid var(--border);padding:8px 14px;font-size:12px}.cr-console{min-width:0;min-height:0;color:var(--canvas-ink);flex-direction:column;flex:auto;display:flex;overflow:auto}.cr-console-head{z-index:1;background:color-mix(in srgb, var(--surface) 55%, var(--canvas-bg));border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 14px;display:flex;position:sticky;top:0}.cr-console-title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:600}.cr-console-empty{color:var(--text-dim);padding:18px 14px;font-size:13px}.cr-queue-hint{padding-top:0;font-size:12px}.cr-summary{font-family:var(--font-mono);color:var(--text-dim);align-items:baseline;gap:5px;font-size:12.5px;display:inline-flex}.cr-summary strong{font-size:13.5px;font-weight:700}.cr-summary-pass{color:var(--ok)}.cr-summary-fail{color:var(--danger)}.cr-summary-sep{opacity:.5}.cr-summary-dur{border-left:1px solid var(--border);margin-left:4px;padding-left:9px;font-size:11.5px}.cr-badge{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.cr-badge-ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent);border-color:color-mix(in srgb, var(--ok) 32%, transparent)}.cr-badge-bad{color:var(--danger);background:color-mix(in srgb, var(--danger) 13%, transparent);border-color:color-mix(in srgb, var(--danger) 32%, transparent)}.cr-badge-pending{color:var(--text-dim);background:color-mix(in srgb, var(--text-dim) 12%, transparent)}.cr-spinner{border:2px solid color-mix(in srgb, currentColor 28%, transparent);border-top-color:currentColor;border-radius:50%;width:11px;height:11px;animation:.7s linear infinite cr-spin}.cr-spinner-light{border-color:#fff #fff6 #fff6}@keyframes cr-spin{to{transform:rotate(360deg)}}.cr-test-list{margin:0;padding:6px 0;list-style:none}.cr-test{font-family:var(--font-mono);align-items:baseline;gap:9px;padding:4px 14px;font-size:12.5px;line-height:1.45;display:flex}.cr-test+.cr-test{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent)}.cr-test-mark{flex:none;width:12px;font-weight:700}.cr-test.pass .cr-test-mark{color:var(--ok)}.cr-test.fail .cr-test-mark{color:var(--danger)}.cr-test.skip .cr-test-mark{color:var(--text-dim)}.cr-test-name{color:var(--canvas-ink)}.cr-test.fail .cr-test-name{color:var(--danger)}.cr-test-msg{color:var(--text-dim);word-break:break-word;font-size:12px}.cr-test-msg:before{content:"— ";opacity:.6}.cr-log{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--canvas-ink);background:color-mix(in srgb, var(--canvas-ink) 5%, transparent);border:1px solid var(--border);border-radius:8px;margin:8px 14px 12px;padding:10px 12px;font-size:12px;line-height:1.5}.cr-comment{border-left:1px solid var(--border);background:color-mix(in srgb, var(--surface) 40%, var(--canvas-bg));flex-direction:column;flex:0 0 288px;gap:8px;padding:12px;display:flex;overflow:auto}.cr-comment-head{align-items:center;gap:8px;display:flex}.cr-comment-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:600}.cr-comment-private{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-glow);border-radius:999px;margin-left:auto;padding:2px 7px;font-size:9.5px}.cr-comment-text.field{resize:none;min-height:84px;font-family:var(--font-body);background:var(--canvas-bg);flex:auto;font-size:13px}.cr-comment-actions{align-items:center;gap:10px;display:flex}.cr-comment-saved{font-family:var(--font-mono);color:var(--ok);font-size:11px}.cr-history{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 28%, var(--canvas-bg));flex:none}.cr-history-toggle{cursor:pointer;width:100%;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:10px;font-weight:600;transition:color .14s;display:flex}.cr-history-toggle:hover{color:var(--text)}.cr-history-caret{transition:transform .16s;display:inline-block}.cr-history-caret.open{transform:rotate(90deg)}.cr-history-count{background:color-mix(in srgb, var(--text-dim) 16%, transparent);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px}.cr-history-list{max-height:150px;margin:0;padding:0 0 8px;list-style:none;overflow:auto}.cr-history-empty{color:var(--text-dim);padding:6px 14px;font-size:12px}.cr-history-row{font-family:var(--font-mono);align-items:center;gap:10px;padding:5px 14px;font-size:12px;display:flex}.cr-history-dot{border-radius:50%;flex:none;width:7px;height:7px}.cr-history-dot.ok{background:var(--ok)}.cr-history-dot.bad{background:var(--danger)}.cr-history-dot.pending{background:var(--text-dim)}.cr-history-status{color:var(--text-dim);min-width:64px}.cr-history-score{color:var(--canvas-ink)}.cr-history-note{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cr-history-note:before{content:"“"}.cr-history-note:after{content:"”"}@media (width<=720px){.cr-console-body{flex-direction:column}.cr-comment{border-left:none;border-top:1px solid var(--border);flex:none}}.ts-root{position:relative}.ts-topbar{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 82%, transparent), color-mix(in srgb, var(--surface) 40%, transparent));border-bottom:1px solid var(--border);align-items:center;gap:16px;min-height:56px;padding:10px 16px;display:flex}.ts-leave{flex-shrink:0}.ts-headline{flex-direction:column;gap:1px;min-width:0;display:flex}.ts-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:9.5px;font-weight:600}.ts-title{font-family:var(--font-body);letter-spacing:.005em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.ts-autosave{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:11.5px;display:inline-flex}.ts-autosave-dot{background:var(--ok,#57b36a);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok,#57b36a) 20%, transparent);border-radius:50%;transition:background .2s,box-shadow .2s}.ts-autosave[data-dirty="1"] .ts-autosave-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);animation:1.1s ease-in-out infinite ts-pulse}@keyframes ts-pulse{50%{opacity:.45}}.ts-props-open{flex-shrink:0}.ts-notice{font-family:var(--font-mono);color:var(--accent);background:var(--accent-glow);border-bottom:1px solid var(--border);padding:8px 16px;font-size:12px}.ts-tabs{background:color-mix(in srgb, var(--surface) 30%, var(--canvas-bg));border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.ts-tab{height:34px}.ts-run-bar{background:color-mix(in srgb, var(--surface) 55%, var(--canvas-bg));border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 14px;display:flex}.ts-props-scrim{z-index:40;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#00000052;animation:.18s both ts-scrim-in;position:fixed;inset:0}@keyframes ts-scrim-in{0%{opacity:0}}.ts-props{z-index:41;background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(200deg, var(--accent-glow), transparent 55%) border-box;border-left:1px solid #0000;flex-direction:column;width:min(440px,92vw);animation:.22s cubic-bezier(.22,.61,.36,1) both ts-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-22px 0 60px -30px #0000008c}@keyframes ts-slide-in{0%{opacity:.4;transform:translate(24px)}}.ts-props-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.ts-props-heading{flex-direction:column;gap:2px;display:flex}.ts-props-kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:9.5px;font-weight:600}.ts-props-title{font-family:var(--font-body);color:var(--text);margin:0;font-size:18px;font-weight:700}.ts-props-x{border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;font-size:20px;line-height:1;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.ts-props-x:hover{background:var(--accent-glow);color:var(--text);border-color:var(--accent)}.ts-props-body{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:16px 20px 22px;display:flex;overflow:auto}.ts-field-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-top:8px;font-size:10.5px;font-weight:600}.ts-field-label:first-child{margin-top:0}.ts-field-note{letter-spacing:.02em;text-transform:none;color:color-mix(in srgb, var(--text-dim) 80%, transparent);margin-left:6px;font-weight:500}.ts-field-note-private{color:var(--accent)}.ts-field{width:100%}.ts-textarea{resize:vertical;min-height:90px;font-family:var(--font-body);line-height:1.5}.ts-check{color:var(--text);align-items:center;gap:9px;margin-top:14px;font-size:13.5px;display:flex}.ts-check input{accent-color:var(--accent)}.ts-publish{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:flex}.ts-props-foot{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 60%, var(--canvas-bg));align-items:center;gap:14px;padding:14px 20px;display:flex}.ts-save-btn{flex-shrink:0}.ts-autosave-line{font-family:var(--font-mono);color:var(--text-dim);font-size:11.5px}@media (width<=640px){.ts-topbar{flex-wrap:wrap;gap:10px}.ts-autosave{order:3;margin-left:0}}
