/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-1{height:var(--spacing)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gray-1:#0e0f11;--gray-2:#141518;--gray-3:#1a1c1f;--gray-4:#212327;--gray-5:#292c31;--gray-6:#34373d;--gray-7:#50545c;--gray-8:#838790;--gray-9:#a8abb3;--gray-10:#eceef1;--bg-app:var(--gray-1);--bg-panel:var(--gray-2);--bg-card:var(--gray-3);--bg-hover:var(--gray-4);--bg-active:var(--gray-5);--border:var(--gray-5);--border-strong:var(--gray-6);--text:var(--gray-10);--text-muted:var(--gray-9);--text-subtle:var(--gray-8);--text-disabled:var(--gray-7);--accent:#5b8def;--accent-hover:#7aa2f5;--accent-bg:#5b8def24;--accent-fg:#fff;--st-draft:#8a93a6;--st-proposed:#4fc3e0;--st-fixed:var(--accent);--st-hold:var(--gray-7);--st-draft-bg:#8a93a624;--st-proposed-bg:#4fc3e024;--st-fixed-bg:var(--accent-bg);--st-hold-bg:#50545c33;--warn:#e5a23a;--warn-bg:#e5a23a24;--success:#3fb27f;--success-bg:#3fb27f24;--open:#e5534b;--open-bg:#e5534b24;--danger:var(--open);--danger-bg:var(--open-bg);--ai:#a48af0;--ai-bg:#a48af024;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:14px;--text-sm:15px;--text-md:16px;--text-h2:18px;--text-h1:24px;--leading:1.5;--leading-tight:1.3;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:8px;--border-width:1px;--shadow-float:0 4px 12px #00000059, 0 0 0 1px var(--border);--shadow-modal:0 16px 48px #00000080, 0 0 0 1px var(--border-strong);--duration:.12s;--ease:cubic-bezier(.2, 0, 0, 1);--transition:var(--duration) var(--ease);--focus-ring:0 0 0 2px var(--bg-app), 0 0 0 4px var(--accent);--topbar-height:48px;--rail-width:48px;--panel-ai-width:400px;--panel-detail-width:420px;--card-width:260px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gray-1:#f3f4f5;--gray-2:#f9f9fa;--gray-3:#fff;--gray-4:#eceef0;--gray-5:#e3e5e8;--gray-6:#d3d6da;--gray-7:#a9adb4;--gray-8:#6f737b;--gray-9:#50545c;--gray-10:#16181b;--accent:#2f6fe0;--accent-hover:#2560cc;--accent-bg:#2f6fe01a;--st-draft:#6b7488;--st-proposed:#0e8fae;--st-draft-bg:#6b74881f;--st-proposed-bg:#0e8fae1f;--st-hold-bg:#a9adb440;--warn:#b9770e;--warn-bg:#b9770e1f;--success:#1f8a5b;--success-bg:#1f8a5b1f;--open:#d2362f;--open-bg:#d2362f1a;--ai:#7c5ad6;--ai-bg:#7c5ad61a;--shadow-float:0 4px 12px #00000014, 0 0 0 1px var(--border);--shadow-modal:0 16px 48px #00000029, 0 0 0 1px var(--border-strong)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg-app);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--text-h1);line-height:var(--leading-tight);font-weight:var(--weight-semibold);letter-spacing:-.01em}h2{font-size:var(--text-h2);line-height:var(--leading-tight);font-weight:var(--weight-semibold)}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}code,kbd,.mono{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent-bg)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}.i{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none;width:18px;height:18px}.i.sm{width:16px;height:16px}.i.lg{width:20px;height:20px}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.label{font-size:var(--text-xs);color:var(--text-subtle);font-weight:var(--weight-medium);letter-spacing:.02em;text-transform:uppercase}.code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}.hint{font-size:var(--text-sm);color:var(--text-subtle)}kbd{border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-card);min-width:22px;height:22px;color:var(--text-muted);font-size:var(--text-xs);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.row{align-items:center;gap:var(--space-2);display:flex}.col{gap:var(--space-2);flex-direction:column;display:flex}.grow{flex:1;min-width:0}.btn{justify-content:center;align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-3);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition), border-color var(--transition), color var(--transition);display:inline-flex}.btn:hover{background:var(--bg-hover)}.btn:active{background:var(--bg-active)}.btn:disabled,.btn[aria-disabled=true]{color:var(--text-disabled);background:var(--bg-card);border-color:var(--border);cursor:not-allowed}.btn .i{width:16px;height:16px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent)}.btn-primary:disabled{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);opacity:.4}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.btn-danger:disabled{color:var(--text-disabled);background:var(--bg-card);border-color:var(--border)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-sm{height:28px;padding:0 var(--space-2);font-size:var(--text-sm)}.btn-icon{width:32px;padding:0}.btn-icon.btn-sm{width:28px}.btn .count{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}.btn-primary .count{color:var(--accent-fg);opacity:.8}.input,.select,.textarea{width:100%;height:32px;padding:0 var(--space-2);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);transition:border-color var(--transition), box-shadow var(--transition)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--gray-7)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.input:disabled,.select:disabled,.textarea:disabled{color:var(--text-disabled);background:var(--bg-panel);border-color:var(--border);cursor:not-allowed}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 2px var(--danger-bg)}.textarea{height:auto;min-height:64px;padding:var(--space-1) var(--space-2);resize:vertical;line-height:var(--leading)}.select{appearance:none;padding-right:var(--space-6);cursor:pointer}.select-wrap{width:100%;display:inline-flex;position:relative}.select-wrap>.i{width:16px;height:16px;color:var(--text-subtle);pointer-events:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.select-wrap.auto{justify-self:start;width:auto}.select-wrap.auto .select{width:auto}.field{align-items:center;gap:var(--space-2);grid-template-columns:60px 1fr;display:grid}.field>.label{text-transform:none;letter-spacing:0;font-size:var(--text-sm)}.field-error{font-size:var(--text-sm);color:var(--danger)}.chip{align-items:center;gap:var(--space-1);height:26px;padding:0 var(--space-2);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition), border-color var(--transition), color var(--transition);display:inline-flex}.chip:hover{background:var(--bg-hover);color:var(--text)}.chip[aria-pressed=true],.chip.on{background:var(--accent-bg);border-color:var(--accent);color:var(--text)}.chip:disabled{color:var(--text-disabled);cursor:not-allowed;background:var(--bg-card)}.chip .i{width:14px;height:14px}.chip .x{color:var(--text-subtle);margin-right:-4px}.chip .x:hover{color:var(--text)}.chip.static{cursor:default}.chip.static:hover{background:var(--bg-card);color:var(--text-muted)}.chip-status{cursor:default;gap:6px}.chip-status:before{content:"";background:var(--st,var(--gray-7));border-radius:50%;flex:none;width:8px;height:8px}.chip-status:hover{background:var(--bg-card);color:var(--text-muted)}.st-draft{--st:var(--st-draft);--st-bg:var(--st-draft-bg)}.st-proposed{--st:var(--st-proposed);--st-bg:var(--st-proposed-bg)}.st-fixed{--st:var(--st-fixed);--st-bg:var(--st-fixed-bg)}.st-hold{--st:var(--st-hold);--st-bg:var(--st-hold-bg)}.open-count{border-radius:var(--radius-sm);background:var(--open);color:#fff;min-width:22px;height:22px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.tag-ai{border-radius:var(--radius-sm);background:var(--ai-bg);height:22px;color:var(--ai);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;gap:3px;padding:0 5px;line-height:1;display:inline-flex}.tag-ai .i{stroke-width:2px;width:13px;height:13px}.tag-st{border-radius:var(--radius-sm);background:var(--st-bg);height:22px;color:var(--st);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;padding:0 6px;display:inline-flex}.tag{border-radius:var(--radius-sm);background:var(--bg-active);height:22px;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;padding:0 6px;display:inline-flex}.tag.danger{background:var(--open-bg);color:var(--open)}.prio{align-items:flex-end;gap:2px;height:13px;display:inline-flex}.prio i{background:var(--gray-6);border-radius:1px;width:3px}.prio i:first-child{height:5px}.prio i:nth-child(2){height:9px}.prio i:nth-child(3){height:13px}.prio.low i:first-child,.prio.mid i:nth-child(-n+2),.prio.high i{background:var(--text-muted)}.seg{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);gap:2px;padding:2px;display:inline-flex}.seg button{align-items:center;gap:var(--space-1);height:26px;padding:0 var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition), color var(--transition);white-space:nowrap;background:0 0;border:0;border-radius:3px;display:inline-flex}.seg button:hover{color:var(--text)}.seg button[aria-selected=true]{background:var(--bg-active);color:var(--text)}.seg button .i{width:15px;height:15px}.tabs{gap:var(--space-4);border-bottom:var(--border-width) solid var(--border);display:flex}.tabs button{height:36px;color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;align-items:center;gap:var(--space-1);transition:color var(--transition);background:0 0;border:0;padding:0 2px;display:inline-flex;position:relative}.tabs button:hover,.tabs button[aria-selected=true]{color:var(--text)}.tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.tabs .count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}.table{border-collapse:collapse;width:100%;font-size:var(--text-md)}.table th{text-align:left;font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--text-subtle);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--border);white-space:nowrap}.table td{padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--border);vertical-align:middle}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr.selected{background:var(--bg-active)}.table tbody tr.row-link{cursor:pointer}.table td.num{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right}.table .path{color:var(--text-subtle);font-size:var(--text-sm);white-space:nowrap}.table .path b{color:var(--text-muted);font-weight:var(--weight-medium)}.card{width:var(--card-width);padding:var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 2px);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--transition), background var(--transition), opacity var(--transition), box-shadow var(--transition);position:relative}.card:before{content:"";border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--st,var(--gray-6));width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.card:hover{border-color:var(--border-strong);background:var(--bg-hover)}.card:focus-visible{box-shadow:var(--focus-ring)}.card.selected,.card[aria-selected=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--bg-card)}.card.dim{opacity:.35}.card.dim:hover{opacity:.6}.card.ghost{border-style:dashed;border-color:var(--ai);background:0 0}.card.ghost:before{background:var(--ai);opacity:.6}.card.root{background:var(--bg-active);border-color:var(--border-strong)}.card.root:before{background:var(--text-muted)}.card.dragging{opacity:.8;box-shadow:var(--shadow-float);border-color:var(--border-strong);cursor:grabbing}.world .card.dragging{z-index:10;pointer-events:none;transition:none}.card.drop-target{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);border-style:dashed}.stage.dragging-node,.canvas.dragging-node{cursor:grabbing}.card .card-head{align-items:center;gap:var(--space-1);min-height:22px;margin-bottom:2px;display:flex}.card .code{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.card .code .i{vertical-align:-1px;width:13px;height:13px;margin-left:2px}.card .meta{align-items:center;gap:var(--space-1);flex:none;display:inline-flex}.card .title{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin-bottom:2px}.card .desc{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.card .fold{align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-1);border-top:var(--border-width) solid var(--border);font-size:var(--text-sm);color:var(--text-subtle);display:flex}.card .fold .i{width:14px;height:14px;transition:transform var(--transition)}.card .fold.open .i{transform:rotate(90deg)}.card .fold .sp{flex:1}.card .fold:hover{color:var(--text)}.card.root .desc{color:var(--text-muted)}.edge{fill:none;stroke:var(--border-strong);stroke-width:1.5px;transition:stroke var(--transition)}.edge.active{stroke:var(--text-subtle)}.edge.ghost{stroke:var(--ai);stroke-dasharray:3 3;opacity:.7}.handle{border:var(--border-width) solid var(--border-strong);background:var(--bg-card);width:22px;height:22px;color:var(--text-subtle);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.handle .i{stroke-width:2px;width:14px;height:14px}.handle:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.canvas .handle{opacity:0}.canvas .card:hover+.handle,.canvas .handle:hover,.canvas .card.selected+.handle{opacity:1}.canvas{background-color:var(--bg-app);background-image:radial-gradient(var(--gray-4) 1px, transparent 1px);background-size:20px 20px;position:relative;overflow:hidden}.canvas>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.canvas .card,.canvas .handle{position:absolute}.canvas .card{margin:0}.canvas-legend{left:var(--space-3);bottom:var(--space-3);align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap;display:flex;position:absolute}.canvas-legend i{vertical-align:-1px;background:var(--st);border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.canvas-legend .sep{background:var(--border-strong);width:1px;height:14px}.filterbar{left:var(--space-3);top:var(--space-3);align-items:center;gap:var(--space-1);padding:var(--space-1);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);display:flex;position:absolute}.zoom{right:var(--space-3);bottom:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);display:inline-flex;position:absolute;overflow:hidden}.zoom button{min-width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);background:0 0;border:0;padding:0 6px}.zoom button:hover{background:var(--bg-hover);color:var(--text)}.zoom button+button{border-left:var(--border-width) solid var(--border)}.topbar{align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-3);border-bottom:var(--border-width) solid var(--border);background:var(--bg-panel);display:flex}.topbar .project{align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);cursor:pointer;display:inline-flex}.topbar .project:hover{background:var(--bg-hover)}.topbar .project .i{color:var(--text-subtle)}.topbar .sp{flex:1}.rail{align-items:center;gap:var(--space-1);width:var(--rail-width);padding:var(--space-2) 0;border-right:var(--border-width) solid var(--border);background:var(--bg-panel);flex-direction:column;display:flex}.rail .sp{flex:1}.rail-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.rail-btn:hover{background:var(--bg-hover);color:var(--text)}.rail-btn[aria-pressed=true]{background:var(--bg-active);color:var(--text)}.rail-btn.ai[aria-pressed=true]{color:var(--ai)}.rail-btn .badge{background:var(--ai);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.rail-btn .badge.open{background:var(--open)}.panel{background:var(--bg-panel);border:var(--border-width) solid var(--border);flex-direction:column;min-width:0;display:flex}.panel.left{border-width:0 var(--border-width) 0 0}.panel.right{border-width:0 0 0 var(--border-width)}.panel.floating{border-radius:var(--radius-md);box-shadow:var(--shadow-float);border:0}.panel-head{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-3);border-bottom:var(--border-width) solid var(--border);flex:none;display:flex}.panel-head h2{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.panel-body{min-height:0;padding:var(--space-3);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow:auto}.panel-foot{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:var(--border-width) solid var(--border);flex:none;display:flex}.section{gap:var(--space-2);flex-direction:column;display:flex}.section>.label{margin-bottom:-2px}.box{padding:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.crumb{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-subtle);white-space:nowrap;display:flex;overflow:hidden}.crumb b{color:var(--text-muted);font-weight:var(--weight-medium)}.crumb .i{width:14px;height:14px}.list-row{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2);margin:0 calc(var(--space-2) * -1);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);display:flex}.list-row:hover{background:var(--bg-hover)}.list-row .code{flex:none;width:36px}.list-row .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.msg{gap:var(--space-1);font-size:var(--text-md);flex-direction:column;display:flex}.msg .who{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-subtle);font-weight:var(--weight-medium);display:flex}.msg .who .i{width:14px;height:14px}.msg.user .bubble{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.msg.ai .bubble{gap:var(--space-2);flex-direction:column;display:flex}.msg.ai .who{color:var(--ai)}.msg .bubble p+p{margin-top:0}.attach{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel);font-size:var(--text-xs);color:var(--text-muted);display:inline-flex}.attach .i{width:13px;height:13px}.activity{padding:var(--space-1) 0 var(--space-1) var(--space-2);border-left:var(--border-width) solid var(--border);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle);flex-direction:column;gap:2px;display:flex}.activity div{align-items:center;gap:var(--space-1);white-space:nowrap;text-overflow:ellipsis;display:flex;overflow:hidden}.activity .i{flex:none;width:13px;height:13px}.activity .running{color:var(--text-muted)}.proposal-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--ai);border-radius:var(--radius-sm);background:var(--ai-bg);display:flex}.proposal-banner b{color:var(--text);font-weight:var(--weight-semibold)}.proposal-banner .hint{color:var(--text-muted)}.composer{align-items:flex-end;gap:var(--space-2);padding:var(--space-2);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-card);transition:border-color var(--transition);display:flex}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.composer textarea{resize:none;min-width:0;min-height:24px;max-height:120px;line-height:var(--leading);background:0 0;border:0;outline:none;flex:1;padding:4px 0}.composer textarea::placeholder{color:var(--text-subtle)}.composer textarea:focus-visible{box-shadow:none}.md{gap:var(--space-2);line-height:var(--leading);overflow-wrap:anywhere;flex-direction:column;display:flex}.md :is(p,ul,ol,pre,table,blockquote,h1,h2,h3,h4){margin:0}.md :is(h1,h2,h3,h4){font-size:var(--text-md);font-weight:var(--weight-semibold)}.md :is(ul,ol){padding-left:var(--space-5)}.md ul{list-style:outside}.md ol{list-style:decimal}.md li+li{margin-top:2px}.md li::marker{color:var(--text-subtle)}.md code{border-radius:var(--radius-sm);background:var(--bg-active);padding:0 4px;font-size:.92em}.md pre{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);overflow:auto}.md pre code{font-size:var(--text-sm);background:0 0;padding:0}.md table{border-collapse:collapse;max-width:100%;font-size:var(--text-sm);display:block;overflow-x:auto}.md :is(th,td){padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--border);text-align:left}.md th{background:var(--bg-card);font-weight:var(--weight-medium);color:var(--text-muted)}.md blockquote{padding-left:var(--space-3);border-left:2px solid var(--border-strong);color:var(--text-muted)}.md hr{background:var(--border);border:0;width:100%;height:1px;margin:0}.diff{padding:var(--space-2) 0;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-app);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;margin:0;line-height:1.6;overflow:auto}.diff .ln{padding:0 var(--space-3);display:block}.diff .ln.h{color:var(--text-subtle)}.diff .ln.del{background:var(--open-bg);color:var(--text)}.diff .ln.del:before{content:"− ";color:var(--open)}.diff .ln.add{background:var(--success-bg);color:var(--text)}.diff .ln.add:before{content:"+ ";color:var(--success)}.diff .ln.ctx:before{content:"  "}.diff .ln.empty{padding:0 var(--space-3);text-align:left;color:var(--text-disabled);font-style:italic;display:block}.diff-pair{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=720px){.diff-pair{grid-template-columns:1fr}}.proposal-row{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;transition:border-color var(--transition), background var(--transition);flex-direction:column;gap:2px;display:flex}.proposal-row:hover{background:var(--bg-hover);border-color:var(--border-strong)}.proposal-row.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.proposal-row.conflict{opacity:.7}.proposal-row .t{align-items:center;gap:var(--space-2);font-weight:var(--weight-medium);display:flex}.proposal-row .t .code{font-size:var(--text-sm)}.overlay{z-index:50;background:#00000080;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.palette{border-radius:var(--radius-md);background:var(--bg-panel);width:min(560px,100% - 32px);box-shadow:var(--shadow-modal);overflow:hidden}.palette .p-input{align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-3);border-bottom:var(--border-width) solid var(--border);display:flex}.palette .p-input .i{color:var(--text-subtle)}.palette .p-input input{min-width:0;font-size:var(--text-h2);color:var(--text);background:0 0;border:0;outline:none;flex:1}.palette .p-input input::placeholder{color:var(--text-subtle)}.palette .p-list{max-height:320px;padding:var(--space-1);overflow:auto}.palette .p-group{padding:var(--space-2) var(--space-2) var(--space-1)}.palette .p-item{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;display:flex}.palette .p-item:hover,.palette .p-item[aria-selected=true]{background:var(--bg-active)}.palette .p-item .i{color:var(--text-subtle)}.palette .p-item .t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.palette .p-item .t .code{margin-right:var(--space-1)}.palette .p-item .keys{gap:2px;display:inline-flex}.palette .p-foot{align-items:center;gap:var(--space-3);height:36px;padding:0 var(--space-3);border-top:var(--border-width) solid var(--border);font-size:var(--text-xs);color:var(--text-subtle);display:flex}.palette .p-foot span{align-items:center;gap:4px;display:inline-flex}.toasts{right:max(16px, env(safe-area-inset-right,0px));bottom:max(16px, env(safe-area-inset-bottom,0px));z-index:60;gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-2);min-width:240px;max-width:360px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-card);box-shadow:var(--shadow-float);font-size:var(--text-md);animation:toast-in var(--duration) var(--ease);display:flex}.toast .i{color:var(--text-muted);flex:none}.toast.ok .i{color:var(--success)}.toast.err .i{color:var(--danger)}.toast .t{flex:1;min-width:0}.toast .btn{flex:none}@keyframes toast-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.toast.static{animation:none}.skel{border-radius:var(--radius-sm);background:var(--bg-active);animation:1.2s ease-in-out infinite skel;display:block}@keyframes skel{0%,to{opacity:1}50%{opacity:.45}}.skel.line{height:14px}.skel.card-skel{width:var(--card-width);border:var(--border-width) solid var(--border);background:var(--bg-card);height:74px;padding:var(--space-2) var(--space-3);flex-direction:column;gap:6px;animation:none;display:flex}.skel.card-skel .skel{animation:1.2s ease-in-out infinite skel}.empty{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.empty .i{width:24px;height:24px;color:var(--text-subtle);stroke-width:1.5px}.empty h3{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);margin:0}.empty p{max-width:36ch;font-size:var(--text-sm);color:var(--text-subtle)}.empty .btn{margin-top:var(--space-1)}.alert{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:var(--text-md);display:flex}.alert .i{flex:none;margin-top:2px}.alert .t{flex:1;min-width:0}.alert .t b{font-weight:var(--weight-semibold);display:block}.alert .t span{color:var(--text-muted);font-size:var(--text-sm)}.alert.error{border-color:var(--danger);background:var(--danger-bg)}.alert.error .i{color:var(--danger)}.alert.warn{border-color:var(--warn);background:var(--warn-bg)}.alert.warn .i{color:var(--warn)}.alert.ai{border-color:var(--ai);background:var(--ai-bg)}.alert.ai .i{color:var(--ai)}.spin{border:2px solid var(--border-strong);border-top-color:var(--text-muted);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.menu{min-width:180px;padding:var(--space-1);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:var(--shadow-float)}.menu-item{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-size:var(--text-md);display:flex}.menu-item:hover,.menu-item[aria-selected=true]{background:var(--bg-hover)}.menu-item .i{color:var(--text-subtle)}.menu-item.danger,.menu-item.danger .i{color:var(--danger)}.menu-sep{height:1px;margin:var(--space-1) 0;background:var(--border)}.menu-item .check{color:var(--accent);margin-left:auto}.modal{border-radius:var(--radius-md);background:var(--bg-panel);width:min(520px,100% - 32px);max-height:calc(100% - 32px);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.modal .panel-foot{justify-content:flex-end}.login{justify-content:center;align-items:center;gap:var(--space-6);height:100%;padding:var(--space-4);background:var(--bg-app);flex-direction:column;display:flex;position:relative;overflow:hidden}.login:before{content:"";background:radial-gradient(closest-side, var(--accent-bg), transparent);pointer-events:none;width:900px;height:620px;position:absolute;top:-30%;left:50%;transform:translate(-50%)}.login .box{gap:var(--space-4);width:380px;max-width:100%;padding:var(--space-10) var(--space-8) var(--space-8);border:1px solid var(--border);background:var(--bg-panel);box-shadow:var(--shadow-modal);text-align:center;border-radius:12px;flex-direction:column;display:flex;position:relative}.login .box>.col,.login .box>.alert{text-align:left}.login-mark{width:44px;height:44px;margin:0 auto var(--space-1);background:linear-gradient(140deg, var(--accent), var(--st-proposed));color:#fff;box-shadow:0 6px 20px var(--accent-bg);border-radius:12px;place-items:center;display:grid}.login-mark svg{width:22px;height:22px}.login h1,.login .wordmark{font-size:var(--text-h1);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.01em}.login .sub{margin-top:calc(var(--space-2) * -1);color:var(--text-muted);font-size:var(--text-sm)}.login-google{min-height:44px;margin-top:var(--space-2);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;justify-content:center;align-items:center;display:flex}.login-google[aria-busy=true]{opacity:.6;pointer-events:none}.login .domain{color:var(--text-subtle);font-size:var(--text-xs)}.login .alt{padding:var(--space-1) var(--space-2);color:var(--text-subtle);font:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-self:center}.login .alt:hover{color:var(--text);background:var(--bg-hover)}.login .sep{align-items:center;gap:var(--space-3);color:var(--text-subtle);font-size:var(--text-xs);display:flex}.login .sep:before,.login .sep:after{content:"";background:var(--border);flex:1;height:1px}.login .foot{color:var(--text-disabled);font-size:var(--text-xs);letter-spacing:.08em;position:relative}.review{background:var(--bg-app);grid-template-columns:320px minmax(0,1fr);height:100%;min-height:0;display:grid}.review-list{border-right:var(--border-width) solid var(--border);background:var(--bg-panel);flex-direction:column;min-height:0;display:flex}.review-list .panel-body{gap:var(--space-2)}.review-main{flex-direction:column;min-height:0;display:flex;overflow:auto}.review-main .inner{gap:var(--space-4);width:100%;max-width:960px;padding:var(--space-4);flex-direction:column;display:flex}.review-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.review-head .nav{align-items:center;gap:var(--space-1);display:inline-flex}.review-head .pos{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-subtle);font-variant-numeric:tabular-nums}.review-foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:var(--border-width) solid var(--border);display:flex}.review-foot .hint{margin-right:auto}.list-sep{align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-subtle);display:flex}.list-sep:after{content:"";background:var(--border);flex:1;height:1px}@media (width<=760px){.review{grid-template-columns:1fr}.review-list{display:none}}.slots{gap:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.slot{align-items:center;gap:var(--space-1);height:28px;padding:0 var(--space-2);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap;cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;display:flex;overflow:hidden}.slot:hover{background:var(--bg-hover);color:var(--text-muted)}.slot.on{color:var(--text);border-color:var(--border-strong);background:var(--bg-card)}.slot.on:hover{background:var(--bg-hover)}.slot .i{flex:none;width:12px;height:12px}.mermaid-host{overflow:auto}.mermaid-host svg{max-width:none;height:auto}.mermaid-host a{text-underline-offset:2px;text-decoration:underline}.avatar{border:var(--border-width) solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:border-color var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.avatar:hover,.avatar[aria-expanded=true]{border-color:var(--border-strong);background:var(--bg-hover);color:var(--text)}.ready-mark{color:var(--success);font-size:var(--text-xs);font-weight:var(--weight-medium);align-items:center;gap:3px;display:inline-flex}.ready-mark .i{width:16px;height:16px}.readiness{gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);flex-direction:column;display:flex}.readiness.ok{border-color:var(--success);background:var(--success-bg)}.readiness .head{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);display:flex}.readiness .head .i{color:var(--success)}.readiness:not(.ok) .head .i{color:var(--text-subtle)}.miss{flex-direction:column;display:flex}.miss .list-row{height:auto;min-height:30px;font-size:var(--text-sm);color:var(--text-muted);padding-top:3px;padding-bottom:3px}.miss .list-row .i{color:var(--text-subtle)}.cmd{gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);flex-direction:column;display:flex;position:relative}.cmd .cmd-head{align-items:center;gap:var(--space-2);font-weight:var(--weight-medium);display:flex}.cmd .cmd-head .hint{font-weight:var(--weight-regular)}.cmd pre{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-app);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;word-break:break-all;color:var(--text);margin:0;line-height:1.6}.cmd pre .key{color:var(--accent)}.keyline{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--accent);border-radius:var(--radius-sm);background:var(--accent-bg);font-family:var(--font-mono);font-size:var(--text-sm);display:flex}.keyline .k{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.steps{gap:var(--space-4);counter-reset:step;flex-direction:column;display:flex}.step{gap:var(--space-3);grid-template-columns:28px minmax(0,1fr);display:grid}.step:before{counter-increment:step;content:counter(step);border:var(--border-width) solid var(--border-strong);width:28px;height:28px;font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;display:flex}.step>div{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.side-item{align-items:center;gap:var(--space-2);min-height:32px;padding:4px var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;display:flex}.side-item:hover{background:var(--bg-hover);color:var(--text)}.side-item[aria-selected=true]{background:var(--bg-active);color:var(--text)}.side-item .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.side-item .code{flex:none}.prd-grid{gap:var(--space-6);grid-template-columns:180px minmax(0,1fr);align-items:start;display:grid}.prd-nav{flex-direction:column;gap:2px;display:flex;position:sticky;top:0}.prd-nav .side-item i{background:var(--text-disabled);border-radius:50%;flex:none;width:6px;height:6px}.prd-nav .side-item.filled i{background:var(--st-fixed)}.prd-field{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);scroll-margin-top:var(--space-4);flex-direction:column;display:flex}.prd-field .fh{align-items:center;gap:var(--space-2);display:flex}.prd-field .fh .label{flex:1}.prd-field .fh .btn{opacity:0;transition:opacity var(--transition)}.prd-field:hover .fh .btn,.prd-field:focus-within .fh .btn{opacity:1}.prd-field.blank{background:0 0;border-style:dashed}.prd-field.blank .row{color:var(--text-subtle);font-size:var(--text-sm)}.starters{gap:var(--space-1);flex-direction:column;display:flex}.starter{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);text-align:left;cursor:pointer;transition:border-color var(--transition), background var(--transition);flex-direction:column;gap:1px;display:flex}.starter:hover{border-color:var(--ai);background:var(--ai-bg)}.starter b{font-weight:var(--weight-medium);color:var(--text)}.starter span{font-size:var(--text-sm);color:var(--text-subtle)}.starter-row{gap:var(--space-1);padding-bottom:2px;display:flex;overflow-x:auto}.starter-row .chip{flex:none}.flow{max-width:none;display:block}.flow .fn rect,.flow .fn path,.flow .fn ellipse{fill:var(--bg-card);stroke:var(--border-strong);stroke-width:1px}.flow .fn text{fill:var(--text);font-size:var(--text-sm);font-family:var(--font-sans);text-anchor:middle;dominant-baseline:middle}.flow .fn text.c{fill:var(--text-subtle);font-family:var(--font-mono);font-size:var(--text-xs)}.flow .fn.page{cursor:pointer}.flow .fn.page rect{stroke:var(--text-muted)}.flow .fn.page:hover rect{fill:var(--bg-hover)}.flow .fn.page.on rect{stroke:var(--accent);stroke-width:2px;fill:var(--accent-bg)}.flow .fn.page.missing rect{stroke:var(--open);stroke-dasharray:4 3;fill:#0000}.flow .fn.page.missing text.c{fill:var(--open)}.flow .fn.act path{fill:var(--bg-panel)}.flow .fe{fill:none;stroke:var(--border-strong);stroke-width:1.25px}.flow .fl{fill:var(--text-subtle);font-size:var(--text-xs);font-family:var(--font-sans);text-anchor:middle}.flow-wrap{padding:var(--space-3);border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);overflow-x:auto}.wf{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.wf-frame{border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-md);background:#fff;width:360px;max-width:100%;height:640px;overflow:hidden}.wf-frame iframe{border:0;width:100%;height:100%;display:block}.wf-frame.sm{width:280px;height:500px}.wf-frame.none{color:var(--text-subtle);font-size:var(--text-sm);background:0 0;border-style:dashed;justify-content:center;align-items:center;display:flex}.wf-pair{gap:var(--space-4);flex-wrap:wrap;display:flex}.policy-body{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 260px;align-items:start;display:grid}@media (width<=980px){.policy-body,.prd-grid{grid-template-columns:1fr}.prd-nav{flex-flow:wrap;position:static}}.app{grid-template-rows:var(--topbar-height) minmax(0, 1fr);height:100%;display:grid}.main{min-height:0;display:flex;position:relative}.main>.rail,.main>.ai-panel,.main>.detail{flex:none}.main>.stage,.main>.page{flex:1;min-width:0;min-height:0}.page{position:relative;overflow:auto}.ai-panel{width:var(--panel-ai-width);max-width:calc(100vw - var(--rail-width))}.detail{width:var(--panel-detail-width);max-width:100vw}@media (width<=1439px){.detail{z-index:5;box-shadow:var(--shadow-float);border-left:0;position:absolute;top:0;bottom:0;right:0}}@media (width<=760px){.ai-panel{left:var(--rail-width);z-index:6;box-shadow:var(--shadow-float);position:absolute;top:0;bottom:0}.topbar .hide-sm{display:none}}.stage{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;position:relative;overflow:hidden}.stage.panning{cursor:grabbing}.world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.world>svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.world .card,.world .handle{margin:0;position:absolute}.world .card{transition:left var(--transition), top var(--transition), border-color var(--transition), opacity var(--transition), box-shadow var(--transition)}.world .edge{transition:opacity var(--transition)}.world .edge.dim{opacity:.25}.stage .filterbar,.stage .canvas-legend,.stage .zoom{z-index:2}.card .fold .t{white-space:nowrap}.filterbar .menu{z-index:3;position:absolute;top:calc(100% + 4px);left:0}.page-pad{padding:var(--space-5)}.page-inner{gap:var(--space-4);max-width:1100px;padding:var(--space-5);flex-direction:column;display:flex}.page-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-head .sp{flex:1}.center{justify-content:center;align-items:center;height:100%;display:flex}.split{grid-template-columns:240px minmax(0,1fr);min-height:100%;display:grid}.split>.side{border-right:var(--border-width) solid var(--border);background:var(--bg-panel);padding:var(--space-3);flex-direction:column;gap:2px;display:flex;overflow:auto}.split>.side .label{padding:var(--space-2) var(--space-2) var(--space-1)}.split>.body{min-width:0;overflow:auto}@media (width<=760px){.split{grid-template-columns:1fr}.split>.side{border-right:0;border-bottom:var(--border-width) solid var(--border);max-height:180px}}.mermaid-host g.node.flow-page-sel :is(rect,polygon,path){stroke:var(--accent)!important;stroke-width:2px!important}.mermaid-host g.node.flow-page-miss :is(rect,polygon,path){stroke-dasharray:4 3;stroke:var(--open)!important}.mermaid-host g.node.flow-page:hover :is(rect,polygon,path){stroke:var(--accent)!important}.split>.body.fill{flex-direction:column;display:flex;overflow:hidden}.flow-top{padding:var(--space-4) var(--space-6) var(--space-3);gap:var(--space-2);border-bottom:var(--border-width) solid var(--border);flex-direction:column;flex:none;display:flex}.flow-main{flex:1;min-height:0;display:flex;overflow:auto}.flow-main>.stage{flex:1}.flow-main>.flow-mermaid{padding:var(--space-4) var(--space-6);flex:1}.wire-page{z-index:1;flex-direction:column;display:flex;position:absolute}.wire-head{align-items:center;gap:var(--space-2);height:32px;color:var(--text);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;min-width:0;padding:0 2px;display:flex}.wire-head .code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}.wire-head .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wire-head:hover .t,.wire-head.sel .t{color:var(--accent)}.wire-frame{border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-md);background:#fff;position:relative;overflow:hidden}.wire-frame.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.wire-frame iframe{transform-origin:0 0;pointer-events:none;border:0;display:block;position:absolute;top:0;left:0}.wire-frame.none{color:var(--text-subtle);font-size:var(--text-sm);background:0 0;border-style:dashed;justify-content:center;align-items:center;display:flex}.world .wire-chip{cursor:default;height:30px;margin:0;position:absolute}.world .wire-chip.link{cursor:pointer;border-color:var(--accent);color:var(--accent)}.wire-chip .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.world>svg.wire-arrows.under{z-index:0}.world>svg.wire-arrows.over{z-index:2}.wire-arrow{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}#wire-head path,.wire-dot{fill:var(--accent)}.wire-arrow.back{stroke:var(--text-muted);stroke-width:1.25px;stroke-dasharray:4 4;opacity:.8}#wire-head-back path,.wire-dot.back{fill:var(--text-muted)}.wire-label.back{color:var(--text-muted);border-style:dashed}.world .wire-chip.wire-return{z-index:3;cursor:pointer;height:26px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;border-style:dashed;padding:0 8px;transform:translate(4px,-50%)}.world .wire-chip.wire-return.l{transform:translate(calc(-100% - 4px),-50%)}.world .wire-chip.wire-return:hover{color:var(--accent);border-color:var(--accent)}.wire-label{z-index:3;border-radius:var(--radius-sm);background:var(--bg-app);border:var(--border-width) solid var(--border);max-width:220px;color:var(--text);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;padding:1px 6px;line-height:20px;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.wire-label.v{max-width:150px}.tree-page{flex:1;min-width:0;min-height:0;display:flex;position:relative}.tree-page>.stage{flex:1;min-width:0}.tree-page>.toolbar-r{right:var(--space-3);top:var(--space-3);z-index:2;gap:var(--space-1);display:flex;position:absolute}.detail-crumb{flex:none;min-width:0}.detail-crumb .crumb-step{align-items:center;gap:var(--space-1);flex:0 1000 auto;min-width:2.5em;display:inline-flex}.detail-crumb .crumb-text{text-overflow:ellipsis;cursor:pointer;min-width:0;overflow:hidden}.detail-crumb .crumb-step>.i{flex:none}.detail-crumb .crumb-current{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.detail-crumb .crumb-kids .crumb-text{cursor:default}html,body,#root{height:100%;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
