:root{--color-paper:oklch(97% .012 83);--color-surface:oklch(99% .004 85);--color-canvas:oklch(95.6% .015 83);--color-ink:oklch(29% .028 160);--color-muted:oklch(42% .028 150);--color-line:oklch(87% .016 85);--color-dot:oklch(82% .014 85);--color-accent:oklch(53% .15 36);--color-accent-soft:oklch(94% .036 40);--color-dark:oklch(27% .035 165);--color-on-dark:oklch(97% .012 90);--color-focus:oklch(48% .14 220);--color-warning:oklch(43% .1 70);--color-warning-soft:oklch(95% .068 86);--color-success:oklch(43% .09 165);--color-success-soft:oklch(94% .04 165);--color-error:oklch(48% .17 26);--color-error-soft:oklch(95% .03 26);--color-overlay:oklch(22% .025 160/.42);--color-shadow:oklch(25% .02 160/.1);--color-transparent:transparent;--color-on-dark-soft:oklch(99% .004 85/.08);--color-on-dark-line:oklch(97% .012 90/.18);--color-focus-soft:oklch(48% .14 220/.08);--font-display:"Trebuchet MS","Yu Gothic UI",sans-serif;--font-body:"Yu Gothic UI","Meiryo",sans-serif;--font-mono:Consolas,monospace;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-lg:16px;--text-title:26px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--radius-glass:26px;--radius-lens:999px;--radius-sheet:34px;--glass-fill:oklch(99.2% .004 95/.22);--glass-fill-strong:oklch(99% .006 90/.38);--glass-sheen:oklch(100% 0 0/.55);--glass-veil:oklch(27% .02 165/.12);--shadow-glass:inset 0 1px 0 oklch(100% 0 0/.72), inset 0 0 0 .5px oklch(100% 0 0/.32), 0 8px 24px oklch(25% .02 160/.1), 0 1px 2px oklch(25% .02 160/.05);--ease-out:cubic-bezier(.2,.8,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-arrive:cubic-bezier(.16,1,.3,1);--dur-fast:.14s;--dur-normal:.22s;--dur-ink:.38s;--rule-thin:1px;--rule-bold:2px}html,body{background:var(--color-paper);min-height:100%;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);caret-color:var(--color-accent);accent-color:var(--color-accent);margin:0;line-height:1.45;overflow-x:clip}::selection{background:var(--color-accent-soft);color:var(--color-ink)}#root{min-height:100vh}*{box-sizing:border-box}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-style:normal;font-weight:700}button,input,select,textarea{font:inherit;color:inherit}button{border:var(--rule-thin) solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;min-height:36px;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex;position:relative}button.icon-only{width:36px;padding:0}button.linkish.icon-only{width:32px;text-decoration:none}@media (hover:hover){button:hover:not(:disabled){background:var(--color-accent-soft);transform:translateY(-1px)}}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button.primary{background:var(--color-accent);color:var(--color-on-dark);border-color:var(--color-accent);box-shadow:inset 0 1px oklch(100% 0 0/.42),inset 0 -1px oklch(32% .08 30/.4),0 8px 18px -12px oklch(48% .14 36/.75)}@media (hover:hover){button.primary:hover:not(:disabled){filter:brightness(1.05);background:var(--color-accent)}}button.is-on{background:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-dark);box-shadow:inset 0 1px oklch(100% 0 0/.28),inset 0 -1px oklch(0% 0 0/.4)}button.linkish{background:var(--color-transparent);min-height:32px;color:var(--color-accent);text-underline-offset:3px;border:0;padding:0;text-decoration:underline}input,select,textarea{border:var(--rule-thin) solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-sm);outline:2px solid var(--color-transparent);outline-offset:1px;width:100%;min-height:36px;padding:6px 10px}textarea{resize:vertical;min-height:72px}@media (hover:hover){input:hover,select:hover,textarea:hover{background:var(--color-paper)}}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--color-focus)}.app{background:var(--color-canvas);--pane-left:0px;--pane-right:0px;--hud-shift:left var(--dur-normal) var(--ease-out), right var(--dur-normal) var(--ease-out);height:100vh;position:relative;overflow:hidden}.app.is-nav{--pane-left:min(300px, 92vw)}.app.is-open{--pane-right:min(320px, 92vw)}.viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-color:var(--color-canvas);background-image:radial-gradient(circle, var(--color-dot) .7px, var(--color-transparent) .7px), radial-gradient(1200px 420px at 12% -10%, var(--color-accent-soft), var(--color-transparent));background-size:calc(18px * var(--board-z,1)) calc(18px * var(--board-z,1)), auto;background-position:var(--board-x,0) var(--board-y,0), 0 0;position:absolute;inset:0;overflow:hidden}.viewport.is-panning{cursor:grabbing}.camera{transform-origin:0 0;width:max-content}.lane-stick{z-index:6;transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.lane-stick-svg{display:block;overflow:visible}.stick-paper{fill:var(--color-paper)}.lane-stick .lane-label,.lane-stick .note-bubble{pointer-events:auto;cursor:pointer}.screen-only-hide{visibility:hidden}.hud{z-index:12;pointer-events:none;gap:8px;display:flex;position:absolute}.hud>*{pointer-events:auto}.hud-top{top:12px;left:calc(var(--pane-left) + 12px);right:calc(var(--pane-right) + 12px);transition:var(--hud-shift);justify-content:space-between;align-items:flex-start}.hud-tools{bottom:12px;left:calc(var(--pane-left) + 12px);right:calc(var(--pane-right) + 168px);transition:var(--hud-shift);justify-content:center}.hud-zoom{bottom:12px;right:calc(var(--pane-right) + 12px);transition:right var(--dur-normal) var(--ease-out)}.hud-banner{top:64px;left:var(--pane-left);right:var(--pane-right);box-sizing:border-box;width:auto;transition:var(--hud-shift);justify-content:center;padding:0 12px}.hud-board{border:var(--rule-thin) solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 8px 24px var(--color-shadow);flex-wrap:wrap;align-items:center;gap:8px;padding:6px;display:flex;position:relative}.hud-top-end>.hud-board:first-child,.hud-top-end>.hud-board:last-child,.hud-tools>.hud-board{z-index:4}.is-glass .liquid{--sheen-x:30%;--sheen-y:0%;background-color:var(--glass-fill);background-image:radial-gradient(46% 70% at var(--sheen-x) 0%, var(--glass-sheen), transparent 74%);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(14px)saturate(1.4);border:0}.is-glass .hud-board{border-radius:var(--radius-pill)}.is-glass .liquid:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;z-index:5;background:linear-gradient(oklch(100% 0 0/.9) 0%,oklch(100% 0 0/.2) 42%,oklch(28% .02 165/.12) 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.is-glass .sidebar.liquid,.is-glass .rail.liquid,.is-glass .start-sheet.liquid{background-color:var(--glass-fill-strong);background-image:radial-gradient(38% 22% at var(--sheen-x) 0%, oklch(100% 0 0/.4), transparent 78%);-webkit-backdrop-filter:blur(10px)saturate(1.15)}.is-glass .hud-board>button,.is-glass .hud-board>.menu>button,.is-glass .hud-board .legend>button,.is-glass .hud-board .place-type,.is-glass .start-sheet button:not(.primary):not(.linkish){border-radius:var(--radius-lens);background:oklch(100% 0 0/.16);border-color:oklch(100% 0 0/.38);box-shadow:inset 0 1px oklch(100% 0 0/.65)}.is-glass .hud-board>button.primary,.is-glass .hud-board>.menu>button.primary,.is-glass .start-sheet button.primary{background:var(--color-accent);color:var(--color-on-dark);border-color:var(--color-accent);box-shadow:inset 0 1px oklch(100% 0 0/.45),inset 0 -1px oklch(32% .08 30/.45),0 8px 18px -12px oklch(48% .14 36/.8)}.is-glass .hud-board>button.is-on,.is-glass .hud-board>.menu>button.is-on{background:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-dark);box-shadow:inset 0 1px oklch(100% 0 0/.32),inset 0 -1px oklch(0% 0 0/.45)}@media (hover:hover){.is-glass .hud-board>button:hover:not(:disabled):not(.primary):not(.is-on),.is-glass .hud-board>.menu>button:hover:not(:disabled):not(.primary):not(.is-on),.is-glass .hud-board .legend>button:hover:not(:disabled),.is-glass .start-sheet button:not(.primary):not(.linkish):hover:not(:disabled){background:oklch(100% 0 0/.38)}}.brand-mark{font-family:var(--font-display);letter-spacing:-.03em;padding:0 8px;font-size:16px;font-weight:700}.draft-list{margin:0 0 12px;padding:0;list-style:none}.draft-list li{align-items:center;gap:4px;margin-bottom:6px;display:flex}.draft-list .draft-open{text-align:left;background:var(--color-paper);min-width:0;font-family:var(--font-display);flex:1;justify-content:flex-start;font-weight:700}.draft-list .draft-open span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.draft-list .is-current .draft-open,.draft-list .draft-open.is-current{background:var(--color-accent-soft);border-color:var(--color-accent)}.section-label{font-size:var(--text-sm);color:var(--color-muted);margin:18px 0 8px;font-weight:600}.top-actions,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav-scrim{top:0;bottom:0;right:0;left:var(--pane-left);z-index:20;background:var(--color-overlay);opacity:0;pointer-events:none;min-height:0;transition:opacity var(--dur-normal) var(--ease-out), left var(--dur-normal) var(--ease-out);border:0;border-radius:0;position:absolute}.app.is-nav .nav-scrim{opacity:1;pointer-events:auto}.app.is-glass.is-nav .nav-scrim{background:var(--glass-veil)}.sidebar{z-index:21;background:var(--color-surface);border-right:var(--rule-thin) solid var(--color-line);width:min(300px,92vw);box-shadow:8px 0 28px var(--color-shadow);pointer-events:none;transition:transform var(--dur-normal) var(--ease-arrive);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-104%)}.is-glass .sidebar{border-radius:var(--radius-sheet);border-right:0;width:calc(min(300px,92vw) - 24px);top:12px;bottom:12px;left:12px;transform:translate(calc(-100% - 48px))}.app.is-nav .sidebar{pointer-events:auto;transform:translate(0)}.menu{position:relative}.menu-panel{z-index:40;min-width:220px;color:var(--color-ink);background:var(--color-surface);border:var(--rule-thin) solid var(--color-line);border-radius:var(--radius-md);box-shadow:0 10px 28px var(--color-shadow);transform-origin:100% 0;animation:panel-in var(--dur-fast) var(--ease-arrive) both;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.hud-tools .menu-panel{transform-origin:0 100%;inset:auto auto calc(100% + 8px) 0}.menu-panel .menu-sep{background:var(--color-line);height:1px;margin:4px 6px}.is-glass .menu-panel .menu-sep{background:oklch(28% .02 165/.12)}.settings-panel{min-width:12em}.menu-panel button,.menu-panel .check{background:var(--color-transparent);width:100%;color:var(--color-ink);border-radius:var(--radius-sm);border:0;justify-content:flex-start}@media (hover:hover){.menu-panel button:hover:not(:disabled){background:var(--color-accent-soft);transform:none}}.rail{z-index:15;background:var(--color-surface);border-left:var(--rule-thin) solid var(--color-line);width:min(320px,92vw);min-width:0;box-shadow:-8px 0 28px var(--color-shadow);scrollbar-width:thin;pointer-events:none;transition:transform var(--dur-normal) var(--ease-arrive);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;transform:translate(104%)}.is-glass .rail{border-radius:var(--radius-sheet);border-left:0;width:calc(min(320px,92vw) - 24px);top:12px;bottom:12px;right:12px;transform:translate(calc(100% + 48px))}.rail-body::-webkit-scrollbar{width:12px}.sidebar .rail-body::-webkit-scrollbar{width:12px}.rail-body::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:oklch(62% .02 80/.4) padding-box padding-box;border:3px solid #0000}.sidebar .rail-body::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:oklch(62% .02 80/.4) padding-box padding-box;border:3px solid #0000}.app.is-open .rail{pointer-events:auto;transform:translate(0)}.rail-head{border-bottom:var(--rule-thin) solid var(--color-line);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.is-glass .rail-head{border-bottom-color:oklch(28% .02 165/.1)}.rail-head p{margin:0;font-weight:700}.quiet{color:var(--color-muted);margin:0 0 16px}.flow-list,.lane-list,.note-list,.history-list,.diff-list,.review-list{margin:0 0 12px;padding:0;list-style:none}.flow-list button,.lane-list button{text-align:left;background:var(--color-paper);justify-content:flex-start;width:100%;margin-bottom:6px}.flow-list .is-current,.lane-list .is-current{background:var(--color-accent-soft);border-color:var(--color-accent)}.lane-list i{border-radius:99px;width:10px;height:10px;display:inline-block}.toolbar-hint{color:var(--color-muted);font-size:var(--text-sm);margin:0}.hud-top-end{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.search-board{flex-wrap:nowrap;flex-shrink:0}.search-field{min-height:36px;color:var(--color-muted);align-items:center;gap:6px;padding:0 4px 0 8px;display:inline-flex}.search-field input{background:var(--color-transparent);border:0;width:11em;min-height:32px;padding:4px 0}.search-field input:hover,.search-field input:focus-visible{background:var(--color-transparent)}.search-count{min-width:3.25em;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-muted);text-align:right}.search-count.is-empty{color:var(--color-error)}.zoom-field{align-items:center;gap:1px;min-height:36px;display:inline-flex}.zoom-field input{background:var(--color-transparent);text-align:right;font-variant-numeric:tabular-nums;border:0;width:3.25em;min-height:32px;padding:4px 2px}.zoom-field input:hover,.zoom-field input:focus-visible{background:var(--color-transparent)}.zoom-field span{color:var(--color-muted);font-variant-numeric:tabular-nums}.inline,.check{align-items:center;gap:8px;min-height:36px;display:inline-flex}.inline select{width:auto;max-width:240px}.check input{width:auto;min-height:18px}.place-type{border:var(--rule-thin) solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper);padding:0 4px 0 10px}.place-type svg{flex-shrink:0}.place-type select{background:0 0;border:0;min-height:34px;padding-right:4px}.banner,.toast{border-radius:var(--radius-md);background-color:var(--color-accent-soft);border:var(--rule-thin) solid var(--color-accent);flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 12px;display:flex;position:relative}.is-glass .banner,.is-glass .toast{border-radius:var(--radius-glass);background-color:color-mix(in oklch, var(--color-accent-soft) 48%, transparent);border-color:#0000}.hud-banner .banner{width:min(640px,100%);animation:panel-in var(--dur-normal) var(--ease-arrive) both}.banner.warn,.toast.error{background-color:var(--color-error-soft);border-color:var(--color-error)}.toast.success{background-color:var(--color-success-soft);border-color:var(--color-success)}.is-glass .banner.warn,.is-glass .toast.error{background-color:color-mix(in oklch, var(--color-error-soft) 55%, transparent);border-color:#0000}.is-glass .toast.success{background-color:color-mix(in oklch, var(--color-success-soft) 55%, transparent);border-color:#0000}.is-glass .toast.info,.is-glass .toast:not(.error):not(.success){background-color:var(--glass-fill-strong)}.banner p,.toast{margin:0}.rail-body{scrollbar-width:thin;scrollbar-color:oklch(62% .02 80/.45) transparent;flex:1;padding:16px;overflow:auto}.is-glass .rail input:not([type=checkbox]):not([type=radio]),.is-glass .rail select,.is-glass .rail textarea,.is-glass .sidebar input:not([type=checkbox]):not([type=radio]),.is-glass .sidebar select,.is-glass .sidebar textarea{background:oklch(99.2% .004 85/.92);border-color:oklch(100% 0 0/.62);box-shadow:inset 0 1px oklch(100% 0 0/.85),inset 0 0 0 1px oklch(28% .02 165/.06)}.inspector-stack h2{margin:0 0 12px;font-size:20px}.inspector-stack h3{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;align-items:center;gap:6px;margin:16px 0 8px;font-weight:600;display:flex}.kind-chip{font-size:var(--text-sm);color:var(--color-muted);margin:0 0 4px;font-weight:600}.field{gap:6px;margin-bottom:12px;display:grid}.field-label{font-size:var(--text-sm);color:var(--color-muted)}.field-hint{font-size:var(--text-xs);color:var(--color-muted)}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border-radius:99px;width:22px;min-height:22px;padding:0}.selection-notes{gap:8px;margin-bottom:12px;display:grid}.selection-notes .note-list{margin:0}.note-list li,.history-list li,.diff-list li,.review-list li{background:var(--color-paper);border:var(--rule-thin) solid var(--color-line);border-radius:var(--radius-md);margin-bottom:8px;padding:10px}.note-list li{gap:6px;display:grid}.note-list .is-current{border-color:var(--color-warning)}.note-list-head{align-items:center;gap:8px;display:flex}.note-index{background:var(--color-warning);width:22px;height:22px;color:var(--color-on-dark);border-radius:99px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.note-list li.is-jump{padding:0}.note-list button.note-jump{text-align:left;background:var(--color-transparent);border-radius:var(--radius-md);border:0;grid-template-columns:auto 1fr;align-items:start;gap:8px;width:100%;min-height:44px;padding:10px;display:grid}.note-jump strong,.note-jump small{display:block}.note-jump small{color:var(--color-muted);font-weight:500}.selection-notes .button-row button{width:auto}.note-list .resolved{opacity:1}.note-list .resolved button:not(.linkish){color:var(--color-muted)}.review-group,.review-actions{margin:0 0 16px}.review-actions button{width:100%}.review-group h3{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;color:var(--color-muted);align-items:center;gap:6px;margin:0 0 8px;font-weight:600;display:flex}.review-group h3 span{font-variant-numeric:tabular-nums;margin-left:auto}.review-list li{padding:0}.review-list .is-current{border-color:var(--color-warning)}.review-list button{text-align:left;background:var(--color-transparent);border-radius:var(--radius-md);border:0;justify-content:flex-start;width:100%;min-height:44px;padding:10px}.status-chip,.diff-chip{border-radius:var(--radius-pill);width:fit-content;min-height:22px;font-size:var(--text-xs);align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.status-chip.unresolved,.diff-chip{background:var(--color-warning-soft);color:var(--color-warning)}.status-chip.resolved{background:var(--color-success-soft);color:var(--color-success)}.diff-list li{gap:6px;display:grid}.diff-list .added .diff-chip{background:var(--color-success-soft);color:var(--color-success)}.diff-list .changed .diff-chip{background:var(--color-accent-soft);color:var(--color-accent)}.diff-list .removed .diff-chip{background:var(--color-error-soft);color:var(--color-error)}.history-list li{gap:6px;display:grid}.history-list small{color:var(--color-muted);font-size:var(--text-sm)}.issues{white-space:pre-wrap;background:var(--color-error-soft);color:var(--color-error);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);padding:10px}.toast{right:calc(var(--pane-right) + 16px);z-index:50;max-width:min(420px,100vw - 32px);transition:right var(--dur-normal) var(--ease-out);animation:toast-in var(--dur-normal) var(--ease-arrive) both;margin:0;position:fixed;bottom:76px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.empty-app{padding:48px}.diagram{background:var(--color-paper);border-radius:var(--radius-md);box-shadow:0 18px 48px var(--color-shadow);display:block}.diagram [tabindex]:focus,.diagram [tabindex]:focus-visible,.lane-stick-svg [tabindex]:focus,.lane-stick-svg [tabindex]:focus-visible{outline:none}.canvas-paper{fill:var(--color-paper)}.lane-rule{stroke:var(--color-line)}.lane-paper{fill:var(--color-surface);stroke:var(--color-line)}.lane-org{fill:var(--color-muted);font-size:11px}.lane-name{fill:var(--color-ink);font-family:var(--font-display);font-size:14px;font-weight:700}.stage-col{cursor:pointer}.stage-hit{fill:var(--color-transparent)}.stage-col:hover .stage-hit,.stage-col.selected .stage-hit{fill:var(--color-accent-soft)}.stage-col.selected .stage-index{fill:var(--color-accent)}.stage-band{fill:var(--color-accent);fill-opacity:.08;pointer-events:none;animation:fade-in var(--dur-fast) var(--ease-out) both}.column-drop{stroke:var(--color-accent);stroke-width:3px;stroke-linecap:round;pointer-events:none;animation:fade-in var(--dur-fast) var(--ease-out) both}.stage-index{fill:var(--color-ink);font-family:var(--font-display);letter-spacing:-.03em;pointer-events:none;font-size:22px;font-weight:700}.empty-cell{cursor:pointer}.empty-hit{fill:var(--color-surface);stroke:var(--color-line);opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity var(--dur-fast) var(--ease-out), fill var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-arrive);transform:scale(.72)}.empty-cell path{stroke:var(--color-muted);stroke-width:1.8px;stroke-linecap:round;opacity:0;fill:none;pointer-events:none;transform-box:fill-box;transform-origin:50%;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-arrive);transform:scale(.72)}.empty-cell:hover .empty-hit,.empty-cell:hover path,.empty-cell:focus-visible .empty-hit,.empty-cell:focus-visible path{opacity:1;transform:scale(1)}@media (hover:hover){.empty-cell:hover .empty-hit{fill:var(--color-accent-soft)}}.edge-line{fill:none;stroke:var(--color-ink);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;transition:stroke var(--dur-fast) var(--ease-out), stroke-width var(--dur-fast) var(--ease-out)}.edge.is-enter .edge-line{stroke-dasharray:1;animation:ink-stroke var(--dur-ink) var(--ease-arrive) both}.edge.document .edge-line{stroke-dasharray:0}.edge-hit{fill:none;stroke:var(--color-transparent);stroke-width:12px}.edge-caption{fill:var(--color-ink);paint-order:stroke fill;stroke:var(--color-paper);stroke-width:4px;stroke-linejoin:round;font-size:11px;font-weight:600}.edge.selected .edge-line,.edge:focus-visible .edge-line{stroke:var(--color-accent);stroke-width:3.5px}.edge.selected .edge-caption,.edge:focus-visible .edge-caption{fill:var(--color-accent)}.edge-port{fill:var(--color-surface);stroke:var(--color-accent);stroke-width:2.5px;cursor:grab;transform-box:fill-box;transform-origin:50%;animation:stamp-in var(--dur-fast) var(--ease-arrive) both}.edge-port:hover{fill:var(--color-accent-soft)}.rewire-line{fill:none;stroke:var(--color-accent);stroke-width:2.5px;stroke-dasharray:6 4;stroke-linecap:round;pointer-events:none;animation:.48s linear infinite dash-walk}.flow-node.is-drop .node-body{fill:var(--color-accent-soft);stroke:var(--color-accent);stroke-width:3.5px}.viewport.is-rewiring{cursor:grabbing}.node-shadow{fill:var(--color-shadow)}.node-body{fill:var(--color-surface);stroke:var(--color-line);stroke-width:1.25px;transition:fill var(--dur-fast) var(--ease-out), stroke var(--dur-fast) var(--ease-out), stroke-width var(--dur-fast) var(--ease-out)}.flow-node.is-enter .node-body,.flow-node.is-enter .node-shadow,.flow-node.is-enter .node-title,.flow-node.is-enter .doc-fold{transform-box:fill-box;transform-origin:50%;animation:stamp-in var(--dur-normal) var(--ease-arrive) both}.node-title{fill:var(--color-ink);font-family:var(--font-display);font-size:13px;font-weight:700}.node-meta{fill:var(--color-muted);font-size:11px}.node-meta.is-doc{fill:var(--color-ink);font-weight:600}.flow-node{cursor:grab}.flow-node.selected .node-body,.flow-node:focus-visible .node-body{fill:var(--color-accent-soft);stroke:var(--color-accent);stroke-width:3.5px}.flow-node.wait .node-body{stroke-dasharray:5 3}.flow-node.selected.wait .node-body,.flow-node:focus-visible.wait .node-body{stroke-dasharray:none}.flow-node.end .node-body{fill:var(--color-dark)}.flow-node.selected.end .node-body,.flow-node:focus-visible.end .node-body{fill:var(--color-accent)}.flow-node.end .node-title,.flow-node.end .node-meta{fill:var(--color-on-dark)}.diagram.is-searching .flow-node,.diagram.is-searching .edge,.diagram.is-searching .empty-cell{opacity:.3}.diagram.is-searching .flow-node.is-hit{opacity:1}.diagram.is-searching .flow-node.is-hit .node-body{stroke:var(--color-accent);stroke-width:2.5px}.diagram.is-searching .flow-node.is-focus .node-body{fill:var(--color-accent-soft);stroke-width:3.5px}.diagram.is-searching .flow-node.is-hit .doc-fold{stroke:var(--color-accent)}.diagram.is-searching .flow-node.is-focus .doc-fold{stroke-width:3.5px}.flow-node.document .node-body{fill:var(--color-paper)}.flow-node.selected.document .node-body,.flow-node:focus-visible.document .node-body{fill:var(--color-accent-soft)}.doc-fold{fill:none;stroke:var(--color-line);stroke-width:1.25px;stroke-linejoin:round;pointer-events:none}.flow-node.selected .doc-fold,.flow-node:focus-visible .doc-fold{stroke:var(--color-accent);stroke-width:3.5px}.flow-node.added .node-body{stroke:var(--color-success)}.flow-node.changed .node-body,.edge.changed .edge-line{stroke:var(--color-accent)}.edge.added .edge-line{stroke:var(--color-success)}.node-insert{opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out)}.node-insert circle,.node-insert path{transform-box:fill-box;transform-origin:50%;transition:transform var(--dur-fast) var(--ease-arrive);transform:scale(.62)}.flow-node:hover .node-insert,.flow-node.selected .node-insert,.flow-node:focus-visible .node-insert,.stage-col:hover .node-insert,.stage-col.selected .node-insert,.stage-col:focus-visible .node-insert{opacity:1;pointer-events:auto}.flow-node:hover .node-insert circle,.flow-node:hover .node-insert path,.flow-node.selected .node-insert circle,.flow-node.selected .node-insert path,.flow-node:focus-visible .node-insert circle,.flow-node:focus-visible .node-insert path,.stage-col:hover .node-insert circle,.stage-col:hover .node-insert path,.stage-col.selected .node-insert circle,.stage-col.selected .node-insert path,.stage-col:focus-visible .node-insert circle,.stage-col:focus-visible .node-insert path{transform:scale(1)}.insert-bridge{fill:var(--color-transparent);pointer-events:all}.node-insert circle{fill:var(--color-accent);stroke:var(--color-surface);stroke-width:2px;cursor:pointer}.node-insert path{stroke:var(--color-on-dark);stroke-width:1.8px;stroke-linecap:round;fill:none;pointer-events:none}.legend{position:relative}.legend-panel{z-index:40;background:var(--color-surface);border:var(--rule-thin) solid var(--color-line);border-radius:var(--radius-md);width:220px;box-shadow:0 10px 28px var(--color-shadow);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-arrive);gap:8px;padding:12px 14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)}.legend:hover .legend-panel,.legend:focus-within .legend-panel{opacity:1;pointer-events:auto;transform:none}.legend-panel p{margin:0 0 4px;font-weight:700}.legend-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.legend-panel li{font-size:var(--text-sm);align-items:center;gap:10px;display:flex}.legend-swatch{border:var(--rule-thin) solid var(--color-line);background:var(--color-surface);flex-shrink:0;width:28px;height:16px}.legend-swatch.is-task{border-radius:4px}.legend-swatch.is-decision{border-radius:0;width:18px;height:18px;margin:0 5px;transform:rotate(45deg)}.legend-swatch.is-wait{border-style:dashed;border-radius:4px}.legend-swatch.is-end{background:var(--color-dark);border-color:var(--color-dark);border-radius:8px}.legend-swatch.is-doc{background:var(--color-paper);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%);width:16px;height:20px;box-shadow:inset -6px 6px 0 -5px var(--color-line);border-radius:1px}.note-pin{cursor:pointer}.note-pin .note-dot,.note-pin .note-dot-text{transform-box:fill-box;transform-origin:50%;transition:transform var(--dur-fast) var(--ease-arrive), stroke var(--dur-fast) var(--ease-out), stroke-width var(--dur-fast) var(--ease-out)}@media (hover:hover){.note-pin:hover .note-dot,.note-pin:hover .note-dot-text{transform:scale(1.08)}}.note-pin:focus-visible .note-dot{stroke:var(--color-focus);stroke-width:2.5px}.note-mark.is-open .note-dot{stroke:var(--color-warning);stroke-width:2.5px}.note-dot{fill:var(--color-warning)}.note-dot-text{fill:var(--color-on-dark);font-size:10px;font-weight:700}.note-bubble rect,.note-bubble-tail{fill:var(--color-warning-soft);stroke:var(--color-warning)}.note-bubble text{fill:var(--color-warning);font-size:11px;font-weight:600}.note-bubble.is-empty text{fill:var(--color-muted)}.note-bubble{opacity:1;transform-box:fill-box;transform-origin:20px 100%;transition:opacity var(--dur-normal) var(--ease-out), transform var(--dur-normal) var(--ease-arrive)}.note-bubble.is-hidden{opacity:0;pointer-events:none;transform:scale(.88)translateY(8px)}.drop-hint{fill:var(--color-accent-soft);stroke:var(--color-accent);stroke-dasharray:5 4;animation:.64s linear infinite dash-walk}.marquee{fill:var(--color-focus-soft);stroke:var(--color-focus);stroke-dasharray:4 3}.hud-pop{animation:chip-in var(--dur-fast) var(--ease-arrive) both}@keyframes ink-stroke{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes stamp-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes panel-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes chip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dash-walk{to{stroke-dashoffset:-18px}}@media (width<=960px){.app{height:100dvh}.hud-tools{right:calc(var(--pane-right) + 12px);bottom:64px}.hud-tools .hud-board{max-width:100%}.brand-mark{font-size:14px}}.nav-scrim:hover,.nav-scrim:active{filter:none;transform:none}@media (prefers-reduced-transparency:reduce){.is-glass .liquid{background-color:var(--color-surface);-webkit-backdrop-filter:none;box-shadow:0 12px 28px var(--color-shadow);background-image:none}.is-glass .liquid:before{display:none}.is-glass .start-overlay{background:var(--color-paper);-webkit-backdrop-filter:none;backdrop-filter:none}.app.is-glass.is-nav .nav-scrim{background:var(--color-overlay);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.flow-node.is-enter .node-body,.flow-node.is-enter .node-shadow,.flow-node.is-enter .node-title,.flow-node.is-enter .doc-fold,.edge.is-enter .edge-line,.edge-port,.menu-panel,.toast,.hud-pop,.hud-banner .banner,.drop-hint,.rewire-line,.column-drop,.stage-band{animation:none!important}.sidebar,.rail,.nav-scrim,.note-bubble,.legend-panel,.node-insert,.node-insert circle,.node-insert path,.empty-hit,.empty-cell path,.note-pin .note-dot,.note-pin .note-dot-text{transition-property:opacity,fill,stroke,background-color,color,border-color!important;transform:none!important}button:hover:not(:disabled),button:active:not(:disabled){transform:none}}.app.is-start .viewport,.app.is-start .sidebar,.app.is-start .rail,.app.is-start .hud,.app.is-start .toast{pointer-events:none}.start-overlay{z-index:70;background:var(--color-paper);pointer-events:auto;padding:40px 24px 64px;position:fixed;inset:0;overflow:auto}.is-glass .start-overlay{background:var(--glass-veil);padding:56px 24px 72px}.start-sheet{max-width:720px;margin:0 auto;position:relative}.is-glass .start-sheet{border-radius:var(--radius-sheet);max-width:760px;padding:36px 40px 32px}.is-glass .start-sheet .start-list,.is-glass .start-sheet .start-list li{border-color:oklch(28% .02 165/.14)}.start-sheet h1{font-size:var(--text-title);margin:0 0 12px}.start-sheet>p{max-width:52ch;color:var(--color-ink);margin:0 0 24px}.start-list{border-top:var(--rule-thin) solid var(--color-line);margin:0 0 28px;padding:0;list-style:none}.start-list li{border-bottom:var(--rule-thin) solid var(--color-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:16px 0;display:grid}.start-list strong{font-family:var(--font-display);font-size:18px;display:block}.start-list span,.start-list small{color:var(--color-muted);display:block}.start-list small{font-size:var(--text-sm);margin-top:4px}.start-actions{flex-wrap:wrap;gap:8px;display:flex}.save-chip{font-size:var(--text-sm)}.export-preview{background:var(--color-canvas);border:var(--rule-thin) solid var(--color-line);border-radius:var(--radius-md);place-items:center;min-height:160px;margin:0 0 12px;padding:12px;display:grid;overflow:auto}.export-preview.is-white{background:#fff}.export-preview.is-transparent{background:linear-gradient(45deg, var(--color-line) 25%, transparent 25%) 0 0 / 16px 16px, linear-gradient(-45deg, var(--color-line) 25%, transparent 25%) 0 8px / 16px 16px, var(--color-surface)}.export-preview img{max-width:100%;height:auto}.export-options{border:0;flex-wrap:wrap;gap:12px 16px;margin:0 0 12px;padding:0;display:flex}.export-options legend{font-size:var(--text-sm);color:var(--color-muted);margin:0 0 6px;padding:0}.export-options label{align-items:center;gap:6px;min-height:32px;display:inline-flex}.fit-readout{color:var(--color-muted);font-size:var(--text-sm);margin:0 0 12px}.save-status{background:var(--color-success-soft);border:var(--rule-thin) solid var(--color-success);border-radius:var(--radius-md);align-items:flex-start;gap:8px;margin:0 0 16px;padding:10px 12px;display:flex}.guide-block p{margin:0 0 12px}.ai-settings{border-top:var(--rule-thin) solid var(--color-line);margin:16px 0;padding-top:8px}.ai-settings summary{cursor:pointer;align-items:center;gap:6px;min-height:36px;display:flex}@media (width<=720px){.start-list li{grid-template-columns:1fr}}
