.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}:root{--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--header-h: 56px;--column-w: 288px;--bg: #f4f5f8;--surface: #ffffff;--surface-2: #f8f9fb;--surface-3: #eef0f4;--border: #e2e5eb;--border-strong: #cfd4dc;--text: #171a21;--text-muted: #5d6675;--text-faint: #8a93a3;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: #eef0ff;--on-primary: #ffffff;--danger: #dc2626;--danger-soft: #fdecec;--success: #15803d;--success-soft: #e7f6ec;--warning: #b45309;--warning-soft: #fdf3e2;--focus: 0 0 0 3px color-mix(in srgb, var(--primary) 35%, transparent);--shadow-sm: 0 1px 2px rgb(16 24 40 / 6%), 0 1px 1px rgb(16 24 40 / 4%);--shadow: 0 4px 12px rgb(16 24 40 / 8%), 0 1px 3px rgb(16 24 40 / 6%);--shadow-lg: 0 18px 40px rgb(16 24 40 / 18%);--canvas-dot: #d5d9e1;--label-red: #dc2626;--label-orange: #ea580c;--label-yellow: #ca8a04;--label-green: #16a34a;--label-blue: #2563eb;--label-purple: #9333ea;--note-yellow: #fff4b8;--note-pink: #ffd6e5;--note-blue: #d4e8ff;--note-green: #d3f5dc;--note-purple: #e7dcff;--note-text: #1f2328;color-scheme:light}html[data-theme=dark]{--bg: #0e1015;--surface: #161920;--surface-2: #1b1f27;--surface-3: #232834;--border: #2a303c;--border-strong: #3a4250;--text: #e7e9ee;--text-muted: #a1a9b8;--text-faint: #717a8a;--primary: #8b85ff;--primary-hover: #a39eff;--primary-soft: #25264a;--on-primary: #0e1015;--danger: #f87171;--danger-soft: #3a1c1f;--success: #4ade80;--success-soft: #16301f;--warning: #fbbf24;--warning-soft: #362a12;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow: 0 4px 14px rgb(0 0 0 / 45%);--shadow-lg: 0 18px 40px rgb(0 0 0 / 60%);--canvas-dot: #2b313d;--label-red: #f87171;--label-orange: #fb923c;--label-yellow: #facc15;--label-green: #4ade80;--label-blue: #60a5fa;--label-purple: #c084fc;--note-yellow: #5c5223;--note-pink: #5c2c40;--note-blue: #22405f;--note-green: #1f4a31;--note-purple: #3f3364;--note-text: #f1f2f4;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:1.25;font-weight:650}p{margin:0}a{color:var(--primary)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:550;font-size:13px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .12s,border-color .12s,color .12s}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover:not(:disabled){background:var(--surface-3)}.btn.icon{width:32px;padding:0}.btn.sm{height:26px;padding:0 8px;font-size:12px}.btn.sm.icon{width:26px;padding:0}.btn[aria-pressed=true],.btn[aria-current=page]{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary)}.field{display:flex;flex-direction:column;gap:4px}.field>span,.field>label{font-size:12px;font-weight:600;color:var(--text-muted)}.input{width:100%;min-height:34px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface)}.input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus)}.input::placeholder{color:var(--text-faint)}textarea.input{resize:vertical;line-height:1.5}.inline-edit{width:100%;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:2px 6px;font-weight:inherit}.inline-edit:hover{border-color:var(--border)}.inline-edit:focus{outline:none;background:var(--surface);border-color:var(--primary);box-shadow:var(--focus)}.menu{min-width:190px;padding:4px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;font-size:13px;cursor:pointer}.menu-item:hover,.menu-item:focus{background:var(--surface-3);outline:none}.menu-item.danger{color:var(--danger)}.menu-sep{height:1px;margin:4px 0;background:var(--border)}.cdk-overlay-dark-backdrop{background:#0a0c1273}.dialog{display:flex;flex-direction:column;max-height:calc(100dvh - 32px);width:min(640px,100vw - 24px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.dialog-head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.dialog-body{padding:16px;overflow:auto}.dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-3);color:var(--text-muted);white-space:nowrap}.label-chip{--c: var(--label-blue);color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.label-red{--c: var(--label-red)}.label-orange{--c: var(--label-orange)}.label-yellow{--c: var(--label-yellow)}.label-green{--c: var(--label-green)}.label-blue{--c: var(--label-blue)}.label-purple{--c: var(--label-purple)}.kbd{font-family:var(--mono);font-size:11px;padding:1px 5px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2)}.muted{color:var(--text-muted)}.cdk-drag-preview{box-shadow:var(--shadow-lg);transform:rotate(2deg)}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .18s cubic-bezier(0,0,.2,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
