@font-face{font-family:Excalifont;src:url(/fonts/Excalifont-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope Variable;src:url(/fonts/Manrope-latin.woff2) format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;src:url(/fonts/Manrope-latin-ext.woff2) format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;src:url(/fonts/Lora-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--canvas: #f6f4f1;--surface-base: #fffefc;--surface-raised: #ffffff;--surface-sunken: #faf8f4;--surface-hover: #f2eee7;--text-primary: #1f1d1a;--text-secondary: #6b655c;--text-tertiary: #6b6357;--text-disabled: #b8b0a2;--text-accent: #2a47b8;--text-on-accent: #ffffff;--text-on-cat: #ffffff;--border-subtle: #e9e4db;--border-default: #d8d1c5;--border-strong: #bbb2a4;--accent: #3457dc;--accent-hover: #2a47b8;--accent-active: #233a95;--accent-wash: #eef1fd;--status-success: #1f8a70;--status-success-tint: #e6f4f0;--status-success-text: #155f4d;--status-warning: #cf8f3e;--status-warning-tint: #faf1e3;--status-warning-text: #8a5d1f;--status-danger: #cf4827;--status-danger-tint: #fbeae4;--status-danger-text: #8f2f17;--status-neutral-tint: #f2eee7;--status-neutral-text: #5c5548;--fever-green: #2e7d32;--fever-green-ink: #2e7d32;--fever-yellow: #d4a500;--fever-yellow-ink: #7a5a00;--fever-yellow-edge: #a07c00;--fever-red: #d03b3b;--fever-red-ink: #c23434;--plan-buffer: #d9782b;--plan-buffer-ink: #9a4a0c;--plan-buffer-wash: #f8dcc4;--plan-buffer-on: #1f1d1a;--plan-buffer-bar: #ffffff;--plan-buffer-line: #1f1d1a;--cat-1: #3457dc;--cat-2: #1f8a70;--cat-3: #a5671e;--cat-4: #cf4827;--cat-5: #7048c8;--cat-6: #2274a5;--cat-7: #b0447c;--cat-8: #3a7d44;--focus-ring: rgba(52, 87, 220, .32);--ring: 0 0 0 3px var(--focus-ring);--scrim: rgba(24, 21, 16, .38);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 999px;--radius-circle: 50%;--shadow-card: 0 1px 2px rgba(31, 37, 34, .04);--shadow-pop: 0 8px 28px rgba(20, 24, 22, .14);--shadow-modal: 0 24px 70px rgba(20, 24, 22, .28);--hairline-inset: inset 0 0 0 1px rgba(31, 37, 34, .12);--drop-shadow-task: drop-shadow(0 1px 1px rgba(31, 37, 34, .07)) drop-shadow(0 3px 6px rgba(31, 37, 34, .08));--drop-shadow-task-hover: drop-shadow(0 2px 3px rgba(31, 37, 34, .08)) drop-shadow(0 7px 14px rgba(31, 37, 34, .11));--dur-fast: .12s;--dur-normal: .18s;--dur-move: .26s;--dur-moved-wash: 1.1s;--ease: cubic-bezier(.2, 0, 0, 1);--font-sans: "Manrope Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-micro: .6875rem;--font-tiny: .71875rem;--font-caption: .75rem;--font-meta: .78125rem;--font-body: .8125rem;--font-ui: .84375rem;--font-lead: .875rem;--font-title: .9375rem;--font-headline: 1.0625rem;--font-figure: 1.3125rem;--lh-tight: 1.25;--lh-body: 1.45;--lh-loose: 1.6;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 12px;--space-6: 16px;--z-sink: -1;--z-flat: 0;--z-lift-1: 1;--z-lift-2: 2;--z-lift-3: 3;--z-canvas-overlay: 5;--z-view: 7;--z-view-chrome: 8;--z-dock: 9;--z-tooltip: 10;--z-popover: 19;--z-header: 20;--z-flyout: 25;--z-laser: 28;--z-toast: 30;--z-overlay: 40;--z-comment: 45;--z-menu: 50;--z-dialog: 60;--z-guide: 65;--z-drop: 70;--z-rf-ghost: 999;--z-rf-node-hover: 1000;--z-rf-edge-edit: 1001;--z-rf-edge-labels: 1002;--panel-tab-w: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--thumb-bar-h: 0px;--canvas-ink: #1f1d1a;--grid-dot: #dcd6cb;--align-guide: #e64980;--flowboard-sep: #bbb2a4;--swatch-rainbow: conic-gradient(from 180deg, #d55e00, #e69f00, #009e73, #0072b2, #cc79a7, #d55e00);color-scheme:light}:root[data-theme=dark]{--canvas: #15120d;--surface-base: #1e1a13;--surface-raised: #252017;--surface-sunken: #1a1610;--surface-hover: #2c2719;--text-primary: #f4f0e7;--text-secondary: #b3ab9b;--text-tertiary: #a09788;--text-disabled: #5d564a;--text-accent: #93a6f0;--text-on-accent: #ffffff;--text-on-cat: #16130f;--border-subtle: #322d23;--border-default: #423c2f;--border-strong: #564f3f;--accent: #4a6aee;--accent-hover: #6580f3;--accent-active: #3d59d6;--accent-wash: #1d2746;--status-success: #2aa385;--status-success-tint: #12332b;--status-success-text: #63cdb1;--status-warning: #d99a4e;--status-warning-tint: #33270f;--status-warning-text: #e5b678;--status-danger: #d0441f;--status-danger-tint: #3a1710;--status-danger-text: #f0906f;--status-neutral-tint: #2c2719;--status-neutral-text: #b3ab9b;--fever-green: #3d9a45;--fever-green-ink: #5fbf67;--fever-yellow: #f2c230;--fever-yellow-ink: #f2c230;--fever-yellow-edge: #f2c230;--fever-red: #e5534b;--fever-red-ink: #f0837d;--plan-buffer: #e58a3d;--plan-buffer-ink: #f2b27a;--plan-buffer-wash: #4a2e17;--plan-buffer-on: #16130f;--plan-buffer-bar: #1e1a13;--plan-buffer-line: #f4f0e7;--cat-1: #5675f7;--cat-2: #2aa385;--cat-3: #b97a2a;--cat-4: #d95f3d;--cat-5: #8e6add;--cat-6: #3388bb;--cat-7: #c25c91;--cat-8: #4c9457;--focus-ring: rgba(99, 129, 244, .42);--scrim: rgba(0, 0, 0, .55);--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-pop: 0 8px 28px rgba(0, 0, 0, .4);--shadow-modal: 0 24px 70px rgba(0, 0, 0, .55);--hairline-inset: inset 0 0 0 1px rgba(255, 255, 255, .14);--drop-shadow-task: drop-shadow(0 1px 1px rgba(0, 0, 0, .3)) drop-shadow(0 3px 6px rgba(0, 0, 0, .4));--drop-shadow-task-hover: drop-shadow(0 2px 3px rgba(0, 0, 0, .35)) drop-shadow(0 7px 14px rgba(0, 0, 0, .5));--canvas-ink: #ddd6c9;--grid-dot: #332d23;--align-guide: #f783ac;--flowboard-sep: #564f3f;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}@supports (height: 100dvh){html{height:100dvh}}html,body{overscroll-behavior:none}body{font-family:var(--font-sans);font-size:var(--font-body);line-height:var(--lh-body);color:var(--text-primary);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}h1,h2,h3,h4{font-weight:var(--fw-semibold);line-height:var(--lh-tight)}body{user-select:none;-webkit-user-select:none}input,textarea,select,[contenteditable=true],[contenteditable=true] *,.comment-note-body,.selectable,.selectable *{user-select:text;-webkit-user-select:text}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select{font-size:max(16px,1em)}.task-points-editor,.task-field-input{font-size:inherit}}option,optgroup{background-color:var(--surface-raised);color:var(--text-primary)}option:disabled{color:var(--text-disabled)}a{color:var(--text-accent);text-decoration:none}a:hover{text-decoration:underline}::placeholder{color:var(--text-tertiary);opacity:1}::selection{background:var(--accent-wash)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:0}:root[data-focus-quiet] :focus-visible:not(input,textarea,select,[contenteditable]){outline-color:transparent!important}:root[data-focus-quiet] .dash-row:focus-visible,:root[data-focus-quiet] .dash-rw-row:focus-visible{box-shadow:none}.app-shell{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.app-body{position:relative;flex:1;min-height:0;display:flex}.app-center{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}.app-main{position:relative;flex:1;min-height:0;overflow:hidden;container:view / inline-size}.canvas-host{position:absolute;top:0;right:0;bottom:0;left:0}.canvas-host:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.react-flow{background:var(--surface-base)}.canvas-host--select .react-flow__pane,.canvas-host--pan.canvas-host--ctrl .react-flow__pane{cursor:default}.canvas-host--spacepan .react-flow__pane,.canvas-host--spacepan .react-flow__node{cursor:grab}.canvas-host--spacepan .react-flow__pane.dragging,.canvas-host--spacepan .react-flow__pane:active{cursor:grabbing}.canvas-host--laser,.canvas-host--laser .react-flow__pane,.canvas-host--laser .react-flow__node{cursor:none}.laser-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-laser);pointer-events:none}.app-shell.lasering .app-main,.app-shell.lasering .app-main *{user-select:none;-webkit-user-select:none}.ganttview-panel.is-laser{cursor:none}.ganttview-panel.is-laser .gv-grid{pointer-events:none}.canvas-host--laser .react-flow__node,.canvas-host--laser .react-flow__edge,.canvas-host--laser .react-flow__handle,.canvas-host--laser .react-flow__edgelabel-renderer,.canvas-host--draw .react-flow__node,.canvas-host--draw .react-flow__edge,.canvas-host--draw .react-flow__handle,.canvas-host--draw .react-flow__edgelabel-renderer,.canvas-host--spacepan .react-flow__node,.canvas-host--spacepan .react-flow__edge,.canvas-host--spacepan .react-flow__handle,.canvas-host--spacepan .react-flow__edgelabel-renderer,.canvas-host--laser .react-flow__node *,.canvas-host--draw .react-flow__node *,.canvas-host--spacepan .react-flow__node *{pointer-events:none!important}.canvas-host--laser .task-stub,.canvas-host--laser .edge-insert,.canvas-host--draw .task-stub,.canvas-host--draw .edge-insert{display:none}.canvas-host--laser .task-node--hover .task-shape,.canvas-host--draw .task-node--hover .task-shape{filter:none}.canvas-host--draw .react-flow__pane{cursor:crosshair}.canvas-host--tool-text .react-flow__pane{cursor:text}.canvas-host--tool-select .react-flow__pane{cursor:default}.canvas-host--rub-S .react-flow__pane{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='white' stroke-width='3'/%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='%23333' stroke-width='1.2'/%3E%3C/svg%3E") 7 7,crosshair}.canvas-host--rub-M .react-flow__pane{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='3'/%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%23333' stroke-width='1.2'/%3E%3C/svg%3E") 12 12,crosshair}.canvas-host--rub-L .react-flow__pane{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Ccircle cx='22' cy='22' r='20' fill='none' stroke='white' stroke-width='3'/%3E%3Ccircle cx='22' cy='22' r='20' fill='none' stroke='%23333' stroke-width='1.2'/%3E%3C/svg%3E") 22 22,crosshair}.drawing-layer{position:absolute;top:0;left:0;z-index:var(--z-sink);overflow:visible;pointer-events:none}.drawing-layer--front{z-index:var(--z-canvas-overlay)}.drawing-select-layer{position:absolute;top:0;left:0;z-index:var(--z-canvas-overlay);overflow:visible;pointer-events:none}.draw-text-editor{position:absolute;z-index:var(--z-canvas-overlay);pointer-events:all;margin:0;padding:0;background:transparent;border:1px dashed var(--accent);border-radius:var(--radius-sm);outline:none;resize:none;overflow:hidden;white-space:pre}.flowboard-layer{position:absolute;top:0;left:0;z-index:var(--z-sink);overflow:visible;pointer-events:none}.align-guide-layer{position:absolute;top:0;left:0;z-index:var(--z-canvas-overlay);overflow:visible;pointer-events:none}.align-guide-layer line{stroke:var(--align-guide);stroke-width:1}.sp-switch-knob{background:var(--text-on-accent);box-shadow:var(--shadow-card)}.sp-swatch--custom,.tb-swatch--custom{background:var(--swatch-rainbow)}.marquee-box{position:absolute;z-index:var(--z-canvas-overlay);pointer-events:none;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px dashed var(--accent)}@keyframes moved-ring{0%,30%{outline:2px solid var(--accent);outline-offset:2px}to{outline:2px solid transparent;outline-offset:2px}}@keyframes moved-row{0%,30%{outline:2px solid var(--accent);outline-offset:-2px}to{outline:2px solid transparent;outline-offset:-2px}}@keyframes moved-glow{0%,30%{filter:var(--drop-shadow-task) drop-shadow(0 0 1px var(--accent)) drop-shadow(0 0 4px var(--accent))}to{filter:var(--drop-shadow-task)}}@media print{.app-header,.hdr-ephemeral,.side-panel,.plan-panel,.filter-bar,.toast,.coach-hint,.zen-pill,.release-notice,[class*=wsp],.bc-bar{display:none!important}body,.app-shell,.app-main{background:#fff!important}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}@media(forced-colors:active){:root,:root[data-theme=dark]{--canvas: Canvas;--surface-base: Canvas;--surface-raised: Canvas;--surface-sunken: Canvas;--surface-hover: Canvas;--text-primary: CanvasText;--text-secondary: CanvasText;--text-tertiary: GrayText;--text-disabled: GrayText;--text-accent: LinkText;--text-on-accent: HighlightText;--text-on-cat: Canvas;--border-subtle: CanvasText;--border-default: CanvasText;--border-strong: CanvasText;--accent: Highlight;--accent-hover: Highlight;--accent-active: Highlight;--accent-wash: color-mix(in srgb, Highlight 25%, Canvas);--focus-ring: Highlight;--scrim: color-mix(in srgb, Canvas 75%, transparent);--status-success: CanvasText;--status-success-tint: Canvas;--status-success-text: CanvasText;--status-warning: CanvasText;--status-warning-tint: Canvas;--status-warning-text: CanvasText;--status-danger: LinkText;--status-danger-tint: Canvas;--status-danger-text: LinkText;--status-neutral-tint: Canvas;--status-neutral-text: CanvasText;--fever-green: CanvasText;--fever-green-ink: CanvasText;--fever-yellow: Canvas;--fever-yellow-ink: CanvasText;--fever-yellow-edge: CanvasText;--fever-red: LinkText;--fever-red-ink: LinkText;--plan-buffer: LinkText;--plan-buffer-ink: LinkText;--plan-buffer-wash: Canvas;--plan-buffer-on: Canvas;--plan-buffer-bar: Canvas;--plan-buffer-line: CanvasText;--canvas-ink: CanvasText;--grid-dot: GrayText;--align-guide: Highlight;--flowboard-sep: CanvasText;--shadow-card: none;--shadow-pop: none;--shadow-modal: none;--hairline-inset: inset 0 0 0 1px CanvasText;--drop-shadow-task: none;--drop-shadow-task-hover: none}:focus-visible{outline:2px solid Highlight;outline-offset:1px}.react-flow__node.selected,.gv-row.is-selected{outline:2px solid var(--accent);outline-offset:1px}.menu-item:focus-visible,.fb-row:focus-visible,.gv-cell.is-cursor,.dash-row:focus-visible,.dash-rw-row:focus-visible,.gv-input:focus,.sp-tag-input:focus{outline:2px solid var(--accent);outline-offset:-2px}[role=tab][aria-selected=true],.tb-view.is-active,.tb-mode.is-active,.exp-seg button.is-active,.menu-item.is-active{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}}@media(prefers-contrast:more){:root,:root[data-theme=dark]{--border-subtle: var(--border-strong);--border-default: var(--border-strong);--focus-ring: var(--accent)}:focus-visible{outline-width:3px;outline-offset:2px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);font-weight:var(--fw-semibold);font-size:var(--font-ui);line-height:var(--lh-tight);height:38px;padding:0 14px;border-radius:var(--radius-md);border:1px solid transparent;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn:disabled{cursor:not-allowed}.btn--sm{height:32px;padding:0 10px;font-size:var(--font-body)}.btn--xs{height:28px;padding:0 var(--space-4);font-size:var(--font-caption)}.btn--full{width:100%}.btn svg{flex:none}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.btn--primary:disabled{background:var(--surface-sunken);border-color:var(--border-subtle);color:var(--text-secondary)}.btn--secondary{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.btn--secondary:disabled{color:var(--text-disabled);background:var(--surface-sunken)}.btn--danger{background:var(--status-danger);border-color:var(--status-danger);color:var(--text-on-accent)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger),var(--text-primary) 12%)}.btn--danger:disabled{background:var(--border-subtle);border-color:var(--border-subtle);color:var(--text-disabled)}.btn--danger-outline{background:transparent;border-color:var(--status-danger);color:var(--status-danger-text)}.btn--danger-outline:hover:not(:disabled){background:var(--status-danger-tint)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn--ghost:disabled{color:var(--text-disabled)}.btn--tint{background:var(--accent-wash);border-color:transparent;color:var(--text-accent)}.btn--tint:hover:not(:disabled){background:color-mix(in srgb,var(--accent-wash),var(--accent) 12%)}.btn--tint:disabled{color:var(--text-disabled);background:var(--surface-sunken)}.iconbtn:after,.chip:after,.switch:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:max(100%,44px)}@media(hover:hover)and (pointer:fine){.iconbtn:after,.chip:after,.switch:after{display:none}}.iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.iconbtn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.iconbtn:disabled{color:var(--text-disabled);cursor:not-allowed}.iconbtn--sm{width:26px;height:26px;border-radius:var(--radius-sm)}.iconbtn--danger:hover:not(:disabled){background:var(--status-danger-tint);color:var(--status-danger-text)}.iconbtn.is-open,.iconbtn[aria-expanded=true],.iconbtn[aria-pressed=true]{background:var(--accent-wash);color:var(--text-accent)}.switch{position:relative;display:inline-flex;flex-shrink:0;width:36px;height:20px;padding:0;border:none;border-radius:var(--radius-pill);background:var(--border-default);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.switch[aria-checked=true]{background:var(--accent)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-circle);background:var(--text-on-accent);box-shadow:var(--shadow-card);transition:transform var(--dur-fast) var(--ease)}.switch[aria-checked=true] .switch__knob{transform:translate(16px)}.seg{position:relative;display:inline-flex;align-items:stretch;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);max-width:100%}.seg__item{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:26px;padding:0 10px;border-radius:var(--radius-sm);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.seg__item:not(:disabled):hover{color:var(--text-primary)}.seg__item:disabled{cursor:default}.seg__item--off{color:var(--text-disabled);cursor:not-allowed}.seg__item.is-active,.seg__item[aria-checked=true],.seg__item[aria-pressed=true]{color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-subtle)}.seg--full{display:flex;width:100%}.seg--full .seg__item{flex:1}.tabs{position:relative;display:flex;gap:var(--space-6);border-bottom:1px solid var(--border-subtle)}.tabs__tab{position:relative;flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-1) 10px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:var(--font-ui);color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.tabs__tab:hover{color:var(--text-primary)}.tabs__tab.is-active,.tabs__tab[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--accent)}.card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:clip}.card__header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.card__body{padding:var(--space-6) 18px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-caption);font-weight:var(--fw-semibold);line-height:1;padding:var(--space-2) 10px;border-radius:var(--radius-pill);white-space:nowrap}.badge--sm{font-size:var(--font-micro);padding:var(--space-1) var(--space-3)}.badge--success{background:var(--status-success-tint);color:var(--status-success-text)}.badge--warning{background:var(--status-warning-tint);color:var(--status-warning-text)}.badge--danger{background:var(--status-danger-tint);color:var(--status-danger-text)}.badge--neutral{background:var(--status-neutral-tint);color:var(--status-neutral-text)}.badge--accent{background:var(--accent-wash);color:var(--text-accent)}.chip{position:relative;display:inline-flex;align-items:center;gap:7px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-raised);font-size:var(--font-meta);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.chip:hover{border-color:var(--border-strong)}.chip--selected,.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-wash);color:var(--text-accent)}.chip--sm{padding:var(--space-1) var(--space-4);font-size:var(--font-micro)}.kbd,.help-popover kbd,.tpl-kbd-hint kbd,.coach-hint kbd,.walkthrough kbd{display:inline-block;font-family:var(--font-sans);font-size:var(--font-micro);font-weight:var(--fw-medium);line-height:1;padding:3px 5px;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-primary);white-space:nowrap}.sched-marks{display:inline-flex;align-items:center;gap:var(--space-2);flex:none}.sched-mark{display:inline-flex;align-items:center}.sched-mark.is-late{color:var(--status-danger-text)}.sched-mark.is-stale{color:var(--status-warning-text)}.sched-mark.is-missed{color:var(--status-danger)}.sched-mark.is-later{color:var(--status-warning-text)}.sched-mark.is-earlier{color:var(--status-success-text)}.sched-mark.is-new,.sched-mark.is-changed{color:var(--accent)}.num-stepper{flex:none;display:inline-flex;flex-direction:column;width:16px;height:22px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-raised);overflow:hidden}.num-step{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:0;padding:0;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.num-step+.num-step{border-top:1px solid var(--border-subtle)}.num-step:hover{background:var(--surface-hover);color:var(--text-primary)}.num-step:active{background:var(--accent-wash);color:var(--accent)}@media(any-pointer:coarse){.num-step{position:relative}.num-step:before{content:"";position:absolute;top:0;right:-10px;bottom:0;left:-10px}}.num-well{position:relative;display:inline-flex;align-items:center}.num-well>input{width:100%;min-width:0;padding-right:calc(var(--space-6) + var(--space-4));-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.num-well>input::-webkit-inner-spin-button,.num-well>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.num-well>.num-stepper{position:absolute;top:50%;right:3px;height:calc(100% - 6px);max-height:22px;transform:translateY(-50%);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease),visibility var(--dur-fast) var(--ease)}.num-well:hover>.num-stepper,.num-well:focus-within>.num-stepper{opacity:1;visibility:visible}@media(pointer:coarse){.num-well>.num-stepper{opacity:1;visibility:visible}}.tip{width:max-content;max-width:min(260px,calc(100vw - 16px));background:var(--text-primary);color:var(--canvas);font-family:var(--font-sans);font-size:var(--font-caption);font-weight:var(--fw-medium);line-height:1.35;padding:var(--space-3) 10px;border-radius:var(--radius-md);box-shadow:var(--shadow-pop);pointer-events:none}.hover-tip{position:fixed;z-index:var(--z-tooltip)}.hover-tip[hidden]{display:none}.empty-dashed,.empty-plain{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px var(--space-6);text-align:center;font-size:var(--font-ui);line-height:var(--lh-body);color:var(--text-tertiary)}.empty-dashed{border:1px dashed var(--border-default);border-radius:var(--radius-lg)}.empty-plain{align-items:flex-start;text-align:left}.section-title{display:flex;align-items:center;min-height:32px;font-size:var(--font-title);font-weight:var(--fw-semibold)}.toplabel{display:block;font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.faint{color:var(--text-tertiary)}.hint{font-size:var(--font-meta);line-height:var(--lh-body);color:var(--text-tertiary)}.notice-line{font-size:var(--font-meta);line-height:var(--lh-body);padding:var(--space-4) 10px;border-radius:var(--radius-md);background:var(--status-neutral-tint);color:var(--status-neutral-text)}.notice-line--warning{background:var(--status-warning-tint);color:var(--status-warning-text)}.notice-line--danger{background:var(--status-danger-tint);color:var(--status-danger-text)}@media(pointer:coarse){.btn{height:44px}.btn--sm,.btn--xs{height:40px}}.field{position:relative;--well-bg: var(--surface-raised)}.field__well{position:relative;height:56px;background:var(--well-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.field--multiline .field__well{height:auto;min-height:56px;cursor:text}.field--disabled.field--multiline .field__well{cursor:default}.field__well:hover{border-color:var(--border-strong)}.field__well:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.field--disabled,.field--readonly{--well-bg: var(--surface-sunken)}.field--disabled .field__well:hover,.field--readonly .field__well:hover{border-color:var(--border-default)}.field--disabled input,.field--disabled select,.field--disabled textarea{color:var(--text-disabled);cursor:not-allowed}.field--readonly input,.field--readonly select,.field--readonly textarea{color:var(--text-secondary)}.field__well input,.field__well select,.field__well .field-pick,.field__well textarea{width:100%;height:100%;padding:25px 36px 7px 16px;background:transparent;border:none;outline:none;box-shadow:none;font:inherit;font-size:var(--font-lead);color:var(--text-primary);border-radius:var(--radius-md)}.field__well input:focus-visible,.field__well select:focus-visible,.field__well .field-pick:focus-visible,.field__well textarea:focus-visible{outline:none}.field__well .field-pick{display:flex;align-items:center;text-align:left;cursor:pointer}.field__well textarea{height:auto;resize:vertical;min-height:30px;line-height:1.5;margin-top:26px;padding-top:0}.field__well select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-color:var(--well-bg)}.field__well input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.field__well input[type=number]::-webkit-inner-spin-button,.field__well input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field__well input::placeholder,.field__well textarea::placeholder{color:transparent}.field--floated .field__well input::placeholder,.field--floated .field__well textarea::placeholder{color:var(--text-tertiary)}.field__label{position:absolute;left:12px;padding:0 var(--space-2);top:50%;transform:translateY(-50%);transform-origin:left center;font-size:var(--font-lead);color:var(--text-tertiary);pointer-events:none;white-space:nowrap;--label-cap: calc(100% - 48px) ;max-width:var(--label-cap);overflow:hidden;text-overflow:ellipsis;transition:top var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.field--multiline .field__label{top:28px}.field--floated .field__label{top:6px;transform:translateY(0) scale(.74);color:var(--text-secondary);background:var(--well-bg);border-radius:var(--radius-sm);max-width:calc(var(--label-cap) / .74)}.field--floated:focus-within .field__label{color:var(--text-accent)}.field--disabled .field__label{color:var(--text-disabled)}.field__chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.field__error{margin-top:5px;font-size:var(--font-meta);color:var(--status-danger-text)}.field--required-empty .field__well:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);pointer-events:none;border-radius:var(--radius-md) 0 0 var(--radius-md)}.field--compact .field__well{height:44px}.field--compact.field--multiline .field__well{height:auto;min-height:44px}.field--compact .field__well input,.field--compact .field__well select,.field--compact .field__well textarea{padding:19px 32px 5px 12px;font-size:var(--font-body)}.field--compact .field__well textarea{margin-top:20px;padding-top:0}.field--compact .field__label{left:8px;font-size:var(--font-body)}.field--compact.field--multiline .field__label{top:22px}.field--compact.field--floated .field__label{top:4px;transform:translateY(0) scale(.85);max-width:calc(var(--label-cap) / .85)}.field--compact .field__chevron{right:10px}.os-theme-focus{--os-size: 12px;--os-padding-perpendicular: 3px;--os-padding-axis: 3px;--os-handle-border-radius: 999px;--os-handle-bg: var(--border-strong);--os-handle-bg-hover: var(--text-secondary);--os-handle-bg-active: var(--text-secondary);--os-handle-min-size: 24px;--os-handle-interactive-area-offset: 3px}.ctx-menu>[data-overlayscrollbars-contents]{display:flex;flex-direction:column;gap:1px}.settings-popover>[data-overlayscrollbars-contents]{display:flex;flex-direction:column;gap:18px}.hdr-ephemeral{flex:none;display:flex;align-items:center;gap:var(--space-4);padding:7px var(--space-5);font-size:var(--font-body);color:var(--status-danger-text);background:var(--status-danger-tint);border-bottom:1px solid color-mix(in srgb,var(--status-danger) 40%,var(--border-subtle))}.hdr-ephemeral-mark{display:inline-flex;flex:none;color:var(--status-danger)}.hdr-ephemeral-btn{flex:none;margin-left:auto}.hdr-analysis{flex:none;display:inline-flex;align-items:stretch;min-height:1.5rem;border:1px solid color-mix(in srgb,var(--status-warning) 45%,var(--border-subtle));border-radius:var(--radius-pill);background:var(--status-warning-tint);color:var(--status-warning-text);font-size:var(--font-caption);font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden}.hdr-analysis-day{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-width:22ch;padding:0 var(--space-3);font-variant-numeric:tabular-nums;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.hdr-analysis-day:hover,body.is-scrubbing-analysis .hdr-analysis-day{background:color-mix(in srgb,var(--status-warning) 16%,transparent)}.hdr-analysis-grip{flex:none;opacity:.55}.hdr-analysis-day:hover .hdr-analysis-grip,body.is-scrubbing-analysis .hdr-analysis-grip{opacity:1}.hdr-analysis-label{font-weight:var(--fw-medium);opacity:.85}.hdr-analysis-step,.hdr-analysis-x{display:inline-flex;align-items:center;justify-content:center;border:none;border-left:1px solid color-mix(in srgb,var(--status-warning) 30%,transparent);background:transparent;color:inherit;font:inherit;cursor:pointer}.hdr-analysis-step{padding:0 var(--space-3);font-size:1.15em;line-height:1}.hdr-analysis-x{padding:0 var(--space-3);font-size:1.1em;line-height:1}.hdr-analysis-step:hover,.hdr-analysis-x:hover{background:color-mix(in srgb,var(--status-warning) 16%,transparent)}.hdr-analysis-step:focus-visible,.hdr-analysis-x:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hdr-analysis.is-real{background:var(--surface-base)}button.hdr-save--action{border:none;background:transparent;padding:0;cursor:pointer}.app-header{position:relative;z-index:var(--z-header);flex:none;display:flex;align-items:center;gap:var(--space-4);height:2.875rem;padding:0 var(--space-4);background:var(--surface-base);border-bottom:1px solid var(--border-subtle);--hdr-name-lh: 26px}.hdr-door{flex:0 1 auto;display:inline-flex;align-items:center;gap:var(--space-3);min-width:0;max-width:clamp(160px,26vw,340px);height:38px;padding:0 var(--space-3) 0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease)}button.hdr-door:hover,.hdr-door.is-open{background:var(--surface-hover)}.hdr-door-group{display:inline-flex;align-items:center;min-width:0}.hdr-rename{opacity:0;transition:opacity var(--dur-fast) var(--ease)}.hdr-door-group:hover .hdr-rename,.hdr-rename:focus-visible,.hdr-door-group:focus-within .hdr-rename{opacity:1}.hdr-door.is-renaming{background:var(--surface-hover)}.hdr-door-input{min-width:0;width:100%;padding:0 var(--space-1);margin:0 calc(-1 * var(--space-1));font:inherit;font-size:var(--font-title);font-weight:var(--fw-semibold);letter-spacing:-.01em;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none}.hdr-door--inert{cursor:default}.hdr-door-mark{flex:none;display:inline-flex}.hdr-door-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.hdr-door-ws,.hdr-door-plan{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hdr-door-ws{font-size:var(--font-micro);font-weight:var(--fw-medium);color:var(--text-secondary)}.hdr-door-plan{font-size:var(--font-title);font-weight:var(--fw-semibold);letter-spacing:-.01em}.hdr-door-caret{flex:none;display:inline-flex;color:var(--text-tertiary)}.door-menu-plans{max-height:min(45vh,320px);overflow-y:auto}.hdr-chip{flex:none;display:inline-flex;align-items:center;gap:var(--space-3);height:28px;padding:0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--font-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.hdr-chip:hover{border-color:var(--border-strong);background:var(--surface-hover)}.hdr-chip.is-open{border-color:var(--accent);background:var(--accent-wash);color:var(--text-accent)}.hdr-chip-sep{width:1px;height:12px;background:var(--border-default)}.hdr-chip-pct{font-weight:var(--fw-medium);color:var(--text-secondary)}.hdr-chip.is-open .hdr-chip-pct{color:inherit}.hdr-chip-chance{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.hdr-chip-chance.is-danger{color:var(--status-danger-text)}.hdr-chip-chance.is-warning{color:var(--status-warning-text)}.hdr-chip-chance.is-success{color:var(--status-success-text)}.hdr-plan-name{display:inline-block;box-sizing:border-box;max-width:clamp(120px,22vw,360px);height:28px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;font:inherit;font-size:var(--font-title);font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:var(--hdr-name-lh);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;transition:border-color var(--dur-fast) var(--ease)}.hdr-search{position:relative;flex:1;min-width:60px;height:100%}.hdr-search--icon{display:flex;align-items:center;justify-content:flex-end;min-width:0}.hdr-right{flex:none;display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.hdr-account{flex:none}.hdr-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-circle);background:var(--accent);color:var(--text-on-accent);font-size:var(--font-micro);font-weight:var(--fw-semibold);line-height:1;letter-spacing:.02em}.hdr-avatar--none{background:transparent;color:var(--text-tertiary);box-shadow:inset 0 0 0 1px var(--border-strong)}.hdr-account:hover .hdr-avatar--none,.hdr-account.is-open .hdr-avatar--none{color:inherit}.hdr-avatar-dot{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:var(--radius-circle);background:var(--status-danger);box-shadow:0 0 0 2px var(--surface-base)}.hdr-account-menu{min-width:240px}.hdr-account-who{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 10px var(--space-2)}.hdr-account-name{font-size:var(--font-ui);font-weight:var(--fw-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hdr-account-sub{font-size:var(--font-caption);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-tab{position:absolute;top:50%;transform:translateY(-50%);z-index:var(--z-view-chrome);display:inline-flex;align-items:center;justify-content:center;width:var(--panel-tab-w);height:34px;padding:0;border:1px solid var(--border-subtle);background:var(--surface-raised);color:var(--text-tertiary);box-shadow:var(--shadow-pop);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.panel-tab--right{right:0;border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md)}.panel-tab:hover{background:var(--surface-hover);color:var(--text-primary)}.panel-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.panel-grip-slot{position:relative;flex:none;width:0;height:100%;z-index:calc(var(--z-dock) + 1)}.panel-grip{position:absolute;top:0;bottom:0;width:7px;cursor:col-resize;touch-action:none;outline:none}.panel-grip-slot--workspace>.panel-grip{left:-7px}.panel-grip-slot--rail>.panel-grip{left:0}.panel-grip:after{content:"";position:absolute;top:0;bottom:0;width:2px;background:transparent;transition:background var(--dur-fast) var(--ease)}.panel-grip-slot--workspace>.panel-grip:after{right:0}.panel-grip-slot--rail>.panel-grip:after{left:0}.panel-grip:hover:after,.panel-grip:focus-visible:after,body.is-resizing-panel .panel-grip:after{background:var(--accent)}.panel-grip:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}body.is-resizing-panel{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-panel iframe{pointer-events:none}@media(any-pointer:coarse){.panel-grip{width:16px}.panel-grip-slot--workspace>.panel-grip{left:-16px}}@media(max-width:767px){.panel-grip-slot{display:none}}:root[data-layout=phone] .panel-grip-slot{display:none}.panel-tab--right>svg{margin-right:-1px}.hdr-history{display:flex;align-items:center;gap:var(--space-2)}.toolbar{flex:none;display:flex;align-items:center;gap:var(--space-2)}.view-legend{position:absolute;top:var(--space-3);left:var(--space-5);z-index:var(--z-view-chrome);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);max-width:min(60%,520px);pointer-events:none;-webkit-user-select:none;user-select:none}.view-legend-item{display:inline-flex;align-items:center;gap:5px;max-width:180px;padding:var(--space-1) 7px var(--space-1) 5px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-raised) 86%,transparent);box-shadow:inset 0 0 0 1px var(--border-default);font-size:var(--font-micro);font-weight:var(--fw-medium);line-height:1.4;color:var(--text-primary)}.view-legend-swatch{flex:none;width:10px;height:10px;border-radius:3px;box-shadow:0 0 0 1px var(--border-strong)}.view-legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zen-pill{position:absolute;top:var(--space-5);left:var(--space-5);z-index:var(--z-header);display:flex;align-items:center;padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.tb-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border-radius:var(--radius-md);color:var(--text-tertiary);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tb-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-hover)}.tb-btn:disabled{color:var(--text-disabled);cursor:default}.tb-btn.is-open{color:var(--text-accent);background:var(--accent-wash)}.tb-zoom{width:2.75rem;height:1.875rem;border-radius:var(--radius-md);font-size:var(--font-caption);font-weight:var(--fw-medium);color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.tb-zoom:hover,.tb-zoom.is-open{color:var(--text-primary);background:var(--surface-hover)}.tb-split{position:relative;display:inline-flex;align-items:center}.tb-split.is-held{visibility:hidden}.tb-split-caret{width:14px;margin-left:-2px}.tb-split-caret:before,.tb-swatch:before,.toast-x:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.tb-swatch:before{top:-4px;right:-4px;bottom:-4px;left:-4px}.tb-views{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.tb-view{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);height:1.625rem;padding:0 10px;border-radius:var(--radius-sm);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.tb-view-icon{display:inline-flex;flex:none}.tb-view-icon svg{display:block}.tb-view:hover:not(.is-active){color:var(--text-primary)}.tb-view.is-active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-subtle)}.tb-view.is-disabled{color:var(--text-disabled);cursor:not-allowed}.tb-view.is-disabled:hover{color:var(--text-disabled)}@media(max-width:900px){.tb-view{gap:0;padding:0 7px}.tb-view-label{display:none}.tb-view .tb-num{right:1px}}.tb-modes{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.tb-mode{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.625rem;border-radius:var(--radius-sm);color:var(--text-secondary);transition:color var(--dur-fast) var(--ease)}.tb-mode:hover:not(.is-active){color:var(--text-primary)}.tb-mode.is-active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-subtle)}.tb-num{position:absolute;right:2px;bottom:0;font-size:var(--font-micro);line-height:1;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--text-secondary);pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.tb-view .tb-num{right:3px;bottom:2px}.tb-btn:hover .tb-num,.tb-mode:hover .tb-num,.tb-view:hover .tb-num,.tb-btn:focus-visible .tb-num,.tb-mode:focus-visible .tb-num,.tb-view:focus-visible .tb-num,:root.alt-held .tb-num{opacity:1}.tb-menu--left{right:auto;left:0;min-width:150px}.tb-divider{width:1px;height:16px;margin:0 var(--space-2);background:var(--border-subtle);flex-shrink:0}.tb-file{display:none}.tb-more{position:relative;display:inline-flex}.tb-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-flyout);min-width:210px;padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:1px}.tb-menu--flyout{position:fixed;right:auto;z-index:var(--z-menu)}.tb-menu--up{top:auto;bottom:calc(100% + 6px)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 10px;border-radius:var(--radius-md);font-size:var(--font-body);color:var(--text-primary);text-align:left;transition:background var(--dur-fast) var(--ease)}.menu-item--described{height:auto;min-height:32px;padding-top:5px;padding-bottom:var(--space-3);align-items:flex-start}.menu-item--described>svg{margin-top:var(--space-1)}.menu-item-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.menu-item-desc{font-size:var(--font-micro);line-height:1.35;color:var(--text-tertiary);white-space:normal}.menu-item svg{flex-shrink:0;color:var(--text-tertiary)}.menu-item:hover:not(:disabled){background:var(--surface-hover)}.menu-item:focus-visible{outline:none;background:var(--surface-hover);box-shadow:inset 0 0 0 1.5px var(--accent)}.menu-item:disabled{color:var(--text-disabled);cursor:default}.menu-item:disabled svg,.menu-item:disabled .menu-item-shortcut,.menu-item:disabled .menu-item-desc{color:var(--text-disabled)}.menu-item.is-active{background:var(--surface-hover)}.menu-item.is-active svg{color:var(--accent)}.menu-item-check{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:12px;color:var(--accent)}:is(.tb-menu,.ctx-menu,.ctx-submenu):has(.menu-item--checkable) .menu-item:not(.menu-item--checkable){padding-left:32px}:is(.tb-menu,.ctx-menu,.ctx-submenu):has(.menu-item--checkable) .menu-heading{padding-left:32px}:is(.tb-menu,.ctx-submenu):has(.menu-item--checkable){min-width:232px}.ctx-menu:has(.menu-item--checkable){min-width:242px}.menu-item--checkable.is-active{background:none}.menu-item--checkable.is-active:hover:not(:disabled),.menu-item--checkable.is-active:focus-visible{background:var(--surface-hover)}.menu-item--danger{color:var(--status-danger-text)}.menu-item--danger svg{color:var(--status-danger-text)}.menu-item--danger:hover:not(:disabled){background:var(--status-danger-tint)}.menu-item--sub{padding-left:32px}.menu-item-label{flex:1;min-width:0}.menu-item-shortcut{flex-shrink:0;font-size:var(--font-micro);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.menu-divider{height:1px;margin:var(--space-2) var(--space-3);background:var(--border-subtle)}.menu-divider:first-child,.menu-divider+.menu-divider,.menu-divider:not(:has(~:not(.menu-divider))){display:none}.menu-heading{padding:var(--space-3) 10px var(--space-1);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.tb-size-dot{display:block;border-radius:var(--radius-circle);background:currentColor}.tb-size-dot--ring{background:none;border:1.5px solid currentColor}.tb-swatches{display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-1)}.tb-swatch{position:relative;width:16px;height:16px;border-radius:5px;box-shadow:var(--hairline-inset);flex:none}.tb-swatch.is-active{box-shadow:var(--hairline-inset),0 0 0 1px var(--surface-base),0 0 0 2px var(--accent)}.tb-swatch--custom{position:relative;padding:0;cursor:pointer}.tb-swatch-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:none;opacity:0;cursor:pointer}.tb-color-name{font-size:var(--font-micro);font-weight:var(--fw-semibold);color:var(--text-secondary);white-space:nowrap;max-width:88px;overflow:hidden;text-overflow:ellipsis;padding:0 var(--space-1)}.tb-select{display:inline-flex;align-items:center;gap:var(--space-2);height:1.875rem;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:var(--font-caption);white-space:nowrap;cursor:pointer}.tb-select:hover{border-color:var(--border-strong)}.tb-select:focus-visible{border-color:var(--accent)}.pick-value{min-width:0;overflow:hidden;text-overflow:ellipsis}.pick-caret{flex-shrink:0;margin-left:auto;color:var(--text-tertiary)}.tb-menu--pick{z-index:calc(var(--z-dialog) + 1)}.ctx-menu{position:fixed;z-index:var(--z-menu);min-width:220px;max-width:280px;max-height:calc(100vh - 23px);overflow-y:auto;overflow-x:hidden;padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);animation:ctx-in var(--dur-fast) var(--ease) both}@keyframes ctx-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.ctx-submenu{position:fixed;z-index:calc(var(--z-menu) + 1);min-width:210px;max-width:280px;padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:1px;animation:ctx-in var(--dur-fast) var(--ease) both}.ctx-caret{flex-shrink:0;margin-left:var(--space-2);font-size:16px;line-height:1;color:var(--text-tertiary)}.stg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-popover) - 1);background:transparent}.settings-popover{position:absolute;top:56px;right:var(--space-5);z-index:var(--z-popover);width:min(320px,calc(100vw - 24px));max-height:calc(100% - 68px);overflow-y:auto;padding:14px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.stg-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:-2px 0 var(--space-4)}.stg-head-title{margin:0;min-width:0;font-size:var(--font-title);font-weight:var(--fw-semibold);color:var(--text-primary)}.stg-head-meta{margin-right:auto;min-width:0;color:var(--text-tertiary);font-size:var(--font-micro);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stg-head-close{margin:-4px -6px -4px 0}.stg-tabs{position:sticky;top:-14px;z-index:var(--z-lift-1);display:flex;gap:var(--space-6);padding:0 14px;margin:-14px -14px -4px;background:var(--surface-raised);border-bottom:1px solid var(--border-subtle)}.stg-pct{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-meta);color:var(--text-secondary)}.stg-pct .pj-num{width:4.2rem}.stg-panel{display:flex;flex-direction:column;gap:18px}.stg-tab{position:relative;flex:none;padding:10px var(--space-1) 9px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:var(--font-ui);color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.stg-tab:hover:not(.is-active){color:var(--text-primary)}.stg-tab.is-active{color:var(--text-primary);border-bottom-color:var(--accent)}.theme-gallery-wrap{display:flex;flex-direction:column;gap:10px}.theme-gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.theme-card{display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken)}.theme-card.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-card-select{display:block;width:100%;padding:var(--space-3) var(--space-3) var(--space-1);background:transparent;border:none;cursor:pointer}.theme-preview{display:block;width:100%;height:auto}.theme-card-foot{position:relative;display:flex;align-items:center;padding:var(--space-1) var(--space-2) var(--space-2)}.theme-card-name{flex:1;min-width:0;height:22px;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:var(--font-caption);font-weight:var(--fw-medium);text-overflow:ellipsis}.theme-card-name:hover{border-color:var(--border-default)}.theme-card-name:focus{background:var(--surface-raised);border-color:var(--accent);outline:none}.theme-card-actions{position:absolute;right:var(--space-2);top:var(--space-1);bottom:var(--space-2);display:flex;align-items:center;gap:1px;padding-left:10px;background:linear-gradient(to right,transparent,var(--surface-sunken) 10px);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.theme-card:hover .theme-card-actions,.theme-card:focus-within .theme-card-actions,.theme-card.is-active .theme-card-actions{opacity:1}@media(pointer:coarse){.theme-card-actions{opacity:1}}.theme-card-act{display:grid;place-items:center;width:22px;height:22px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer}.theme-card-act:hover{background:var(--surface-raised);color:var(--text-primary)}.theme-card-act--danger:hover{color:var(--status-danger-text);background:var(--status-danger-tint)}.theme-gallery-buttons{display:flex;gap:var(--space-3)}.stg-btn{gap:var(--space-2)}.modal-shell.theme-editor{max-height:80vh;padding:0;gap:0;overflow:hidden}.theme-editor-head{flex:none;display:flex;align-items:center;gap:var(--space-4);padding:10px 10px 10px var(--space-5);border-bottom:1px solid var(--border-subtle)}.theme-editor-preview{flex:none;width:74px}.theme-editor-preview .theme-preview{display:block;width:100%;height:auto}.theme-editor-name{flex:1;min-width:0;height:1.75rem;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:var(--font-lead);font-weight:var(--fw-semibold)}.theme-editor-name:hover{border-color:var(--border-default)}.theme-editor-name:focus{background:var(--surface-raised);border-color:var(--accent);outline:none}.theme-editor-icon{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);cursor:pointer}.theme-editor-icon:hover{background:var(--surface-hover);color:var(--text-primary)}.theme-editor-body{padding:var(--space-2) var(--space-5) var(--space-5)}.theme-editor-body>.sp-group>.sp-group-header .sp-group-title{font-weight:var(--fw-semibold)}.theme-editor-body .sp-group .sp-group .sp-group-body{padding-left:var(--space-4)}.theme-editor-body .sp-toggle-row{padding:3px 0}.theme-editor-body .pj-num{width:72px;flex:none}.theme-editor-pair{display:inline-flex;align-items:center;gap:var(--space-1)}.theme-editor-pair .pj-num{width:64px}.theme-editor-times{color:var(--text-tertiary);font-size:var(--font-caption)}.exp-row{display:flex;flex-direction:column;gap:var(--space-3)}.exp-row-label{font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.exp-seg{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.exp-seg button{flex:1;height:1.625rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.exp-seg button:hover:not(:disabled):not(.is-active){color:var(--text-primary)}.exp-seg button.is-active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-subtle)}.exp-seg button:disabled{color:var(--text-disabled);cursor:default}.exp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.exp-tile{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-height:52px;padding:var(--space-4) var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;cursor:pointer}.exp-tile:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.exp-tile:focus-visible{outline:3px solid var(--focus-ring);outline-offset:0}.exp-tile:disabled{cursor:default;opacity:.6}.exp-tile-name{font-size:var(--font-body);font-weight:var(--fw-semibold);color:var(--text-primary)}.exp-tile-kind{font-size:var(--font-micro);color:var(--text-secondary)}.exp-more{align-self:flex-start;padding:var(--space-2) 0;font-size:var(--font-caption);font-weight:var(--fw-medium);color:var(--text-accent)}.exp-more:hover{text-decoration:underline}.exp-action{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:var(--space-4) var(--space-5);text-align:left;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.exp-action:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.exp-action:disabled{cursor:default;background:var(--surface-sunken)}.exp-action:disabled .exp-action-label,.exp-action:disabled .exp-action-hint{color:var(--text-disabled)}.exp-action-label{font-size:var(--font-ui);font-weight:var(--fw-semibold);color:var(--text-primary)}.exp-action-hint{font-size:var(--font-meta);color:var(--text-tertiary)}.stg-section{display:flex;flex-direction:column;gap:var(--space-1)}.stg-heading{margin:0 0 var(--space-3);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.stg-hint{margin:var(--space-2) 0 0;font-size:var(--font-meta);line-height:var(--lh-body);color:var(--text-tertiary)}.stg-hint--lead{margin:-4px 0 var(--space-4)}.stg-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:1.75rem;font-size:var(--font-body)}.stg-label{flex:1;min-width:0}.help-popover{position:absolute;top:8vh;left:50%;transform:translate(-50%);z-index:var(--z-popover);width:min(92vw,640px);max-height:84vh;overflow-y:auto;padding:14px 18px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.help-tabs{display:flex;gap:var(--space-6);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.help-tab{position:relative;flex:none;padding:var(--space-4) var(--space-1) 9px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:var(--font-ui);color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.help-tab:hover:not(.is-active){color:var(--text-primary)}.help-tab.is-active{color:var(--text-primary);border-bottom-color:var(--accent)}.help-section{margin-bottom:14px}.help-section:last-child{margin-bottom:0}.help-heading{margin:0 0 var(--space-2);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.help-subheading{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-caption);font-weight:var(--fw-regular);color:var(--text-tertiary)}.help-section>div:first-of-type>.help-subheading{margin-top:0}.help-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:1.625rem;font-size:var(--font-body)}.help-keys{display:flex;align-items:center;gap:3px;flex:none}.help-search{width:100%;height:32px;padding:0 10px;margin-bottom:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:var(--font-body)}.help-search::placeholder{color:var(--text-tertiary)}.help-search:hover{border-color:var(--border-strong)}.help-search:focus{outline:none;border-color:var(--accent)}.help-empty{margin:var(--space-2) 0 0;font-size:var(--font-body);color:var(--text-tertiary)}.help-modekeys{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.help-mk-row{display:grid;grid-template-columns:40px 1fr 1fr;gap:var(--space-4);align-items:center;padding:5px var(--space-4);font-size:var(--font-caption);color:var(--text-primary)}.help-mk-row+.help-mk-row{border-top:1px solid var(--border-subtle)}.help-mk-head{font-size:var(--font-micro);font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--surface-sunken)}.help-tip+.help-tip{margin-top:var(--space-6)}.help-tip-title{margin:0 0 var(--space-2);font-size:var(--font-body);font-weight:var(--fw-semibold);color:var(--text-primary)}.help-guide p{margin:0 0 var(--space-3);font-size:var(--font-body);line-height:1.55;color:var(--text-secondary)}.help-guide p:last-child{margin-bottom:0}.help-guide strong{font-weight:var(--fw-semibold)}.tpl-gallery{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-view) + 1);display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;animation:tpl-gallery-fade .4s var(--ease) both}@keyframes tpl-gallery-fade{0%{opacity:0}to{opacity:1}}.tpl-panel{position:relative;pointer-events:auto;width:min(92vw,760px);max-height:100%;overflow-y:auto;padding:20px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);text-align:left}.tpl-close{position:absolute;top:10px;right:10px}.tpl-panel--greeting{background:none;border-color:transparent;box-shadow:none;pointer-events:none}.tpl-panel--greeting .tpl-card-action,.tpl-panel--greeting .tpl-plan,.tpl-panel--greeting .tpl-plan-filter{pointer-events:auto}.tpl-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.tpl-title{margin:0;font-size:var(--font-headline);font-weight:var(--fw-semibold);color:var(--text-primary)}.tpl-look{display:flex;gap:var(--space-2)}.tpl-look-option{display:inline-flex;padding:2px;border:1px solid transparent;border-radius:var(--radius-md);pointer-events:auto}.tpl-look-option:hover{border-color:var(--border-strong)}.tpl-look-option.is-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tpl-look-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.tpl-look-card{display:inline-flex;align-items:center;justify-content:center;width:34px;height:24px;border-radius:var(--radius-sm);font-size:var(--font-caption);line-height:1}.tpl-blank{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border:0;border-radius:var(--radius-lg);background:var(--accent);color:var(--text-on-accent);font-size:var(--font-title);font-weight:var(--fw-semibold);text-align:left;pointer-events:auto;transition:background var(--dur-fast) var(--ease)}.tpl-blank:hover{background:var(--accent-hover)}.tpl-blank:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.tpl-blank-glyph{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--text-on-accent) 18%,transparent)}.tpl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:2px var(--space-5)}.tpl-row{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-body);color:var(--text-primary);text-align:left;pointer-events:auto}.tpl-row:hover{background:var(--surface-hover)}.tpl-row[aria-expanded=true]{color:var(--text-accent)}.tpl-row-glyph{display:flex;flex:none;color:var(--tpl-look-ink, var(--text-secondary))}.tpl-row-glyph svg{width:16px;height:16px}.tpl-row-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tpl-tours-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-6);margin-top:var(--space-6)}.tpl-tour-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--font-body);font-weight:var(--fw-medium);color:var(--text-accent);pointer-events:auto}.tpl-tour-link:hover{text-decoration:underline}.tpl-tour-glyph{display:inline-flex}.tpl-feature{display:flex;align-items:center;gap:var(--space-5);width:100%;margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-wash);box-shadow:var(--shadow-card);text-align:left;transition:box-shadow var(--dur-fast) var(--ease)}.tpl-feature:hover{box-shadow:var(--shadow-pop)}.tpl-feature:hover .tpl-feature-go{background:var(--accent-hover);border-color:var(--accent-hover)}.tpl-feature-text{display:flex;flex:1;flex-direction:column;gap:var(--space-1);min-width:0}.tpl-feature-name{font-size:var(--font-title);font-weight:var(--fw-semibold);color:var(--text-primary)}.tpl-feature-blurb{font-size:var(--font-caption);line-height:var(--lh-body);color:var(--text-secondary)}.tpl-feature-go{flex:none;pointer-events:none}.tpl-slot{position:relative;display:flex}.tpl-slot>.tpl-row{flex:1;min-width:0}.tpl-card-actions{position:absolute;top:50%;right:var(--space-2);display:flex;gap:2px;transform:translateY(-50%);border-radius:var(--radius-sm);background:var(--surface-hover);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.tpl-slot:hover .tpl-card-actions,.tpl-card-actions:focus-within{opacity:1}.tpl-card-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-tertiary)}.tpl-card-action:hover{color:var(--text-primary);background:var(--surface-hover)}.tpl-card-action--danger:hover{color:var(--status-danger-text);background:var(--status-danger-tint)}@media(pointer:coarse){.tpl-card-actions{opacity:1}}@media(any-pointer:coarse){.tpl-card-action{position:relative}.tpl-card-action:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}}.tpl-rename{width:100%;min-width:0;padding:1px var(--space-2);font:inherit;font-size:var(--font-ui);font-weight:var(--fw-semibold);text-align:left;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none}.tpl-plan-filter{width:min(100%,280px);margin:0 0 var(--space-3)}.tpl-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--space-2) var(--space-3)}.tpl-plans--all{max-height:min(40vh,260px);overflow-y:auto;padding:1px}.tpl-plan{display:flex;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-2) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.tpl-plan:hover{border-color:var(--border-strong);background:var(--surface-hover)}.tpl-plan-glyph{display:flex;flex:none;color:var(--text-tertiary)}.tpl-plan-text{display:flex;flex-direction:column;gap:1px;min-width:0}.tpl-plan-name{overflow:hidden;font-size:var(--font-ui);font-weight:var(--fw-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis}.tpl-plan-note{margin:var(--space-3) 0 0;font-size:var(--font-meta);color:var(--text-tertiary)}.tpl-kbd-hint{display:inline-flex;align-items:center;gap:var(--space-2)}.coach-hint{position:absolute;bottom:calc(var(--space-6) + var(--view-toolbar-h, 0px));left:50%;transform:translate(-50%);z-index:var(--z-canvas-overlay);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-raised);box-shadow:var(--shadow-pop);font-size:var(--font-caption);color:var(--text-secondary);pointer-events:none;white-space:nowrap;animation:tpl-gallery-fade .4s var(--ease) both}.coach-hint.is-over-view{z-index:var(--z-view-chrome)}.coach-hint-sep{opacity:.5}.app-shell.has-toast .coach-hint{bottom:calc(76px + var(--view-toolbar-h, 0px))}.surface-fallback,.surface-notice{position:absolute;bottom:calc(var(--space-6) + var(--view-toolbar-h, 0px));left:50%;transform:translate(-50%);z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-4);max-width:min(420px,calc(100% - 32px));padding:var(--space-3) var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--font-caption);line-height:var(--lh-body);white-space:nowrap;box-shadow:var(--shadow-pop);pointer-events:none}.surface-fallback{animation:tpl-gallery-fade var(--dur-normal) var(--ease) .4s both}.view-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-view);background:var(--surface-base)}.surface-notice{color:var(--text-primary);white-space:normal;pointer-events:auto}.surface-notice-action{flex:none}.toast{position:absolute;bottom:calc(20px + var(--view-toolbar-h, 0px));left:50%;z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-5);max-width:min(480px,calc(100vw - 32px));padding:10px 10px 10px var(--space-6);border:1px solid var(--border-default);border-left:3px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text-primary);font-size:var(--font-ui);line-height:var(--lh-body);box-shadow:var(--shadow-pop);cursor:pointer;animation:toast-in var(--dur-normal) var(--ease) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.toast-action{flex:none}.toast-x{position:relative;flex:none;width:22px;height:22px;margin-left:-2px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font:inherit;font-size:15px;line-height:1;cursor:pointer}.toast-x:hover,.toast-x:focus-visible{color:var(--text-primary);background:var(--surface-hover)}.hdr-save{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:var(--space-1);align-self:center;flex:none;color:var(--text-tertiary)}.hdr-save svg{width:12px;height:12px}.hdr-save--saving{color:var(--status-warning);animation:hdr-save-pulse 1.1s ease-in-out infinite}.hdr-save--error{color:var(--status-danger)}.hdr-save--offline{color:var(--text-tertiary);opacity:1}@keyframes hdr-save-pulse{0%,to{opacity:.35}50%{opacity:.85}}.zen-exit-hint{position:absolute;top:20px;left:50%;z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:10px 18px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text-primary);font-size:var(--font-caption);box-shadow:var(--shadow-pop);animation:zen-hint-in var(--dur-normal) var(--ease) both}@keyframes zen-hint-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.zen-exit-hint kbd{display:inline-block;padding:1px var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border-default);font:inherit;font-weight:var(--fw-semibold)}.zen-exit-hint-track{width:100%;height:3px;border-radius:2px;overflow:hidden;background:var(--border-subtle)}.zen-exit-hint-fill{display:block;width:100%;height:100%;border-radius:2px;background:var(--accent);transform-origin:left center;animation:zen-hint-fill var(--zen-hold-ms, 1s) linear both}@keyframes zen-hint-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.modal-shell.process-picker{width:min(92vw,360px);max-height:64vh;padding:0;gap:0;overflow:hidden}.process-picker-head{flex:none;display:flex;align-items:center;gap:var(--space-4);padding:14px 14px 10px 18px;color:var(--text-primary)}.process-picker-title{flex:1;font-size:var(--font-title);font-weight:var(--fw-semibold)}.process-picker-close{flex:none}.process-picker-search{flex:none;height:32px;margin:0 14px var(--space-4);padding:0 10px;font-size:var(--font-body);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary)}.process-picker-search:hover{border-color:var(--border-strong)}.process-picker-search:focus{outline:none;border-color:var(--accent)}.process-picker-list{flex:1;min-height:0;padding:0 10px 10px}.process-picker-item{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:7px 10px;border-radius:var(--radius-md);text-align:left;font-size:var(--font-body);color:var(--text-primary)}.process-picker-item:hover{background:var(--surface-hover)}.process-picker-item.is-hl{background:var(--surface-hover);outline:1px solid var(--border-strong);outline-offset:-1px}.process-picker-item.is-active{background:var(--accent-wash);color:var(--text-accent)}.process-picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.process-picker-detail{flex:none;font-size:var(--font-micro);color:var(--text-tertiary)}.process-picker-empty{padding:14px 10px;text-align:center;font-size:var(--font-body);color:var(--text-tertiary)}.process-picker-hint{flex:none;margin:0;padding:var(--space-4) 18px 10px;border-top:1px solid var(--border-subtle);font-size:var(--font-meta);line-height:var(--lh-body);color:var(--text-tertiary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding:14vh 0 6vh;background:var(--scrim);animation:tpl-gallery-fade var(--dur-normal) var(--ease)}.modal-backdrop--dialog{z-index:var(--z-dialog)}.modal-backdrop--picker{z-index:var(--z-overlay)}.modal-shell{max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px 20px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);color:var(--text-primary);animation:modal-in var(--dur-normal) var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-shell--sm{width:min(92vw,360px)}.modal-shell--md{width:min(92vw,440px)}.modal-shell--lg{width:min(92vw,640px)}.modal-shell .stg-head{margin:0 0 var(--space-1)}.modal-shell .stg-head-title{font-size:var(--font-headline)}.modal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:var(--space-2) -20px 0;padding:14px 20px 0;border-top:1px solid var(--border-subtle)}.modal-actions>.btn:only-child{flex:1}.choice-dialog-message{font-size:var(--font-lead);line-height:1.55;color:var(--text-secondary)}.choice-dialog-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.choice-dialog-actions .choice-dialog-btn{width:100%}.join-dialog{width:min(94vw,460px)}.join-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:300px;overflow-y:auto;margin-top:var(--space-1)}.join-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer}.join-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.join-row.is-primary{border-color:var(--accent);background:var(--accent-wash)}.join-row input{flex:none;accent-color:var(--accent)}.join-row-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.join-row-title{font-size:var(--font-body);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-row-meta{font-size:var(--font-micro);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-row-tag{flex:none;font-size:var(--font-micro);font-weight:var(--fw-semibold);color:var(--text-accent)}.join-diffs{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) 10px;border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-subtle);font-size:var(--font-caption);line-height:1.4}.join-diff strong{font-weight:var(--fw-semibold)}.join-diff em{font-style:normal;font-weight:var(--fw-semibold);color:var(--text-accent)}.tb-select-area{display:none}@media(pointer:coarse){.tb-select-area{display:inline-flex}.tb-num{display:none}}@media(any-pointer:coarse){.tb-btn:before,.tb-view:before,.tb-mode:before,.tb-split-caret:before,.tb-swatch:before,.toast-x:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.app-header,.app-header button,.tb-menu,.ctx-menu,.menu-item{touch-action:manipulation}}@media(max-width:1200px){.hdr-search{min-width:36px;flex-shrink:1}.toolbar{flex-shrink:1;min-width:0;overflow:hidden}.toolbar--draw{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.toolbar--draw::-webkit-scrollbar{display:none}.hdr-right{flex-shrink:0}}@media(max-width:900px){.app-header{gap:var(--space-3);padding:0 var(--space-3)}}@media(max-width:820px){.hdr-door{max-width:clamp(110px,22vw,200px)}.hdr-door-ws{display:none}}@media(max-width:640px){.app-header{gap:var(--space-2);padding:0 var(--space-2)}.toolbar,.hdr-right{gap:var(--space-1)}.hdr-search--icon{min-width:0}.toolbar--compact .tb-view{padding:0 var(--space-3)}.tb-divider{margin:0 var(--space-1)}}@media(max-width:480px){.toolbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.toolbar::-webkit-scrollbar{height:4px}.toolbar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill)}}.flowboard-lane-label{fill:var(--text-tertiary);font-family:var(--font-sans);font-size:12px;font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none}.flowboard-done-head,.flowboard-done-stack{position:absolute;pointer-events:auto;cursor:pointer;font-family:var(--font-sans)}.flowboard-done-head{padding:0;border:none;border-radius:var(--radius-md);background:transparent}.flowboard-done-head:hover,.flowboard-done-head:focus-visible{background:color-mix(in srgb,var(--text-primary) 6%,transparent)}.flowboard-done-stack{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:4px 4px 0 -1px var(--surface-raised),4px 4px 0 0 var(--border-subtle),8px 8px 0 -1px var(--surface-raised),8px 8px 0 0 var(--border-subtle);color:var(--text-secondary);font-size:var(--font-body);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.flowboard-done-stack:hover{color:var(--text-primary);border-color:var(--border-strong)}.help-feedback{margin:var(--space-4) 0 0;color:var(--text-tertiary);font-size:var(--font-micro);text-align:right}.help-feedback .tpl-link{font-size:inherit}.help-tours .tpl-feature:last-child{margin-bottom:0}.help-popover summary{cursor:pointer}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drop);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--scrim);pointer-events:none;animation:tpl-gallery-fade var(--dur-fast) var(--ease)}.drop-overlay-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-width:min(360px,100%);padding:28px 36px;border:2px dashed var(--accent);border-radius:var(--radius-xl);background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-modal);text-align:center}.drop-overlay-title{font-size:var(--font-headline);font-weight:var(--fw-semibold)}.drop-overlay-sub{font-size:var(--font-lead);color:var(--text-secondary)}.stg-link{color:var(--text-accent);font-weight:var(--fw-medium)}.stg-link:hover{text-decoration:underline}.stg-link:disabled{color:var(--text-disabled);cursor:default;text-decoration:none}.stg-link--danger{color:var(--status-danger-text)}.stg-data-line{margin:0;font-size:var(--font-body);color:var(--text-primary)}.stg-meter{height:var(--space-3);margin:var(--space-3) 0 var(--space-2);overflow:hidden;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.stg-meter-fill{height:100%;background:var(--accent);border-radius:inherit}.stg-data-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.stg-leftovers{margin:0;padding:0;list-style:none}.stg-leftover-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-layout=phone] .app-header{height:calc(44px + var(--safe-top));gap:var(--space-2);padding:var(--safe-top) calc(var(--space-2) + var(--safe-right)) 0 calc(var(--space-2) + var(--safe-left))}:root[data-layout=phone] .hdr-plan{flex:1 1 auto;min-width:0;display:flex;align-items:center;height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-ui);font-weight:var(--fw-semibold)}:root[data-layout=phone] .hdr-plan:active{background:var(--surface-hover)}:root[data-layout=phone] .hdr-plan-name{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-layout=phone] .hdr-analysis{min-height:36px;padding:0 var(--safe-right) 0 var(--safe-left);border-width:0 0 1px;border-radius:0}:root[data-layout=phone] .hdr-analysis-day{flex:1 1 auto;justify-content:flex-start;min-width:0;padding:0 var(--space-5)}:root[data-layout=phone] .hdr-analysis-step,:root[data-layout=phone] .hdr-analysis-x{min-width:44px}:root[data-layout=phone] .toolbar--draw{flex:none;border-radius:0;border-width:0 0 1px;padding:var(--space-2) calc(var(--space-3) + var(--safe-right)) var(--space-2) calc(var(--space-3) + var(--safe-left));overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--border-strong) transparent}:root[data-layout=phone]{--thumb-bar-h: calc(55px + var(--safe-bottom))}.thumb-bar{flex:none;display:flex;align-items:stretch;gap:var(--space-2);padding:0 calc(var(--space-4) + var(--safe-right)) var(--safe-bottom) calc(var(--space-2) + var(--safe-left));border-top:1px solid var(--border-subtle);background:var(--surface-base)}.thumb-views{flex:1 1 auto;display:flex;min-width:0}.thumb-btn{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);height:54px;border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--font-micro);font-weight:var(--fw-medium);touch-action:manipulation}.thumb-btn .icon{width:20px;height:20px}.thumb-btn.is-active{color:var(--text-accent)}.thumb-btn:active:not(.is-disabled){background:var(--surface-hover)}.thumb-btn.is-disabled{color:var(--text-disabled)}.thumb-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-add{display:flex;align-items:center;padding-left:var(--space-3);margin-left:var(--space-1);border-left:1px solid var(--border-subtle)}.thumb-add .tb-split{position:relative;gap:0}:root[data-layout=phone] .thumb-add .tb-split>.tb-btn:not(.tb-split-caret){width:44px;height:44px;border-radius:var(--radius-circle);background:var(--accent);color:var(--text-on-accent)}:root[data-layout=phone] .thumb-add .tb-split>.tb-btn:not(.tb-split-caret):active{background:var(--accent-active)}:root[data-layout=phone] .thumb-add .tb-split-caret{position:absolute;top:-2px;right:-3px;width:20px;height:20px;border:1px solid var(--border-default);border-radius:var(--radius-circle);background:var(--surface-raised);color:var(--text-secondary)}.thumb-bar .tb-num{display:none}:root[data-layout=phone] .ctx-menu,:root[data-layout=phone] .ctx-submenu,:root[data-layout=phone] .tb-menu,:root[data-layout=phone] .tb-menu--flyout{position:fixed;inset:auto 0 0 0!important;width:auto;min-width:0;max-width:none;max-height:70dvh;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) var(--space-3) calc(var(--space-3) + var(--safe-bottom));border-width:1px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-modal);animation:sheet-up var(--dur-normal) var(--ease) both}:root[data-layout=phone] .ctx-menu .menu-item,:root[data-layout=phone] .ctx-submenu .menu-item,:root[data-layout=phone] .tb-menu .menu-item{min-height:44px}:root[data-layout=phone] .ctx-menu,:root[data-layout=phone] .tb-menu:not(.tb-menu--flyout){box-shadow:var(--shadow-modal),0 0 0 100vmax var(--scrim)}:root[data-layout=phone] .menu-item-shortcut{display:none}@keyframes sheet-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}:root[data-layout=phone] .settings-popover{inset:calc(44px + var(--safe-top)) 0 0 0;width:auto;max-height:none;padding:var(--space-5) calc(var(--space-5) + var(--safe-right)) calc(var(--space-5) + var(--safe-bottom)) calc(var(--space-5) + var(--safe-left));border-width:0;border-radius:0;box-shadow:none}:root[data-layout=phone] .stg-tabs{top:calc(-1 * var(--space-5));margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) calc(-1 * var(--space-2));padding:0 var(--space-5)}:root[data-layout=phone] .help-popover{top:calc(44px + var(--safe-top));left:0;transform:none;width:100%;max-height:none;height:calc(100dvh - 44px - var(--safe-top));padding:var(--space-5) calc(var(--space-5) + var(--safe-right)) calc(var(--space-5) + var(--safe-bottom)) calc(var(--space-5) + var(--safe-left));border-width:0;border-radius:0;box-shadow:none}:root[data-layout=phone] .tpl-panel{width:100%;max-height:100%;padding:var(--space-6) var(--space-5) calc(var(--space-6) + var(--safe-bottom));border-width:0;border-radius:0}:root[data-layout=phone] .tpl-grid,:root[data-layout=phone] .tpl-plans{grid-template-columns:minmax(0,1fr)}:root[data-layout=phone] .toast{left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + var(--thumb-bar-h));max-width:none;transform:none;flex-wrap:wrap;gap:var(--space-3) var(--space-5);animation-name:toast-in-phone}:root[data-layout=phone] .toast-action{margin-left:auto}@keyframes toast-in-phone{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.stg-days-off{margin-bottom:var(--space-2)}.stg-days-off-add{justify-content:flex-start}.stg-date-input{min-height:1.75rem;padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--font-body)}body.is-resizing-bar,body.is-resizing-bar *{cursor:ew-resize!important;-webkit-user-select:none;user-select:none}.app-shell:has(.view-toolbar){--view-toolbar-h: 56px}.view-toolbar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:var(--z-view-chrome);display:flex;align-items:center;gap:var(--space-2);max-width:calc(100% - 24px);padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.view-toolbar.is-held{visibility:hidden}.view-toolbar .toolbar--draw{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.view-toolbar .toolbar--draw::-webkit-scrollbar{display:none}.tb-btn.tb-add{width:auto;gap:var(--space-3);padding:0 var(--space-5) 0 var(--space-4);color:var(--text-primary)}.tb-add-label{font-size:var(--font-caption);font-weight:var(--fw-semibold);white-space:nowrap}.tb-btn.tb-toggle{width:auto;gap:var(--space-2);padding:0 var(--space-4) 0 var(--space-3);color:var(--text-secondary)}.tb-btn.tb-toggle.is-on{color:var(--text-accent);background:var(--accent-wash)}.tb-toggle-label{font-size:var(--font-caption);font-weight:var(--fw-medium);white-space:nowrap}@container view (max-width: 56rem){.view-toolbar .tb-toggle-label,.view-toolbar .tb-add-label,.view-toolbar .pd-apply-gain-chip,.view-toolbar .cmp-chip .pd-chip-words{display:none}}.tb-mode.tb-mode--text{width:auto;padding:0 var(--space-3);font-size:var(--font-caption);font-weight:var(--fw-medium);white-space:nowrap}.tb-mode--coarse,.tb-modes--coarse,.tb-divider--coarse{display:none}@media(pointer:coarse){.tb-mode--coarse,.tb-modes--coarse{display:inline-flex}.tb-divider--coarse{display:block}}.hdr-search-btn.is-filtering{color:var(--accent);background:var(--accent-wash)}.fever-mark{flex:none}.fever-mark .fm-detail{fill:none;stroke:var(--surface-base);stroke-width:1.9}.fever-mark.is-green .fm-shape{fill:var(--fever-green);stroke:var(--fever-green)}.fever-mark.is-amber .fm-shape{fill:var(--fever-yellow);stroke:var(--fever-yellow)}.fever-mark.is-red .fm-shape{fill:var(--fever-red);stroke:var(--fever-red)}.health-mark{display:inline-flex;align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums;white-space:nowrap}.hdr-presence{display:inline-flex;align-items:center}.hdr-presence-face{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;margin-left:-5px;border-radius:var(--radius-pill);border:2px solid var(--surface-base);background:hsl(var(--face-hue) 42% 46%);color:var(--text-on-accent);font-size:var(--font-micro);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.hdr-presence-face:first-child{margin-left:0}.hdr-presence-more{background:var(--surface-sunken);color:var(--text-secondary)}.side-panel{position:relative;flex:none;width:min(var(--side-panel-w, 300px),34vw);height:100%;background:var(--surface-base);border-left:1px solid var(--border-subtle);padding:var(--space-5);overflow-y:auto;z-index:var(--z-view-chrome)}.side-panel--tabbed{padding:0;overflow:hidden;display:flex;flex-direction:column}.sp-doors{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto}.sp-door{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);color:var(--text-secondary)}.sp-door:hover:not(.is-active){color:var(--text-primary);background:var(--surface-hover)}.sp-door.is-active{color:var(--text-accent);background:var(--accent-wash)}.sp-door .sp-tab-count{position:absolute;top:calc(-1 * var(--space-1));right:calc(-1 * var(--space-2));padding:0 var(--space-2)}.sp-tabs{flex:none;display:flex;gap:var(--space-6);padding:0 var(--space-5);border-bottom:1px solid var(--border-subtle)}.sp-tab{display:inline-flex;align-items:center;gap:var(--space-3);padding:9px var(--space-1) 8px;font-size:var(--font-ui);color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-fast) var(--ease)}.sp-tab:hover:not(.is-active){color:var(--text-primary)}.sp-tab.is-active{color:var(--text-primary);border-bottom-color:var(--accent)}.sp-tab-count{font-size:var(--font-micro);font-weight:var(--fw-semibold);line-height:1;color:var(--text-accent);background:var(--accent-wash);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}.sp-tab-count.is-muted{color:var(--status-neutral-text);background:var(--status-neutral-tint)}.sp-tab-body{flex:1 1 auto;min-height:0;padding:var(--space-5)}.sp-section{margin-bottom:20px}.sp-section:last-child{margin-bottom:0}.sp-control{margin-bottom:14px}.sp-control:last-child{margin-bottom:0}.sp-label{font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.sp-count{font-size:var(--font-caption);color:var(--text-secondary)}.sp-tag-field{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease)}.sp-tag-field:hover{border-color:var(--border-strong)}.sp-tag-field:focus-within{border-color:var(--accent)}.sp-tag-mark{flex:none;display:flex;align-items:center;width:12px;font-size:var(--font-body);line-height:1;color:var(--text-tertiary)}.sp-tag-mark svg{width:11px;height:11px}.sp-tag-input{flex:1;min-width:0;height:26px;border:0;background:none;color:var(--text-primary);font:inherit;font-size:var(--font-body)}.sp-tag-input:focus{outline:none}.sp-tag-input::placeholder{color:var(--text-tertiary)}.sp-group{margin-bottom:var(--space-2)}.sp-group:last-child{margin-bottom:0}.sp-group-header{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);text-align:left;font-size:var(--font-body);font-weight:var(--fw-medium);color:var(--text-primary)}.sp-group-header:hover{background:var(--surface-hover)}.sp-group-chevron{flex:none;color:var(--text-tertiary);transition:transform var(--dur-fast) var(--ease)}.sp-group-chevron.is-open{transform:rotate(90deg)}.sp-group-title{flex:1;min-width:0}.sp-group-count{flex:none;font-size:var(--font-micro);font-weight:var(--fw-semibold);line-height:1;color:var(--text-accent);background:var(--accent-wash);padding:3px 7px;border-radius:var(--radius-pill)}.sp-group-body{padding:var(--space-3) 0 10px 22px}.sp-group-body .sp-control:last-child{margin-bottom:0}.sp-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.sp-label-row .sp-label{margin-bottom:var(--space-3)}.sp-provenance{font-size:var(--font-micro);color:var(--text-tertiary);white-space:nowrap}.sp-provenance--action{display:inline-flex;align-items:center;padding:0 5px;border-radius:var(--radius-sm);cursor:pointer}.sp-provenance--action:hover{color:var(--text-accent);background:var(--surface-hover)}.sp-hint{margin:var(--space-3) 0 0;font-size:var(--font-meta);line-height:1.4;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-help{margin:var(--space-3) 0 0;font-size:var(--font-meta);line-height:var(--lh-body);color:var(--text-tertiary)}.sp-hint--inline{display:inline;margin:0}.sp-status-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-caption);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--status-neutral-text);background:var(--status-neutral-tint)}.sp-status-chip.is-doing{color:var(--status-warning-text);background:var(--status-warning-tint)}.sp-status-chip.is-done{color:var(--status-success-text);background:var(--status-success-tint)}.sp-status-chip.is-deactivated{color:var(--text-disabled);background:transparent;box-shadow:inset 0 0 0 1px var(--border-subtle)}.sp-status-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.sp-status-row .sp-seg{flex:1;min-width:0}.sp-status-why{display:flex;align-items:baseline;gap:var(--space-2);margin:var(--space-3) 0 0;font-size:var(--font-meta);line-height:var(--lh-body);color:var(--text-tertiary)}.sp-status-why svg{flex:none;align-self:center}.sp-tracking>.sp-status-why:first-child{margin-top:0}.sp-tracking>.sp-count{display:block;margin-bottom:var(--space-3)}.sp-tracking .sp-group{margin-top:var(--space-3)}.sp-track-flags{display:flex;gap:var(--space-6);margin-top:var(--space-4)}.sp-track-flags--column{flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.sp-track-flag{display:inline-flex;align-items:center;gap:7px;font-size:var(--font-body);color:var(--text-primary);cursor:pointer;min-width:0}.sp-track-flag input{accent-color:var(--accent);margin:0;cursor:pointer}.sp-actuals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);margin-top:var(--space-4)}.sp-decision{margin-top:var(--space-5)}.sp-input{display:block;width:100%;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:5px var(--space-4);font-size:var(--font-body);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease)}.sp-input:hover{border-color:var(--border-strong)}.sp-input:focus{outline:none;border-color:var(--accent)}.sp-input::placeholder{color:var(--text-tertiary)}.sp-rte{display:flex;flex-direction:column;gap:var(--space-2)}.sp-rte-toolbar{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.sp-rte-btn{width:26px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-body);line-height:1;color:var(--text-secondary)}.sp-rte-btn:hover:not(.is-active){color:var(--text-primary)}.sp-rte-btn.is-active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-subtle)}.sp-rte-link{display:flex;flex-direction:column;gap:var(--space-2)}.sp-rte-link-row{display:flex;align-items:center;gap:var(--space-2)}.sp-rte-link-url{flex:1 1 auto;min-width:0}.sp-rte-link-url[aria-invalid=true]{border-color:var(--status-danger)}.sp-rte-link-row .btn{flex:0 0 auto}.sp-rte-link-note{margin:0;font-size:var(--font-meta);line-height:1.4;color:var(--text-tertiary)}.sp-rte-link-note.is-refusal{color:var(--status-danger-text)}.sp-rte-scroll{max-height:240px}.sp-rte-body{min-height:60px;padding:var(--space-3) var(--space-4);font-size:var(--font-body);color:var(--text-primary);line-height:var(--lh-body);cursor:text;outline:none;white-space:pre-wrap;overflow-wrap:break-word}.sp-rte-body:empty:before{content:attr(data-placeholder);color:var(--text-tertiary);pointer-events:none}.sp-rte-body ul,.sp-rte-body ol{margin:0;padding-left:20px}.sp-rte-body ul{list-style:disc}.sp-rte-body ol{list-style:decimal}.sp-rte-body p{margin:0}.sp-fields{display:flex;flex-direction:column;gap:var(--space-4)}.sp-inline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.sp-inline .sp-label{margin-bottom:0}.sp-seg{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.sp-seg button{flex:1;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary);transition:color var(--dur-fast) var(--ease)}.sp-seg button:hover:not(:disabled):not(.is-active){color:var(--text-primary)}.sp-seg button.is-active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-subtle)}.sp-seg button:disabled{color:var(--text-disabled);cursor:default}.sp-font-sample{font-size:var(--font-body);line-height:1}.sp-size-sample{font-size:var(--font-micro);font-weight:var(--fw-semibold);line-height:1}.sp-seg-label{font-size:var(--font-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}.sp-seg button:has(.sp-seg-label){gap:5px}.sp-seg button svg{flex:none}.sp-seg--stacked button{flex-direction:column;gap:3px;height:auto;min-width:0;padding:var(--space-2) var(--space-1)}.sp-seg--stacked .sp-seg-label{font-size:var(--font-micro);line-height:1.2;text-align:center;white-space:normal}.sp-seg--fit button{flex:1 1 auto;padding:0 var(--space-3);white-space:nowrap}.sp-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.sp-swatch{width:22px;height:22px;border-radius:var(--radius-md);box-shadow:var(--hairline-inset);position:relative;flex:none}.sp-swatch.is-active{box-shadow:var(--hairline-inset),0 0 0 1px var(--surface-base),0 0 0 3px var(--accent)}.sp-swatch--transparent{background:conic-gradient(var(--surface-sunken) 0 25%,var(--surface-raised) 0 50%,var(--surface-sunken) 0 75%,var(--surface-raised) 0) 0 0 / 8px 8px}.sp-swatch--none{background:linear-gradient(to top right,transparent calc(50% - 1px),var(--border-strong) calc(50% - 1px),var(--border-strong) calc(50% + 1px),transparent calc(50% + 1px)),var(--surface-raised)}.sp-swatch--from-card{background:linear-gradient(to bottom,var(--status-warning) 0 7px,transparent 7px),var(--status-warning-tint)}.sp-custom{position:relative;display:inline-flex}.sp-swatch--custom{display:flex;align-items:center;justify-content:center}.sp-custom-inner{width:12px;height:12px;border-radius:var(--radius-circle);background:var(--surface-raised);box-shadow:var(--hairline-inset);pointer-events:none}.sp-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-overlay);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.sp-color-name{flex-basis:100%;order:-1;display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-1)}.sp-color-chip{flex:none;width:22px;height:22px;border-radius:var(--radius-circle);border:1px solid var(--border-subtle);box-shadow:var(--hairline-inset)}.sp-color-name-label{color:var(--text-primary);font-size:var(--font-caption);font-weight:var(--fw-semibold)}.sp-popover input[type=color]{width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:none;cursor:pointer;flex:none}.sp-popover input[type=color]::-webkit-color-swatch-wrapper{padding:var(--space-1)}.sp-popover input[type=color]::-webkit-color-swatch{border:1px solid var(--border-subtle);border-radius:3px}.sp-hex{flex:1 1 0;min-width:0;max-width:84px}.sp-points{width:100%}.sp-points input{flex:1}.sp-points-glyph{flex:none;display:inline-flex;align-items:center;padding-left:var(--space-1);color:var(--text-accent);opacity:.85}.sp-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--font-body)}.sp-switch{width:36px;height:20px;border-radius:var(--radius-pill);background:var(--border-default);padding:2px;display:flex;flex:none;transition:background var(--dur-fast) var(--ease)}.sp-switch.is-on{background:var(--accent);justify-content:flex-end}.sp-switch:disabled{opacity:.5;cursor:not-allowed}.sp-switch-knob{width:16px;height:16px;border-radius:var(--radius-circle)}.sp-role-field{position:relative}.sp-role-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:5px var(--space-4);font-size:var(--font-body);text-align:left;color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease)}.sp-role-button:hover{border-color:var(--border-strong)}.sp-role-button svg{width:14px;height:14px;flex:none;color:var(--text-tertiary)}.sp-role-empty{color:var(--text-tertiary)}.sp-role-inherited{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--text-secondary)}.sp-role-inherited svg{width:11px;height:11px}.sp-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--z-overlay);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:var(--space-2);max-height:240px;overflow-y:auto;overflow-x:hidden}.sp-option{display:flex;align-items:center;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-body)}.sp-option:hover{background:var(--surface-hover)}.sp-option.is-active{color:var(--text-accent);background:var(--accent-wash)}.sp-option.is-highlighted{background:var(--surface-hover);box-shadow:inset 2px 0 0 var(--accent)}.sp-option.is-active.is-highlighted{background:var(--accent-wash)}.sp-option--create{color:var(--text-accent)}.sp-option--create svg{flex:none}.sp-option-row{display:flex;align-items:center;gap:var(--space-1)}.sp-option-row .sp-option{flex:1 1 auto;min-width:0}.sp-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-option-load{flex:none;margin-left:auto;padding-left:var(--space-4);font-size:var(--font-micro);color:var(--text-tertiary);white-space:nowrap}.sp-option-edit,.sp-option-del{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-tertiary)}.sp-option-edit svg,.sp-option-del svg{width:14px;height:14px}.sp-option-edit{opacity:.4}.sp-option-del{opacity:0}.sp-option-row:hover .sp-option-edit,.sp-option-row.is-editing .sp-option-edit,.sp-option-row:hover .sp-option-del,.sp-option-edit:focus-visible,.sp-option-del:focus-visible{opacity:1}.sp-option-edit:hover{background:var(--surface-hover);color:var(--text-primary)}.sp-option-row.is-editing .sp-option-edit{color:var(--text-accent)}.sp-option-del:hover{background:var(--status-danger-tint);color:var(--status-danger-text)}.sp-role-current{display:inline-flex;align-items:center;gap:var(--space-3);min-width:0}.sp-role-swatch{flex:none;width:12px;height:12px;border-radius:3px;box-shadow:var(--hairline-inset)}.sp-role-swatch--empty{background:none;box-shadow:inset 0 0 0 1px var(--border-default)}.sp-role-editor{display:flex;flex-direction:column;gap:10px;margin:var(--space-1) var(--space-2) var(--space-3);padding:10px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.sp-role-editor-fill .sp-label{margin-bottom:var(--space-3)}.sp-option--dimmed .sp-option-name,.sp-option--dimmed .gv-combo-option{color:var(--text-secondary)}.sp-option--dimmed .sp-role-swatch,.sp-option--dimmed .gv-role-swatch{opacity:.6}.sp-combo-open{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0 var(--space-1) 0 var(--space-4);background:var(--surface-raised);border:1px solid var(--accent);border-radius:var(--radius-md)}.sp-combo-input{flex:1 1 auto;min-width:0;padding:5px 0;background:none;border:none;font-size:var(--font-body);color:var(--text-primary)}.sp-combo-input:focus-visible{outline:none}.sp-combo-input::placeholder{color:var(--text-tertiary)}.sp-combo-add,.sp-combo-toggle{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.sp-combo-add{color:var(--text-accent)}.sp-combo-add svg{width:16px;height:16px}.sp-combo-toggle{color:var(--text-tertiary)}.sp-combo-toggle svg{width:14px;height:14px;transform:rotate(180deg)}.sp-combo-add:hover,.sp-combo-toggle:hover{background:var(--surface-hover)}.sp-combo-toggle:hover{color:var(--text-primary)}.sp-combo-fill{padding:var(--space-3) var(--space-4) var(--space-4);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.sp-actions{display:flex;align-items:center;gap:var(--space-2)}.sp-action{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-tertiary)}.sp-action:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.sp-action:disabled{color:var(--text-disabled);cursor:default}.sp-action--text{width:auto;padding:0 var(--space-4);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--font-caption);white-space:nowrap}.sp-action--text:hover:not(:disabled){border-color:var(--border-strong)}.sp-action--text:disabled{border-color:var(--border-subtle)}.sp-embed{position:relative;display:flex;gap:var(--space-3)}.sp-embed-field{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);height:28px;padding:0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font-size:var(--font-caption);text-align:left}.sp-embed-field:hover{border-color:var(--border-strong);background:var(--surface-hover)}.sp-embed-field.is-broken{color:var(--status-danger-text)}.sp-embed-field svg{flex:none;color:var(--text-tertiary)}.sp-embed-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sp-embed-open{flex:none}.sp-head{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.side-panel--tabbed .sp-head{flex:none;padding:var(--space-5) var(--space-5) 0;margin-bottom:var(--space-4)}.sp-head-name{flex:1;min-width:0;font-size:var(--font-title);font-weight:var(--fw-semibold);color:var(--text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sp-head-input{flex:1;min-width:0;padding:3px var(--space-3);margin:-3px -6px;font:inherit;font-size:var(--font-title);font-weight:var(--fw-semibold);color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-md)}.sp-head-input:hover{border-color:var(--border-default)}.sp-head-input:focus-visible{outline:none;background:var(--surface-raised);border-color:var(--accent)}.sp-head-close,.sp-head-more{flex:none}.sp-head-more.is-open{background:var(--surface-hover);color:var(--text-primary)}.sp-crumb{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;row-gap:var(--space-1);min-width:0;margin-bottom:var(--space-2);font-size:var(--font-caption);color:var(--text-tertiary)}.side-panel--tabbed .sp-crumb{flex:none;padding:var(--space-5) var(--space-5) 0}.side-panel--tabbed .sp-crumb+.sp-head{padding-top:0}.sp-crumb-plan{min-width:0;padding:0;border:0;background:none;font:inherit;font-weight:var(--fw-semibold);color:var(--text-accent);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.sp-crumb-plan:hover{text-decoration:underline}.sp-crumb-sep{flex:none}.sp-crumb-plan{max-width:calc(100% - 1.5em)}.sp-crumb-group{font-weight:var(--fw-medium)}.pj-num{width:100%;font:inherit;font-size:var(--font-body);font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--dur-fast) var(--ease)}.pj-num:hover{border-color:var(--border-strong)}.pj-num:focus-within{outline:none;border-color:var(--accent)}.pj-num.num-well>input{padding:5px calc(var(--space-6) + var(--space-4)) 5px var(--space-4);border:none;background:transparent;color:inherit;font:inherit;text-align:inherit;outline:none}.sp-rte-body a{color:var(--text-accent);text-decoration:underline;cursor:pointer}.sp-switch.is-mixed .sp-switch-knob{transform:translate(50%);opacity:.6}@media(max-width:767px){.side-panel{position:absolute;top:0;right:0;bottom:0;width:100%;z-index:var(--z-dock);border-left:0;box-shadow:var(--shadow-pop)}}@media(any-pointer:coarse){.sp-switch,.sp-option-edit,.sp-option-del,.sp-combo-add,.sp-combo-toggle{position:relative}.sp-swatch:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.sp-switch:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.sp-option-edit:before,.sp-option-del:before,.sp-combo-add:before,.sp-combo-toggle:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.sp-dropdown .sp-option-row,.sp-dropdown .sp-combo-add{overflow:clip}}.sp-hint.is-overdue{color:var(--status-danger-text)}.sp-history{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.sp-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.sp-history-entry{font-size:var(--font-meta);line-height:1.4;color:var(--text-primary);overflow-wrap:anywhere}.sp-history-when{font-size:var(--font-caption);color:var(--text-tertiary);margin-bottom:2px}.sp-history-field{color:var(--text-secondary);font-weight:var(--fw-medium)}.sp-history-more{margin-top:var(--space-3);padding:0;border:none;background:none;color:var(--text-accent);font:inherit;font-size:var(--font-meta);cursor:pointer}.sp-history-more:hover{text-decoration:underline}.sp-history-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-layout=phone] .side-panel,:root[data-layout=phone] .side-panel--split,:root[data-layout=phone] .side-panel--tabbed{position:fixed;top:auto;right:0;bottom:var(--thumb-bar-h);left:0;z-index:var(--z-overlay);width:auto;height:52dvh;max-height:calc(100dvh - 44px - var(--safe-top) - var(--thumb-bar-h));padding:0 calc(var(--space-5) + var(--safe-right)) var(--space-5) calc(var(--space-5) + var(--safe-left));border:1px solid var(--border-subtle);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-modal);animation:sheet-up var(--dur-normal) var(--ease) both}:root[data-layout=phone] .app-shell.sheet-full .side-panel{height:calc(100dvh - 44px - var(--safe-top) - var(--thumb-bar-h))}:root[data-layout=phone] .side-panel--tabbed{padding-left:0;padding-right:0}:root[data-layout=phone] .side-panel--tabbed .sp-tabs{padding-left:calc(var(--space-5) + var(--safe-left));padding-right:calc(var(--space-5) + var(--safe-right))}.sheet-grip{position:sticky;top:0;z-index:var(--z-lift-2);display:flex;align-items:center;height:34px;margin:0 calc(-1 * var(--space-5));padding:0 var(--space-4);background:var(--surface-base);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.side-panel--tabbed .sheet-grip{margin:0}.sheet-handle{flex:1 1 auto;display:flex;align-items:center;justify-content:center;align-self:stretch;touch-action:none}.sheet-handle-pill{width:36px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong)}.sheet-handle:active .sheet-handle-pill{background:var(--text-tertiary)}.sheet-close{flex:none}:root[data-layout=phone] .side-panel .sp-head-close{display:none}.sp-field-tools,.sp-field-action{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center}.sp-field-tools{gap:2px}.sp-field-action{height:24px}.sp-points .field__well input{padding-right:calc(2 * var(--space-6) + var(--space-5))}.sp-points .sp-points-glyph{padding:0 var(--space-1)}.sp-points.is-computed .field__well input{cursor:pointer}.sp-actual.is-computed .field__well input{color:var(--text-secondary)}.sp-actual.is-stale .field__well{box-shadow:inset 0 0 0 1px var(--status-warning)}.sp-actual.is-stale .field__well input{color:var(--status-warning-text)}.sp-remaining-stale{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;color:var(--status-warning-text)}.sp-actual.is-stale .field__well input{padding-right:28px}.sp-deadline .field__well{position:relative}.sp-deadline-mark{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);display:inline-flex;pointer-events:none}.sp-deadline.is-met .sp-deadline-mark{color:var(--status-success)}.sp-deadline.is-missed .sp-deadline-mark{color:var(--status-danger)}.sp-deadline.is-missed .field__well input{color:var(--status-danger-text);font-weight:var(--fw-semibold)}.sp-dayfield .field .field__well input{padding-right:12px;text-overflow:ellipsis}.sp-dayfield.has-mark .field .field__well input{padding-right:32px}.sp-dayfield:hover .field .field__well input,.sp-dayfield:focus-within .field .field__well input{padding-right:36px}.sp-dayfield:hover .sp-deadline-mark,.sp-dayfield:focus-within .sp-deadline-mark{visibility:hidden}.sp-cal-btn{position:absolute;top:50%;right:6px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transform:translateY(-50%);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease),visibility var(--dur-fast) var(--ease)}.sp-dayfield:hover .sp-cal-btn,.sp-dayfield:focus-within .sp-cal-btn,.sp-cal-btn.is-open{opacity:1;visibility:visible}.sp-cal-btn:hover,.sp-cal-btn.is-open{background:var(--surface-hover);color:var(--accent)}.sp-daycal-float{z-index:var(--z-overlay)}@media(hover:none){.sp-cal-btn{opacity:1;visibility:visible}.sp-dayfield .field .field__well input{padding-right:36px}.sp-dayfield .sp-deadline-mark{visibility:hidden}}.field__well .sp-role-button,.field__well .sp-combo-open,.field__well .sp-tag-field{height:100%;background:transparent;border:0;border-radius:var(--radius-md);padding:18px 10px 4px 12px}.field__well .sp-role-button:hover{border:0}.field__well .sp-combo-open{padding-right:4px}.field--compact .field__well .sp-combo-input,.field--compact .field__well .sp-tag-input,.field__well .sp-combo-input,.field__well .sp-tag-input{height:auto;padding:0}.field__well .sp-tag-field{padding-right:12px}.field:not(.field--floated) .sp-role-empty{visibility:hidden}.sp-rte-well{position:relative;--rte-bar: 34px}.field__well>.sp-rte-scroll{margin-top:20px;margin-bottom:var(--rte-bar)}.sp-rte-well>.sp-rte-toolbar{position:absolute;left:var(--space-2);right:var(--space-2);bottom:var(--space-2);cursor:default}.field__well .sp-rte-body{min-height:40px;padding-top:0}.sp-tags{display:flex;flex-direction:column;gap:var(--space-4)}.sp-tags>.sp-label,.sp-fields>.sp-label{margin-bottom:calc(-1 * var(--space-2))}.sp-desc-fold{display:block;width:100%;min-height:28px;padding:0 var(--space-4);border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--font-body);color:var(--text-tertiary);text-align:left;cursor:text}.sp-desc-fold:hover{color:var(--text-accent);background:var(--surface-hover)}.sp-sched-glyph{flex:none;display:inline-flex;align-items:center;padding:0 var(--space-1)}.sp-sched-glyph.is-derived{color:var(--text-accent);opacity:.85}.sp-sched.is-computed .field__well input{cursor:pointer}.sp-line .field__well input{color:transparent}.sp-line .field__well input:focus{color:var(--text-primary)}.sp-line-links{position:absolute;top:0;right:0;bottom:0;left:0;padding:19px 32px 5px 12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-body);line-height:18px;color:var(--text-secondary);pointer-events:none}.sp-line-link{display:inline;padding:0;border:0;background:none;font:inherit;line-height:inherit;color:var(--text-accent);cursor:pointer;pointer-events:auto}.sp-line-link:hover{text-decoration:underline}.sp-line-num{flex:none;min-width:2ch;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.sp-option.is-active .sp-line-num{color:inherit}.sp-line-key,.gv-line-key{pointer-events:none;padding:var(--space-3) var(--space-4)}.inputs-key{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin:0;font-size:var(--font-caption);line-height:var(--lh-tight)}.inputs-key-row{display:contents}.inputs-key dt{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.inputs-key dd{margin:0;color:var(--text-primary)}.inputs-key-letter{font-weight:var(--fw-semibold);color:var(--text-accent)}.inputs-key-foot{margin:var(--space-3) 0 0;font-size:var(--font-caption);line-height:var(--lh-tight);color:var(--text-tertiary)}.sp-duration{display:flex;flex-direction:column}.sp-duration.is-joined>.field .field__well{border-bottom-left-radius:0;border-bottom-right-radius:0}.sp-conf-strip{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md)}.sp-confidence.is-joined .sp-conf-strip{border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md)}.sp-confidence.is-open{margin-bottom:0}.sp-confidence.is-open .sp-conf-strip{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.sp-conf-strip .sp-seg{flex:1;min-width:0;padding:0;background:none;border:0}.sp-seg button.is-implied{color:var(--text-primary);outline:1px dashed var(--border-strong);outline-offset:-1px}.sp-conf-more{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:26px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:color var(--dur-fast) var(--ease)}.sp-conf-more:hover{color:var(--text-primary);background:var(--surface-hover)}.sp-conf-more svg{transition:transform var(--dur-fast) var(--ease)}.sp-conf-more[aria-expanded=true] svg{transform:rotate(180deg)}.sp-duration-more{min-width:0;padding:0 var(--space-1) var(--space-2);background:var(--surface-sunken);border:1px solid var(--border-default);border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md)}.sp-activity p{margin:0;font-size:var(--font-meta);color:var(--text-tertiary)}.sp-here{display:flex;align-items:center;gap:var(--space-2)}.sp-here-dot{width:6px;height:6px;border-radius:var(--radius-circle);background:var(--status-success)}.sp-status-glyph{flex:none;display:inline-flex}.sp-status-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.sp-status-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-default)}.sp-status-btn.is-done{color:var(--status-success)}.sp-status-btn.is-future,.sp-status-btn:disabled{cursor:default;opacity:.6}.side-panel--tabbed .sp-head{gap:var(--space-3)}.sp-who{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.sp-group-header:has(.sp-group-aside) .sp-group-title{flex:none;white-space:nowrap}.sp-group-aside{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:var(--font-meta);font-weight:var(--fw-regular);color:var(--text-secondary)}.sp-line-name{color:var(--text-secondary)}.sp-role-current,.sp-role-inherited{max-width:100%;overflow:hidden}.sp-role-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-node{position:relative;width:100%;height:100%;--task-ink: 30 30 30;--task-glyph-idle: .55}[data-theme=dark] .task-node--transparent{--task-ink: 228 228 231}[data-theme=dark] .task-node--frame:not(.task-node--transparent) .task-shape path{fill-opacity:.8}.task-shape{position:absolute;overflow:visible;pointer-events:none;filter:var(--drop-shadow-task);transition:filter var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.react-flow__node.is-moved:not(.task-frame-shell) .task-shape{animation:moved-glow var(--dur-moved-wash) var(--ease) both}.task-node--hover .task-shape{filter:var(--drop-shadow-task-hover)}.task-node--frame .task-shape{transform:none;filter:none}.task-node--frame.task-node--hover .task-shape{transform:none;filter:var(--drop-shadow-task-hover)}.canvas-host--laser .task-node--frame.task-node--hover .task-shape,.canvas-host--draw .task-node--frame.task-node--hover .task-shape{filter:none}.react-flow__node.task-frame-shell,.react-flow__node.task-frame-shell *{pointer-events:none!important}.react-flow__node.task-frame-shell .task-collapse,.react-flow__node.task-frame-shell .task-stub{pointer-events:auto!important}.react-flow__node.task-frame-shell .task-frame-header{pointer-events:auto!important;cursor:grab}.react-flow__node.task-frame-shell.dragging .task-frame-header{cursor:grabbing}.react-flow__node.task-frame-shell .status-badge,.react-flow__node.task-frame-shell .task-desc,.react-flow__node.task-frame-shell .task-comment{pointer-events:auto!important}.canvas-host--laser .react-flow__node.task-frame-shell .task-frame-header,.canvas-host--laser .react-flow__node.task-frame-shell .task-collapse,.canvas-host--laser .react-flow__node.task-frame-shell .task-stub,.canvas-host--laser .react-flow__node.task-frame-shell .status-badge,.canvas-host--laser .react-flow__node.task-frame-shell .task-desc,.canvas-host--laser .react-flow__node.task-frame-shell .task-comment,.canvas-host--draw .react-flow__node.task-frame-shell .task-frame-header,.canvas-host--draw .react-flow__node.task-frame-shell .task-collapse,.canvas-host--draw .react-flow__node.task-frame-shell .task-stub,.canvas-host--draw .react-flow__node.task-frame-shell .status-badge,.canvas-host--draw .react-flow__node.task-frame-shell .task-desc,.canvas-host--draw .react-flow__node.task-frame-shell .task-comment,.canvas-host--spacepan .react-flow__node.task-frame-shell .task-frame-header,.canvas-host--spacepan .react-flow__node.task-frame-shell .task-collapse,.canvas-host--spacepan .react-flow__node.task-frame-shell .task-stub,.canvas-host--spacepan .react-flow__node.task-frame-shell .status-badge,.canvas-host--spacepan .react-flow__node.task-frame-shell .task-desc,.canvas-host--spacepan .react-flow__node.task-frame-shell .task-comment{pointer-events:none!important;cursor:inherit}.react-flow__node.task-frame-growing{visibility:hidden!important}.frame-growth-preview{position:absolute;box-sizing:border-box;background:color-mix(in srgb,var(--canvas-ink) 5%,transparent);border:1.5px solid color-mix(in srgb,var(--canvas-ink) 34%,transparent);z-index:var(--z-sink);pointer-events:none}.pop-out-boundary{position:absolute;box-sizing:border-box;border:1.5px dashed color-mix(in srgb,var(--canvas-ink) 45%,transparent);border-radius:10px;z-index:var(--z-sink);pointer-events:none}.pop-out-boundary-caption{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:3px 9px;border-radius:var(--radius-pill);background:var(--text-primary);color:var(--canvas);font-family:var(--font-sans);font-size:var(--font-micro);font-weight:var(--fw-medium);white-space:nowrap;box-shadow:var(--shadow-pop)}.drop-preview-ghost{position:absolute;box-sizing:border-box;background:color-mix(in srgb,var(--canvas-ink) 5%,transparent);border:1.5px dashed color-mix(in srgb,var(--canvas-ink) 45%,transparent);z-index:var(--z-rf-ghost);pointer-events:none}.task-content{position:absolute;display:flex;flex-direction:column;pointer-events:none}.task-title-area{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.task-title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;white-space:pre-wrap;color:rgb(var(--task-ink))}.task-diamond-title{position:absolute;overflow:hidden;color:rgb(var(--task-ink));pointer-events:none}.task-diamond-runs{overflow-wrap:normal;white-space:pre-wrap}.task-diamond-runs--break{overflow-wrap:break-word}.task-diamond-probe{position:absolute;visibility:hidden;white-space:pre}.task-diamond-wing{width:50%;height:100%;shape-margin:3px}.task-diamond-wing--left{float:left}.task-diamond-wing--right{float:right}.task-title-editor{pointer-events:auto;display:block;width:100%;padding:0;margin:0;border:none;background:transparent;resize:none;overflow:hidden;color:rgb(var(--task-ink));caret-color:rgb(var(--task-ink))}.task-title-editor-wrap{position:relative}.task-title-hint{position:absolute;left:0;right:0;overflow-wrap:break-word;text-wrap:balance;color:rgb(var(--task-ink));opacity:.45;pointer-events:none}.task-title-hint--below{top:100%;margin-top:2px}.task-title-hint--above{bottom:100%;margin-bottom:2px}.task-title-hint--inline{top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-title-blank{color:rgb(var(--task-ink));opacity:.45;text-wrap:balance}.task-title-editor:focus,.task-title-editor:focus-visible{outline:none}.task-portal{flex:none;height:18px;margin-top:4px;display:flex;align-items:center;gap:4px;min-width:0;font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.02em;line-height:14px;color:rgb(var(--task-ink) / .78)}.task-portal svg{flex:none;opacity:.7}.task-portal-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-portal-detail{flex:none;margin-left:auto;color:rgb(var(--task-ink) / .55);font-weight:var(--fw-regular);white-space:nowrap}.task-portal--broken{color:var(--status-danger-text)}.task-portal--broken svg{opacity:1}.task-footer{flex:none;height:20px;margin-top:4px;display:flex;align-items:center;gap:6px}.task-role-chip{font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.02em;line-height:14px;color:rgb(var(--task-ink) / .78);background:rgb(var(--task-ink) / .07);border-radius:var(--radius-pill);padding:2px 7px;min-width:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-role-chip--inherited{display:inline-flex;align-items:center;gap:3px;color:rgb(var(--task-ink) / .7);background:transparent;border:1px dashed rgb(var(--task-ink) / .28);padding:1px 6px}.task-role-glyph{flex:none}.task-category-chip{font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.02em;line-height:14px;color:rgb(var(--task-ink) / .7);border:1px solid rgb(var(--task-ink) / .22);border-radius:var(--radius-pill);padding:1px 6px;min-width:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-category-chip--inherited{display:inline-flex;align-items:center;gap:3px;color:rgb(var(--task-ink) / .7);border-style:dashed;border-color:rgb(var(--task-ink) / .28)}.task-assignee-chip{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.02em;line-height:14px;color:rgb(var(--task-ink) / .7);min-width:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assignee-chip svg{flex:none}.task-assignee-chip--inherited{color:rgb(var(--task-ink) / .7);border:1px dashed rgb(var(--task-ink) / .28);border-radius:var(--radius-pill);padding:1px 6px}.task-points{margin-left:auto;font-family:var(--font-sans);font-size:11px;font-weight:var(--fw-semibold);line-height:1;color:rgb(var(--task-ink) / .85);min-width:18px;height:18px;padding:0 4px;border:1px solid rgb(var(--task-ink) / .3);border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:2px}.task-points-glyph{flex:none;margin-left:-1px;opacity:.72}.task-points--editable{pointer-events:auto;cursor:text}.task-points--editable:hover{border-color:rgb(var(--task-ink) / .55);background:rgb(var(--task-ink) / .06)}.task-chip--editable{pointer-events:auto;cursor:text}.task-chip--editable:hover{color:rgb(var(--task-ink));background:rgb(var(--task-ink) / .14)}.task-points-editor{pointer-events:auto;margin-left:auto;width:40px;height:18px;padding:0 4px;font-family:var(--font-sans);font-size:11px;font-weight:var(--fw-semibold);line-height:1;text-align:right;color:rgb(var(--task-ink) / .9);caret-color:rgb(var(--task-ink) / .9);background:rgb(var(--task-ink) / .06);border:1px solid rgb(var(--task-ink) / .45);border-radius:var(--radius-pill)}.task-points-editor:focus,.task-points-editor:focus-visible{outline:none}.task-points-editor::-webkit-outer-spin-button,.task-points-editor::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.task-points-editor{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.task-field-editor{position:relative;flex:1 1 auto;min-width:0;pointer-events:auto}.task-field-input{width:100%;height:18px;padding:0 8px;font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.02em;line-height:14px;color:rgb(var(--task-ink) / .9);caret-color:rgb(var(--task-ink) / .9);background:rgb(var(--task-ink) / .06);border:1px solid rgb(var(--task-ink) / .45);border-radius:var(--radius-pill)}.task-field-input:focus,.task-field-input:focus-visible{outline:none}.task-field-input::placeholder{color:rgb(var(--task-ink) / .5)}.task-field-dropdown{position:absolute;left:0;right:0;bottom:calc(100% + 4px);z-index:var(--z-rf-edge-labels);min-width:140px;max-height:148px;overflow-y:auto;overflow-x:hidden;padding:4px;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);font-family:var(--font-sans)}.task-field-option{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:5px 7px;border-radius:var(--radius-sm);font-size:var(--font-caption);color:var(--text-primary);cursor:pointer}.task-field-option.is-active{background:var(--surface-hover)}.task-field-option--create{color:var(--text-accent)}.task-field-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-field-swatch{flex:none;width:10px;height:10px;border-radius:3px}.task-desc{position:absolute;top:0;right:0;width:14px;height:14px;color:rgb(var(--task-ink) / var(--task-glyph-idle));pointer-events:auto;cursor:default}.task-desc:hover{color:rgb(var(--task-ink) / .8)}.task-desc--button{cursor:pointer}.task-desc-tooltip{position:absolute;bottom:calc(100% + 6px);right:-4px;width:max-content;max-width:240px;padding:6px 9px;border-radius:var(--radius-md);background:var(--text-primary);color:var(--canvas);font-family:var(--font-sans);font-size:var(--font-caption);line-height:var(--lh-body);text-align:left;white-space:pre-wrap;overflow-wrap:break-word;box-shadow:var(--shadow-pop);opacity:0;transition:opacity var(--dur-fast) var(--ease);pointer-events:none;z-index:var(--z-tooltip)}.task-desc:hover .task-desc-tooltip{opacity:1}.task-desc--offset{right:22px}.task-project-bar{position:absolute;left:3px;top:calc(var(--task-corner-radius, 8px) + 2px);bottom:calc(var(--task-corner-radius, 8px) + 2px);width:5px;min-height:10px;border-radius:3px;pointer-events:none;box-shadow:0 0 0 1px #ffffff59}.task-project-dot{position:absolute;top:50%;left:2px;width:9px;height:9px;transform:translateY(-50%);border-radius:var(--radius-circle);pointer-events:none;box-shadow:0 0 0 1px #ffffff80}.task-comment{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:2px;height:17px;padding:0 3px;border:none;border-radius:5px;background:transparent;color:var(--accent);cursor:pointer;pointer-events:auto}.task-comment:hover{background:rgb(var(--task-ink) / .08)}.task-comment--active{background:rgb(var(--task-ink) / .1)}.task-comment-count{font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-semibold);line-height:1}.task-rich-text ul,.task-rich-text ol{margin:2px 0;padding-left:18px}.task-rich-text ul{list-style:disc}.task-rich-text ol{list-style:decimal}.task-rich-text li{margin:1px 0}.task-rich-text p{margin:0 0 4px}.task-rich-text p:last-child{margin-bottom:0}.task-rich-text code{font-family:var(--font-mono, monospace);font-size:.92em}.task-collapse{display:inline-flex;align-items:center;gap:2px;height:20px;padding:0 5px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:11px;font-weight:var(--fw-medium);line-height:1;color:rgb(var(--task-ink) / .75);background:rgb(var(--task-ink) / .06);pointer-events:auto}.task-collapse:hover{color:rgb(var(--task-ink));background:rgb(var(--task-ink) / .12)}.task-collapse-count{padding-right:2px}.task-topleft{position:absolute;top:6px;left:8px;display:inline-flex;align-items:center;gap:3px;pointer-events:none}.task-topleft>*{pointer-events:auto}.status-badge{display:inline-flex;flex:none;align-items:center;justify-content:center;width:17px;height:17px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--text-tertiary);cursor:default}button.status-badge{cursor:pointer}.status-face{display:contents}.status-face--next{display:none}.status-steps:focus-visible>.status-face--now{display:none}.status-steps:focus-visible>.status-face--next{display:contents}@media(hover:hover){.status-steps:hover>.status-face--now{display:none}.status-steps:hover>.status-face--next{display:contents}}.task-node .status-badge{color:rgb(var(--task-ink) / .55)}.task-node button.status-badge:hover{background:rgb(var(--task-ink) / .1);color:rgb(var(--task-ink) / .9)}.status-badge--doing{color:var(--text-secondary)}.task-node .status-badge--doing{color:rgb(var(--task-ink) / .85)}.task-node .status-badge--future,.task-frame-header .status-badge--future{display:none}.status-badge--done,.task-node .status-badge--done{color:var(--status-success)}.task-node .status-badge--quiet{opacity:var(--task-glyph-idle);transition:opacity 80ms ease}.task-node .status-badge--overdue{color:var(--status-danger-text)}.task-node--hover .status-badge--quiet,.task-node.selected .status-badge--quiet,.react-flow__node.selected .status-badge--quiet,.task-node:focus-within .status-badge--quiet{opacity:1}.task-frame-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding:0 6px 0 8px;pointer-events:all}.task-frame-header .status-badge{margin-right:-3px}.task-frame-title{flex:1;min-width:0;font-family:var(--font-sans);font-size:13px;font-weight:var(--fw-medium);color:rgb(var(--task-ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-frame-editor{flex:1;min-width:0}.task-frame-desc{position:absolute;top:9px;right:10px;width:14px;height:14px}.task-frame-desc--offset{right:30px}.task-frame-footer{position:absolute;left:10px;right:10px;bottom:4px;height:20px;display:flex;align-items:center;gap:6px;pointer-events:none}.task-diamond-slot{position:absolute;display:flex;align-items:center;justify-content:center;min-width:0;pointer-events:none}.task-diamond-slot>*{pointer-events:auto}.task-diamond-slot .task-desc{position:static}.task-diamond-slot--comment .task-comment{position:static;top:auto;right:auto}.task-diamond-slot .task-role-chip{min-width:0;max-width:100%}.task-diamond-slot .task-points,.task-diamond-slot .task-points-editor{margin-left:0}.task-stub{position:absolute;top:50%;margin-top:-14px;z-index:var(--z-lift-1);pointer-events:auto;width:28px;height:28px;border-radius:var(--radius-circle);background:var(--surface-raised);border:1px solid var(--border-default);box-shadow:var(--shadow-pop);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;cursor:pointer;animation:task-stub-in .1s ease backwards}.task-stub:hover{color:var(--text-primary);border-color:var(--border-strong)}.task-stub:before{content:"";position:absolute;top:-8px;bottom:-8px;width:14px}.task-stub--out:before{left:-13px}.task-stub--in:before{right:-13px}.task-stub--out{right:-14px}.task-stub--in{left:-14px}.task-ring{--ring-band: 8px;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.task-ring-side{position:absolute;pointer-events:auto;cursor:crosshair}.task-ring-side--top,.task-ring-side--bottom{left:0;right:0;height:var(--ring-band)}.task-ring-side--top,.task-ring-side--left{z-index:var(--z-lift-1)}.task-ring-side--top{top:0}.task-ring-side--bottom{bottom:0}.task-ring-side--left,.task-ring-side--right{top:var(--ring-band);bottom:var(--ring-band);width:var(--ring-band)}.task-ring-side--left{left:0}.task-ring-side--right{right:0}@keyframes task-stub-in{0%{opacity:0}}.task-node--frame .task-stub{top:calc(var(--parent-header, 32px) / 2)}.task-node--frame .task-collapse{position:relative}.task-node--frame .task-collapse,.task-node--frame .task-comment,.task-node--frame .task-frame-desc{z-index:var(--z-lift-2)}.task-selection-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--task-corner-radius, 2px);box-shadow:0 0 6px 1px color-mix(in srgb,var(--accent) 65%,transparent),0 0 16px 5px color-mix(in srgb,var(--accent) 38%,transparent);pointer-events:none}.task-selection-ring--diamond{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;box-shadow:none;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 95%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 72%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 45%,transparent))}.task-selection-ring--diamond polygon{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}.task-target-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:2px solid var(--accent);border-radius:calc(var(--task-corner-radius, 2px) + 6px);box-shadow:0 0 0 4px var(--focus-ring);pointer-events:none;animation:task-ring-in .1s ease both}.task-target-ring--arming{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:none;animation:task-ring-arm var(--nest-dwell, .35s) linear both}@keyframes task-ring-arm{0%{transform:scale(1.13);opacity:.3}to{transform:scale(1);opacity:1}}.task-nest-caption{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:var(--z-lift-2);padding:3px 9px;border-radius:var(--radius-pill);background:var(--text-primary);color:var(--canvas);font-family:var(--font-sans);font-size:var(--font-micro);font-weight:var(--fw-medium);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-pop)}.task-target-ring--denied{border-color:var(--status-danger);border-style:dashed;box-shadow:0 0 0 4px color-mix(in srgb,var(--status-danger) 12%,transparent)}.task-target-ring--diamond{inset:auto;border:none;box-shadow:none;overflow:visible;filter:drop-shadow(0 0 4px var(--focus-ring))}.task-target-ring--diamond polygon{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.task-target-ring--diamond.task-target-ring--denied{filter:none}.task-target-ring--diamond.task-target-ring--denied polygon{stroke:var(--status-danger);stroke-dasharray:6 4}.task-target-ring--diamond.task-target-ring--arming{filter:none}.task-target-ring--diamond.task-target-ring--arming polygon{stroke:color-mix(in srgb,var(--accent) 60%,transparent);stroke-dasharray:6 5}@keyframes task-ring-in{0%{opacity:0}to{opacity:1}}.task-node--dropping-source{opacity:.45}.task-node--deactivated{opacity:.4}.task-node--done-gray{filter:grayscale(.9);opacity:.62;transition:opacity var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}.task-node--dim{opacity:.18;transition:opacity var(--dur-fast) var(--ease)}.task-node--dim.task-node--hover{opacity:1}.task-node--hidden{visibility:hidden;pointer-events:none}.react-flow__node.node-hidden,.react-flow__node.node-hidden *,.react-flow__node.node-hidden .task-collapse,.react-flow__node.node-hidden .status-badge,.react-flow__node.node-hidden .task-desc,.react-flow__node.node-hidden .task-comment{pointer-events:none!important}.react-flow__node.selected{box-shadow:none}.react-flow__handle.task-handle{opacity:0;width:8px;height:8px;min-width:0;min-height:0;border:none;background:transparent;pointer-events:none}.react-flow__handle.task-body-handle{opacity:0;top:0;left:0;width:100%;height:100%;transform:none;border:none;border-radius:0;min-width:0;min-height:0;background:transparent}.react-flow__node:has(>.task-node--hover:not(.task-node--frame)){z-index:var(--z-rf-node-hover)!important}.task-content--process .task-portal{margin-top:0}.task-portal-toggle{flex:none;display:grid;place-items:center;width:16px;height:16px;margin-left:2px;border-radius:var(--radius-sm);color:rgb(var(--task-ink) / .65);pointer-events:auto;cursor:pointer}.task-portal-toggle:hover{background:rgb(var(--task-ink) / .12);color:rgb(var(--task-ink) / .95)}.task-process-preview{flex:1;min-height:0;margin-top:4px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-md);background:rgb(var(--task-ink) / .05);border:1px solid rgb(var(--task-ink) / .14)}.task-process-img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.task-process-placeholder{padding:8px 14px;text-align:center;font-family:var(--font-sans);font-size:11px;line-height:1.45;color:rgb(var(--task-ink) / .55)}.task-rich-text a{color:inherit;text-decoration:underline}@media(any-pointer:coarse){.status-badge{position:relative}.status-badge:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.task-collapse{position:relative}.task-collapse:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.task-node--frame .task-collapse:before{left:0}.task-node .task-lead .status-badge:before{top:-2px;left:-2px}.task-stub{touch-action:none}.task-stub:before{top:-12px;bottom:-12px;left:-12px;right:-12px;width:auto}.task-points--editable{position:relative}.task-points--editable:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.task-chip--editable{position:relative}.task-chip--editable:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.task-node .status-badge--quiet{pointer-events:auto}}.date-glyphs{display:inline-flex;align-items:center;gap:var(--space-1)}.date-glyph{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:var(--radius-sm);color:rgb(var(--task-ink) / var(--task-glyph-idle, .55))}.date-glyph.is-overdue{color:var(--status-danger-text)}.gv-row .date-glyph{color:var(--text-tertiary)}.gv-row .date-glyph.is-overdue{color:var(--status-danger-text)}.task-title-row{display:flex;align-items:flex-start;gap:var(--space-2);min-height:0}.task-title-row>.task-title,.task-title-row>.task-title-editor-wrap{flex:1;min-width:0}.task-lead{flex:none;display:inline-flex;align-items:center;gap:3px;margin-left:-2px;pointer-events:auto}.task-lead .task-collapse{height:18px}.task-desc-lines{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;margin-top:2px;color:rgb(var(--task-ink) / .68)}.task-footer-chips{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden}.task-footer-chips>*{pointer-events:auto}.task-end{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2);pointer-events:auto}.task-end .task-comment{position:static}.task-end .task-points{margin-left:0;min-width:0;height:auto;padding:0;border:none;font-size:var(--font-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:rgb(var(--task-ink))}.task-end .task-points--editable:hover{background:transparent;color:rgb(var(--task-ink))}.task-end .task-points-editor{margin-left:0}.task-footer--corner{position:absolute;height:18px;margin-top:0;pointer-events:none}.task-footer--corner>*{pointer-events:auto}.task-avatar{flex:none;width:14px;height:14px;border-radius:var(--radius-circle);background:rgb(var(--task-ink) / .16);color:rgb(var(--task-ink));font-family:var(--font-sans);font-size:calc(var(--font-micro) * .68);font-weight:var(--fw-semibold);letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center}.task-avatar--inherited{background:transparent;border:1px dashed rgb(var(--task-ink) / .4)}.task-role-chip--who{display:inline-flex;align-items:center;gap:var(--space-2);height:18px;padding:0 7px 0 var(--space-1);box-sizing:border-box}.task-role-chip--who.task-role-chip--inherited{padding:0 var(--space-3) 0 1px}.task-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.task-assignee-chip{height:18px;padding:0;box-sizing:border-box;border-radius:var(--radius-circle);background:transparent;color:rgb(var(--task-ink) / .78)}.task-assignee-chip .task-avatar{width:18px;height:18px;background:rgb(var(--task-ink) / .14)}.task-assignee-chip--inherited{background:transparent;padding:0}.task-ondeck{position:absolute;top:0;bottom:0;z-index:var(--z-lift-3);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--space-1) * 1.5);padding:0;border:var(--task-stroke, 1px) solid var(--task-stroke-color, transparent);border-right:1.5px dashed rgb(var(--task-ink) / .35);border-radius:var(--task-corner-radius, 12px) 0 0 var(--task-corner-radius, 12px);background:var(--surface-base);color:rgb(var(--task-ink));font-family:var(--font-sans);white-space:nowrap;filter:var(--drop-shadow-task);pointer-events:none}.task-ondeck b{font-size:calc(var(--font-headline) * 1.18);font-weight:var(--fw-semibold);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.task-ondeck i{font-size:calc(var(--font-micro) * .73);font-style:normal;font-weight:var(--fw-semibold);letter-spacing:.08em;line-height:var(--lh-tight);color:rgb(var(--task-ink) / .6)}.task-ondeck.is-next b,.task-ondeck.is-next i{color:var(--accent)}.task-frame-header{background:transparent;border-radius:var(--task-corner-radius, 12px) var(--task-corner-radius, 12px) 0 0;padding-right:var(--space-4)}.task-frame-header .task-frame-title{font-weight:var(--fw-semibold)}.task-frame-header .task-desc,.task-frame-header .task-comment{position:static;flex:none}.task-frame-header .task-points{margin-left:0;min-width:0;height:auto;padding:0;border:none;font-size:var(--font-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:rgb(var(--task-ink))}.task-frame-header .task-points-editor{margin-left:0}.task-node--bandless .task-band,.task-node--bandless .task-frame-header{background:transparent}.task-node--stubbed .task-band{border-top-left-radius:0}.task-node--stubbed .task-selection-ring,.task-node--stubbed .task-target-ring{border-top-left-radius:0;border-bottom-left-radius:0}.task-node--stubbed .task-stub{z-index:var(--z-lift-3)}.edge-marker-defs{position:absolute;width:0;height:0;overflow:hidden}.edge-halo{pointer-events:none}.edge-hover-halo{pointer-events:none;transition:opacity var(--dur-fast) var(--ease)}.canvas-host--select .react-flow__edge-interaction,.canvas-host--pan .react-flow__edge-interaction{cursor:pointer}.edge-dim{opacity:.16;transition:opacity var(--dur-fast) var(--ease)}.edge-hidden{visibility:hidden;pointer-events:none}.edge-inactive{opacity:.35}.edge-loopback{opacity:.55}.edge-loopback-badge{position:absolute;pointer-events:all;display:grid;place-items:center;width:18px;height:18px;color:var(--text-secondary)}.edge-label{position:absolute;pointer-events:all;padding:2px;font-family:var(--font-sans);font-size:var(--font-caption);line-height:var(--lh-tight);color:var(--text-primary);white-space:nowrap;-webkit-user-select:none;user-select:none}.edge-label-input{display:block;pointer-events:all;height:22px;padding:1px 6px;font-family:var(--font-sans);font-size:var(--font-caption);color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--accent);border-radius:var(--radius-md)}.edge-insert{position:absolute;pointer-events:all;display:grid;place-items:center;width:24px;height:24px;color:var(--text-tertiary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-circle);box-shadow:var(--shadow-pop)}.edge-insert:hover{color:var(--text-accent);border-color:var(--accent)}.edge-count{position:absolute;pointer-events:none;padding:1px 6px;font-family:var(--font-sans);font-size:var(--font-micro);line-height:16px;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-pill)}.react-flow__edgelabel-renderer{z-index:var(--z-rf-edge-labels)}.edge-edit-layer{position:absolute;top:0;left:0;z-index:var(--z-rf-edge-edit);overflow:visible;pointer-events:none}.edge-reconnect-ghost{pointer-events:none}.edge-handle{pointer-events:all;fill:var(--surface-raised);stroke:var(--accent)}.edge-handle--endpoint{fill:var(--accent);stroke:var(--surface-raised);cursor:crosshair}.edge-handle--waypoint{fill:var(--surface-raised);cursor:grab}.edge-handle--waypoint:hover{fill:var(--accent-wash)}.edge-add-hit{pointer-events:stroke;cursor:copy}.edge-handle--dragging{pointer-events:none;fill:var(--accent);stroke:var(--surface-raised)}.edge-ghost{position:absolute;top:0;left:0;z-index:var(--z-rf-edge-edit);overflow:visible;pointer-events:none}.edge-connection-line{pointer-events:none}.comment-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-comment);pointer-events:none}.comment-popover{position:absolute;width:264px;max-height:62vh;display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);pointer-events:auto;font-family:var(--font-sans);color:var(--text-primary);overflow:hidden}.comment-list{overflow-y:auto;max-height:42vh;padding:var(--space-1) 0}.comment-list--flow{max-height:none;overflow:visible;padding:0}.comment-note{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.comment-note+.comment-note{border-top:1px solid var(--border-subtle)}.comment-note--resolved{background:var(--surface-sunken)}.comment-note--resolved .comment-note-author,.comment-note--resolved .comment-note-body{color:var(--text-disabled)}.comment-note-check{flex:none;width:16px;height:16px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-on-accent);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.comment-note-check:hover{border-color:var(--accent)}.comment-note-check.is-checked{background:var(--accent);border-color:var(--accent)}.comment-note-main{flex:1 1 auto;min-width:0}.comment-note-meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:3px}.comment-note-author{font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-primary)}.comment-note-time{font-size:var(--font-micro);color:var(--text-tertiary)}.comment-note-actions{margin-left:auto;display:inline-flex;gap:var(--space-1)}.comment-note-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer}.comment-note-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.comment-note-btn--danger:hover{background:var(--status-danger-tint);color:var(--status-danger-text)}.comment-note-body{font-size:var(--font-body);line-height:1.4;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.comment-thread-head{display:flex;justify-content:flex-end;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.comment-next{display:inline-flex;align-items:center;gap:var(--space-2);height:24px;padding:0 var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-sans);font-size:var(--font-caption);color:var(--text-secondary);cursor:pointer}.comment-next:hover{background:var(--surface-hover);color:var(--text-primary)}.comment-thread--panel .comment-thread-head{padding-left:0;padding-right:0}.comment-note-edit{margin-top:var(--space-2)}.comment-author .sp-dropdown{position:static;margin-top:var(--space-2);max-height:200px;box-shadow:none}.comment-composer{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-subtle)}.comment-composer:last-child{border-bottom:none}.comment-input{resize:vertical;min-height:46px;font-family:inherit;line-height:1.4}.comment-composer-actions{display:flex;justify-content:flex-end}.comment-submit{display:inline-flex;align-items:center;height:28px;font-family:var(--font-sans);font-size:var(--font-caption);font-weight:var(--fw-semibold);padding:0 var(--space-5);border:none;border-radius:var(--radius-md);background:var(--accent);color:var(--text-on-accent);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.comment-submit:hover:not(:disabled){background:var(--accent-hover)}.comment-submit:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:default}.comment-thread--panel .comment-note,.comment-thread--panel .comment-composer{padding-left:0;padding-right:0}.comment-empty{margin:0 0 10px;font-size:var(--font-caption);color:var(--text-tertiary)}.filter-bar{flex:none;z-index:var(--z-dock);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-3) 10px var(--space-3) var(--space-2);background:var(--surface-base);border-bottom:1px solid var(--border-subtle)}.fb-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);row-gap:var(--space-3);min-height:26px}.fb-line--band>.fb-drops{flex:1 1 auto}.fb-line--band.is-folded>.fb-right{order:1}.fb-line--band.is-folded>.fb-drops{order:2;flex-basis:100%}.fb-quick-group{flex:0 1 auto;display:flex;align-items:center;gap:var(--space-3);max-width:100%;min-width:0}.fb-quick{flex:0 1 auto;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.fb-quick::-webkit-scrollbar{display:none}.fb-quick-item{min-height:22px;border:none;background:transparent;cursor:pointer}.fb-quick-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.fb-quick.is-on .fb-quick-item[aria-checked=true]{color:var(--text-accent)}.fb-neighbors{display:inline-flex;align-items:center;gap:var(--space-3);padding-left:var(--space-3)}.fb-neighbors:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.fb-neighbors-track{position:relative;flex:none;width:20px;height:12px;border-radius:var(--radius-pill);background:var(--border-strong);transition:background var(--dur-fast) var(--ease)}.fb-neighbors-knob{position:absolute;top:2px;left:2px;width:8px;height:8px;border-radius:var(--radius-circle);background:var(--text-on-accent);transition:transform var(--dur-fast) var(--ease)}.fb-neighbors.is-on .fb-neighbors-track{background:var(--accent)}.fb-neighbors.is-on .fb-neighbors-knob{transform:translate(8px)}.fb-also{flex:none}.fb-also-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer}.fb-also-btn:hover,.fb-also-btn.is-open{background:var(--surface-hover);color:var(--text-primary)}.fb-also-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.fb-pop-head{padding:var(--space-2) var(--space-4) var(--space-1);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.filter-count{font-size:var(--font-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;line-height:1}.tb-btn.hdr-filter{gap:var(--space-1)}.tb-btn.hdr-filter.is-filtering{background:var(--accent-wash);color:var(--text-accent)}.fb-drops{flex:1 1 200px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.fb-drop{display:inline-flex;align-items:stretch;flex:0 1 auto;max-width:100%;height:26px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-secondary);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.fb-drop:hover{border-color:var(--border-strong);color:var(--text-primary)}.fb-drop.is-on{border-color:var(--accent);background:var(--accent-wash);color:var(--text-accent)}.fb-drop .fb-anchor{display:inline-flex;min-width:0}.fb-drop-btn{display:inline-flex;align-items:center;gap:5px;min-width:0;height:100%;padding:0 9px;border:none;border-radius:var(--radius-pill);background:transparent;color:inherit;font-size:var(--font-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer}.fb-drop.is-on .fb-drop-btn{padding-right:var(--space-2);border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.fb-drop-btn:hover,.fb-drop-btn.is-open{background:color-mix(in srgb,var(--accent) 8%,transparent)}.fb-drop-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.fb-drop-label{flex:none;font-weight:var(--fw-medium)}.fb-drop-value{min-width:0;font-weight:var(--fw-semibold);max-width:16ch;overflow:hidden;text-overflow:ellipsis}.fb-drop-caret{display:inline-flex;flex:none;opacity:.85}.fb-drop-x{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;border:none;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;color:inherit;opacity:.8;cursor:pointer}.fb-drop-x:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);opacity:1}.fb-drop-x:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.fb-scope{display:inline-flex;align-items:center;padding:0 var(--space-2) 0 9px;font-size:var(--font-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}.fb-scope-count{margin-left:5px;font-weight:var(--fw-semibold)}.fb-toggle{flex:none;height:26px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.fb-toggle:hover{border-color:var(--border-strong);color:var(--text-primary)}.fb-toggle.is-on{border-color:var(--accent);background:var(--accent-wash);color:var(--text-accent)}.fb-right{flex:none;display:flex;align-items:center;gap:10px;margin-left:auto}.fb-seg{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;padding:var(--space-1);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.fb-seg-label{padding:0 var(--space-3) 0 var(--space-2);font-size:var(--font-micro);color:var(--text-secondary);white-space:nowrap}.fb-seg button{min-width:44px;height:22px;padding:0 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--fw-semibold);cursor:pointer}.fb-seg button:hover{color:var(--text-primary)}.fb-seg button.is-on{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--border-subtle)}.fb-seg button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.fb-clear{flex:none;height:24px;padding:0 9px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer}.fb-clear:hover{background:var(--surface-hover);color:var(--text-primary)}.fb-anchor{position:relative;display:inline-flex}.fb-pop{position:absolute;top:calc(100% + 6px);z-index:var(--z-dialog);display:flex;flex-direction:column;gap:1px;min-width:190px;max-width:280px;max-height:min(60vh,420px);overflow-y:auto;overflow-x:hidden;padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.fb-pop--left{left:0}.fb-pop--right{right:0}.fb-row{display:flex;align-items:center;gap:var(--space-4);width:100%;height:30px;padding:0 var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:var(--font-body);text-align:left;cursor:pointer}.fb-row:hover,.fb-row:focus-visible{background:var(--surface-hover);outline:none}.fb-row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-row-tick{display:inline-flex;align-items:center;justify-content:center;flex:none;width:14px;color:var(--accent)}.fb-row-icon{display:inline-flex;flex:none;color:var(--text-tertiary)}.fb-row.is-on .fb-row-label,.fb-row.is-on .fb-row-icon{color:var(--text-accent)}@media(max-width:767px){.filter-bar{padding:var(--space-2) var(--space-3)}.fb-line:not(.fb-line--band)>.fb-right{flex-basis:100%;margin-left:0}.fb-pop{max-width:calc(100vw - 2 * var(--space-5))}}:root[data-layout=phone] .filter-bar{gap:var(--space-2);padding:var(--space-2) calc(var(--space-3) + var(--safe-right)) var(--space-2) calc(var(--space-3) + var(--safe-left))}:root[data-layout=phone] .fb-line{flex-wrap:nowrap;gap:var(--space-3)}:root[data-layout=phone] .fb-line--band{flex-wrap:wrap;row-gap:var(--space-2)}:root[data-layout=phone] .fb-line--band>.fb-quick-group{flex:1 0 100%;overflow-x:auto;scrollbar-width:none}:root[data-layout=phone] .fb-line--band>.fb-quick-group::-webkit-scrollbar{display:none}:root[data-layout=phone] .fb-line--band>.fb-drops{order:1;flex-basis:0}:root[data-layout=phone] .fb-line--band>.fb-right{order:2}:root[data-layout=phone] .fb-quick{flex:0 0 auto;max-width:none;overflow:visible}:root[data-layout=phone] .fb-neighbors,:root[data-layout=phone] .fb-also{flex:0 0 auto}:root[data-layout=phone] .fb-drops{flex:1 1 auto;flex-wrap:nowrap;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}:root[data-layout=phone] .fb-drops::-webkit-scrollbar{display:none}:root[data-layout=phone] .fb-drop,:root[data-layout=phone] .fb-toggle,:root[data-layout=phone] .fb-scope{flex:0 0 auto}:root[data-layout=phone] .fb-right{flex:0 0 auto;margin-left:0}:root[data-layout=phone] .fb-pop{position:fixed;inset:auto 0 0 0;max-width:none;max-height:70dvh;padding-bottom:calc(var(--space-3) + var(--safe-bottom));border-width:1px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:sheet-up var(--dur-normal) var(--ease) both}.fb-more{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);height:26px;padding:0 var(--space-5);border:1px dashed var(--border-default);border-radius:var(--radius-pill);background:none;color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer}.fb-more:hover{border-color:var(--border-strong);color:var(--text-primary)}.fb-more.is-open{border-style:solid;color:var(--text-primary)}.fb-more-glyph{display:inline-flex;transition:transform var(--dur-fast) var(--ease)}.fb-more.is-open .fb-more-glyph{transform:rotate(45deg)}.search-bar{position:absolute;top:4px;left:50%;transform:translate(-50%);z-index:calc(var(--z-flyout) - 1);width:min(440px,100%);padding:3px var(--space-3);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;flex-direction:column;transition:border-color var(--dur-fast) var(--ease)}.search-bar:hover{border-color:var(--border-strong)}.search-bar:focus-within{border-color:var(--accent)}.search-bar.is-open{background:var(--surface-raised);box-shadow:var(--shadow-pop)}.search-bar--zen{position:fixed;top:var(--space-5);z-index:calc(var(--z-flyout) - 1);width:min(420px,calc(100vw - 32px));background:var(--surface-raised);box-shadow:var(--shadow-pop)}.search-row{display:flex;align-items:center;gap:var(--space-3);padding-left:var(--space-2)}.search-lead-wrap{display:inline-flex;align-items:center;flex:none;cursor:text}.search-lead{color:var(--text-tertiary);flex:none}.search-input{flex:1;min-width:0;height:30px;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-ui)}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none}.search-count{flex:none;text-align:right;font-size:var(--font-micro);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.search-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.search-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.search-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.search-filter{position:relative;display:inline-flex;align-items:center;flex:none}.search-toggle.is-on,.search-toggle.is-on:hover{background:var(--accent-wash);color:var(--text-accent)}.search-filter.is-filtering .search-btn{background:var(--accent);color:var(--text-on-accent)}.search-filter.is-filtering .search-btn:hover{background:var(--accent-hover);color:var(--text-on-accent)}.search-toggle:has(.filter-count){width:auto;min-width:30px;gap:var(--space-1);padding:0 var(--space-3)}.search-quick{display:inline-flex;align-items:stretch;flex:none;max-width:45%;height:22px;border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent-wash);color:var(--text-accent)}.search-quick-name{min-width:0;padding:0 var(--space-2) 0 var(--space-4);border:none;border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:transparent;color:inherit;font-size:var(--font-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.search-quick-x{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;border:none;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;color:inherit;cursor:pointer}.search-quick-name:hover,.search-quick-x:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.search-quick-name:focus-visible,.search-quick-x:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.search-attention{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);cursor:pointer}.search-attention:after{content:"";position:absolute;top:2px;right:3px;width:7px;height:7px;border:1.5px solid var(--surface-raised);border-radius:var(--radius-circle);background:var(--status-warning)}.search-attention-glyph{display:inline-flex}.search-attention:hover{background:var(--surface-hover);color:var(--text-primary)}.search-attention.is-on{background:var(--status-warning-tint);color:var(--status-warning-text)}.search-attention:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.search-tabs-wrap{margin-top:var(--space-3);border-top:1px solid var(--border-subtle)}.search-tabs{display:flex;gap:var(--space-5);padding:0 10px}.search-tab{padding:var(--space-3) var(--space-1) var(--space-2);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.search-tab:hover{color:var(--text-primary)}.search-tab.is-active{color:var(--text-primary);border-bottom-color:var(--accent)}.search-results{padding-top:var(--space-2);max-height:min(50vh,420px);overflow-y:auto;overflow-x:hidden}.cmdk-section+.cmdk-section{margin-top:var(--space-2)}.cmdk-section-label{padding:var(--space-3) 10px var(--space-1);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.cmdk-row{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:var(--font-body);text-align:left;cursor:pointer}.cmdk-row--active{background:var(--surface-hover)}.cmdk-row--more .cmdk-row-title{color:var(--text-secondary);font-size:var(--font-caption)}.cmdk-row--more.cmdk-row--active .cmdk-row-title{color:var(--text-primary)}.cmdk-row--empty{cursor:default}.cmdk-row--empty .cmdk-row-title{color:var(--text-tertiary)}.cmdk-row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-row-shortcut{flex:none;font-size:var(--font-micro);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.cmdk-row-hint{flex:none;font-size:var(--font-micro);color:var(--text-tertiary)}.cmdk-row-plan{flex:0 1 auto;min-width:0;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-micro);color:var(--text-tertiary)}.bc-bar{position:absolute;top:var(--space-3);left:var(--space-4);z-index:calc(var(--z-header) + 1);display:flex;align-items:center;gap:var(--space-1);max-width:min(70vw,640px);height:34px;padding:0 var(--space-3) 0 var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.bc-crumb{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:26px;padding:0 var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-caption);cursor:pointer}button.bc-crumb:hover{background:var(--surface-hover);color:var(--text-primary)}span.bc-crumb{display:inline-flex;align-items:center}.bc-crumb--current{color:var(--text-primary);cursor:default}.bc-sep{color:var(--text-tertiary);font-size:var(--font-caption);opacity:.6;flex:none}.bc-exit{margin-left:var(--space-2);border-radius:0;border-left:1px solid var(--border-subtle)}:root[data-layout=phone] .bc-bar{max-width:calc(100vw - 2 * var(--space-4));overflow-x:auto;scrollbar-width:none}:root[data-layout=phone] .bc-bar::-webkit-scrollbar{display:none}button.bc-crumb--current{display:inline-flex;align-items:center;gap:var(--space-1);cursor:pointer}button.bc-crumb--current:hover,button.bc-crumb--current[aria-expanded=true]{background:var(--surface-hover)}.bc-crumb-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-caret{flex:none;display:inline-flex;color:var(--text-tertiary)}.viewer-empty{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-6);background:var(--canvas);color:var(--text-primary);font-family:var(--font-sans)}.viewer-empty-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);max-width:30rem;padding:calc(var(--space-6) * 2);text-align:center;background:var(--surface-base);border:1px dashed var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.viewer-empty.is-over .viewer-empty-card{border-color:var(--accent);background:var(--accent-wash)}.viewer-empty-title{margin:0;font-size:var(--font-headline);font-weight:var(--fw-semibold)}.viewer-empty-text{margin:0;color:var(--text-secondary);font-size:var(--font-lead);line-height:var(--lh-body)}.viewer-empty-problem{margin:0;color:var(--status-danger-text);font-size:var(--font-body)}.hdr-viewer-chip{display:inline-flex;align-items:center;gap:var(--space-2);height:1.5rem;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--font-caption);font-weight:var(--fw-semibold);white-space:nowrap;cursor:default}.hdr-viewer-chip svg{flex:none}:root:is([data-viewer],[data-reader]) .side-panel .field--readonly input,:root:is([data-viewer],[data-reader]) .side-panel .field--readonly textarea,:root:is([data-viewer],[data-reader]) .plan-panel .field--readonly input,:root:is([data-viewer],[data-reader]) .plan-panel .field--readonly textarea,:root:is([data-viewer],[data-reader]) .side-panel .sp-head-name,:root:is([data-viewer],[data-reader]) .plan-panel .sp-head-name{color:var(--text-primary)}:root:is([data-viewer],[data-reader]) .side-panel .sp-seg button.is-active:disabled,:root:is([data-viewer],[data-reader]) .plan-panel .sp-seg button.is-active:disabled{color:var(--text-primary)}:root:is([data-viewer],[data-reader]) .side-panel .sp-role-button:disabled{color:var(--text-primary);cursor:default}:root:is([data-viewer],[data-reader]) .side-panel .sp-role-button:disabled:hover{border-color:var(--border-default)}:root:is([data-viewer],[data-reader]) .field__well .sp-role-button:disabled:hover{border:0}:root:is([data-viewer],[data-reader]) .comment-note-check:disabled{cursor:default}:root:is([data-viewer],[data-reader]) .comment-note-check:disabled:hover{border-color:var(--border-strong)}:root:is([data-viewer],[data-reader]) .comment-note-check.is-checked:disabled:hover{border-color:var(--accent)}:root:is([data-viewer],[data-reader]) .sp-rte-body[aria-readonly=true]{cursor:default}:root:is([data-viewer],[data-reader]) .sp-rte-body[aria-readonly=true] a{cursor:pointer}.workspace-panel{position:relative;flex:none;width:min(var(--workspace-panel-w, 300px),34vw);height:100%;z-index:var(--z-dock);display:flex;flex-direction:column;background:var(--surface-base);border-right:1px solid var(--border-subtle);overflow:hidden}.plan-panel .sp-head{flex:none;padding:var(--space-5) var(--space-5) 0;margin-bottom:var(--space-4)}.plan-panel-body{flex:1 1 auto;min-height:0;padding:0 var(--space-5) var(--space-5)}.wsp-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) 10px;border-bottom:1px solid var(--border-subtle)}.wsp-head-actions{display:inline-flex;gap:var(--space-1)}.wsw-row{display:flex;align-items:center}.wsw-row>.menu-item{flex:1;min-width:0}.wsw-row-more{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:var(--space-2);border-radius:var(--radius-sm);color:var(--text-tertiary)}.wsw-row-more:hover,.wsw-row-more[aria-expanded=true]{color:var(--text-primary);background:var(--surface-hover)}.tpl-section{margin-top:var(--space-4)}.tpl-group{margin-top:var(--space-6)}.tpl-group-head{margin:0 0 var(--space-2);font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.wsw{position:relative;min-width:0;flex:1}.wsw-trigger{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:3px var(--space-3) 3px var(--space-2);margin-left:-4px;border:1px solid transparent;border-radius:var(--radius-md);background:none;color:var(--text-primary);font:inherit;font-size:var(--font-ui);font-weight:var(--fw-semibold);text-align:left;cursor:pointer}.wsw-trigger:hover:not(:disabled),.wsw-trigger.is-open{background:var(--surface-hover);border-color:var(--border-default)}.wsw-trigger:disabled{cursor:default;color:var(--text-disabled)}.wsw-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wsw-rename{width:100%;padding:3px var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--font-ui);font-weight:var(--fw-semibold)}.wsw-menu{min-width:248px}.wsw-menu-gutter{display:inline-block;width:14px;height:14px;flex:none}.wsp-body{flex:1;min-height:0;overflow-y:auto}.wsp-tree{min-height:100%;padding:var(--space-3) var(--space-3) 24px;border-radius:var(--radius-md)}.wsp-tree.is-root-target{box-shadow:inset 0 0 0 2px var(--accent)}.wsp-row{position:relative;display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:28px;padding:3px var(--space-3) 3px 0;border-radius:var(--radius-md);text-align:left;font-size:var(--font-body);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.wsp-row:hover:not(.is-active){background:var(--surface-hover)}.wsp-row.is-active{background:var(--accent-wash);color:var(--text-accent)}.wsp-row.is-active .wsp-glyph,.wsp-row.is-active .wsp-twist{color:var(--text-accent)}.wsp-row.is-dragging{opacity:.45}.wsp-row--all{margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);border-bottom-left-radius:0;border-bottom-right-radius:0}.wsp-row--all .wsp-glyph{color:var(--text-accent)}.wsp-strip{margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.wsp-strip-head{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--font-micro);font-weight:var(--fw-semibold);letter-spacing:.02em;text-transform:uppercase;color:var(--text-tertiary)}.wsp-row.is-drop-into{box-shadow:inset 0 0 0 2px var(--accent)}.wsp-row.is-drop-before:before,.wsp-row.is-drop-after:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);height:2px;border-radius:1px;background:var(--accent)}.wsp-row.is-drop-before:before{top:-1px}.wsp-row.is-drop-after:after{bottom:-1px}.wsp-twist{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-sm);color:var(--text-tertiary)}.wsp-twist svg{transition:transform var(--dur-fast) var(--ease)}.wsp-twist.is-open svg{transform:rotate(90deg)}.wsp-glyph{flex:none;display:inline-flex;color:var(--text-tertiary)}.wsp-glyph--plan{margin-left:22px}.wsp-main{flex:1;min-width:0;display:flex;align-items:center}.wsp-pct{flex:none;max-width:45%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-micro);font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.wsp-search{flex:none;padding-top:var(--space-3);border-bottom:1px solid var(--border-subtle)}.wsp-search-field{width:calc(100% - var(--space-5) * 2);margin:0 var(--space-5) var(--space-3)}.wsp-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wsp-untitled{color:var(--text-tertiary);font-style:italic}.wsp-rename{width:100%;padding:var(--space-1) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);font-size:var(--font-body);outline:none}.wsp-actions{flex:none;display:inline-flex;gap:1px;padding-right:var(--space-1);visibility:hidden}.wsp-row:hover .wsp-actions,.wsp-row:focus-within .wsp-actions{visibility:visible}.wsp-action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);color:var(--text-tertiary)}.wsp-action:hover{color:var(--text-primary);background:var(--surface-hover)}.wsp-empty{padding:18px var(--space-5);font-size:var(--font-ui);line-height:var(--lh-body);color:var(--text-tertiary);text-align:center}.wsp-empty--actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:28px var(--space-6)}.wsp-empty-line{margin:0}.wsp-empty-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.wsp-empty-btn svg{flex:none}.wsp-trash{flex:none;border-top:1px solid var(--border-subtle);background:var(--surface-base)}.wsp-trash-head{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-5) var(--space-3) var(--space-4);font-size:var(--font-body);color:var(--text-secondary);text-align:left;cursor:pointer}.wsp-trash-head:hover{color:var(--text-primary);background:var(--surface-hover)}.wsp-trash-list{max-height:176px;overflow-y:auto;padding:0 var(--space-3) var(--space-4)}.wsp-trash-row{display:flex;align-items:center;gap:var(--space-3);min-height:26px;padding:var(--space-1) var(--space-2) var(--space-1) 30px;border-radius:var(--radius-md);font-size:var(--font-body);color:var(--text-secondary)}.wsp-trash-row:hover{background:var(--surface-hover);color:var(--text-primary)}.wsp-trash-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--space-3)}.wsp-trash-when{flex:none;font-size:var(--font-micro);color:var(--text-tertiary)}.wsp-trash-restore{flex:none}.wsp-action--danger:hover{color:var(--status-danger-text);background:var(--status-danger-tint)}.wsp-trash-bar{display:flex;align-items:center}.wsp-trash-bar .wsp-trash-head{flex:1;width:auto;min-width:0}.wsp-trash-verbs{flex:none;display:flex;gap:var(--space-2);padding-right:var(--space-4)}.wsp-trash-left{flex:none;font-size:var(--font-micro);color:var(--text-tertiary)}.wsp-trash-row.is-expiring .wsp-trash-left{color:var(--status-danger-text)}.wsp-newplan-filter{display:block;width:calc(100% - 16px);margin:0 var(--space-4) var(--space-3);padding:5px var(--space-4);font-size:var(--font-caption);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary)}.wsp-newplan-filter::placeholder{color:var(--text-tertiary)}.wsp-newplan-filter:hover{border-color:var(--border-strong)}.wsp-newplan-filter:focus{outline:none;border-color:var(--accent)}.wsp-ctx-menu{display:flex;flex-direction:column;gap:1px}@media(max-width:767px){.workspace-panel{position:absolute;top:0;left:0;bottom:0;width:100%;border-right:0;box-shadow:var(--shadow-pop)}}@media(any-pointer:coarse){.wsw-row-more,.wsp-twist,.wsp-action{position:relative}.wsw-row-more:before,.wsp-action:before{content:"";position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px}.wsp-twist:before{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px}}@media(pointer:coarse){.wsp-actions{visibility:visible}}:root[data-layout=phone] .workspace-panel{position:absolute;inset:0 auto 0 0;z-index:var(--z-dialog);width:min(320px,86vw);padding-left:var(--safe-left);padding-bottom:var(--safe-bottom);border-right:1px solid var(--border-subtle);box-shadow:var(--shadow-modal);animation:drawer-in var(--dur-normal) var(--ease) both}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}.phone-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dialog) - 1);background:var(--scrim);animation:scrim-in var(--dur-fast) var(--ease) both}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}:root[data-layout=phone] .wsp-row{min-height:40px}.wsp-health{flex:none;margin-left:var(--space-2);font-size:var(--font-micro);color:var(--text-secondary)}.filtered-out-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-canvas-overlay) + 1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;text-align:center;padding:var(--space-6)}.filtered-out-clear{pointer-events:auto}.board-empty{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:48px var(--space-6);font-size:var(--font-ui);color:var(--text-tertiary);text-align:center}.board-empty-door{display:inline-flex;align-items:center;gap:var(--space-5)}.board-empty-stack{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-4)}.board-empty-buttons{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.unstart-dialog{width:min(94vw,460px)}.unstart-list{margin:var(--space-2) 0 0;padding-left:1.2em}.unstart-why{font-size:var(--font-caption);font-weight:var(--fw-semibold);color:var(--text-secondary)}.unstart-other{padding:var(--space-3) var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--font-body)}.unstart-other:focus-visible{outline:none;border-color:var(--accent)}.unstart-days{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.unstart-day-row{display:flex;align-items:center;gap:var(--space-3)}.unstart-day-name{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.unstart-day-hint{font-size:var(--font-caption);color:var(--text-secondary)}.unstart-day-num{flex:none;width:84px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised)}.unstart-day-num:focus-within{border-color:var(--accent)}.unstart-day-num.is-invalid{border-color:var(--status-danger)}.unstart-day-num>input{padding:var(--space-3) calc(var(--space-6) + var(--space-4)) var(--space-3) var(--space-3);border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--font-body);font-variant-numeric:tabular-nums;text-align:right;outline:none}.unstart-day-unit{flex:none;font-size:var(--font-caption);color:var(--text-secondary)}.restore-dialog{width:min(94vw,440px)}.restore-list{display:flex;flex-direction:column;max-height:min(46vh,420px);overflow-y:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.restore-row{display:flex;align-items:center;gap:10px;padding:var(--space-4) 10px}.restore-row+.restore-row{border-top:1px solid var(--border-subtle)}.restore-row-body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.restore-row-stamp{font-size:var(--font-body);font-weight:var(--fw-semibold)}.restore-row-meta{font-size:var(--font-caption);color:var(--text-secondary)}.restore-row-delta{color:var(--text-primary)}.restore-row-btn{flex:none}.restore-empty{padding:10px var(--space-1);font-size:var(--font-body);color:var(--text-tertiary)}.take-snapshot-dialog{width:min(94vw,380px)}.take-snapshot-lead{margin:0 0 var(--space-5);font-size:var(--font-body);line-height:var(--lh-body);color:var(--text-secondary)}.take-snapshot-promise{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-5);font-size:var(--font-body);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.take-snapshot-promise input{margin-top:3px;accent-color:var(--accent)}.take-snapshot-locks{margin:var(--space-5) 0 0;font-size:var(--font-tiny);line-height:var(--lh-body);color:var(--text-secondary)}.take-snapshot-promise small{display:block;margin-top:var(--space-1);font-size:var(--font-tiny);line-height:var(--lh-body);color:var(--text-secondary)}.promise-change-dialog{width:min(94vw,420px)}.promise-change-move{margin:0 0 var(--space-3);font-size:var(--font-body);color:var(--text-primary)}.promise-change-chance{color:var(--text-secondary)}.promise-change-lead{margin:0 0 var(--space-5);font-size:var(--font-body);line-height:var(--lh-body);color:var(--text-secondary)}.findrep-dialog{width:min(94vw,400px)}.findrep-fields{display:flex;flex-direction:column;gap:var(--space-5)}.findrep-options{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--font-body)}.findrep-case{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.findrep-case input{accent-color:var(--accent)}.findrep-count{color:var(--text-secondary);white-space:nowrap}.findrep-preview{display:flex;flex-direction:column;gap:var(--space-2);max-height:132px;overflow-y:auto;padding:var(--space-4) 9px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-caption)}.findrep-preview-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:var(--space-3)}.findrep-before,.findrep-after{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.findrep-before{color:var(--text-disabled)}.findrep-after{color:var(--text-primary)}.findrep-arrow{color:var(--text-tertiary)}.findrep-empty{color:var(--text-tertiary);font-style:italic}.findrep-preview-note{color:var(--text-tertiary)}.repair-dialog{width:min(94vw,440px)}.repair-list{max-height:190px;overflow-y:auto;margin:0;padding:var(--space-4) 9px var(--space-4) 26px;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-caption);color:var(--text-primary);line-height:1.5}.repair-list li+li{margin-top:3px}.repair-technical summary{font-size:var(--font-caption);color:var(--text-secondary);cursor:pointer}.repair-technical[open] summary{margin-bottom:var(--space-3)}@media(max-width:767px){.restore-dialog,.findrep-dialog,.take-snapshot-dialog,.promise-change-dialog,.repair-dialog{width:calc(100vw - 2 * var(--space-5))}.findrep-options{flex-wrap:wrap}}:root[data-layout=phone] .modal-shell,:root[data-layout=phone] .restore-dialog,:root[data-layout=phone] .findrep-dialog,:root[data-layout=phone] .repair-dialog{width:100%;max-width:none;max-height:88dvh;margin-top:auto;padding-bottom:calc(var(--space-6) + var(--safe-bottom));border-width:1px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:sheet-up var(--dur-normal) var(--ease) both}:root[data-layout=phone] .modal-backdrop{align-items:flex-end;padding:0}:root[data-layout=phone] .findrep-options{flex-wrap:wrap}.themes-dialog .theme-gallery{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.dialog-lead{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--font-body)}.csvmap-list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.csvmap-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:var(--space-4);align-items:center}.csvmap-col{display:flex;flex-direction:column;min-width:0}.csvmap-name{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csvmap-glimpse{font-size:var(--font-caption);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-stop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drop);overflow-y:auto;background:var(--canvas);color:var(--text-primary);font-family:var(--font-sans)}.release-stop__card{box-sizing:border-box;max-width:34rem;margin:0 auto;padding:12vh var(--space-6) 24px}.release-stop__title{margin:0 0 var(--space-5);font-size:var(--font-headline);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.release-stop__heading{margin:24px 0 var(--space-4);font-size:var(--font-title);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.release-stop__body{margin:0 0 var(--space-5);font-size:var(--font-lead);line-height:var(--lh-loose);color:var(--text-secondary)}.release-stop__message{margin:0 0 var(--space-5);padding:var(--space-5) var(--space-6);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--surface-sunken);font-size:var(--font-lead);line-height:var(--lh-body)}.release-stop__head{margin:0 0 var(--space-5)}.release-stop__exports{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;list-style:none}.release-stop__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.release-stop__status{font-size:var(--font-meta);line-height:var(--lh-body);color:var(--text-secondary);overflow-wrap:anywhere}.release-stop__status--danger{color:var(--status-danger-text)}.release-stop__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:24px 0 0}.release-stop__footer{margin:var(--space-6) 0 0;font-size:var(--font-caption);color:var(--text-tertiary)}.release-notice{flex:none;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);font-size:var(--font-body);line-height:var(--lh-body);color:var(--text-primary);background:var(--status-warning-tint);border-bottom:1px solid color-mix(in srgb,var(--status-warning) 40%,var(--border-subtle))}.release-notice__dismiss{flex:none;margin-left:auto}
