:root{--so-font:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--so-mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,monospace;--bg:#f4f5f7;--surface:#fff;--surface-2:#f7f8fa;--surface-3:#eef0f3;--hover:#0f172a0f;--active:#0f172a1a;--border:#e2e5ea;--border-strong:#c9ced6;--text:#1b1f24;--text-2:#4f5965;--text-3:#808a96;--focus:#2563eb;--danger:#d92d20;--danger-bg:#fef1f0;--success:#12823b;--warning:#b45309;--shadow-1:0 1px 2px #1018280d,0 1px 3px #1018280f;--shadow-2:0 12px 28px -6px #10182829,0 4px 10px -4px #10182814,0 0 0 1px #10182808;--shadow-3:0 28px 56px -14px #1018284d,0 8px 18px -8px #1018281f,0 0 0 1px #1018280a;--radius-sm:6px;--radius:8px;--radius-lg:12px;--appbar-h:52px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.55,0,.75,.25);--ease-standard:cubic-bezier(.2,0,0,1);--ease-spring:cubic-bezier(.34,1.4,.64,1);--dur-1:90ms;--dur-2:.16s;--dur-3:.24s;--dur-4:.36s;--c-shell:#0f766e;--c-docs:#2563eb;--c-sheets:#15803d;--c-slides:#c2410c;--c-chat:#7c3aed;--c-mail:#0369a1;--c-tasks:#4f46e5;--c-admin:#475569;--app-accent:var(--c-shell);--app-accent-text:#fff;--danger-solid:#d92d20;--p-available:#16a34a;--p-busy:#dc2626;--p-dnd:#dc2626;--p-away:#d97706;--p-offline:#9aa3ad;--buncss-light:initial;--buncss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111317;--surface:#1a1d22;--surface-2:#20242a;--surface-3:#282d34;--hover:#ffffff0f;--active:#ffffff1c;--border:#2f343c;--border-strong:#434a54;--text:#e8eaed;--text-2:#b0b7c0;--text-3:#7f8893;--focus:#60a5fa;--danger:#f87171;--danger-solid:#b42318;--danger-bg:#3a1d1d;--success:#4ade80;--warning:#fbbf24;--shadow-1:0 1px 2px #0006;--shadow-2:0 14px 32px -6px #0009,0 0 0 1px #ffffff0d;--shadow-3:0 28px 60px -12px #000000b3,0 0 0 1px #ffffff0f;--c-shell:#2dd4bf;--c-docs:#60a5fa;--c-sheets:#4ade80;--c-slides:#fb923c;--c-chat:#a78bfa;--c-mail:#38bdf8;--c-tasks:#a5b4fc;--c-admin:#a3b3c9;--app-accent-text:#0b0d10;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111317;--surface:#1a1d22;--surface-2:#20242a;--surface-3:#282d34;--hover:#ffffff0f;--active:#ffffff1c;--border:#2f343c;--border-strong:#434a54;--text:#e8eaed;--text-2:#b0b7c0;--text-3:#7f8893;--focus:#60a5fa;--danger:#f87171;--danger-solid:#b42318;--danger-bg:#3a1d1d;--success:#4ade80;--warning:#fbbf24;--shadow-1:0 1px 2px #0006;--shadow-2:0 14px 32px -6px #0009,0 0 0 1px #ffffff0d;--shadow-3:0 28px 60px -12px #000000b3,0 0 0 1px #ffffff0f;--c-shell:#2dd4bf;--c-docs:#60a5fa;--c-sheets:#4ade80;--c-slides:#fb923c;--c-chat:#a78bfa;--c-mail:#38bdf8;--c-tasks:#a5b4fc;--c-admin:#a3b3c9;--app-accent-text:#0b0d10;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}body{--app-accent-soft:color-mix(in srgb,var(--app-accent)12%,transparent)}body[data-app=shell]{--app-accent:var(--c-shell)}body[data-app=docs]{--app-accent:var(--c-docs)}body[data-app=sheets]{--app-accent:var(--c-sheets)}body[data-app=slides]{--app-accent:var(--c-slides)}body[data-app=chat]{--app-accent:var(--c-chat)}body[data-app=mail]{--app-accent:var(--c-mail)}body[data-app=tasks]{--app-accent:var(--c-tasks)}body[data-app=admin]{--app-accent:var(--c-admin)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{font-family:var(--so-font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;text-rendering:optimizeLegibility;margin:0;font-size:14px;line-height:1.45}h1,h2,h3{letter-spacing:-.012em}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-3)45%,transparent)transparent}#root{display:flex;flex-direction:column;height:100%}body[data-environment]{display:flex;flex-direction:column}body[data-environment]>#root{flex:auto;height:auto;min-height:0}.so-env-banner{overflow:hidden;display:flex;color:#1c1300;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;user-select:none;background:repeating-linear-gradient(135deg,#f59e0b 0 14px,#fbbf24 14px 28px);flex:none;justify-content:center;align-items: center;height:20px;padding:0 12px;font-size:11px;font-weight:600;line-height:1}@media print{.so-env-banner{display:none}}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--app-accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:1px;transition:outline-offset var(--dur-1)var(--ease-out)}::selection{background:color-mix(in srgb,var(--focus)28%,transparent)}.so-visually-hidden{overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute!important}.so-btn{display:inline-flex;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;user-select:none;transition:background-color var(--dur-2)var(--ease-standard),border-color var(--dur-2)var(--ease-standard),box-shadow var(--dur-2)var(--ease-standard),color var(--dur-2)var(--ease-standard),transform var(--dur-1)var(--ease-standard);justify-content:center;align-items: center;gap:6px;height:32px;padding:0 12px;font-weight:500}.so-btn:active:not(:disabled){transform:scale(.98)}.so-btn--primary{box-shadow:0 1px 2px color-mix(in srgb,var(--app-accent)30%,transparent),inset 0 1px 0 #ffffff1f}.so-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-3)}.so-btn:active:not(:disabled){background:var(--surface-3)}.so-btn:disabled{opacity:.5;cursor:not-allowed}.so-btn--primary{background:var(--app-accent);border-color:var(--app-accent);color:var(--app-accent-text)}.so-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--app-accent)88%,black);border-color:color-mix(in srgb,var(--app-accent)88%,black)}.so-btn--danger{background:var(--danger-solid);border-color:var(--danger-solid);color:#fff}.so-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger-solid)88%,black)}.so-btn--ghost{background:0 0;border-color:#0000}.so-btn--ghost:hover:not(:disabled){background:var(--hover);border-color:#0000}.so-btn--sm{height:28px;padding:0 9px;font-size:13px}.so-btn--lg{height:40px;padding:0 18px;font-size:15px}.so-btn svg{flex:none;width:16px;height:16px}.so-icon-btn{display:inline-flex;border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;transition:background-color var(--dur-2)var(--ease-standard),color var(--dur-2)var(--ease-standard),transform var(--dur-1)var(--ease-standard);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items: center;width:32px;height:32px}.so-icon-btn:active:not(:disabled){transform:scale(.92)}.so-icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.so-icon-btn:disabled{opacity:.4;cursor:not-allowed}.so-icon-btn[aria-pressed=true],.so-icon-btn.is-active{background:var(--app-accent-soft);color:var(--app-accent)}.so-icon-btn--sm{width:28px;height:28px}.so-icon-btn svg{width:18px;height:18px}.so-icon-btn--sm svg{width:16px;height:16px}.so-field{display:flex;flex-direction:column;gap:5px}.so-field>label,.so-label{color:var(--text-2);font-size:13px;font-weight:500}.so-input,.so-select,.so-textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color var(--dur-2)var(--ease-standard),box-shadow var(--dur-2)var(--ease-standard);min-width:0;height:34px;padding:0 10px}.so-textarea{resize:vertical;height:auto;min-height:80px;padding:8px 10px}.so-input:focus,.so-select:focus,.so-textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus)22%,transparent)}.so-input::placeholder{color:var(--text-3)}.so-field-error{color:var(--danger);font-size:13px}.so-checkbox{display:inline-flex;cursor:pointer;align-items: center;gap:8px}.so-appbar{height:var(--appbar-h);display:flex;background:var(--surface);border-bottom:1px solid var(--border);position:relative;z-index:20;flex:none;align-items: center;gap:8px;padding:0 10px 0 6px}.so-appbar__brand{display:flex;color:var(--text);text-decoration:none;border-radius:var(--radius-sm);transition:background-color var(--dur-2)var(--ease-standard);align-items: center;gap:8px;padding:4px 6px;font-size:15px;font-weight:650}.so-appbar__brand:hover{background:var(--hover)}.so-appbar__mark{background:var(--app-accent);color:var(--app-accent-text);display:grid;border-radius:7px;flex:none;place-items: center;width:26px;height:26px}.so-appbar__mark svg{width:16px;height:16px}.so-appbar__title{display:flex;align-items: center;gap:6px;min-width:0}.so-appbar__title-input{border-radius:var(--radius-sm);text-overflow:ellipsis;background:0 0;border:1px solid #0000;min-width:60px;max-width:420px;padding:4px 6px;font-size:15px;font-weight:500}.so-appbar__title-input:hover:not(:read-only){border-color:var(--border-strong)}.so-appbar__title-input:focus{outline:none;border-color:var(--focus);background:var(--surface)}.so-appbar__sep{background:var(--border);width:1px;height:22px;margin:0 4px}.so-appbar__spacer{flex:1}.so-appbar__actions{display:flex;align-items: center;gap:6px}.so-appbar__status{color:var(--text-3);white-space:nowrap;font-size:12px}.so-launcher{display:grid;grid-template-columns:repeat(3,96px);gap:4px;padding:8px}.so-launcher a{display:flex;border-radius:var(--radius);text-decoration:none;color:var(--text);transition:background-color var(--dur-2)var(--ease-standard);flex-direction:column;align-items: center;gap:6px;padding:12px 4px;font-size:12.5px}.so-launcher a:hover{background:var(--hover)}.so-launcher__icon{display:grid;color:#fff;transition:transform var(--dur-3)var(--ease-spring);border-radius:10px;place-items: center;width:40px;height:40px;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #10182826}.so-launcher a:hover .so-launcher__icon{transform:translateY(-2px)scale(1.05)}.so-launcher-panel .so-launcher a{animation:so-enter-up var(--dur-3)var(--ease-out)both;animation-delay:calc(var(--i,0)*14ms)}.so-launcher__icon svg{width:22px;height:22px}.so-launcher__org{color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;padding:10px 14px 0;font-size:12px;font-weight:600}.so-avatar{position:relative;display:inline-grid;color:#fff;user-select:none;text-transform:uppercase;border-radius:50%;flex:none;place-items: center;font-weight:600}.so-avatar__dot{position:absolute;border:2px solid var(--surface);background:var(--p-offline);transition:background-color var(--dur-3)var(--ease-standard);border-radius:50%;width:34%;min-width:9px;height:34%;min-height:9px;bottom:-1px;right:-1px}.so-avatar__dot[data-presence=available]{background:var(--p-available)}.so-avatar__dot[data-presence=busy]{background:var(--p-busy)}.so-avatar__dot[data-presence=dnd]{background:var(--p-dnd)}.so-avatar__dot--inline{position:relative;border:none;flex:none;width:10px;min-width:10px;height:10px;min-height:10px;bottom:auto;right:auto}.so-avatar__dot[data-presence=dnd]:after{content:"";position:absolute;background:#fff;border-radius:1px;inset:40% 18%}.so-avatar__dot[data-presence=away]{background:var(--p-away)}.so-avatar-stack{display:flex;align-items: center}.so-avatar-stack>*{box-shadow:0 0 0 2px var(--surface);margin-left:-6px}.so-avatar-stack>:first-child{margin-left:0}.so-menu{position:fixed;z-index:1000;overflow:auto;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);animation:so-pop-in var(--dur-2)var(--ease-out);border-radius:10px;min-width:200px;max-width:360px;max-height:calc(100vh - 16px);padding:4px}.so-menu__item{display:flex;text-align:left;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);white-space:nowrap;transition:background-color var(--dur-1)var(--ease-standard);background:0 0;border:none;align-items: center;gap:10px;width:100%;padding:7px 10px}.so-menu__item:hover,.so-menu__item:focus{background:var(--hover);outline:none}.so-menu__item:disabled{opacity:.45;cursor:default;background:0 0}.so-menu__item--danger{color:var(--danger)}.so-menu__text{overflow:hidden;text-overflow:ellipsis;min-width:0}.so-menu__item svg{color:var(--text-2);flex:none;width:16px;height:16px}.so-menu__item--danger svg{color:var(--danger)}.so-menu__hint{color:var(--text-3);margin-left:auto;padding-left:16px;font-size:12px}.so-menu__sep{background:var(--border);height:1px;margin:5px 2px}.so-menu__label{color:var(--text-3);text-transform:uppercase;letter-spacing:.03em;padding:6px 10px 4px;font-size:12px;font-weight:600}@keyframes so-pop{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes so-pop-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:none}}@keyframes so-pop-out{to{opacity:0;transform:translateY(-2px)scale(.98)}}.so-overlay{position:fixed;z-index:900;display:grid;animation:so-fade var(--dur-3)var(--ease-standard);background:#0f12186b;place-items: center;padding:16px;inset:0}.so-dialog{display:flex;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);border:1px solid var(--border);animation:so-dialog-in var(--dur-3)var(--ease-out);flex-direction:column;width:min(480px,100%);max-height:calc(100vh - 32px)}@keyframes so-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}@keyframes so-dialog-out{to{opacity:0;transform:translateY(6px)scale(.98)}}.so-dialog--wide{width:min(720px,100%)}.so-dialog__head{display:flex;align-items: center;gap:8px;padding:16px 18px 8px}.so-dialog__title{flex:1;margin:0;font-size:17px;font-weight:650}.so-dialog__body{overflow:auto;display:flex;flex-direction:column;gap:12px;padding:8px 18px 12px}.so-dialog__foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px}@keyframes so-fade{0%{opacity:0}to{opacity:1}}@keyframes so-fade-out{to{opacity:0}}.so-toasts{position:fixed;z-index:1100;display:flex;pointer-events:none;flex-direction:column;align-items: center;gap:8px;bottom:18px;left:50%;transform:translate(-50%)}.so-toast{pointer-events:auto;display:flex;color:#f3f4f6;box-shadow:var(--shadow-2);animation:so-toast-in var(--dur-4)var(--ease-spring);background:#22262c;border-radius:10px;align-items: center;gap:10px;min-width:260px;max-width:520px;padding:10px 14px}@keyframes so-toast-in{0%{opacity:0;transform:translateY(14px)scale(.95)}to{opacity:1;transform:none}}@keyframes so-toast-out{to{opacity:0;transform:translateY(10px)scale(.96)}}.so-toast--error{background:#7f1d1d}.so-toast--success{background:#14532d}.so-toast button{color:#93c5fd;cursor:pointer;background:0 0;border:none;padding:0 0 0 8px;font-weight:600}.so-spinner{border:2px solid var(--border-strong);border-top-color:var(--app-accent);animation:.7s linear infinite so-spin;border-radius:50%;width:18px;height:18px}@keyframes so-spin{to{transform:rotate(360deg)}}.so-center{display:grid;flex:1;place-items: center}.so-loading{animation:so-fade var(--dur-3)var(--ease-standard).3s both}.so-empty{display:flex;color:var(--text-2);text-align:center;flex-direction:column;align-items: center;gap:8px;padding:48px 16px}.so-empty>svg{color:var(--text-3);width:40px;height:40px}.so-empty h3{color:var(--text);margin:4px 0 0;font-size:16px}.so-badge{display:inline-flex;background:var(--surface-3);color:var(--text-2);border-radius:10px;align-items: center;height:20px;padding:0 7px;font-size:12px;font-weight:600}.so-badge--accent{background:var(--app-accent);color:var(--app-accent-text)}.so-kbd{font-family:var(--so-mono);border:1px solid var(--border-strong);color:var(--text-2);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11.5px}.so-tabs{display:flex;border-bottom:1px solid var(--border);gap:2px}.so-tab{cursor:pointer;color:var(--text-2);transition:color var(--dur-2)var(--ease-standard),border-color var(--dur-2)var(--ease-standard);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-weight:500}.so-tab[aria-selected=true]{color:var(--app-accent);border-bottom-color:var(--app-accent)}.so-tab:hover{color:var(--text)}.so-toolbar{display:flex;flex-wrap:wrap;align-items: center;gap:2px}.so-toolbar__sep{background:var(--border);width:1px;height:20px;margin:0 5px}.so-banner{display:flex;background:var(--surface-3);color:var(--text-2);border-bottom:1px solid var(--border);align-items: center;gap:8px;padding:8px 14px;font-size:13px}.so-banner--warning{background:color-mix(in srgb,var(--warning)14%,var(--surface));color:var(--text)}.so-scroll{overflow:auto}.so-muted{color:var(--text-2)}.so-faint{color:var(--text-3)}.so-start{overflow:auto;display:flex;flex-direction:column;flex:1;gap:28px;padding:24px clamp(16px,4vw,48px) 48px}.so-start h2{margin:0 0 12px;font-size:16px;font-weight:600}.so-start__new{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px 20px}.so-start__tiles{display:flex;flex-wrap:wrap;gap:16px}.so-start__tile{display:flex;cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;gap:8px;width:148px;padding:0;font-weight:500}.so-start__thumb{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);display:grid;overflow:hidden;transition:border-color var(--dur-2)var(--ease-standard),box-shadow var(--dur-2)var(--ease-standard),transform var(--dur-3)var(--ease-out);place-items: center;width:148px;height:104px}.so-start__tile:hover .so-start__thumb{transform:translateY(-2px)}.so-start__thumb--blank svg{color:var(--app-accent);width:34px;height:34px}.so-start__tile:hover .so-start__thumb{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.so-start__tile:focus-visible .so-start__thumb{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.so-start__list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 8px 8px}.so-filetable{border-collapse:collapse;width:100%}.so-filetable th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--border);padding:10px 10px 6px;font-size:12.5px;font-weight:500}.so-filetable td{border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0;padding:8px 10px}.so-filetable tbody tr{cursor:pointer;transition:background-color var(--dur-1)var(--ease-standard)}.so-filetable td{font-variant-numeric:tabular-nums}.so-filetable tbody tr:hover{background:var(--hover)}.so-filetable tbody tr:last-child td{border-bottom:none}.so-filetable tbody tr[aria-selected=true]{background:var(--app-accent-soft)}.so-filetable__name{display:inline-flex;color:var(--text);text-decoration:none;align-items: center;gap:10px;max-width:100%;font-weight:500}.so-filetable__name span{overflow:hidden;text-overflow:ellipsis}.so-filetable th:first-child,.so-filetable td:first-child{width:55%}.ProseMirror:focus{outline:none}.ProseMirror:focus-visible{outline:none}.so-leaving{pointer-events:none!important;animation:so-pop-out var(--dur-1)var(--ease-in)forwards!important}.so-leaving--pop{transform-origin:top left}.so-leaving--dialog{animation:so-fade-out var(--dur-2)var(--ease-in)forwards!important}.so-leaving--dialog .so-dialog{animation:so-dialog-out var(--dur-2)var(--ease-in)forwards!important}.so-leaving--toast{animation:so-toast-out var(--dur-2)var(--ease-in)forwards!important}.so-leaving--backstage{animation:so-bs-out var(--dur-2)var(--ease-in)forwards!important}@keyframes so-bs-out{to{opacity:0;transform:translate(-10px)}}.so-skeleton{display:block;background:linear-gradient(90deg,var(--surface-3)0%,var(--surface-3)40%,color-mix(in srgb,var(--surface-3)40%,var(--surface))50%,var(--surface-3)60%,var(--surface-3)100%);animation:so-shimmer 1.6s var(--ease-standard)infinite;background-size:300% 100%;border-radius:6px;min-height:.8em}@keyframes so-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.so-enter{animation:so-enter var(--dur-3)var(--ease-out)both}.so-enter-up{animation:so-enter-up var(--dur-3)var(--ease-out)both}@keyframes so-enter{0%{opacity:0}to{opacity:1}}@keyframes so-enter-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation: auto;}.so-appbar{view-transition-name:so-appbar}::view-transition-old(root){animation:so-fade-out .14s var(--ease-in)both}::view-transition-new(root){animation:so-enter-up .24s var(--ease-out)both}::view-transition-group(so-appbar){animation-duration:.2s}}@media (prefers-reduced-motion:reduce){:root{--dur-1:1ms;--dur-2:1ms;--dur-3:1ms;--dur-4:1ms}html{scroll-behavior:auto}.so-skeleton{animation:none}.so-launcher-panel .so-launcher a,.so-rb__panel>.so-rg>*,.so-bs__nav .so-bs__item{animation-delay:0s!important}}.so-indicator{position:absolute;z-index:0;pointer-events:none;opacity:0;transition:opacity var(--dur-2)var(--ease-standard);top:0;left:0}.so-indicator.is-shown{opacity:1}.so-indicator.is-sliding{transition:transform var(--dur-3)var(--ease-out),width var(--dur-3)var(--ease-out),height var(--dur-3)var(--ease-out),opacity var(--dur-2)var(--ease-standard)}.so-ghost-rows{position:fixed;z-index:15;overflow:hidden;pointer-events:none}.so-glow-clip{position:fixed;z-index:13;overflow:hidden;pointer-events:none}.so-row-glow{position:absolute;background:color-mix(in srgb,var(--app-accent)16%,transparent);border-radius:2px}.so-cover-clip{position:fixed;z-index:14;overflow:hidden;pointer-events:none}.so-cover{position:absolute;background:var(--surface);inset:0}.so-cover--forward{background:linear-gradient(90deg,transparent,var(--surface)23%);left:-30%}.so-cover--back{background:linear-gradient(270deg,transparent,var(--surface)23%);right:-30%}.so-row-new{animation:so-row-new calc(var(--dur-4)*3)var(--ease-standard)var(--dur-2)backwards}@keyframes so-row-new{0%{opacity:0;background-color:color-mix(in srgb,var(--app-accent)24%,transparent)}12%{opacity:1}40%{background-color:color-mix(in srgb,var(--app-accent)16%,transparent)}to{background-color:#0000}}.so-skel-late{animation:so-enter var(--dur-2)var(--ease-standard)var(--dur-2)both}.so-stagger{animation:so-enter-up var(--dur-3)var(--ease-out)both;animation-delay:calc(var(--i,0)*var(--dur-1)/6)}.so-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--dur-3)var(--ease-out),opacity var(--dur-2)var(--ease-standard)}.so-reveal.is-open{grid-template-rows:1fr;opacity:1}.so-reveal>*{overflow:hidden;min-height:0}.so-reveal-in{display:grid;animation:so-reveal var(--dur-3)var(--ease-out)both}.so-reveal-in>*{overflow:hidden;min-height:0}@keyframes so-reveal{0%{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}.so-btn-spin{opacity:.85;animation:.7s linear infinite so-spin;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px}.so-btn.is-busy:disabled{opacity:1;cursor:progress}.so-check-draw{color:var(--success)}.so-check-draw :-webkit-any(path,circle,polyline){stroke-dasharray:1;stroke-dashoffset:1;animation:so-draw var(--dur-4)var(--ease-out)forwards}.so-check-draw :-moz-any(path,circle,polyline){stroke-dasharray:1;stroke-dashoffset:1;animation:so-draw var(--dur-4)var(--ease-out)forwards}.so-check-draw :is(path,circle,polyline){stroke-dasharray:1;stroke-dashoffset:1;animation:so-draw var(--dur-4)var(--ease-out)forwards}.so-check-draw :-webkit-any(path,polyline):last-child{animation-delay:calc(var(--dur-2)*.6)}.so-check-draw :-moz-any(path,polyline):last-child{animation-delay:calc(var(--dur-2)*.6)}.so-check-draw :is(path,polyline):last-child{animation-delay:calc(var(--dur-2)*.6)}@keyframes so-draw{to{stroke-dashoffset:0}}html.so-vt-theme::view-transition-old(*){animation:none}html.so-vt-theme::view-transition-new(*){animation:so-enter var(--dur-3)var(--ease-standard)both}html.so-vt-theme::view-transition-group(*){animation-duration:var(--dur-3)}.so-start__tile{animation:so-enter-up var(--dur-3)var(--ease-out)both;animation-delay:calc(var(--i,0)*28ms)}.so-start__thumb{position:relative}.so-start__tile:active .so-start__thumb{transition-duration:var(--dur-1);transform:translateY(0)scale(.98)}.so-start__busy{position:absolute;display:grid;background:color-mix(in srgb,var(--surface)72%,transparent);animation:so-fade var(--dur-2)var(--ease-standard)both;place-items: center;inset:0}.so-start__tile.is-busy .so-start__thumb{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft)}.so-start__tile[aria-busy=true]{cursor:progress}.so-start__skeleton{animation:so-fade var(--dur-3)var(--ease-standard).12s both}.so-start__skeleton tbody tr{cursor:default}.so-start__skeleton tbody tr:hover{background:0 0}.so-start__skeleton .so-filetable__name{width:100%;height:20px}.so-start__arrive{animation:so-enter var(--dur-3)var(--ease-out)both}.so-start__row--new{animation:so-enter-up var(--dur-3)var(--ease-out)both}.so-search{display:flex;flex:auto;justify-content:center;align-self:stretch;align-items: center;min-width:0}.so-search__float{position:relative;width:100%;max-width:560px}.so-search__toggle{display:none}.so-search.is-compact{justify-content:flex-end}.so-search.is-compact .so-search__toggle{display:inline-flex}.so-search.is-compact .so-search__float{display:none}.so-search.is-compact.is-expanded .so-search__float{display:block;position:absolute;z-index:40;top:calc((var(--appbar-h) - 36px)/2);animation:so-search-open var(--dur-2)var(--ease-out);width:min(560px,100% - 16px);left:50%;transform:translate(-50%)}.so-search.is-compact.is-expanded .so-search__box{box-shadow:var(--shadow-2);background:var(--surface)}@keyframes so-search-open{0%{opacity:0;transform:translate(-50%)scale(.98)}to{opacity:1;transform:translate(-50%)}}.so-search__box{display:flex;background:var(--surface-3);transition:background-color var(--dur-2)var(--ease-standard),border-color var(--dur-2)var(--ease-standard),box-shadow var(--dur-2)var(--ease-standard);border:1px solid #0000;border-radius:9px;align-items: center;gap:8px;height:36px;padding:0 6px 0 11px}.so-search__box:hover{border-color:var(--border-strong)}.so-search__box:focus-within{background:var(--surface);border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus)18%,transparent)}.so-search__icon{color:var(--text-3);flex:none;width:16px;height:16px}.so-search__input{outline:none;color:var(--text);background:0 0;border:none;flex:1;min-width:0;height:100%;font-size:14px}.so-search__input::placeholder{color:var(--text-3)}.so-search__kbd{font-family:var(--so-font);color:var(--text-3);border:1px solid var(--border-strong);white-space:nowrap;border-radius:4px;padding:0 5px;font-size:11px;line-height:18px}.so-search__box:focus-within .so-search__kbd{opacity:0}.so-search__clear{display:grid;color:var(--text-3);cursor:pointer;transition:background-color var(--dur-1)var(--ease-standard),color var(--dur-1)var(--ease-standard);background:0 0;border:none;border-radius:50%;flex:none;place-items: center;width:24px;height:24px}.so-search__clear:hover{background:var(--hover);color:var(--text)}.so-search__clear svg{width:14px;height:14px}.so-search__panel{position:absolute;z-index:1000;max-height:min(560px,calc(100vh - var(--appbar-h) - 24px));overflow:auto;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);animation:so-pop-in var(--dur-2)var(--ease-out);transform-origin:top center;border-radius:12px;min-width:min(420px,100vw - 16px);padding:4px 4px 6px;top:calc(100% + 6px);left:0;right:0}.so-search__head{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 3px;font-size:11.5px;font-weight:600}.so-search__opt{display:flex;cursor:pointer;transition:background-color var(--dur-1)var(--ease-standard);border-radius:7px;align-items: center;gap:10px;min-height:40px;padding:6px 10px}.so-search__opt[aria-selected=true]{background:var(--hover);box-shadow:inset 2px 0 0 var(--app-accent)}.so-search__opt-icon{color:var(--text-3);flex:none;width:16px;height:16px}.so-search__opt-main{display:flex;flex-direction:column;flex:1;min-width:0}.so-search__opt-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.so-search__opt-meta{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.so-search__opt--recent,.so-search__opt--all{min-height:34px}.so-search__opt--all{border-top:1px solid var(--border);border-radius:0 0 7px 7px;margin-top:4px;padding-top:9px}.so-search__opt--all .so-search__opt-title{flex:1;font-weight:400}.so-search__opt--all .so-kbd{flex:none}.so-search__note{color:var(--text-3);padding:10px 12px;font-size:13px}.so-search mark,.so-results mark{color:inherit;background:#facc1561;border-radius:2px;padding:0 1px;font-weight:600}@media (max-width:640px){.so-search.is-compact.is-expanded .so-search__float{animation:so-enter var(--dur-2)var(--ease-out);width:auto;left:8px;right:8px;transform:none}.so-search__panel{position:fixed;top:calc(var(--appbar-h) + 4px);max-height:calc(100vh - var(--appbar-h) - 16px);min-width:0;left:8px;right:8px}.so-search__kbd{display:none}}.so-bell{position:relative}.so-bell__badge{position:absolute;background:var(--danger-solid);color:#fff;text-align:center;box-shadow:0 0 0 2px var(--surface);pointer-events:none;font-variant-numeric:tabular-nums;animation:so-bell-badge var(--dur-3)var(--ease-spring);border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;font-weight:700;line-height:17px;top:2px;right:1px}@keyframes so-bell-badge{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}.so-bell.is-ringing svg{animation:so-bell-ring var(--dur-4)var(--ease-standard);transform-origin:50% 10%}@keyframes so-bell-ring{0%,to{transform:none}25%{transform:rotate(14deg)}55%{transform:rotate(-10deg)}80%{transform:rotate(4deg)}}.so-notices{position:fixed;z-index:1000;display:flex;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);animation:so-pop-in var(--dur-2)var(--ease-out);transform-origin:top right;overflow:hidden;border-radius:12px;flex-direction:column;width:392px}.so-notices__head{display:flex;border-bottom:1px solid var(--border);align-items: center;gap:4px;padding:10px 8px 8px 14px}.so-notices__title{flex:1;margin:0;font-size:15px;font-weight:650}.so-notices__filter{display:inline-flex;background:var(--surface-3);border-radius:7px;margin-right:4px;padding:2px}.so-notices__filter button{color:var(--text-2);font:inherit;cursor:pointer;transition:background-color var(--dur-1)var(--ease-standard),color var(--dur-1)var(--ease-standard);background:0 0;border:none;border-radius:5px;padding:3px 9px;font-size:12.5px}.so-notices__filter button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.so-notices__body{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:2px 6px 8px}.so-notices__day{position:sticky;z-index:1;background:var(--surface);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:9px 8px 4px;font-size:11.5px;font-weight:600;top:0}.so-notices__list{list-style:none;margin:0;padding:0}.so-notices__empty{display:flex;color:var(--text-3);text-align:center;flex-direction:column;align-items: center;gap:8px;padding:36px 20px 40px}.so-notices__empty svg{width:30px;height:30px}.so-notices__empty strong{color:var(--text-2);font-weight:600}.so-notices__foot{display:flex;border-top:1px solid var(--border);color:var(--text-3);justify-content:space-between;align-items: center;gap:8px;padding:8px 12px;font-size:12.5px}.so-notices__foot a{color:var(--text-2)}.so-notice-row{position:relative}.so-notice{display:flex;color:var(--text);text-decoration:none;transition:background-color var(--dur-1)var(--ease-standard);border-radius:9px;align-items: flex-start;gap:11px;padding:9px 34px 9px 10px}.so-notice:hover{background:var(--hover)}.so-notice:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;background:var(--hover)}.so-notice.is-unread{background:color-mix(in srgb,var(--focus)6%,transparent)}.so-notice.is-unread:hover{background:color-mix(in srgb,var(--focus)10%,transparent)}.so-notice__who{position:relative;display:grid;flex:none;place-items: center;width:34px;height:34px}.so-notice__icon{display:grid;background:var(--surface-3);color:var(--text-2);border-radius:50%;place-items: center;width:34px;height:34px}.so-notice__icon svg{width:18px;height:18px}.so-notice__app{flex:none;width:13px;height:13px}.so-notice__main{display:flex;flex-direction:column;flex:1;gap:1px;min-width:0}.so-notice__title{overflow-wrap:anywhere;font-size:13.5px;line-height:1.35}.so-notice.is-unread .so-notice__title{font-weight:600}.so-notice__body{color:var(--text-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;line-height:1.35}.so-notice__meta{display:flex;color:var(--text-3);align-items: center;gap:5px;min-width:0;margin-top:1px;font-size:12px}.so-notice__meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-notice__dot{position:absolute;background:var(--focus);pointer-events:none;transition:opacity var(--dur-1)var(--ease-standard);border-radius:50%;width:8px;height:8px;top:15px;right:13px}.so-notice__read{position:absolute;background:var(--surface);color:var(--text-2);display:grid;cursor:pointer;opacity:0;box-shadow:var(--shadow-1);transition:opacity var(--dur-1)var(--ease-standard),background-color var(--dur-1)var(--ease-standard);border:none;border-radius:6px;place-items: center;width:24px;height:24px;top:8px;right:6px}.so-notice__read svg{width:14px;height:14px}.so-notice-row:hover .so-notice__read,.so-notice-row:focus-within .so-notice__read{opacity:1}.so-notice-row:hover .so-notice__dot,.so-notice-row:focus-within .so-notice__dot{opacity:0}.so-notice__read:hover{background:var(--surface-3);color:var(--text)}.so-notice__read:focus-visible{outline:2px solid var(--focus);outline-offset:1px}@media (hover:none){.so-notice__read{opacity:1;box-shadow:none;background:0 0}.so-notice__dot{display:none}}@media (max-width:640px){.so-notices{transform-origin:top center;width:auto;left:8px!important;right:8px!important;top:calc(var(--appbar-h) + 4px)!important;max-height:calc(100vh - var(--appbar-h) - 16px)!important}.so-notices__filter button{padding:3px 7px}}.so-folderpicker__roots{display:flex;flex-wrap:wrap;gap:4px}.so-folderpicker__root{display:flex;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-2);text-align:left;transition:background-color var(--dur-1)var(--ease-standard),color var(--dur-2)var(--ease-standard);background:0 0;border:none;align-items: center;gap:10px;padding:7px 10px;font-weight:500}.so-folderpicker__root svg{width:17px;height:17px}.so-folderpicker__root:hover{background:var(--hover);color:var(--text)}.so-folderpicker__root[aria-current=page]{background:var(--app-accent-soft);color:var(--app-accent)}.so-folderpicker__crumbs{display:flex;overflow:hidden;align-items: center;gap:2px;min-width:0}.so-folderpicker__crumb{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-2);white-space:nowrap;transition:background-color var(--dur-1)var(--ease-standard),color var(--dur-1)var(--ease-standard);background:0 0;border:none;padding:4px 6px;font-size:15px}.so-folderpicker__crumb:hover{background:var(--hover);color:var(--text)}.so-folderpicker__list{border:1px solid var(--border);border-radius:var(--radius);overflow:auto;min-height:160px;max-height:280px;padding:4px}.so-folderpicker__skel{display:flex;align-items: center;gap:10px;padding:8px 10px}.so-fontpicker{display:inline-flex;flex-direction:column;flex:none;min-width:0}.so-fontpicker--inline{display:flex;gap:4px}.so-fontbox{display:inline-flex;border:1px solid var(--border-strong);background:var(--surface);overflow:hidden;transition:border-color var(--dur-2)var(--ease-standard),box-shadow var(--dur-2)var(--ease-standard);flex:none;align-items:stretch;min-width:0}.so-fontbox--ribbon{height:var(--rb-small-h);border-radius:var(--radius-sm)}.so-fontbox--field{border-radius:var(--radius-sm);height:34px}.so-fontbox:hover:not(.is-disabled),.so-fontbox--ribbon:focus-within{border-color:var(--text-3)}.so-fontbox--field:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus)22%,transparent)}.so-fontbox.is-disabled{opacity:.55}.so-fontbox__input{color:var(--text);outline:none;font:inherit;text-overflow:ellipsis;background:0 0;border:none;flex:1;width:100%;min-width:0}.so-fontbox--ribbon .so-fontbox__input{padding:0 4px;font-size:12.5px}.so-fontbox--field .so-fontbox__input{padding:0 10px}.so-fontbox__arrow{display:grid;cursor:pointer;color:var(--text-2);transition:background-color var(--dur-1)var(--ease-standard);background:0 0;border:none;flex:none;place-items: center;width:18px;padding:0}.so-fontbox--field .so-fontbox__arrow{width:28px}.so-fontbox__arrow svg{width:11px;height:11px}.so-fontbox--field .so-fontbox__arrow svg{width:14px;height:14px}.so-fontbox__arrow:hover:not(:disabled){background:var(--hover)}.so-fontpop{position:fixed;z-index:1000;display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);animation:so-pop-in var(--dur-2)var(--ease-out);transform-origin:top left;user-select:none;flex-direction:column;padding:4px}.so-fontlist{display:flex;overflow-y:auto;overscroll-behavior:contain;flex-direction:column;max-height:min(392px,100vh - 120px)}.so-fontpicker--inline .so-fontlist{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);max-height:none;padding:2px}.so-fontlist__opt{cursor:pointer;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px;flex:none;height:28px;padding:0 10px;font-size:16px;line-height:28px}.so-fontlist__opt.is-default{font-family:var(--so-font);border-bottom:1px solid var(--border);border-radius:4px 4px 0 0;margin-bottom:2px;font-size:13px}.so-fontlist__opt.is-active{background:var(--hover)}.so-fontlist__opt.is-current{background:var(--app-accent-soft);color:var(--app-accent)}.so-fontlist__empty{color:var(--text-2);white-space:normal;max-width:260px;padding:8px 10px;font-size:12.5px}.so-rb{--rb-body-h:68px;--rb-small-h:22px;position:relative;z-index:20;background:var(--surface);border-bottom:1px solid var(--border);user-select:none;flex:none}:where(.so-rb,.so-rb-pop) svg{flex:none;width:16px;height:16px}.so-rb__tabs{position:relative;display:flex;overflow-x:auto;scrollbar-width:none;align-items:stretch;gap:2px;height:34px;padding:0 10px}.so-rb__tabs::-webkit-scrollbar{display:none}.so-rb__tab{position:relative;cursor:pointer;white-space:nowrap;color:var(--text-2);border-radius:var(--radius-sm)var(--radius-sm)0 0;transition:background-color var(--dur-2)var(--ease-standard),color var(--dur-2)var(--ease-standard);background:0 0;border:none;padding:0 11px;font-size:13px}.so-rb__tab:hover{background:var(--hover);color:var(--text)}.so-rb__tab[aria-selected=true]{color:var(--app-accent);font-weight:600}.so-rb__ink{position:absolute;background:var(--app-accent);pointer-events:none;transition:transform var(--dur-3)var(--ease-out),width var(--dur-3)var(--ease-out),opacity var(--dur-2);border-radius:3px 3px 0 0;height:3px;bottom:0;left:0}.so-rb--collapsed:not(.so-rb--peek) .so-rb__ink{opacity:.35}.so-rb__tab--file{color:var(--app-accent-text);background:var(--app-accent);border-radius:var(--radius-sm);margin:4px 6px 4px 0;font-weight:600;box-shadow:inset 0 1px #ffffff24}.so-rb__tab--file:hover{background:color-mix(in srgb,var(--app-accent)86%,black);color:var(--app-accent-text)}.so-rb__tab--ctx{color:var(--app-accent);animation:so-enter-up var(--dur-3)var(--ease-out)}.so-rb__tab--ctx:before{content:"";position:absolute;background:var(--app-accent);opacity:.6;border-radius:2px;height:2px;top:3px;left:4px;right:4px}.so-rb__tabs-end{display:flex;align-items: center;gap:4px;margin-left:auto}.so-rb__panel{position:relative;display:flex;min-height:calc(var(--rb-body-h) + 26px);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;align-items:stretch;gap:0;margin:0 8px 6px;padding:4px 28px 0 4px}.so-rb--peek .so-rb__panel{position:absolute;box-shadow:var(--shadow-2);background:var(--surface);top:34px;left:0;right:0}.so-rb__pin{position:absolute;border-radius:var(--radius-sm);color:var(--text-3);display:grid;cursor:pointer;background:0 0;border:none;place-items: center;width:24px;height:22px;bottom:4px;right:4px}.so-rb__pin:hover{background:var(--hover);color:var(--text)}.so-rb__expand{position:absolute;border-radius:var(--radius-sm);color:var(--text-3);display:none;cursor:pointer;background:0 0;border:none;place-items: center;width:26px;height:22px;top:6px;right:10px}.so-rb__expand:hover{background:var(--hover);color:var(--text)}.so-rg{display:flex;position:relative;flex-direction:column;flex:none;padding:0 6px}.so-rb__panel>.so-rg>*{animation:so-rb-in var(--dur-3)var(--ease-out)both}.so-rb__panel>.so-rg:nth-child(2)>*{animation-delay:15ms}.so-rb__panel>.so-rg:nth-child(3)>*{animation-delay:30ms}.so-rb__panel>.so-rg:nth-child(4)>*{animation-delay:45ms}.so-rb__panel>.so-rg:nth-child(5)>*{animation-delay:60ms}.so-rb__panel>.so-rg:nth-child(n+6)>*{animation-delay:75ms}@keyframes so-rb-in{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:none}}.so-rg+.so-rg:before{content:"";position:absolute;background:var(--border);width:1px;top:6px;bottom:8px;left:0}.so-rg__body{display:flex;height:var(--rb-body-h);align-items: flex-start;gap:2px;padding-top:1px}.so-rg__label{position:relative;display:flex;color:var(--text-3);white-space:nowrap;justify-content:center;align-items: center;height:22px;padding:0 16px;font-size:11.5px}.so-rg__launcher{position:absolute;color:var(--text-3);display:grid;cursor:pointer;background:0 0;border:none;border-radius:3px;place-items: center;width:16px;height:16px;padding:0;top:3px;right:-2px}.so-rg__launcher svg{width:12px;height:12px}.so-rg__launcher:hover{background:var(--hover);color:var(--text)}.so-rb-stack{display:flex;flex-direction:column;justify-content:flex-start;gap:1px;height:100%}.so-rb-row{display:flex;height:var(--rb-small-h);align-items: center;gap:2px}.so-rb-stack>.so-rb-row+.so-rb-row{margin-top:1px}.so-rb-sep{background:var(--border);align-self:stretch;width:1px;margin:4px 3px}.so-rb-row>.so-rb-sep{align-self: center;height:16px;margin:0 3px}.so-rbb{position:relative;display:inline-flex;border-radius:var(--radius-sm);flex:none;align-items:stretch}.so-rbb button{color:var(--text);cursor:pointer;display:inline-flex;transition:background-color var(--dur-1)var(--ease-standard),border-color var(--dur-1)var(--ease-standard),color var(--dur-1)var(--ease-standard);background:0 0;border:1px solid #0000;justify-content:center;align-items: center;padding:0}.so-rbb--large .so-rbb__icon{transition:transform var(--dur-2)var(--ease-out)}.so-rbb--large>button:not(:disabled):active .so-rbb__icon{transform:scale(.92)}.so-rbb button:disabled{color:var(--text-3);opacity:.55;cursor:default;pointer-events:none}.so-rbb button:not(:disabled):hover{background:var(--hover)}.so-rbb button:not(:disabled):active,.so-rbb.is-open>button{background:var(--active)}.so-rbb.is-active>.so-rbb__main{background:var(--app-accent-soft);border-color:color-mix(in srgb,var(--app-accent)35%,transparent);color:var(--app-accent)}.so-rbb__icon{display:inline-flex;justify-content:center;align-items: center}.so-rbb__label{white-space:nowrap}.so-rbb__caret{opacity:.7;width:12px!important;height:12px!important}.so-rbb--small>button,.so-rbb--icon>button{height:var(--rb-small-h)}.so-rbb--small .so-rbb__main{border-radius:var(--radius-sm);gap:5px;padding:0 5px;font-size:12.5px}.so-rbb--icon .so-rbb__main{border-radius:var(--radius-sm);gap:1px;min-width:24px;padding:0 3px}.so-rbb--split .so-rbb__main{border-top-right-radius:0;border-bottom-right-radius:0}.so-rbb__arrow{border-radius:0 var(--radius-sm)var(--radius-sm)0;width:14px}.so-rbb__arrow svg{width:11px;height:11px}.so-rbb--split:hover .so-rbb__main:not(:disabled){border-right-color:var(--border)}.so-rbb--large{height:var(--rb-body-h);flex-direction:column}.so-rbb--large .so-rbb__main{border-radius:var(--radius-sm);flex-direction:column;justify-content:flex-start;gap:3px;min-width:46px;max-width:84px;height:100%;padding:4px 6px 2px;font-size:12px;line-height:1.2}.so-rbb--large .so-rbb__icon svg{stroke-width:1.6;width:26px;height:26px}.so-rbb--large .so-rbb__label{white-space:normal;text-align:center}.so-rbb--large .so-rbb__caret{display:block;margin:-1px auto 0}.so-rbb--large.so-rbb--wrap .so-rbb__caret{display:inline-block;vertical-align:-1px;margin:0 0 0 1px}.so-rbb--large.so-rbb--split .so-rbb__main{border-radius:var(--radius-sm)var(--radius-sm)0 0;height:44px;padding-bottom:0}.so-rbb--large.so-rbb--split .so-rbb__main .so-rbb__label{display:none}.so-rbb--large .so-rbb__arrow{border-radius:0 0 var(--radius-sm)var(--radius-sm);flex-direction:column;flex:1;gap:0;width:auto;font-size:12px}.so-rbb--large.so-rbb--split:hover .so-rbb__main:not(:disabled){border-right-color:#0000;border-bottom-color:var(--border)}.so-rb-select{height:var(--rb-small-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 4px;font-size:12.5px}.so-rb-select:hover:not(:disabled){border-color:var(--text-3)}.so-rb-combo{display:inline-flex;height:var(--rb-small-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;flex:none;align-items:stretch}.so-rb-combo:hover:not(.is-disabled),.so-rb-combo:focus-within{border-color:var(--text-3)}.so-rb-combo.is-disabled{opacity:.55}.so-rb-combo__input{outline:none;background:0 0;border:none;flex:1;width:100%;min-width:0;padding:0 4px;font-size:12.5px}.so-rb-combo__arrow{display:grid;cursor:pointer;color:var(--text-2);background:0 0;border:none;flex:none;place-items: center;width:16px;padding:0}.so-rb-combo__arrow svg{width:11px!important;height:11px!important}.so-rb-combo__arrow:hover:not(:disabled){background:var(--hover)}.so-rb-combo__list{display:flex;overflow-y:auto;flex-direction:column;min-width:64px;max-height:320px}.so-rb-combo__option{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:12.5px}.so-rb-combo__option:hover{background:var(--hover)}.so-rb-combo__option.is-current{background:var(--app-accent-soft);color:var(--app-accent)}.so-rb-num{display:inline-flex;height:var(--rb-small-h);color:var(--text);align-items: center;gap:5px;padding:0 2px;font-size:12.5px}.so-rb-num__icon{display:inline-flex;color:var(--text-2)}.so-rb-num__label{min-width:42px}.so-rb-num__field{display:inline-flex;height:var(--rb-small-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;align-items: center;padding:0 4px 0 0}.so-rb-num__field:focus-within{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus)22%,transparent)}.so-rb-num__field input{outline:none;color:var(--text);font:inherit;text-align:right;background:0 0;border:none;flex:1;width:100%;min-width:0;height:100%;padding:0 4px;font-size:12.5px}.so-rb-num__field input:disabled{color:var(--text-3)}.so-rb-num__unit{color:var(--text-3);font-size:11px}.so-rg:-webkit-any([data-mode="1"],[data-mode="2"]) .so-rb-num__label{min-width:0}.so-rg:-moz-any([data-mode="1"],[data-mode="2"]) .so-rb-num__label{min-width:0}.so-rg:is([data-mode="1"],[data-mode="2"]) .so-rb-num__label{min-width:0}.so-rb-num.is-disabled{color:var(--text-3)}.so-rb-check{display:inline-flex;height:var(--rb-small-h);white-space:nowrap;cursor:pointer;color:var(--text);align-items: center;gap:6px;padding:0 4px;font-size:12.5px}.so-rb-check input{accent-color:var(--app-accent);margin:0}.so-rb-check.is-disabled{opacity:.55;cursor:default}.so-rb-color{display:inline-flex;flex-direction:column;align-items: center;gap:1px}.so-rb-color svg{width:14px;height:14px}.so-rb-color__bar{box-sizing:border-box;border:1px solid #0000;border-radius:1px;width:16px;height:4px}.so-rb-palette{width:248px;padding:4px}.so-rb-palette__label{color:var(--text-3);margin:8px 2px 4px;font-size:11.5px}.so-rb-palette__grid{display:grid;grid-template-columns:repeat(10,20px);gap:3px;padding:0 2px}.so-rb-palette__grid--shades{row-gap:0;margin-top:6px}.so-rb-palette__swatch{cursor:pointer;transition:transform var(--dur-1)var(--ease-out);border:1px solid #00000026;border-radius:3px;width:20px;height:20px;padding:0}.so-rb-palette__swatch:hover{transform:scale(1.12)}.so-rb-palette__grid--shades .so-rb-palette__swatch{border-radius:0;height:15px}.so-rb-palette__swatch.is-current{outline:2px solid var(--text);outline-offset:1px;position:relative;z-index:1}.so-rb-palette__swatch:hover{outline:2px solid var(--app-accent);outline-offset:1px;position:relative;z-index:1}.so-rb-palette__swatch:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px;position:relative;z-index:1}.so-rb-palette__swatch--none{display:inline-block;vertical-align:middle;background:linear-gradient(to top right,transparent calc(50% - 1px),var(--danger)50%,transparent calc(50% + 1px)),var(--surface);width:16px;height:16px}.so-rb-palette__auto,.so-rb-palette__more{display:flex;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;align-items: center;gap:8px;width:100%;padding:6px 8px;font-size:13px}.so-rb-palette__more{position:relative;margin-top:6px}.so-rb-palette__more input{position:absolute;opacity:0;cursor:pointer;width:100%;inset:0}.so-rb-palette__auto:hover,.so-rb-palette__more:hover{background:var(--hover)}.so-rb-pop{position:fixed;z-index:1000;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);animation:so-pop-in var(--dur-2)var(--ease-out);user-select:none;transform-origin:top left;max-height:calc(100vh - 16px);padding:6px}.so-rb-gallery{display:flex;height:calc(var(--rb-body-h) - 4px);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;align-items:stretch;margin-top:1px}.so-rb-gallery__row{display:flex;gap:2px;padding:2px}.so-rb-gallery__tile{display:flex;cursor:pointer;color:var(--text);overflow:hidden;transition:background-color var(--dur-1)var(--ease-standard),border-color var(--dur-2)var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;flex:none;align-items:stretch;gap:2px;padding:3px}.so-rb-gallery__tile:hover{background:var(--hover)}.so-rb-gallery__tile.is-active{border-color:var(--app-accent);background:var(--app-accent-soft)}.so-rb-gallery__preview{display:flex;overflow:hidden;flex:1;justify-content:center;align-items: center;min-height:0}.so-rb-gallery__name{color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:11px}.so-rb-gallery__more{border:none;border-left:1px solid var(--border);cursor:pointer;color:var(--text-2);display:grid;background:0 0;place-items: center;width:18px;padding:0}.so-rb-gallery__more:hover:not(:disabled){background:var(--hover)}.so-rb-gallery.is-disabled{opacity:.55}.so-rb-gallery button:disabled{cursor:default}.so-rb-gallery__tile:disabled:hover{background:0 0}.so-rb-gallery__all{display:grid;grid-template-columns:repeat(4,auto);gap:4px}.so-rb-gallery__all .so-rb-gallery__tile{height:62px}.so-rg:-webkit-any([data-mode="1"],[data-mode="2"]) .so-rg__body{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,var(--rb-small-h));justify-content:start;align-items: center;gap:1px 2px}.so-rg:-moz-any([data-mode="1"],[data-mode="2"]) .so-rg__body{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,var(--rb-small-h));justify-content:start;align-items: center;gap:1px 2px}.so-rg:is([data-mode="1"],[data-mode="2"]) .so-rg__body{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,var(--rb-small-h));justify-content:start;align-items: center;gap:1px 2px}.so-rg:-webkit-any([data-mode="1"],[data-mode="2"]) .so-rg__body>:-webkit-any(.so-rb-stack,.so-rb-gallery,.so-rb-sep,.so-rbb--large){grid-row:1/-1;align-self:stretch}.so-rg:-moz-any([data-mode="1"],[data-mode="2"]) .so-rg__body>:-moz-any(.so-rb-stack,.so-rb-gallery,.so-rb-sep,.so-rbb--large){grid-row:1/-1;align-self:stretch}.so-rg:is([data-mode="1"],[data-mode="2"]) .so-rg__body>:is(.so-rb-stack,.so-rb-gallery,.so-rb-sep,.so-rbb--large){grid-row:1/-1;align-self:stretch}.so-rg[data-mode="2"] .so-rg__label{padding:0 10px}.so-rg[data-mode="2"] .so-rb-select{max-width:132px}.so-rg--folded .so-rg__body{display:flex!important}.so-rg--folded .so-rbb--large .so-rbb__main{max-width:78px}.so-rg--popped{padding:2px 2px 0}.so-rg--popped .so-rg__label{border-top:1px solid var(--border);margin-top:4px}.so-rb--collapsed .so-rb__expand{display:grid}.so-rb--collapsed .so-rb__tabs{padding-right:44px}.so-rb--collapsed:not(.so-rb--peek){padding-bottom:2px}.so-screentip{position:fixed;z-index:1100;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);animation:so-pop-in var(--dur-2)var(--ease-out);max-width:280px;padding:7px 10px;font-size:12.5px;line-height:1.4}.so-screentip__title{font-weight:600}.so-screentip__keys{color:var(--text-2);margin-left:5px;font-weight:400}.so-screentip__text{color:var(--text-2);margin-top:3px}.so-bs{position:fixed;z-index:900;display:flex;background:var(--surface);animation:so-bs-in var(--dur-3)var(--ease-out);inset:0}@keyframes so-bs-in{0%{opacity:0;transform:translate(-16px)}}.so-bs__nav .so-bs__item{animation:so-bs-item var(--dur-3)var(--ease-out)both}.so-bs__nav .so-bs__item:first-of-type{animation-delay:20ms}@keyframes so-bs-item{0%{opacity:0;transform:translate(-8px)}}.so-bs__title,.so-bs__content{animation:so-enter-up var(--dur-3)var(--ease-out)both}.so-bs__content{animation-delay:30ms}.so-bs__nav{display:flex;background:var(--app-accent);color:var(--app-accent-text);overflow-y:auto;flex-direction:column;flex:none;gap:2px;width:230px;padding:12px 10px}.so-bs__back{color:inherit;cursor:pointer;display:grid;background:0 0;border:none;border-radius:50%;place-items: center;width:36px;height:36px;margin:0 0 10px 2px}.so-bs__back svg{width:20px;height:20px}.so-bs__back:hover{background:color-mix(in srgb,var(--app-accent-text)14%,transparent)}.so-bs__item{display:flex;border-radius:var(--radius-sm);color:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-2)var(--ease-standard);background:0 0;border:none;align-items: center;gap:12px;width:100%;padding:9px 14px;font-size:14px}.so-bs__item svg{flex:none;width:18px;height:18px}.so-bs__item:hover{background:color-mix(in srgb,var(--app-accent-text)12%,transparent)}.so-bs__item.is-active{background:color-mix(in srgb,var(--app-accent-text)22%,transparent);font-weight:600}.so-bs__sep{background:color-mix(in srgb,var(--app-accent-text)25%,transparent);height:1px;margin:8px 6px}.so-bs__page{overflow-y:auto;flex:1;min-width:0;padding:28px 44px 40px}.so-bs__title{margin:0 0 22px;font-size:26px;font-weight:600}@media (max-width:720px){.so-bs{flex-direction:column}.so-bs__nav{flex-flow:wrap;width:auto;padding:8px}.so-bs__back{margin:0 4px 0 0}.so-bs__item{width:auto;padding:7px 10px}.so-bs__sep{display:none}.so-bs__page{padding:18px 16px 32px}.so-rb__panel{margin:0 4px 4px}}.so-save{display:inline-flex;align-items: center;min-width:0}.so-save__text{display:inline-flex;animation:so-save-in var(--dur-3)var(--ease-out)both;align-items: center;gap:5px}.so-save__icon{flex:none;width:13px;height:13px}.so-save[data-state=saved] .so-save__icon{color:var(--success);animation:so-save-check var(--dur-4)var(--ease-spring)both}.so-save[data-state=offline] .so-save__icon{color:var(--warning)}.so-save__dot{background:var(--app-accent);opacity:.75;border-radius:50%;flex:none;width:6px;height:6px;margin:0 3px}@keyframes so-save-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes so-save-check{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.so-coauthors{position:relative}.so-coauthors:empty{display:none}.so-coauthors>.so-avatar{transition:box-shadow var(--dur-2)var(--ease-standard)}.so-pane-in-left{animation:so-pane-in-left var(--dur-3)var(--ease-out)both}.so-pane-in-right{animation:so-pane-in-right var(--dur-3)var(--ease-out)both}@keyframes so-pane-in-left{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes so-pane-in-right{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.so-leaving.so-leaving--pane-left{animation:so-pane-out-left var(--dur-2)var(--ease-in)forwards!important}.so-leaving.so-leaving--pane-right{animation:so-pane-out-right var(--dur-2)var(--ease-in)forwards!important}@keyframes so-pane-out-left{to{opacity:0;transform:translate(-14px)}}@keyframes so-pane-out-right{to{opacity:0;transform:translate(14px)}}.so-drop-in{animation:so-drop-in var(--dur-2)var(--ease-out)both}@keyframes so-drop-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.so-leaving.so-leaving--drop{animation:so-drop-out var(--dur-1)var(--ease-in)forwards!important}@keyframes so-drop-out{to{opacity:0;transform:translateY(-6px)}}.so-editor-skel{display:flex;animation:so-fade var(--dur-3)var(--ease-standard).15s both;flex-direction:column;flex:1;min-height:0}.so-rb-skel{pointer-events:none}.so-rb-skel__file{border-radius:var(--radius-sm);background:color-mix(in srgb,var(--app-accent)70%,var(--surface));width:44px;margin:4px 6px 4px 0}.so-rb-skel__tab{display:flex;align-items: center;padding:0 11px}.so-rb-skel__panel{min-height:calc(var(--rb-body-h) + 28px);align-items: flex-start;gap:0;padding-top:10px}.so-rb-skel__group{display:flex;border-right:1px solid var(--border);gap:14px;height:74px;padding:0 16px}.so-rb-skel__group:last-child{border-right:none}.so-rb-skel__cmd{display:flex;flex-direction:column;align-items: center;gap:8px}.so-skel-lines{display:flex;flex-direction:column;gap:11px}.so-skel-lines>.so-skeleton{height:9px}.so-skel-lines__gap{height:10px}.so-arrive{animation:so-enter var(--dur-3)var(--ease-out)both}.so-versions{display:flex;flex-direction:column;gap:1px}.so-versions__day{letter-spacing:.01em;color:var(--text-3);margin:12px 10px 3px;font-size:11.5px;font-weight:600}.so-versions__day:first-child{margin-top:4px}.so-versions__empty{color:var(--text-3);margin:10px;font-size:12.5px;line-height:1.45}.so-version{position:relative;display:flex;border-radius:var(--radius-sm);transition:background-color var(--dur-1)var(--ease-standard);align-items: center;min-width:0}.so-version:hover{background:var(--hover)}.so-version.is-selected{background:var(--app-accent-soft)}.so-version--loading{flex-direction:column;align-items: flex-start;gap:6px;padding:9px 10px}.so-version__open{display:flex;border-radius:inherit;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:4px;min-width:0;padding:7px 10px}.so-version__title{display:flex;align-items: center;gap:6px;min-width:0;font-size:13px;font-weight:600}.so-version__label{overflow-wrap:anywhere}.so-version__title>svg{color:var(--app-accent);flex:none;width:13px;height:13px}.so-version__title .so-spinner{width:13px;height:13px}.so-version__meta{display:flex;color:var(--text-3);align-items: center;gap:6px;min-width:0;font-size:12px}.so-version__time{white-space:nowrap;flex:none}.so-version__time:after{content:"·";margin-left:6px}.so-version__avatars{display:inline-flex;flex:none;gap:2px}.so-version__people{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.so-version__name{opacity:0;transition:opacity var(--dur-1)var(--ease-standard);flex:none;margin-right:4px}.so-version:hover>.so-version__name,.so-version:focus-within>.so-version__name,.so-version.is-selected>.so-version__name{opacity:1}@media (hover:none){.so-version__name{opacity:1}}.so-office-bar{flex-wrap:wrap;row-gap:6px}.so-office-bar>svg{color:var(--text-2);flex:none;width:16px;height:16px}.so-banner--warning.so-office-bar>svg{color:var(--warning)}.so-office-bar__text{flex:320px;min-width:0;line-height:1.45}.so-office-bar__text strong{color:var(--text);font-weight:600}.so-office-bar .so-btn{flex:none}.so-office-report{display:flex;flex-direction:column;gap:14px;max-width:560px;font-size:13px;line-height:1.5}.so-office-report__group h3{margin:0 0 4px;font-size:13px;font-weight:600}.so-office-report__group ul{display:flex;flex-direction:column;gap:3px;margin:0;padding-left:18px}.so-office-report__group p{margin:0}.so-office-report__where{color:var(--text-3)}.so-office-report__foot{color:var(--text-3);margin:0;font-size:12px}.so-upload-version{align-items: center}.so-upload-version .so-version__open{cursor:default}.so-upload-version.is-current{background:var(--app-accent-soft)}.so-upload-version__current{color:var(--app-accent);background:var(--surface);border:1px solid color-mix(in srgb,var(--app-accent)35%,transparent);border-radius:999px;flex:none;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.so-upload-version__act{color:var(--text-2);flex:none;margin-right:2px}.so-upload-versions-dialog{overflow:auto;min-width:min(460px,80vw);max-height:60vh}.so-office-copying{display:flex;color:var(--text-2);flex:1;justify-content:center;align-items: center;gap:10px;padding:48px 16px;font-size:14px}
