:root{--color-primary: #0f766e;--color-primary-strong: #115e59;--color-muted: #64748b;--color-danger: #b91c1c;--color-highlight: #0284c7;--color-highlight-soft: #e0f2fe;--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-raised: rgb(255 255 255 / 92%);--color-border: #cbd5e1;--color-border-subtle: #dbe4ef;--color-text: #1e293b;--color-text-muted: #475569;--color-rect: #f0fdfa;--color-ellipse: #eff6ff;--color-text-shape: #fffbeb;--color-class: #ecfdf5;--color-actor: #f8fafc;--color-service: #eef2ff;--color-terminal: #fff7ed;--color-database: #f3e8ff;--color-queue: #e0f2fe;--color-cache: #ecfccb;--color-loadbalancer: #fef3c7;--color-client: #fce7f3;--color-browser: #e0e7ff;--color-mobile: #ccfbf1;--color-external: #ffe4e6;--color-boundary: #f8fafc;--color-state: #e0f2fe;--color-package: #fef3c7;--color-note: #fffbeb;--color-lifeline: #f1f5f9;--color-step: #ecfdf5;--color-decision: #fce7f3;--color-parallel: #334155;--color-loop: #ede9fe;--color-quote: #f5f3ff;--color-statement: #fff7ed;--color-stat: #ecfeff;--color-percentagebar: #f0fdf4;--color-shareofwhole: #eff6ff;--color-beforeafter: #fdf2f8;--color-rankedbarlist: #fefce8;--color-friendly: #fff1d6;--color-danger-surface: #fef2f2;--color-danger-border: #fecaca;--color-grid: rgb(100 116 139 / 18%);--color-frame: rgb(15 118 110 / 56%);--color-frame-fill: rgb(15 118 110 / 2%);--color-selection-fill: rgb(14 165 233 / 12%);--color-shadow: rgb(15 23 42 / 10%);--space-1: .25rem;--space-2: .4rem;--space-3: .65rem;--space-4: .9rem;--space-5: 1.25rem;--space-6: 2rem;--radius-sm: .4rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-pill: 999px;--stroke-thin: 1px;--stroke-regular: 2px;--stroke-bold: 2.5px;--font-size-small: .8rem;--font-size-label: .875rem;--font-size-body: 1rem;--font-size-heading: 1.5rem;color:var(--color-text);background:var(--color-background);font-family:Inter,ui-sans-serif,system-ui,sans-serif}[data-theme=dark]{--color-primary: #5eead4;--color-primary-strong: #99f6e4;--color-muted: #94a3b8;--color-danger: #fca5a5;--color-highlight: #38bdf8;--color-highlight-soft: #0c4a6e;--color-background: #0f172a;--color-surface: #172033;--color-surface-raised: rgb(23 32 51 / 94%);--color-border: #334155;--color-border-subtle: #263449;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-rect: #103d3a;--color-ellipse: #162f55;--color-text-shape: #453a16;--color-class: #163d32;--color-actor: #172033;--color-service: #29235a;--color-terminal: #4a2b12;--color-database: #42205b;--color-queue: #123754;--color-cache: #2b4215;--color-loadbalancer: #4b3911;--color-client: #4a1d3d;--color-browser: #27265a;--color-mobile: #12443e;--color-external: #4a202c;--color-boundary: #172033;--color-state: #123754;--color-package: #4b3911;--color-note: #453a16;--color-lifeline: #253147;--color-step: #163d32;--color-decision: #4a1d3d;--color-parallel: #64748b;--color-loop: #32245a;--color-quote: #302454;--color-statement: #4a2b12;--color-stat: #123b4a;--color-percentagebar: #173d27;--color-shareofwhole: #162f55;--color-beforeafter: #4a1d3d;--color-rankedbarlist: #414116;--color-friendly: #493419;--color-danger-surface: #421d27;--color-danger-border: #7f1d1d;--color-grid: rgb(148 163 184 / 17%);--color-frame: rgb(94 234 212 / 60%);--color-frame-fill: rgb(94 234 212 / 4%);--color-selection-fill: rgb(56 189 248 / 18%);--color-shadow: rgb(0 0 0 / 32%)}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:var(--color-primary)}button,textarea,input,select{font:inherit}button{cursor:pointer}.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}.page{display:grid;min-height:100vh;place-items:center;padding:var(--space-6)}.panel{width:min(100%,36rem);padding:var(--space-6);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.board-page{min-height:100vh;overflow:hidden}.board-shell{position:relative;height:100vh;background:radial-gradient(circle at 1px 1px,var(--color-grid) 1px,transparent 0) 0 0 / 24px 24px,var(--color-background);-webkit-user-select:none;user-select:none}.scene-root{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.scene-root:focus{outline:none}.scene-root.is-panning,.scene-root.is-panning *{cursor:grabbing}.canvas-toolbar{position:absolute;z-index:3;top:var(--space-5);left:50%;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1);max-width:min(56rem,calc(100% - 2rem));padding:var(--space-2);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:0 10px 30px var(--color-shadow);transform:translate(-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.canvas-toolbar button{padding:var(--space-2) var(--space-3);border:var(--stroke-thin) solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent;font-size:var(--font-size-small);font-weight:650}.canvas-toolbar button:hover,.canvas-toolbar button:focus-visible{border-color:var(--color-highlight);outline:none;background:var(--color-highlight-soft)}.canvas-toolbar button.is-active{color:var(--color-surface);background:var(--color-primary)}.canvas-toolbar .toolbar-subtle{margin-left:var(--space-1);border-left-color:var(--color-border-subtle)}.canvas-toolbar-annotate{top:calc(var(--space-5) + 3.5rem)}.presentation-toggle,.theme-toggle{position:absolute;z-index:3;bottom:var(--space-4);padding:var(--space-2) var(--space-3);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-surface-raised);box-shadow:0 8px 24px var(--color-shadow);font-size:var(--font-size-small);font-weight:650;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.presentation-toggle{right:var(--space-4)}.theme-toggle{left:var(--space-4)}.presentation-toggle:hover,.presentation-toggle:focus-visible,.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--color-highlight);outline:none;background:var(--color-highlight-soft)}.canvas-hint{position:absolute;z-index:3;bottom:var(--space-4);left:50%;margin:0;padding:var(--space-1) var(--space-3);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-muted);background:var(--color-surface-raised);font-size:.75rem;transform:translate(-50%)}.command-palette-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:start center;padding:min(18vh,9rem) var(--space-4) var(--space-4);background:#0f172a2e}.command-palette{width:min(100%,34rem);overflow:hidden;border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 20px 50px var(--color-shadow)}.command-palette [cmdk-input]{width:100%;padding:var(--space-4);border:0;border-bottom:var(--stroke-thin) solid var(--color-border-subtle);outline:none;color:var(--color-text);background:transparent}.command-palette [cmdk-list]{max-height:min(22rem,56vh);padding:var(--space-2);overflow:auto}.command-palette [cmdk-item],.command-palette [cmdk-empty]{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-label)}.command-palette [cmdk-item]{cursor:pointer}.command-palette [cmdk-item][data-selected=true]{color:var(--color-surface);background:var(--color-primary)}.command-palette [cmdk-empty]{color:var(--color-text-muted)}.ai-overlay-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:start center;padding:min(18vh,9rem) var(--space-4) var(--space-4);background:#0f172a2e}.ai-panel{width:min(100%,32rem);padding:var(--space-5);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface);box-shadow:0 20px 50px var(--color-shadow)}.ai-panel-heading{display:flex;align-items:start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.ai-panel-heading .eyebrow{margin-bottom:var(--space-1)}.ai-panel-heading h2{margin:0;font-size:var(--font-size-heading)}.ai-panel-close{display:grid;width:2rem;height:2rem;place-items:center;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent;font-size:1.5rem;line-height:1}.ai-panel-close:hover,.ai-panel-close:focus-visible{outline:none;color:var(--color-text);background:var(--color-highlight-soft)}.ai-prompt-form,.ai-settings-form{display:grid;gap:var(--space-4)}.ai-prompt-form label,.ai-settings-form label{display:grid;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:700}.ai-prompt-form textarea,.ai-settings-form input{width:100%;padding:var(--space-3);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-sm);outline:none;color:var(--color-text);background:var(--color-background);font-weight:500}.ai-prompt-form textarea{min-height:6.5rem;resize:vertical}.ai-prompt-form textarea:focus,.ai-settings-form input:focus{border-color:var(--color-highlight);box-shadow:0 0 0 3px var(--color-highlight-soft)}.ai-panel-note,.ai-panel-message{margin:0;color:var(--color-text-muted);font-size:var(--font-size-small)}.ai-panel-message{color:var(--color-danger)}.ai-panel-actions{display:flex;justify-content:end;gap:var(--space-2)}.ai-button-primary,.ai-button-secondary{padding:var(--space-2) var(--space-4);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:750}.ai-button-primary{border-color:var(--color-primary);color:var(--color-surface);background:var(--color-primary)}.ai-button-secondary{color:var(--color-text-muted);background:var(--color-surface)}.ai-button-primary:hover,.ai-button-primary:focus-visible,.ai-button-secondary:hover,.ai-button-secondary:focus-visible{outline:none;border-color:var(--color-highlight);background:var(--color-highlight-soft)}.ai-button-primary:hover,.ai-button-primary:focus-visible{color:var(--color-text)}.ai-button-primary:disabled,.ai-button-secondary:disabled{cursor:wait;opacity:.6}.ai-generation-progress{position:fixed;z-index:11;right:var(--space-4);bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);background:var(--color-surface-raised);box-shadow:0 8px 24px var(--color-shadow);font-size:var(--font-size-small);font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ai-generation-progress span{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-primary);animation:ai-generation-pulse .9s ease-in-out infinite}@keyframes ai-generation-pulse{50%{opacity:.35;transform:scale(.72)}}@media(prefers-reduced-motion:reduce){.ai-generation-progress span{animation:none}}.connector-style-panel{position:absolute;z-index:4;top:5rem;left:50%;display:flex;gap:var(--space-2);padding:var(--space-2);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface-raised);box-shadow:0 8px 24px var(--color-shadow);transform:translate(-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.connector-style-panel label{display:grid;gap:2px;font-size:.7rem;font-weight:700}.connector-style-panel select{min-width:5.3rem;padding:.2rem;border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface);font-size:var(--font-size-small)}.connector-style-panel input{width:7rem;padding:.2rem;border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface);font-size:var(--font-size-small)}.board-back{position:absolute;z-index:4;top:var(--space-5);left:var(--space-5);padding:var(--space-2) var(--space-3);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:var(--color-surface-raised);font-size:.85rem;font-weight:650;text-decoration:none}.board-actions{position:absolute;z-index:4;top:var(--space-5);right:var(--space-5);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:0 8px 24px var(--color-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.board-actions button{padding:var(--space-2) var(--space-3);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);background:var(--color-surface);font-size:var(--font-size-small);font-weight:700}.board-name-input{width:min(15rem,34vw);padding:var(--space-1) var(--space-2);border:var(--stroke-thin) solid transparent;border-radius:var(--radius-sm);color:var(--color-text);background:transparent;font-size:.9rem;font-weight:750}.board-name-input:hover,.board-name-input:focus{border-color:var(--color-highlight);outline:none;background:var(--color-highlight-soft)}.board-message{position:absolute;z-index:4;top:5.4rem;right:var(--space-5);max-width:20rem;margin:0;padding:var(--space-2) var(--space-3);border:var(--stroke-thin) solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger);background:var(--color-danger-surface);font-size:var(--font-size-small)}.boards-page{align-items:start;padding-block:clamp(var(--space-6),8vh,5rem)}.boards-panel{width:min(100%,64rem);padding:clamp(var(--space-5),4vw,2.5rem);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 20px 50px var(--color-shadow)}.boards-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:1.5rem}.boards-header h1{margin:0}.boards-header button,.empty-boards button{padding:var(--space-3) var(--space-4);border:0;border-radius:var(--radius-sm);color:var(--color-surface);background:var(--color-primary);font-weight:750;box-shadow:0 4px 10px var(--color-shadow)}.boards-header button:disabled,.empty-boards button:disabled{cursor:wait;opacity:.6}.board-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-4)}.board-card{display:grid;overflow:hidden;border:var(--stroke-thin) solid var(--color-border-subtle);border-radius:var(--radius-md);color:inherit;background:var(--color-surface);text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.board-card:hover,.board-card:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 12px 24px var(--color-shadow);transform:translateY(-2px)}.board-preview{display:block;width:100%;height:10rem;background:var(--color-background)}.board-preview-background{fill:var(--color-background)}.board-preview-connector{stroke:var(--color-muted);stroke-width:3}.board-preview-shape{stroke:var(--color-text-muted);stroke-width:3}.board-preview-rect{fill:var(--color-rect)}.board-preview-ellipse{fill:var(--color-ellipse)}.board-preview-text-background{fill:var(--color-text-shape)}.board-preview-text{fill:var(--color-text-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:700}.board-card-copy{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-4)}.board-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-card-copy span,.empty-boards{color:var(--color-muted);font-size:var(--font-size-small)}.empty-boards{display:grid;justify-items:start;gap:var(--space-3);padding:2.5rem 0}.empty-boards p,.form-message{margin:0}.form-message{margin-bottom:var(--space-4);color:var(--color-danger)}.recording-frame{fill:var(--color-frame-fill);stroke:var(--color-frame);stroke-width:3;stroke-dasharray:16 12;vector-effect:non-scaling-stroke}.canvas-element{cursor:move}.shape-surface{fill:var(--color-surface);stroke:var(--color-text-muted);stroke-width:var(--stroke-bold);vector-effect:non-scaling-stroke}.shape-rect{fill:var(--color-rect)}.shape-ellipse{fill:var(--color-ellipse)}.shape-text-background{fill:var(--color-text-shape)}.shape-class-surface{fill:var(--color-class)}.shape-service-surface{fill:var(--color-service)}.shape-terminal-surface{fill:var(--color-terminal)}.shape-database-surface{fill:var(--color-database)}.shape-queue-surface{fill:var(--color-queue)}.shape-cache-surface{fill:var(--color-cache)}.shape-loadbalancer-surface{fill:var(--color-loadbalancer)}.shape-client-surface{fill:var(--color-client)}.shape-browser-surface{fill:var(--color-browser)}.shape-mobile-surface{fill:var(--color-mobile)}.shape-external-surface{fill:var(--color-external)}.shape-boundary-surface{fill:var(--color-boundary);stroke-dasharray:10 7}.shape-state-surface{fill:var(--color-state)}.shape-package-tab,.shape-package-body{fill:var(--color-package)}.shape-note-surface,.shape-note-fold{fill:var(--color-note)}.shape-note-fold{stroke:var(--color-text-muted);stroke-width:var(--stroke-bold);stroke-linejoin:round;vector-effect:non-scaling-stroke}.shape-lifeline-surface{fill:var(--color-lifeline)}.lifeline-line{stroke:var(--color-text-muted);stroke-width:var(--stroke-regular);stroke-dasharray:8 6;vector-effect:non-scaling-stroke}.shape-step-surface{fill:var(--color-step)}.shape-decision-surface{fill:var(--color-decision);stroke:var(--color-text-muted);stroke-width:var(--stroke-bold);stroke-linejoin:round;vector-effect:non-scaling-stroke}.shape-parallel-surface{fill:var(--color-parallel)}.shape-parallel-label{fill:#fff}.shape-loop-surface{fill:var(--color-loop)}.shape-quote-surface{fill:var(--color-quote)}.shape-statement-surface{fill:var(--color-statement);stroke:none}.shape-stat-surface{fill:var(--color-stat)}.shape-percentagebar-surface{fill:var(--color-percentagebar)}.shape-shareofwhole-surface{fill:var(--color-shareofwhole)}.shape-beforeafter-surface{fill:var(--color-beforeafter)}.shape-rankedbarlist-surface{fill:var(--color-rankedbarlist)}.friendly-icon-badge{fill:var(--color-friendly);stroke:var(--color-text-muted);stroke-width:var(--stroke-bold);vector-effect:non-scaling-stroke}.shape-text,.shape-label{fill:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:650}.shape-class-label{font-size:18px;font-weight:750}.shape-quote-mark{fill:var(--color-primary);font-family:Georgia,serif;font-size:64px;font-weight:700;opacity:.25}.shape-quote-body,.shape-statement-text,.shape-stat-value,.shape-beforeafter-value{fill:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:750}.shape-quote-body{font-size:22px}.shape-quote-attribution,.shape-stat-label,.shape-beforeafter-label,.shape-rankedbarlist-label,.shape-rankedbarlist-value,.shape-shareofwhole-legend{fill:var(--color-text-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:600}.shape-statement-text{font-size:34px}.shape-stat-value{font-size:40px}.shape-stat-delta-badge{fill:var(--color-surface);stroke:var(--color-border-subtle);stroke-width:var(--stroke-thin)}.shape-stat-delta{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:750}.shape-stat-delta-positive{fill:var(--color-primary)}.shape-stat-delta-negative{fill:var(--color-danger)}.shape-stat-delta-muted{fill:var(--color-muted)}.shape-percentagebar-label,.shape-percentagebar-value{fill:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:700}.shape-percentagebar-track,.shape-shareofwhole-track,.shape-rankedbarlist-track{fill:var(--color-border-subtle)}.shape-percentagebar-fill,.shape-rankedbarlist-fill{fill:var(--color-primary)}.shape-shareofwhole-segment,.shape-shareofwhole-dot{stroke:none}.shape-shareofwhole-primary{fill:var(--color-primary)}.shape-shareofwhole-highlight{fill:var(--color-highlight)}.shape-shareofwhole-muted{fill:var(--color-muted)}.shape-shareofwhole-danger{fill:var(--color-danger)}.shape-beforeafter-box{stroke-width:var(--stroke-regular);vector-effect:non-scaling-stroke}.shape-beforeafter-before{fill:var(--color-surface);stroke:var(--color-muted)}.shape-beforeafter-after{fill:var(--color-surface);stroke:var(--color-primary)}.shape-beforeafter-value{font-size:34px}.shape-beforeafter-after-value{fill:var(--color-primary)}.shape-beforeafter-arrow{fill:var(--color-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:24px;font-weight:700}.class-divider,.actor-glyph line,.actor-head,.service-mark circle,.service-mark line{fill:none;stroke:var(--color-text-muted);stroke-width:var(--stroke-bold);vector-effect:non-scaling-stroke}.icon-mark circle,.icon-mark ellipse,.icon-mark line,.icon-mark path,.icon-mark rect{fill:none;stroke:var(--color-text-muted);stroke-width:var(--stroke-bold);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.icon-mark-core{fill:var(--color-primary)!important;stroke:none!important}.friendly-icon-glyph circle,.friendly-icon-glyph line,.friendly-icon-glyph path,.friendly-icon-glyph polygon,.friendly-icon-glyph rect{fill:none;stroke:var(--color-text-muted);stroke-width:var(--stroke-bold);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.friendly-icon-glyph .friendly-icon-solid{fill:var(--color-primary);stroke:none}.friendly-icon-glyph .friendly-icon-cutout{fill:var(--color-friendly);stroke:none}.service-mark-core{fill:var(--color-primary);stroke:none!important}.actor-hitbox{fill:transparent}.selection-outline{fill:none;stroke:var(--color-highlight);stroke-width:var(--stroke-regular);stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.resize-handle{fill:var(--color-surface);stroke:var(--color-highlight);stroke-width:var(--stroke-regular);vector-effect:non-scaling-stroke;cursor:nwse-resize}.spawn-handle{fill:var(--color-highlight);stroke:var(--color-surface);stroke-width:var(--stroke-regular);vector-effect:non-scaling-stroke;cursor:crosshair}.spawn-preview-line{fill:none;stroke:var(--color-highlight);stroke-width:var(--stroke-regular);stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.spawn-preview-ghost{fill:none;stroke:var(--color-highlight);stroke-width:var(--stroke-regular);stroke-dasharray:5 4;opacity:.45;vector-effect:non-scaling-stroke}.selection-marquee{fill:var(--color-selection-fill);stroke:var(--color-highlight);stroke-width:var(--stroke-regular);stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.annotation-preview{pointer-events:none}.stroke-shape{vector-effect:non-scaling-stroke}.stroke-shape.stroke-draw,.stroke-shape.stroke-highlight{stroke:none}.stroke-highlight{fill-opacity:.55}.stroke-arrow,.stroke-underline,.stroke-crossout{fill:none;stroke-linecap:round}.stroke-arrow,.stroke-crossout{stroke-width:var(--stroke-bold)}.stroke-underline{stroke-width:4px}.stroke-color-primary{fill:var(--color-primary);stroke:var(--color-primary)}.stroke-color-muted{fill:var(--color-muted);stroke:var(--color-muted)}.stroke-color-danger{fill:var(--color-danger);stroke:var(--color-danger)}.stroke-color-highlight{fill:var(--color-highlight);stroke:var(--color-highlight)}.connector-line{fill:none;stroke:var(--color-muted);stroke-width:var(--stroke-bold);stroke-linecap:round;vector-effect:non-scaling-stroke}.canvas-connector.is-selected .connector-line{stroke:var(--color-highlight);stroke-width:3px}.connector-hit-area{fill:none;stroke:transparent;stroke-width:16px;vector-effect:non-scaling-stroke;cursor:pointer}.connector-marker-open{fill:none;stroke:context-stroke;stroke-width:1.8;stroke-linecap:round}.connector-marker-filled{fill:context-stroke;stroke:context-stroke}.connector-marker-hollow{fill:var(--color-surface);stroke:context-stroke;stroke-width:1.6}.connector-label{fill:var(--color-text-muted);stroke:var(--color-surface);stroke-width:4px;paint-order:stroke;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700}.text-edit-overlay{position:absolute;z-index:2;display:block;resize:none;padding:9px 14px;overflow:hidden;border:var(--stroke-regular) solid var(--color-highlight);border-radius:10px;outline:none;color:var(--color-text);background:var(--color-text-shape);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:650;line-height:1.2}.mobile-menu-toggle,.mobile-annotate-toggle,.mobile-palette-trigger{display:none}.mobile-menu-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0}.mobile-menu{position:absolute;top:4.4rem;right:.75rem;display:flex;flex-direction:column;gap:var(--space-1);min-width:9rem;padding:var(--space-2);border:var(--stroke-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:0 20px 50px var(--color-shadow)}.mobile-menu button,.mobile-menu a{padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);color:var(--color-text);background:transparent;font-size:var(--font-size-label);font-weight:650;text-align:left;text-decoration:none}.mobile-menu button:hover,.mobile-menu button:focus-visible,.mobile-menu a:hover,.mobile-menu a:focus-visible{outline:none;background:var(--color-highlight-soft)}@media(max-width:720px),(max-height:500px){.canvas-toolbar{top:auto;bottom:.75rem;max-width:calc(100% - 1rem);flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:.25rem}.canvas-toolbar button{flex:none;min-height:2.4rem;padding:.5rem .6rem;font-size:.72rem}.mobile-annotate-toggle,.mobile-palette-trigger{display:inline-flex;align-items:center}.canvas-toolbar-annotate{top:auto;bottom:4.5rem;left:50%;max-width:calc(100% - 1rem);flex-wrap:wrap;justify-content:center;display:none}.canvas-toolbar-annotate.is-open{display:flex}.connector-style-panel{top:4.5rem;max-width:calc(100% - 1rem);flex-wrap:wrap;justify-content:center}.board-back{display:none}.board-actions{top:.75rem;right:.75rem}.board-actions-desktop-only{display:none}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;min-height:2.4rem;padding:0;font-size:1.1rem;line-height:1}.board-name-input{width:10.5rem}.board-message{top:4.6rem;right:.75rem}.ai-generation-progress{right:.75rem;bottom:.75rem}.canvas-hint,.presentation-toggle,.theme-toggle{display:none}}[data-presenting=true] .canvas-toolbar,[data-presenting=true] .canvas-hint,[data-presenting=true] .connector-style-panel,[data-presenting=true] .board-back,[data-presenting=true] .board-actions,[data-presenting=true] .board-message,[data-presenting=true] .mobile-menu-backdrop,[data-presenting=true] .presentation-toggle,[data-presenting=true] .theme-toggle,[data-presenting=true] .selection-chrome,[data-presenting=true] .spawn-handles,[data-presenting=true] .selection-marquee,[data-presenting=true] .annotation-preview,[data-presenting=true] .text-edit-overlay,[data-presenting=true] .command-palette-backdrop{display:none}[data-presenting=true] .canvas-connector.is-selected .connector-line{stroke:var(--color-muted);stroke-width:var(--stroke-bold)}
