:root{--accent-h:28;--accent-c:0.14;--accent:oklch(0.57 var(--accent-c) var(--accent-h));--accent-strong:oklch(0.49 var(--accent-c) var(--accent-h));--accent-soft:oklch(0.95 0.04 var(--accent-h));--accent-soft-border:oklch(0.88 0.06 var(--accent-h));--on-accent:oklch(0.99 0.01 var(--accent-h));--accent-ink:var(--on-accent);--on-inverse:oklch(0.99 0.01 70);--hue-solid-ink:oklch(0.22 0.018 60);--r-xs:7px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--focus-ring:oklch(0.5 0.16 var(--accent-h));--status-success:oklch(0.43 0.12 var(--hue-green));--status-success-soft:oklch(0.95 0.04 var(--hue-green));--status-success-border:oklch(0.86 0.06 var(--hue-green));--status-danger:oklch(0.55 0.18 25);--status-danger-soft:oklch(0.95 0.04 25);--status-danger-border:oklch(0.88 0.06 25);--status-danger-ring:oklch(0.6 0.18 25/0.12);--status-warning:oklch(0.5 0.16 35);--status-warning-soft:oklch(0.95 0.05 35);--status-warning-border:oklch(0.88 0.07 35);--status-pending-soft:oklch(0.93 0.06 75);--status-pending-ink:oklch(0.46 0.11 70);--status-accepted-soft:oklch(0.92 0.06 150);--status-accepted-ink:oklch(0.45 0.12 150);--syntax-key:oklch(0.55 0.16 250);--syntax-string:oklch(0.5 0.13 150);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:120ms;--dur-short:220ms;--dur-long:420ms;--z-editor-toolbar:12;--z-editor-backdrop:69;--z-editor-overlay:70;--z-editor-menu:80;--z-editor-selection:85;--doc-outline-width:250px;--doc-measure:68ch;--editor-scrim:hsl(var(--shadow-color)/0.42);--scrim:hsl(var(--shadow-color)/0.45);--hue-soft-bg:oklch(var(--tint) 0.045 var(--h));--hue-soft-ink:oklch(0.5 0.13 var(--h));--hue-soft-border:oklch(var(--tint-border) 0.06 var(--h));--hue-solid:oklch(0.62 0.15 var(--h));--hue-selected-border:oklch(0.6 0.15 var(--h));--hue-gradient-start:oklch(0.68 0.14 var(--h));--hue-gradient-end:oklch(0.58 0.15 var(--h));--danger-subtle-bg:oklch(var(--tint) 0.04 25);--danger-subtle-border:oklch(var(--tint-border) 0.07 25);--danger-subtle-ink:oklch(0.5 0.16 25);--editor-bubble-bg:oklch(0.24 0.014 60);--editor-bubble-ink:oklch(0.86 0.01 70);--editor-bubble-hover:oklch(1 0 0/0.14);--editor-bubble-line:oklch(1 0 0/0.18);--editor-bubble-input:oklch(1 0 0/0.12);--editor-bubble-placeholder:oklch(1 0 0/0.5);--auth-card-bg:oklch(1 0 0/0.14);--auth-card-border:oklch(1 0 0/0.22);--auth-progress-track:oklch(1 0 0/0.25);--mermaid-primary:oklch(0.93 0.05 28);--mermaid-primary-ink:oklch(0.27 0.018 60);--mermaid-primary-border:oklch(0.78 0.09 28);--mermaid-line:oklch(0.68 0.04 60);--callout-tip-bg:oklch(var(--tint) 0.045 var(--hue-green));--callout-tip-border:oklch(var(--tint-border) 0.06 var(--hue-green));--callout-tip-ink:oklch(0.55 0.13 var(--hue-green));--callout-note-bg:oklch(var(--tint) 0.045 var(--hue-blue));--callout-note-border:oklch(var(--tint-border) 0.06 var(--hue-blue));--callout-note-ink:oklch(0.55 0.13 var(--hue-blue));--callout-warning-bg:oklch(var(--tint) 0.05 var(--hue-amber));--callout-warning-border:oklch(var(--tint-border) 0.07 var(--hue-amber));--callout-warning-ink:oklch(0.52 0.13 var(--hue-amber));--hue-coral:28;--hue-amber:75;--hue-green:150;--hue-teal:195;--hue-blue:250;--hue-violet:295;--hue-pink:350}[data-theme=light]{--bg:oklch(0.975 0.006 70);--bg-rail:oklch(0.955 0.008 70);--surface:oklch(1 0 0);--surface-2:oklch(0.985 0.005 70);--surface-hover:oklch(0.965 0.008 70);--column-bg:oklch(0.96 0.007 70);--border:oklch(0.91 0.008 70);--border-strong:oklch(0.85 0.01 70);--text:oklch(0.27 0.018 60);--text-2:oklch(0.48 0.015 65);--text-3:oklch(0.54 0.012 65);--shadow-color:30 25% 50%;--shadow-sm:0 1px 2px hsl(var(--shadow-color)/0.10),0 1px 3px hsl(var(--shadow-color)/0.06);--shadow-md:0 4px 10px hsl(var(--shadow-color)/0.10),0 2px 4px hsl(var(--shadow-color)/0.06);--shadow-lg:0 14px 34px hsl(var(--shadow-color)/0.16),0 4px 10px hsl(var(--shadow-color)/0.08);--tint:0.96;--tint-border:0.88}[data-theme=dark]{--bg:oklch(0.205 0.012 60);--bg-rail:oklch(0.235 0.012 60);--surface:oklch(0.255 0.013 60);--surface-2:oklch(0.235 0.012 60);--surface-hover:oklch(0.295 0.014 60);--column-bg:oklch(0.235 0.012 60);--border:oklch(0.32 0.013 60);--border-strong:oklch(0.4 0.015 60);--text:oklch(0.95 0.006 70);--text-2:oklch(0.74 0.012 70);--text-3:oklch(0.72 0.012 70);--shadow-color:30 30% 4%;--shadow-sm:0 1px 2px hsl(var(--shadow-color)/0.4),0 1px 3px hsl(var(--shadow-color)/0.3);--shadow-md:0 4px 12px hsl(var(--shadow-color)/0.45),0 2px 4px hsl(var(--shadow-color)/0.3);--shadow-lg:0 16px 40px hsl(var(--shadow-color)/0.55),0 4px 10px hsl(var(--shadow-color)/0.4);--accent:oklch(0.62 var(--accent-c) var(--accent-h));--accent-strong:oklch(0.58 var(--accent-c) var(--accent-h));--accent-soft:oklch(0.32 0.05 var(--accent-h));--accent-soft-border:oklch(0.42 0.07 var(--accent-h));--on-accent:oklch(0.05 0.01 60);--accent-ink:var(--on-accent);--tint:0.34;--tint-border:0.45;--focus-ring:oklch(0.75 0.14 var(--accent-h));--status-success:oklch(0.8 0.1 var(--hue-green));--status-success-soft:oklch(0.32 0.05 var(--hue-green));--status-success-border:oklch(0.42 0.07 var(--hue-green));--status-danger:oklch(0.82 0.12 25);--status-danger-soft:oklch(0.32 0.06 25);--status-danger-border:oklch(0.42 0.08 25);--status-danger-ring:oklch(0.82 0.12 25/0.16);--status-warning:oklch(0.82 0.12 35);--status-warning-soft:oklch(0.34 0.06 35);--status-warning-border:oklch(0.45 0.08 35);--status-pending-soft:oklch(0.4 0.07 75);--status-pending-ink:oklch(0.86 0.09 80);--status-accepted-soft:oklch(0.38 0.07 150);--status-accepted-ink:oklch(0.85 0.1 150);--syntax-key:oklch(0.78 0.12 250);--syntax-string:oklch(0.8 0.11 150);--hue-soft-ink:oklch(0.82 0.09 var(--h));--danger-subtle-ink:oklch(0.82 0.11 25);--editor-bubble-bg:oklch(0.34 0.012 60);--mermaid-primary:oklch(0.3 0.04 28);--mermaid-primary-ink:oklch(0.95 0.006 70);--mermaid-primary-border:oklch(0.5 0.1 28);--mermaid-line:oklch(0.64 0.04 60);--callout-tip-ink:oklch(0.8 0.11 var(--hue-green));--callout-note-ink:oklch(0.8 0.11 var(--hue-blue));--callout-warning-ink:oklch(0.83 0.11 var(--hue-amber))}*{box-sizing:border-box}body,html{margin:0;height:100%;overflow-x:clip}body{font-family:var(--font-sans),"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.5}a{color:inherit}button{cursor:pointer}button,input,select,textarea{font-family:inherit}::selection{background:var(--accent-soft);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:padding-box}.app{display:grid;grid-template-columns:260px 1fr;height:100%;overflow:hidden;transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1)}html[data-sidebar=collapsed] .app{grid-template-columns:72px 1fr}.mobile-nav-close,.mobile-nav-scrim,.mobile-nav-toggle{display:none}.sidebar{background:var(--bg-rail);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-4) var(--sp-4);min-height:64px}.logo-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(140deg,var(--accent),var(--accent-strong));display:grid;place-items:center;color:var(--on-accent);font-weight:800;font-size:18px;flex:none;box-shadow:var(--shadow-sm);letter-spacing:-.02em}.logo-word{font-weight:800;font-size:19px;letter-spacing:-.03em;color:var(--text);white-space:nowrap}html[data-sidebar=collapsed] .hide-collapsed,html[data-sidebar=collapsed] .logo-word{display:none}.side-search{margin:0 var(--sp-3) var(--sp-3);display:flex;align-items:center;gap:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;color:var(--text-3)}.side-search-expand{display:none}.side-search input{border:none;background:transparent;outline:none;color:var(--text);width:100%;font-size:13px}html[data-sidebar=collapsed] .side-search{justify-content:center;padding:0}html[data-sidebar=collapsed] .side-search-icon{display:none}html[data-sidebar=collapsed] .side-search-expand{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3)}html[data-sidebar=collapsed] .side-search input{display:none}.side-section{padding:var(--sp-2) var(--sp-5) var(--sp-1);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;justify-content:space-between}html[data-sidebar=collapsed] .side-section{justify-content:center;padding-left:0;padding-right:0}html[data-sidebar=collapsed] .side-section span{display:none}.side-nav{padding:var(--sp-2) var(--sp-3);display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:9px 11px;border-radius:var(--r-sm);color:var(--text-2);font-weight:600;font-size:13.5px;border:none;background:transparent;text-align:left;width:100%;text-decoration:none;transition:background .14s,color .14s}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.nav-item .dot{width:9px;height:9px;border-radius:3px;flex:none}.nav-item .swatch{width:22px;height:22px;border-radius:7px;flex:none;display:grid;place-items:center;color:var(--hue-solid-ink);font-size:11px;font-weight:800}.nav-item .count{margin-left:auto;font-size:11px;color:var(--text-3);font-weight:700}.nav-item .nav-badge{margin-left:auto;font-size:11px;font-weight:750;line-height:1.5;background:var(--accent);color:var(--on-accent);border-radius:var(--r-pill);padding:1px 7px}html[data-sidebar=collapsed] .nav-item{justify-content:center;padding:9px}html[data-sidebar=collapsed] .nav-item .count,html[data-sidebar=collapsed] .nav-item .label,html[data-sidebar=collapsed] .nav-item .nav-badge{display:none}.side-foot{margin-top:auto;border-top:1px solid var(--border);padding:var(--sp-3)}.profile-chip{display:flex;align-items:center;gap:var(--sp-3);padding:7px;border-radius:var(--r-md);width:100%;border:none;background:transparent;transition:background .14s}.profile-chip:hover{background:var(--surface-hover)}.profile-meta{min-width:0;text-align:left}.profile-meta .name{font-weight:700;font-size:13px;color:var(--text)}.profile-meta .name,.profile-meta .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-meta .sub{font-size:11px;color:var(--text-3)}html[data-sidebar=collapsed] .profile-chip .chev,html[data-sidebar=collapsed] .profile-meta{display:none}html[data-sidebar=collapsed] .profile-chip{justify-content:center}.expand-btn{display:none;width:100%;margin-bottom:6px}.main,html[data-sidebar=collapsed] .expand-btn{display:flex}.main{flex-direction:column;min-width:0;overflow:hidden}.topbar{gap:var(--sp-4);padding:0 var(--sp-6);min-height:64px;border-bottom:1px solid var(--border);background:var(--bg)}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:var(--sp-2);min-width:0}.crumb{color:var(--text-3);font-weight:600;font-size:13px;text-decoration:none}.crumb:hover{color:var(--text-2)}.crumb-proj{display:flex;align-items:center;gap:var(--sp-2);font-weight:800;font-size:16px;color:var(--text);letter-spacing:-.02em}.crumb-proj .swatch{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:var(--hue-solid-ink);font-weight:800;font-size:12px}.spacer,.topbar-spacer{flex:1 1}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-8px;border:2px solid var(--bg)}.avatar-stack .avatar:first-child{margin-left:0}.tabs{gap:2px;padding:0 var(--sp-6);border-bottom:1px solid var(--border);background:var(--bg)}.tab,.tabs{display:flex}.tab{position:relative;padding:13px 14px;font-weight:650;font-size:13.5px;color:var(--text-3);background:none;border:none;text-decoration:none;align-items:center;gap:7px;transition:color .14s}.tab.active,.tab:hover{color:var(--text)}.tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2.5px;background:var(--accent);border-radius:3px 3px 0 0}.tab .pill{font-size:11px;font-weight:700;background:var(--surface-hover);color:var(--text-3);border-radius:var(--r-pill);padding:1px 7px}.content{flex:1 1;overflow:auto;min-height:0}.content-pad{padding:var(--sp-6)}.content-narrow{max-width:820px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--r-sm);padding:9px 14px;font-weight:650;font-size:13.5px;border:1px solid transparent;transition:background .14s,box-shadow .14s,transform .06s,border-color .14s,opacity .14s;white-space:nowrap}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-ghost{background:transparent;color:var(--text-2);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-outline{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-outline:hover:not(:disabled){background:var(--surface-hover)}.btn-soft{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-soft-border)}.btn-soft:hover:not(:disabled){filter:brightness(.98)}.btn-danger{background:var(--status-danger-soft);color:var(--status-danger);border-color:var(--status-danger-border)}.btn-danger:hover:not(:disabled){filter:brightness(.97)}.btn-sm{padding:6px 10px;font-size:12.5px;border-radius:var(--r-xs)}.btn-icon{width:36px;height:36px;padding:0;justify-content:center;border-radius:var(--r-sm);background:transparent;color:var(--text-2);border:1px solid transparent}.btn-icon:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-icon.outlined{border-color:var(--border);background:var(--surface)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12.5px;font-weight:650;color:var(--text-2)}.input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:10px 12px;font-size:14px;color:var(--text);outline:none;width:100%;transition:border-color .14s,box-shadow .14s}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-3)}.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft)}.input.input-error{border-color:var(--status-danger);box-shadow:0 0 0 3px var(--status-danger-ring)}.field-error-message{font-size:12px;font-weight:600;color:var(--status-danger);margin-top:6px;display:block}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}textarea,textarea.input{resize:vertical;line-height:1.6}.error{color:var(--status-danger);font-size:13px;padding:9px 12px;background:var(--status-danger-soft);border:1px solid var(--status-danger-border);border-radius:var(--r-sm)}.inline-feedback{margin:0;color:var(--status-success);font-size:13px;font-weight:650}.link{color:var(--accent);font-weight:650;text-decoration:none}.link:hover{text-decoration:underline}.card{border:1px solid var(--border);border-radius:var(--r-md)}.card,.panel{background:var(--surface);box-shadow:var(--shadow-sm)}.panel{border:1px solid var(--border);border-radius:var(--r-lg)}.avatar{border-radius:var(--r-pill);display:grid;place-items:center;font-weight:700;color:var(--hue-solid-ink);flex:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--hue-solid)}.auth-notice-icon{background:var(--accent-soft);color:var(--accent-strong);margin-bottom:var(--sp-4)}.auth-notice-icon.success{background:var(--status-success-soft);color:var(--status-success)}.swatch{background:linear-gradient(145deg,var(--hue-gradient-start),var(--hue-gradient-end));color:var(--hue-solid-ink)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}.badge .glyph{width:7px;height:7px;border-radius:2px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:650;padding:2px 9px;border-radius:var(--r-pill);white-space:nowrap}.section-title{font-size:22px;font-weight:800;letter-spacing:-.025em;color:var(--text);margin:0}.muted{color:var(--text-3)}.hue-soft{background:var(--hue-soft-bg);color:var(--hue-soft-ink);border:1px solid var(--hue-soft-border)}.hue-dot{display:inline-block;width:8px;height:8px;border-radius:2px;flex:none;background:var(--hue-solid)}.hue-ink{color:var(--hue-solid)}.hue-bg-strong,.hue-picker-swatch{background:var(--hue-solid)}.hue-bg-strong{color:var(--hue-solid-ink)}.tag.tag-toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;transition:opacity .12s,border-color .12s}.tag.tag-toggle:not(.tag-selected){opacity:.5}.tag.tag-toggle:hover{opacity:1}.tag.tag-selected{border-color:var(--hue-selected-border)}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:1px;animation:pop var(--dur-short) var(--ease-out) both}.menu.align-left{right:auto;left:0}.menu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-xs);border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-2);text-align:left;width:100%;text-decoration:none;transition:background .12s,color .12s}@media (hover:hover) and (pointer:fine){.menu-item:hover{background:var(--surface-hover);color:var(--text)}}.menu-item.danger{color:var(--status-danger)}.menu-item.danger:hover{background:var(--status-danger-soft)}.menu-sep{height:1px;background:var(--border);margin:4px 2px}.mention-menu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:50;min-width:180px;max-width:260px;max-height:220px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:1px;animation:pop var(--dur-short) var(--ease-out) both}.mention-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-xs);border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-2);text-align:left;width:100%;cursor:pointer;transition:background .12s,color .12s}.mention-item.active,.mention-item:hover{background:var(--surface-hover);color:var(--text)}.board-wrap{height:100%;overflow-x:auto;overflow-y:hidden}.board{display:flex;gap:var(--sp-4);padding:var(--sp-6);height:100%;align-items:flex-start;min-width:min-content}.column{width:296px;flex:none;background:var(--column-bg);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:100%;transition:background .15s,box-shadow .15s,outline-color .15s;outline:2px solid transparent;outline-offset:-2px}.column.drop-target{background:var(--accent-soft);outline-color:var(--accent-soft-border)}.column-head{display:flex;align-items:center;gap:var(--sp-2);padding:13px 14px 9px}.column-head .ctitle{font-weight:750;font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:8px;min-width:0}.column-head .ctitle .dot{width:9px;height:9px;border-radius:3px;flex:none}.column-head .ctitle input{font:inherit;font-weight:750;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-xs);padding:1px 6px;width:120px}.column-head .ccount{font-size:11.5px;font-weight:700;color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:0 8px;line-height:18px}.column-head .spacer{flex:1 1}.column-body{padding:4px 10px 10px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;min-height:8px;flex:1 1}.column-foot{padding:6px 10px 11px}.add-task{width:100%;text-align:left;display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:var(--r-sm);color:var(--text-3);font-weight:650;font-size:13px;border:1px dashed var(--border-strong);background:transparent;transition:background .14s,color .14s,border-color .14s}.add-task:hover{background:var(--surface);color:var(--text);border-color:var(--accent)}.add-column{width:296px;flex:none;height:44px;display:flex;align-items:center;gap:7px;padding:0 14px;border-radius:var(--r-lg);color:var(--text-3);font-weight:650;font-size:13.5px;border:1px dashed var(--border-strong);background:transparent;transition:background .14s,color .14s,border-color .14s}.add-column:hover{color:var(--text);border-color:var(--accent)}.add-column:hover,.task{background:var(--surface)}.task{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:12px 13px;display:flex;flex-direction:column;gap:9px;cursor:-webkit-grab;cursor:grab;transition:box-shadow .15s,transform .1s,border-color .15s;position:relative;text-align:left}.task:hover{border-color:var(--border-strong)}.task:active{cursor:-webkit-grabbing;cursor:grabbing}.task.dragging{opacity:.4}.task.task-overlay{box-shadow:var(--shadow-lg);cursor:-webkit-grabbing;cursor:grabbing;transform:rotate(-2deg)}.task-tags{display:flex;flex-wrap:wrap;gap:5px}.task-title{font-weight:650;font-size:14px;color:var(--text);line-height:1.35;letter-spacing:-.01em}.task-meta{gap:var(--sp-3);flex-wrap:wrap}.task-meta,.task-meta-left{display:flex;align-items:center}.task-meta-left{gap:10px}.task-meta .spacer{flex:1 1}.meta-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:650;color:var(--text-3)}.meta-chip.due-soon{color:var(--status-warning)}.progress-mini{display:flex;align-items:center;gap:6px}.progress-track{width:46px;height:5px;border-radius:var(--r-pill);background:var(--surface-hover);overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:var(--r-pill)}.row{display:flex;align-items:center;gap:var(--sp-4);padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:box-shadow .15s,transform .1s,border-color .15s;text-decoration:none;color:inherit}.row.clickable{cursor:pointer}.row.clickable:hover{border-color:var(--border-strong)}.project-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4)}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-5);position:relative;cursor:default;text-decoration:none;color:inherit;transition:border-color var(--dur-micro) var(--ease-out);display:flex;flex-direction:column;gap:var(--sp-3)}.project-card-link{position:absolute;inset:0;z-index:0;border-radius:inherit}.project-card>:not(.project-card-link){position:relative;z-index:1}@media (hover:hover) and (pointer:fine){.project-card:not(.archived):hover{border-color:var(--border-strong)}}.project-card .pc-top{display:flex;align-items:center;gap:var(--sp-3)}.project-card .swatch{width:42px;height:42px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--hue-solid-ink);font-weight:800;font-size:18px;flex:none}.project-card.archived{opacity:.66;box-shadow:none;background:var(--surface-2);cursor:default}.project-card.archived:hover{border-color:var(--border)}.project-card.archived .swatch{filter:grayscale(.7)}.archived-head{display:flex;align-items:center;gap:10px;margin:34px 0 16px;width:100%;padding:0;border:0;background:transparent;text-align:left;font-weight:750;font-size:13.5px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.archived-head .line{flex:1 1;height:1px;background:var(--border)}.invite-status{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill)}.mbar{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:flex-end}.auth-stage{height:100%;display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}.auth-aside{background:linear-gradient(150deg,var(--accent),var(--accent-strong));color:var(--on-accent);padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.auth-panel{display:grid;place-items:center;padding:32px}.auth-box{width:100%;max-width:380px}.auth-brand{display:flex;align-items:center;gap:var(--sp-3)}.auth-brand-mark{width:38px;height:38px;border-radius:12px;background:var(--auth-card-bg);display:grid;place-items:center;font-weight:800;font-size:20px}.auth-brand-name{font-weight:800;font-size:21px;letter-spacing:-.03em}.auth-aside-copy{max-width:380px}.auth-aside-copy h2{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 14px}.auth-aside-copy p{font-size:15px;line-height:1.6;opacity:.92;max-width:360px;margin:0}.auth-progress-list{margin-top:28px;display:flex;flex-direction:column;gap:10px;max-width:320px}.auth-mock-card{background:var(--auth-card-bg);border:1px solid var(--auth-card-border);border-radius:var(--r-md);padding:13px 14px;display:flex;flex-direction:column;gap:8px}.auth-progress-title{display:flex;align-items:center;gap:var(--sp-2);font-size:13px;font-weight:650}.auth-progress-dot{width:8px;height:8px;border-radius:2px;background:currentColor;opacity:.9}.auth-progress-row{display:flex;align-items:center;gap:var(--sp-2)}.auth-progress-track{flex:1 1;height:5px;border-radius:var(--r-pill);background:var(--auth-progress-track);overflow:hidden}.auth-progress-fill{height:100%;border-radius:inherit;background:currentColor}.auth-progress-status{font-size:11px;font-weight:700;opacity:.9}.auth-copyright{font-size:12.5px;opacity:.75}@media (max-width:860px){.auth-aside{display:none}.auth-stage{grid-template-columns:1fr}}@media (min-width:40rem){.project-grid{grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr))}}.md h1{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.md h1,.md h2{color:var(--text)}.md h2{font-size:19px;font-weight:750;margin:22px 0 8px}.md h3{font-size:16px;margin:18px 0 6px}.md h3,.md h4{font-weight:700;color:var(--text)}.md h4{font-size:14px;margin:14px 0 4px}.md ol,.md ul{padding-left:22px;margin:8px 0;list-style:revert}.md li{margin:4px 0}.md p{margin:10px 0;color:var(--text-2)}.md a{color:var(--accent-strong);text-decoration:underline;-webkit-text-decoration-color:var(--accent-soft-border);text-decoration-color:var(--accent-soft-border)}.md a:hover{-webkit-text-decoration-color:var(--accent-strong);text-decoration-color:var(--accent-strong)}.md strong{font-weight:700;color:var(--text)}.md hr{border:none;border-top:1px solid var(--border);margin:22px 0}.md blockquote{margin:12px 0;padding:4px 14px;border-left:3px solid var(--accent-soft-border);background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--text-2)}.md blockquote p{margin:6px 0}.md table{width:100%;margin:14px 0;border-collapse:collapse;font-size:13.5px}.md td,.md th{border:1px solid var(--border);padding:8px 12px;text-align:left}.md th{font-weight:700}.md pre,.md th{background:var(--surface-2);color:var(--text)}.md pre{border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;overflow-x:auto;font-size:13px;line-height:1.6}.md code,.md pre{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace}.md code{font-size:.9em}.md img{max-width:100%;border-radius:var(--r-md);display:block;margin:10px 0}.md .mermaid-diagram,.md img{border:1px solid var(--border)}.md .mermaid-diagram{margin:16px 0;display:flex;justify-content:center;overflow-x:auto;background:var(--surface-2);border-radius:var(--r-md);padding:16px}.md .mermaid-diagram svg{max-width:100%}.md .mermaid-error{margin:16px 0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--text-2)}.comment-img{display:block;max-width:100%;max-height:240px;border-radius:var(--r-sm);border:1px solid var(--border);margin-top:8px;object-fit:contain}.seg{display:inline-flex;background:var(--surface-hover);border-radius:var(--r-sm);padding:3px;gap:2px}.seg button{border:none;background:transparent;padding:6px 14px;font-weight:650;font-size:13px;color:var(--text-3);border-radius:7px;transition:background .14s,color .14s}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:64px 24px;text-align:center;color:var(--text-3)}.empty .ico{width:56px;height:56px;border-radius:var(--r-lg);background:var(--surface-hover);display:grid;place-items:center;color:var(--text-3)}.empty h3{margin:0;font-size:15px;font-weight:750;color:var(--text-2)}.empty p{margin:0;font-size:13px;max-width:320px}.drawer-scrim{position:fixed;inset:0;background:var(--scrim);width:100%;border:0;padding:0;z-index:40;animation:fade var(--dur-short) var(--ease-out)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,92vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:41;display:flex;flex-direction:column;animation:slidein var(--dur-short) var(--ease-out) both}.editor-pop-scrim{position:fixed;inset:0;z-index:79;width:100%;border:0;padding:0;background:transparent}@keyframes slidein{0%{transform:translateX(34px)}to{transform:translateX(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.fade-in{animation:fade var(--dur-short) var(--ease-out) both}.pop-in{animation:pop var(--dur-short) var(--ease-out) both}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:11px 18px;border-radius:var(--r-pill);font-weight:650;font-size:13px;box-shadow:var(--shadow-lg);z-index:60;display:flex;align-items:center;gap:8px;animation:pop var(--dur-short) var(--ease-out)}.toast.error{background:var(--status-danger);color:var(--on-inverse)}.dialog:not([open]){display:none}.dialog{position:fixed;inset:0;margin:auto;width:min(420px,92vw);height:-moz-fit-content;height:fit-content;max-height:88vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);color:var(--text);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);animation:dialogpop var(--dur-short) var(--ease-out) both}.dialog::-webkit-backdrop{background:var(--scrim);animation:fade var(--dur-short) var(--ease-out) both}.dialog::backdrop{background:var(--scrim);animation:fade var(--dur-short) var(--ease-out) both}@keyframes dialogpop{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.dialog h2{margin:0;font-size:16px;font-weight:800}.dialog p{margin:0;color:var(--text-2);font-size:14px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}.dp-anchor{position:relative}.dp-anchor,.dp-trigger{display:flex;width:100%}.dp-trigger{align-items:center;gap:7px;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:650;font-size:13px;transition:border-color .14s,background .14s,color .14s}.dp-trigger:hover{border-color:var(--accent);background:var(--surface-hover)}.dp-trigger.empty{color:var(--text-3);border-style:dashed}.dp-trigger.soon{color:var(--status-warning);border-color:var(--status-warning-border);background:var(--status-warning-soft)}.dp-trigger.past{color:var(--status-danger);border-color:var(--status-danger-border);background:var(--status-danger-soft)}.dp-rel{color:inherit;opacity:.72;font-weight:600}.dp-pop{position:absolute;top:calc(100% + 8px);z-index:50;width:288px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:12px;animation:dppop var(--dur-short) var(--ease-out)}@keyframes dppop{0%{transform:translateY(-5px) scale(.985)}to{transform:none}}.dp-pop.dp-left{left:0}.dp-pop.dp-right{right:0}.dp-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.dp-preset{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-weight:650;font-size:12.5px;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.dp-preset.sel,.dp-preset:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.dp-head{display:flex;align-items:center;gap:6px;margin-bottom:9px}.dp-title{flex:1 1;text-align:center;font-weight:750;font-size:13.5px;letter-spacing:-.01em;color:var(--text)}.dp-nav{width:30px;height:30px;flex:none;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--text-2);border-radius:var(--r-sm);transition:background .13s,color .13s}.dp-nav:hover{background:var(--surface-hover);color:var(--text)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.dp-dow{margin-bottom:4px}.dp-dowcell{text-align:center;font-size:11px;font-weight:700;color:var(--text-3);padding:3px 0}.dp-day{height:34px;border:none;background:transparent;border-radius:var(--r-sm);font-weight:650;font-size:13px;color:var(--text);transition:background .12s,color .12s,box-shadow .12s}.dp-day:hover{background:var(--surface-hover)}.dp-day.outside{color:var(--text-3);opacity:.45}.dp-day.today{color:var(--accent-strong);box-shadow:inset 0 0 0 1.5px var(--accent-soft-border)}.dp-day.sel{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-sm)}.dp-day.sel:hover{background:var(--accent-strong)}.dp-foot{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid var(--border)}.dp-foot .sel-label{flex:1 1;color:var(--text-2)}.dp-clear,.dp-foot .sel-label{font-size:12.5px;font-weight:650}.dp-clear{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--text-3);padding:6px 9px;border-radius:var(--r-xs);transition:background .13s,color .13s}.dp-clear:hover{background:var(--status-danger-soft);color:var(--status-danger)}.dialog.wide{width:min(560px,92vw)}.dialog.xl{width:min(860px,94vw);max-height:90vh}.link-field{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:4px 4px 4px 12px}.link-field code{flex:1 1;min-width:0;font-family:var(--font-mono);font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-row{display:flex;align-items:center;gap:var(--sp-3);padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.invite-status.pending{background:var(--status-pending-soft);color:var(--status-pending-ink)}.invite-status.accepted{background:var(--status-accepted-soft);color:var(--status-accepted-ink)}.invited-banner{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:12px 14px;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--accent-soft-border)}.invited-banner .title{font-weight:750;font-size:13.5px;color:var(--accent-strong)}.invited-banner .sub{font-size:12.5px;color:var(--text-2);font-weight:600;margin-top:2px}.inbox-group{font-size:11.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:0 0 10px 2px}.inbox-list{display:flex;flex-direction:column;gap:8px}.inbox-row{display:flex;align-items:flex-start;gap:13px;padding:14px 15px;position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}@media (hover:hover) and (pointer:fine){.inbox-row:hover{border-color:var(--border-strong)}}.inbox-row.unread{background:color-mix(in oklab,var(--accent-soft) 42%,var(--surface));border-color:var(--accent-soft-border)}.inbox-row.unread:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.inbox-avatar{position:relative;flex:none}.inbox-row-main{flex:1 1;min-width:0;display:flex;align-items:flex-start;gap:13px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.inbox-system{width:38px;height:38px;place-items:center;background:var(--hue-soft-bg);color:var(--hue-soft-ink)}.inbox-badge,.inbox-system{border-radius:var(--r-pill);display:grid}.inbox-badge{position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;place-items:center;color:var(--hue-solid-ink);background:var(--hue-solid);border:2px solid var(--surface)}.inbox-row.unread .inbox-badge{border-color:color-mix(in oklab,var(--accent-soft) 42%,var(--surface))}.inbox-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:1px}.inbox-text{font-size:13.5px;color:var(--text-2);line-height:1.45}.inbox-text b{color:var(--text);font-weight:700}.inbox-snippet{font-size:13px;color:var(--text-2);line-height:1.5;padding:8px 11px;background:var(--surface-2);border:1px solid var(--border);border-left:2.5px solid var(--accent-soft-border);border-radius:var(--r-xs);font-style:italic}.inbox-context{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;max-width:100%;padding:3px 9px 3px 4px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border)}.inbox-context .ctx-title{font-size:12px;font-weight:650;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.inbox-actions-inline{display:flex;gap:8px;margin-top:3px}.inbox-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none}.inbox-time{font-size:11.5px;font-weight:650;color:var(--text-3);white-space:nowrap}.inbox-dot{width:8px;height:8px;border-radius:var(--r-pill);background:var(--accent)}.inbox-hover{display:flex;gap:2px;opacity:0;transition:opacity var(--dur-micro) var(--ease-out)}.inbox-row:focus-within .inbox-hover{opacity:1}.inbox-row:focus-within .inbox-dot{display:none}@media (hover:hover) and (pointer:fine){.inbox-row:hover .inbox-hover{opacity:1}.inbox-row:hover .inbox-dot{display:none}}@media (pointer:coarse){.inbox-hover{opacity:1}.inbox-hover .btn-icon{width:44px!important;height:44px!important}}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.role-chip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:8px 13px;border-radius:var(--r-pill);font-size:13px;font-weight:650;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text-2);transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.role-chip:hover{border-color:var(--text-3)}.role-chip.sel{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.rel-version{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);padding:2px 8px;white-space:nowrap;flex:none}.rel-badge{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}.milestone-marker{background:var(--accent-soft);color:var(--accent-strong)}.milestone-marker.completed{background:var(--status-accepted-soft);color:var(--status-accepted-ink)}.progress-fill.completed{background:var(--status-success)}.rel-list{display:flex;flex-direction:column;gap:10px}.sec{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px;margin-bottom:16px}.sec-head{display:flex;align-items:center;gap:9px;margin-bottom:14px}.sec-head .t{font-weight:750;font-size:14.5px;color:var(--text)}.sec-head .n{font-size:11.5px;font-weight:700;color:var(--text-3);background:var(--surface-hover);border-radius:var(--r-pill);padding:1px 8px}.sec-head .spacer{flex:1 1}.rel-item{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.rel-item+.rel-item{margin-top:8px}.rel-item .url{font-family:var(--font-mono);font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropzone{display:flex;flex-direction:column;align-items:center;gap:7px;padding:22px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-3);text-align:center;transition:border-color .14s,background .14s,color .14s;cursor:pointer}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.api-pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;overflow-x:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.7;color:var(--text);white-space:pre;margin:0}.api-pre .k{color:var(--syntax-key)}.api-pre .s{color:var(--syntax-string)}.ord-num{width:22px;height:22px;border-radius:7px;flex:none;display:grid;place-items:center;font-size:11.5px;font-weight:800;font-family:var(--font-mono);background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent-soft-border)}.reorder-col{display:flex;flex-direction:column;gap:2px;flex:none}.reorder-btn{width:22px;height:17px;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);border-radius:6px;color:var(--text-3);transition:color .12s,border-color .12s}.reorder-btn:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.reorder-btn:disabled{opacity:.35;cursor:default}.icon-x{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:8px;border:none;background:transparent;color:var(--text-3);transition:background .12s,color .12s}.icon-x:hover{background:var(--surface-hover);color:var(--status-danger)}.preset-chip{padding:6px 12px;border-radius:var(--r-pill);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-weight:650;font-size:12.5px;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out);display:inline-flex;align-items:center;gap:6px}.preset-chip:hover{border-color:var(--text-3)}.preset-chip.sel{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.pick-row{width:100%;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;text-align:left;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}@media (hover:hover) and (pointer:fine){.pick-row:hover{background:var(--surface-hover)}}.pick-row.sel{background:var(--accent-soft);border-color:var(--accent-soft-border)}.pick-check{width:19px;height:19px;border-radius:6px;flex:none;display:grid;place-items:center;color:var(--accent-ink);border:1.5px solid var(--border-strong);background:transparent}.pick-row.sel .pick-check{background:var(--accent);border-color:var(--accent)}.doc-stage{height:100%;min-height:0;background:var(--surface-2)}.doc-outline,.doc-stage{display:flex;overflow:hidden}.doc-outline{width:var(--doc-outline-width);flex:none;border-right:1px solid var(--border);background:var(--bg-rail);flex-direction:column;transition:opacity var(--dur-short) var(--ease-in)}.doc-outline.collapsed{width:0;opacity:0;border-right-color:transparent;pointer-events:none}.doc-outline-head{display:flex;align-items:center;gap:8px;padding:16px 16px 10px;font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.doc-outline-head .spacer{flex:1 1}.outline-close{display:none}.doc-outline-list{overflow-y:auto;padding:2px 10px 16px;flex:1 1}.outline-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:transparent;padding:6px 10px;border-radius:var(--r-sm);color:var(--text-2);font-weight:600;font-size:13px;line-height:1.35;transition:background .12s,color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}@media (hover:hover) and (pointer:fine){.outline-item:hover{background:var(--surface-hover);color:var(--text)}}.outline-item.active{color:var(--accent-strong);background:var(--accent-soft)}.outline-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2.5px;border-radius:3px;background:var(--accent)}.outline-item.lvl-2{padding-left:22px;font-size:12.5px;font-weight:600}.outline-item.lvl-3{padding-left:36px;font-size:12.5px;font-weight:550;color:var(--text-3)}.outline-progress{padding:12px 16px;border-top:1px solid var(--border)}.doc-outline-scrim{display:none}.doc-main{flex:1 1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.doc-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"nav format actions";align-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);background:var(--bg);min-height:56px;position:relative;z-index:var(--z-editor-toolbar)}.doc-toolbar-nav{grid-area:nav;display:flex;align-items:center;gap:4px}.doc-toolbar-format{grid-area:format;min-width:0;display:flex;align-items:center;gap:6px}.doc-toolbar-compact-tools{grid-area:format;display:none;align-items:center;gap:var(--sp-2)}.doc-toolbar-actions{grid-area:actions;justify-content:flex-end;gap:var(--sp-2);min-width:0}.doc-toolbar-actions,.tb-group{display:flex;align-items:center}.tb-group{gap:2px}.tb-sep{width:1px;height:22px;background:var(--border);margin:0 5px;flex:none}.tb-btn{height:36px;min-width:36px;padding:0 8px;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;background:transparent;color:var(--text-2);border-radius:var(--r-xs);font-weight:650;font-size:13px;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.tb-btn:active:not(:disabled){transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.tb-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}}.tb-btn:disabled{color:var(--text-3);cursor:not-allowed;opacity:.55}.tb-btn.on{background:var(--accent-soft);color:var(--accent-strong)}.tb-btn .cap{font-size:12.5px}.tb-btn.tb-chevron{padding:0 7px 0 10px;gap:6px;min-width:96px;justify-content:space-between;border-color:var(--border);background:var(--surface)}@media (hover:hover) and (pointer:fine){.tb-btn.tb-chevron:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}}.tb-btn.tb-chevron .cap{font-weight:650}.tb-btn.tb-compact-label{padding-inline:var(--sp-3)}.doc-toolbar .btn-icon{width:36px;height:36px;flex:none;display:grid;place-items:center}.save-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--text-3);min-height:32px;padding:5px 10px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.save-chip .spin{display:inline-flex;animation:dspin .9s linear infinite}@keyframes dspin{to{transform:rotate(1turn)}}.save-chip.dirty{color:var(--text-2)}.save-chip.saved{color:var(--status-success)}.save-chip.failed{color:var(--status-danger);background:var(--status-danger-soft);border-color:var(--status-danger-border)}.save-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.save-retry{border:0;border-bottom:1px solid;padding:0;background:transparent;color:inherit;font:inherit;line-height:1.2}.toolbar-feedback{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:18rem;color:var(--text-2);font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-feedback.success{color:var(--status-success)}.toolbar-feedback.error{color:var(--status-danger)}.doc-canvas{flex:1 1;overflow-y:auto;min-height:0;position:relative;background:var(--surface-2)}.doc-page{width:100%;max-width:calc(var(--doc-measure) + (var(--sp-8) * 2));min-width:0;margin:0 auto;padding:var(--sp-8) var(--sp-8) calc(var(--sp-8) * 6);background:var(--surface)}.doc-end-insert{display:block;width:100%;min-height:80px;padding:0;border:0;background:transparent;cursor:text}.doc-page.reading{padding-top:calc(var(--sp-8) + var(--sp-4))}.doc-title-in{width:100%;border:none;background:transparent;outline:none;font-family:var(--font-sans);font-weight:800;letter-spacing:-.03em;font-size:clamp(2rem,4vw,2.5rem);line-height:1.1;color:var(--text);padding:0;margin:0 0 4px;resize:none;overflow:hidden;overflow-wrap:anywhere}.doc-title-in::placeholder{color:var(--text-3);opacity:.55}.doc-title-in:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--r-xs);box-shadow:none}.doc-page.reading .doc-title-in{cursor:default}.doc-meta-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-3);font-size:13px;font-weight:600;margin-bottom:var(--sp-6);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.doc-meta-line .mdot{width:3px;height:3px;border-radius:50%;background:var(--text-3)}.blk{position:relative;padding:2px 0;margin:2px 0}.blk-row{display:flex;align-items:flex-start}.blk-gutter{position:absolute;left:-52px;top:0;height:30px;display:flex;align-items:center;gap:1px;opacity:0;transition:opacity var(--dur-micro) var(--ease-out);padding-top:1px}.blk.menu-open>.blk-gutter,.blk:focus-within>.blk-gutter{opacity:1}@media (hover:hover) and (pointer:fine){.blk:hover>.blk-gutter{opacity:1}}.gutter-btn{width:22px;height:24px;display:grid;place-items:center;border:none;background:transparent;color:var(--text-3);border-radius:6px;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}@media (hover:hover) and (pointer:fine){.gutter-btn:hover{background:var(--surface-hover);color:var(--text)}}.gutter-btn.handle{cursor:-webkit-grab;cursor:grab}.gutter-btn.handle:active{cursor:-webkit-grabbing;cursor:grabbing;transform:translateY(1px)}.blk.dragging{opacity:.4}.blk-drop-line{height:2.5px;background:var(--accent);border-radius:3px;margin:1px 0;box-shadow:0 0 0 1px var(--accent-soft)}.rt{outline:none;min-height:1em;caret-color:var(--accent-strong);word-break:break-word}.rt:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--r-xs)}.rt:empty:before{content:attr(data-ph);color:var(--text-3);opacity:.5;pointer-events:none}.rt a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;cursor:text}.reading-md code,.rt code{font-family:var(--font-mono);font-size:.875em;background:var(--surface-hover);border:1px solid var(--border);border-radius:5px;padding:1px 5px;color:var(--text)}.rt mark{background:var(--accent-soft);color:inherit;border-radius:3px;padding:0 1px}.blk-h1 .rt{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.blk-h2 .rt{font-size:21px;font-weight:750;letter-spacing:-.015em;line-height:1.25}.blk-h3 .rt{font-size:17px;font-weight:750;letter-spacing:-.01em;line-height:1.3}.blk-h1{margin-top:22px}.blk-h2{margin-top:18px}.blk-h3{margin-top:12px}.blk-p .rt,.blk-paragraph .rt{font-size:16px;line-height:1.7;color:var(--text)}.blk-p,.blk-paragraph{margin:3px 0}.blk-list .li{display:flex;align-items:flex-start;gap:10px;padding:2px 0}.blk-list .li-mark{flex:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--text-2);font-size:16px;line-height:1.7;min-width:18px}.blk-list.ord .li-mark{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650;color:var(--text-2);font-size:15px;min-width:22px;text-align:right}.blk-list .li .rt{flex:1 1;font-size:16px;line-height:1.7}.blk-list .li-mark .bullet{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-2);margin-top:11px}.blk-todo .li{display:flex;align-items:flex-start;gap:10px;padding:2px 0}.todo-box{flex:none;width:19px;height:19px;margin-top:5px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;color:var(--on-accent);cursor:pointer;padding:0;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.todo-box.on{background:var(--accent);border-color:var(--accent)}.todo-box:active:not(:disabled){transform:translateY(1px)}.todo-box:disabled{cursor:not-allowed;opacity:.55}.blk-todo .li .rt{flex:1 1;font-size:16px;line-height:1.7}.blk-todo .li.checked .rt{color:var(--text-3);text-decoration:line-through}.blk-quote{border-left:3px solid var(--accent-soft-border);padding:4px 0 4px 18px;margin:6px 0}.blk-quote .rt{font-size:16px;line-height:1.7;color:var(--text-2);font-style:italic}.blk-callout{margin:10px 0}.callout-box{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-md);border:1px solid}.callout-variant-button{flex:none;width:24px;height:24px;margin-top:1px;padding:0;display:grid;place-items:center;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-2);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.callout-variant-button:active:not(:disabled){transform:translateY(1px)}.callout-variant-button:disabled{cursor:not-allowed;opacity:.55}@media (hover:hover) and (pointer:fine){.callout-variant-button:hover:not(:disabled){background:var(--surface)}}.callout-box .rt{flex:1 1;font-size:15px;line-height:1.65}.callout-tip{background:var(--callout-tip-bg);border-color:var(--callout-tip-border)}.callout-tip .callout-variant-button{color:var(--callout-tip-ink)}.callout-note{background:var(--callout-note-bg);border-color:var(--callout-note-border)}.callout-note .callout-variant-button{color:var(--callout-note-ink)}.callout-warning{background:var(--callout-warning-bg);border-color:var(--callout-warning-border)}.callout-warning .callout-variant-button{color:var(--callout-warning-ink)}.callout-variant-tab{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:var(--r-pill);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.blk-divider{padding:14px 0}.blk-divider hr{border:none;border-top:1px solid var(--border-strong);margin:0}.blk-code{margin:10px 0}.code-shell{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.code-bar{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--surface-hover) 60%,transparent)}.code-lang{border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-family:var(--font-mono);font-size:11.5px;font-weight:600;border-radius:var(--r-xs);padding:3px 8px;outline:none}.code-bar .spacer{flex:1 1}.code-ed{width:100%;border:none;background:transparent;outline:none;resize:none;font-family:var(--font-mono);font-size:13px;line-height:1.65;color:var(--text);padding:13px 15px;display:block;-moz-tab-size:2;tab-size:2}.blk-image{margin:12px 0}.img-wrap{position:relative;display:inline-block;max-width:100%}.img-align-center{text-align:center}.img-align-center .img-wrap{display:inline-block}.blk-image.align-center{text-align:center}.blk-image.align-full .img-wrap,.blk-image.align-full img{width:100%}.doc-img{display:block;max-width:100%;border-radius:var(--r-md);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.img-resize-handle{position:absolute;right:-5px;top:50%;transform:translateY(-50%);width:9px;height:46px;border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--surface);cursor:ew-resize;opacity:0;transition:opacity .12s;box-shadow:var(--shadow-sm)}.img-wrap:focus-within .img-resize-handle{opacity:1}@media (hover:hover) and (pointer:fine){.img-wrap:hover .img-resize-handle{opacity:1}}.img-toolbar{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);opacity:0;transition:opacity .12s;z-index:5}.img-wrap:focus-within .img-toolbar{opacity:1}@media (hover:hover) and (pointer:fine){.img-wrap:hover .img-toolbar{opacity:1}}.img-alt{display:block;margin-top:7px;text-align:center;font-size:12.5px;color:var(--text-3);font-style:italic;border:none;background:transparent;outline:none;width:100%}.img-alt:focus{color:var(--text-2)}.img-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 22px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-3);text-align:center;cursor:pointer;transition:border-color .14s,background .14s,color .14s}.img-drop.over,.img-drop:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.img-uploading{border:1px solid var(--border);border-radius:var(--r-md);padding:18px;background:var(--surface-2);display:flex;align-items:center;gap:14px}.img-thumb-skel{width:64px;height:48px;border-radius:var(--r-sm);flex:none;background:linear-gradient(100deg,var(--surface-hover) 30%,var(--surface) 50%,var(--surface-hover) 70%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.up-track{height:6px;background:var(--surface-hover);overflow:hidden;margin-top:8px}.up-fill,.up-track{border-radius:var(--r-pill)}.up-fill{height:100%;background:var(--accent);transition:width .2s}.img-error{border:1px solid var(--danger-subtle-border);background:var(--danger-subtle-bg);border-radius:var(--r-md);padding:16px;display:flex;align-items:center;gap:13px;color:var(--danger-subtle-ink)}.blk-table{margin:12px 0;overflow-x:auto;overflow-y:hidden;padding:4px 0}.vt{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;width:100%;background:var(--surface)}.vt td,.vt th{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;vertical-align:top;position:relative}.vt tr:last-child td{border-bottom:none}.vt td:last-child,.vt th:last-child{border-right:none}.vt th{background:var(--surface-2)}.vt .cell{outline:none;padding:9px 12px;font-size:14px;line-height:1.5;min-width:90px;color:var(--text)}.vt th .cell{font-weight:700}.vt .cell:focus{box-shadow:inset 0 0 0 2px var(--accent);border-radius:3px}.vt-wrap{display:inline-block;max-width:100%}.vt-grid{display:inline-grid;grid-template-columns:auto auto;grid-template-rows:auto auto;max-width:100%}.vt-grid>.vt{grid-column:1;grid-row:1;width:auto;min-width:min(100%,440px);border-radius:var(--r-md) 0 0 0}.vt-grid>.vt-add-col{grid-column:2;grid-row:1}.vt-grid>.vt-add-row{grid-column:1/3;grid-row:2}.vt-add-col,.vt-add-row{border:1px dashed var(--border-strong);background:var(--surface-2);color:var(--text-3);display:grid;place-items:center;transition:background .12s,color .12s,border-color .12s}.vt-add-col{width:26px;border-left:none;border-radius:0 var(--r-md) 0 0}.vt-add-row{height:28px;border-top:none;border-radius:0 0 var(--r-md) var(--r-md)}.vt-add-col:hover,.vt-add-row:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent)}.vt td.vt-gut,.vt th.vt-gut{width:22px;min-width:22px;padding:0}.vt td.vt-gut,.vt th.vt-colctl,.vt th.vt-gut{background:transparent;border:none;vertical-align:middle}.vt th.vt-colctl{padding:1px 0}.vt-del{width:18px;height:18px;margin:0 auto;padding:0;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--text-3);border-radius:5px;opacity:0;transition:opacity .12s,background .12s,color .12s,border-color .12s}.vt-wrap:focus-within .vt-del{opacity:.55}@media (hover:hover) and (pointer:fine){.vt-wrap:hover .vt-del{opacity:.55}.vt-del:hover{opacity:1;background:var(--surface);border-color:var(--border);color:var(--status-danger);box-shadow:var(--shadow-sm)}}.blk-mermaid{margin:12px 0}.mm-shell{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.mm-bar{gap:8px;padding:8px 10px 8px 13px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--surface-hover) 55%,transparent)}.mm-bar,.mm-bar .label{display:flex;align-items:center}.mm-bar .label{font-weight:700;font-size:12.5px;color:var(--text-2);gap:7px}.mm-bar .spacer{flex:1 1}.mm-seg{display:inline-flex;background:var(--surface-hover);border-radius:var(--r-xs);padding:2px;gap:2px}.mm-seg button{border:none;background:transparent;padding:4px 11px;font-weight:650;font-size:12px;color:var(--text-3);border-radius:6px}.mm-seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.mm-body{display:grid}.mm-split{grid-template-columns:1fr 1fr}.mm-code{width:100%;border:none;outline:none;resize:none;background:var(--surface-2);font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--text);padding:14px 16px;min-height:180px;border-right:1px solid var(--border)}.mm-render{padding:18px;display:grid;place-items:center;overflow:auto;min-height:180px;background:var(--surface)}.mm-render svg{max-width:100%;height:auto}.mm-render.only{grid-column:1/-1}.mm-error{margin:12px;padding:13px 15px;border-radius:var(--r-sm);background:var(--danger-subtle-bg);border:1px solid var(--danger-subtle-border);color:var(--danger-subtle-ink);font-family:var(--font-mono);font-size:12px;line-height:1.6;display:flex;gap:10px;align-items:flex-start}.mm-error .ico{flex:none;margin-top:1px}.slash-pop,.turn-pop{position:fixed;z-index:var(--z-editor-menu);width:320px;max-height:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;opacity:1;animation:dpop var(--dur-micro) var(--ease-out)}@keyframes dpop{0%{transform:scale(.97) translateY(-3px)}to{transform:scale(1) translateY(0)}}.slash-search{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--border);color:var(--text-3)}.slash-search input{border:none;background:transparent;outline:none;color:var(--text);font-size:13.5px;width:100%}.slash-list{overflow-y:auto;padding:6px}.slash-cat{font-size:10.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:8px 8px 4px}.slash-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;background:transparent;padding:8px 9px;border-radius:var(--r-sm);color:var(--text);transition:background .1s}.slash-item.active,.slash-item:hover{background:var(--surface-hover)}.slash-item.active{box-shadow:inset 0 0 0 1.5px var(--accent-soft-border)}.slash-ico{width:36px;height:36px;flex:none;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}.slash-item.active .slash-ico{color:var(--accent-strong);border-color:var(--accent-soft-border);background:var(--accent-soft)}.slash-meta{min-width:0}.slash-meta .t{font-weight:650;font-size:13.5px}.slash-meta .d{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-empty{padding:22px;text-align:center;color:var(--text-3);font-size:13px}.bubble{position:fixed;z-index:var(--z-editor-selection);display:flex;align-items:center;gap:1px;padding:4px;background:var(--text);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);opacity:1;animation:dpop var(--dur-micro) var(--ease-out)}.bubble-btn{height:30px;min-width:30px;padding:0 7px;border:none;background:transparent;color:var(--editor-bubble-ink);border-radius:6px;font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:background .1s,color .1s}.bubble-btn:hover{background:var(--editor-bubble-hover);color:var(--on-inverse)}.bubble-btn.on{background:var(--accent);color:var(--on-accent)}.bubble-sep{width:1px;height:18px;background:var(--editor-bubble-line);margin:0 3px}[data-theme=dark] .bubble{background:var(--editor-bubble-bg);border:1px solid var(--border-strong)}.bubble-link-in{border:none;outline:none;background:var(--editor-bubble-input);color:var(--on-inverse);border-radius:6px;padding:6px 9px;font-size:13px;width:190px}.bubble-link-in::placeholder{color:var(--editor-bubble-placeholder)}.blk-menu-pop{position:fixed;z-index:var(--z-editor-menu);width:210px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;opacity:1;animation:dpop var(--dur-micro) var(--ease-out)}.blk-menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:8px;color:var(--text-2);font-weight:600;font-size:13px}.blk-menu-item:hover{background:var(--surface-hover);color:var(--text)}.blk-menu-item.danger{color:var(--status-danger)}.blk-menu-item .k{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.docs-head{display:flex;align-items:flex-end;gap:14px;margin-bottom:22px}.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));grid-gap:14px;gap:14px}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:13px;min-height:158px;transition:border-color var(--dur-micro) var(--ease-out);text-decoration:none;color:inherit}.doc-card:hover{border-color:var(--border-strong)}.doc-card .dc-top{display:flex;align-items:center;gap:11px}.doc-card .dc-ico{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;flex:none}.doc-card .dc-title{font-weight:750;font-size:15px;letter-spacing:-.01em;line-height:1.3}.doc-card .dc-snip{font-size:13px;color:var(--text-3);line-height:1.5;flex:1 1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.doc-card .dc-foot{display:flex;align-items:center;gap:9px;padding-top:11px;border-top:1px solid var(--border);color:var(--text-3);font-size:12px;font-weight:600}.doc-card .dc-stat{display:inline-flex;align-items:center;gap:5px}.doc-card.new{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);align-items:center;justify-content:center;text-align:center;color:var(--text-3)}.doc-card.new:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));grid-gap:14px;gap:14px}.tpl-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;text-align:left;display:flex;flex-direction:column;transition:border-color var(--dur-micro) var(--ease-out);color:var(--text)}.tpl-card:hover{border-color:var(--border-strong)}.tpl-card.sel{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tpl-preview{height:124px;padding:14px 14px 0;overflow:hidden;position:relative;background:var(--surface-2);border-bottom:1px solid var(--border)}.tpl-mini{transform:scale(.92);transform-origin:top left}.tpl-mini .mh{height:7px;border-radius:3px;background:var(--text);opacity:.82;margin-bottom:6px}.tpl-mini .mh2{height:5px;border-radius:3px;background:var(--accent);width:52%;margin:9px 0 5px}.tpl-mini .ml{height:4px;border-radius:3px;background:var(--border-strong);margin-bottom:4px}.tpl-preview:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(transparent,var(--surface-2))}.tpl-hue-line,.tpl-mini .mh2{background:var(--hue-solid)}.tpl-body{padding:13px 15px 15px}.tpl-body .t{font-weight:750;font-size:14.5px;display:flex;align-items:center;gap:8px}.tpl-body .d{font-size:12.5px;color:var(--text-3);line-height:1.45;margin-top:4px}.tpl-body .sections{font-size:11.5px;color:var(--text-3);margin-top:9px;font-weight:600;display:flex;align-items:center;gap:6px}.blk .guide,.blk.is-guide .rt,.rt .guide{color:var(--text-3)}.reading-md{font-size:16px;line-height:1.75;color:var(--text)}.reading-md h1{font-size:30px;font-weight:800;letter-spacing:-.025em;margin:0 0 6px}.reading-md h2{font-size:22px;font-weight:750;margin:30px 0 10px;letter-spacing:-.015em}.reading-md h3{font-size:17px;font-weight:750;margin:22px 0 6px}.reading-md p{margin:12px 0}.reading-md ol,.reading-md ul{padding-left:24px;margin:10px 0}.reading-md li{margin:5px 0}.reading-md blockquote{border-left:3px solid var(--accent-soft-border);margin:14px 0;padding:2px 0 2px 18px;color:var(--text-2);font-style:italic}.reading-md img{max-width:100%;border-radius:var(--r-md);border:1px solid var(--border);margin:14px 0}.reading-md hr{border:none;border-top:1px solid var(--border-strong);margin:24px 0}.reading-md table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14.5px}.reading-md td,.reading-md th{border:1px solid var(--border);padding:9px 12px;text-align:left}.reading-md th{background:var(--surface-2);font-weight:700}.reading-md pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.6}@media (max-width:68.75rem){.doc-outline{position:fixed;inset:0 auto 0 0;z-index:var(--z-editor-overlay);transform:translateX(-100%);opacity:0;pointer-events:none;box-shadow:var(--shadow-lg);transition:transform var(--dur-short) var(--ease-out),opacity var(--dur-short) var(--ease-out)}.doc-outline,.doc-outline.collapsed{width:var(--doc-outline-width);border-right-color:var(--border)}.doc-outline.mobile-open{transform:translateX(0);opacity:1;pointer-events:auto}.doc-outline-scrim{display:block;position:fixed;inset:0;z-index:var(--z-editor-backdrop);border:0;background:var(--editor-scrim)}.outline-close{width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-2)}.doc-toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nav actions" "format format"}.doc-toolbar-format{padding-top:var(--sp-2);border-top:1px solid var(--border)}}@media (max-width:44rem){.app,html[data-sidebar=collapsed] .app{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.sidebar.mobile-open{position:fixed;inset:0 auto 0 0;z-index:41;display:flex;width:min(17.5rem,calc(100vw - var(--sp-8)));box-shadow:var(--shadow-lg)}.sidebar.mobile-open .hide-collapsed{display:none}.mobile-nav-scrim{display:block;position:fixed;inset:0;z-index:40;border:0;background:var(--editor-scrim)}.mobile-nav-toggle{position:fixed;top:var(--sp-3);left:var(--sp-3);z-index:42;display:grid;place-items:center;background:var(--bg);border-color:var(--border)}.mobile-nav-close{display:grid;place-items:center;margin-left:auto}.topbar{min-height:56px;padding-left:60px;padding-right:var(--sp-3)}.tabs{overflow-x:auto;padding-inline:var(--sp-3);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;white-space:nowrap}.doc-toolbar,.tab{padding-inline:var(--sp-3)}.doc-toolbar{gap:var(--sp-2)}.doc-toolbar-format{display:none}.doc-toolbar-compact-tools{display:flex;padding-top:var(--sp-2);border-top:1px solid var(--border)}.doc-toolbar-actions{gap:var(--sp-2)}.toolbar-feedback{max-width:7.5rem;font-size:11px}.doc-page{max-width:none;padding:var(--sp-6) var(--sp-4) calc(var(--sp-8) * 4)}.doc-page.reading{padding-top:var(--sp-6)}.doc-title-in{font-size:clamp(2rem,10vw,2.5rem)}.doc-meta-line{gap:var(--sp-2);margin-bottom:var(--sp-5);padding-bottom:var(--sp-4)}.doc-meta-line .mdot{display:none}.slash-pop,.turn-pop{width:min(20rem,calc(100vw - (var(--sp-4) * 2)))}.bubble-link-in{width:min(12rem,calc(100vw - 10rem))}.mm-split{grid-template-columns:minmax(0,1fr)}.mm-code{border-right:0;border-bottom:1px solid var(--border)}}@media (max-width:32rem){.toolbar-feedback{position:absolute;top:calc(100% + var(--sp-1));right:var(--sp-3);z-index:var(--z-editor-menu);max-width:min(14rem,calc(100vw - var(--sp-6)));padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-sm)}.save-chip,.seg button{padding-inline:var(--sp-2)}.save-chip{min-width:32px;justify-content:center}.save-chip.failed .save-chip-text,.save-chip:not(.failed) .save-chip-text{display:none}.doc-toolbar-compact-tools .tb-compact-label{padding-inline:var(--sp-2)}}@media (pointer:coarse){.doc-toolbar .btn-icon,.doc-toolbar .tb-btn,.outline-close{min-width:44px;min-height:44px}.outline-item{min-height:44px}.gutter-btn{position:relative;width:28px;height:28px}.gutter-btn:before,.todo-box:before{content:"";position:absolute;inset:-8px}.todo-box{position:relative;width:28px;height:28px;margin-top:0}.callout-variant-button{position:relative;width:32px;height:32px}.callout-variant-button:before{content:"";position:absolute;inset:-6px}}@media (prefers-reduced-motion:reduce){.doc-stage *,.doc-stage :after,.doc-stage :before{transition-duration:0s!important;animation-duration:.15s!important}.doc-outline{transition:none}.doc-stage .spin{animation-duration:.9s!important}}@media print{.blk-gutter,.blk-menu-pop,.bubble,.doc-outline,.doc-toolbar,.sidebar,.slash-pop,.tabs,.toast,.topbar{display:none!important}.app,.content,.doc-canvas,.doc-main,.doc-stage,.main{display:block!important;height:auto!important;overflow:visible!important}.content,.content-pad{padding:0!important}.doc-page{max-width:100%;padding:0}}