.stage{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--diagram-canvas, var(--canvas));touch-action:none}.canvas{display:block;width:100%;height:100%;outline:none;-webkit-user-select:none;user-select:none;touch-action:none}.stage[data-tool=pan],.stage.space-held{cursor:grab}.stage.is-dragging,.stage.is-dragging *{cursor:grabbing!important}.stage:is([data-tool=connect],[data-tool=container],[data-tool=box],[data-tool=diamond],[data-tool=circle],[data-tool=text],[data-tool=brush]) .canvas,.stage[data-tool=brush] .canvas *{cursor:crosshair}.node{cursor:grab;outline:none}.node-shape.shadowed{filter:drop-shadow(var(--node-shadow))}.node-title{pointer-events:none}.selection-ring{opacity:0;fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.stage[data-tool=select]:not(.is-dragging) .node:hover .selection-ring{opacity:.6}.stage[data-tool=select]:not(.is-dragging) .node:hover .node-shape{filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--accent) 22%,transparent))}.node.selected .selection-ring,.node:focus-visible .selection-ring{opacity:1}.port{opacity:0;r:5;fill:var(--surface);stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:crosshair}.node:hover .port,.node.selected .port,.connecting .port{opacity:1}.port:hover{r:7;fill:var(--accent)}.leader{fill:none;stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4;opacity:.7;pointer-events:none}.resize-handle{fill:var(--surface);stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.position-badge{opacity:.6}.position-badge.pinned{opacity:.9}.position-badge.pinned svg{fill:currentColor}.group{outline:none}.group-bg{cursor:grab}.stage[data-tool=select]:not(.is-dragging) .group:not(.selected):hover .group-bg{stroke-opacity:1;stroke:color-mix(in srgb,var(--accent) 85%,transparent);stroke-width:2}.group.selected .group-bg,.group:focus-visible .group-bg{stroke-opacity:1;stroke:var(--accent);stroke-width:1.8}.group.drop-target .group-bg{stroke:var(--accent);stroke-width:2.5;fill-opacity:.7}.group-header{cursor:grab}.group-collapse{cursor:pointer}.link-hit{fill:transparent;cursor:pointer}.node:hover .link-hit,.group:hover .link-hit,.node.selected .link-hit,.group.selected .link-hit{fill:color-mix(in srgb,var(--accent) 12%,transparent)}.link-mark:hover .link-hit{fill:color-mix(in srgb,var(--accent) 28%,transparent)}.edge{cursor:pointer;outline:none}.edge-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.edge-halo{pointer-events:none}.edge-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke}.stage[data-tool=select]:not(.is-dragging) .edge:not(.selected):hover .edge-line{stroke:color-mix(in srgb,var(--accent) 70%,transparent);stroke-width:2.2}.edge.selected .edge-line,.edge:focus-visible .edge-line{stroke:var(--accent);stroke-width:2.6}.edge-label-bg{stroke:none}.edge-label{text-anchor:middle;dominant-baseline:central;pointer-events:none}.waypoint{fill:var(--surface);stroke:var(--accent);stroke-width:1.5;cursor:move}.marquee{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke}.drawing-preview{fill:var(--accent-soft);fill-opacity:.4;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:5 3;pointer-events:none}.guide{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 4;opacity:.6}.connection-preview{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5;pointer-events:none}.quick-add{cursor:pointer;outline:none}.quick-add circle{fill:var(--surface);stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke}.quick-add path{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.quick-add:hover circle,.quick-add:focus circle{fill:var(--accent-soft);stroke-width:2}.has-timeline .quick-add,.has-timeline .resize-handle,.has-timeline .port,.has-brush .quick-add,.has-brush .port{display:none}.sculpt-ghost,.sculpt-travel,.sculpt-held,.sculpt-held-dot,.sculpt-brush-ring *{pointer-events:none;vector-effect:non-scaling-stroke}.sculpt-ghost{fill:none;stroke-width:1.4}.sculpt-travel{fill:none;stroke:var(--accent);stroke-opacity:.25;stroke-width:1;stroke-dasharray:2 4}.sculpt-held{fill:none;stroke:var(--sculpt-hold);stroke-width:1.5;stroke-dasharray:3 3}.sculpt-held-dot{fill:var(--sculpt-hold);stroke:var(--surface);stroke-width:1.5}.sculpt-brush-ring{pointer-events:none}.brush-outer{fill:currentColor;fill-opacity:.035;stroke:currentColor;stroke-opacity:.7;stroke-width:1;stroke-dasharray:5 4}.brush-core{fill:currentColor;fill-opacity:.03;stroke:currentColor;stroke-opacity:.3;stroke-width:1}.sculpt-brush-ring path{fill:none;stroke:currentColor;stroke-width:1.3}.empty-canvas{position:absolute;top:44%;left:50%;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--muted);text-align:center;transform:translate(-50%,-50%)}.empty-canvas h2{color:var(--text);font-size:20px}.empty-canvas .button{margin-top:var(--space-2)}.inline-edit{position:absolute;z-index:30;display:flex;align-items:center;padding:4px 8px;box-shadow:0 0 0 2px var(--accent),0 0 0 5px var(--accent-soft)}.inline-edit textarea{display:block;width:100%;min-height:0;padding:0;overflow:hidden;border:0;outline:none;background:transparent;box-shadow:none;resize:none;text-align:center;caret-color:currentColor}.inline-edit textarea::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}.node.editing .node-title,.group.editing .group-title,.edge.editing .edge-label{visibility:hidden}.state-bar{position:absolute;top:12px;left:50%;z-index:25;display:flex;align-items:center;gap:2px;max-width:calc(100% - 32px);padding:3px;overflow-x:auto;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 1px 3px #00000014;transform:translate(-50%)}.state-chip{padding:3px 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:600;white-space:nowrap;cursor:pointer}.state-chip:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.state-chip[aria-pressed=true]{color:var(--accent-ink, #fff);background:var(--accent)}.state-bar-rule{width:1px;height:16px;margin:0 4px;background:var(--line)}.state-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:22;display:grid;place-items:center;padding:56px 24px 24px;overflow:auto;background:var(--canvas-bg, var(--surface))}.state-grid>svg{width:100%;max-width:100%;height:auto;max-height:100%;border:1px solid var(--line);border-radius:var(--radius)}.state-grid [data-state]{cursor:pointer}.state-grid{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.state-grid-fit{position:absolute;top:64px;right:32px;z-index:23;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.diagram-frame-page{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.diagram-frame-heading,.diagram-frame-ghost{cursor:text}.diagram-frame-heading.editing{visibility:hidden}.diagram-frame-ghost{opacity:0;transition:opacity .14s ease}.diagram-frame:hover .diagram-frame-ghost{opacity:.8}.diagram-frame-edge{fill:var(--accent);fill-opacity:0;cursor:ew-resize;transition:fill-opacity .14s ease}.diagram-frame-edge:hover,.diagram-frame.resizing .diagram-frame-edge{fill-opacity:.25}@media(prefers-reduced-motion:reduce){.diagram-frame-ghost,.diagram-frame-edge{transition:none}}.zoom-controls{position:absolute;right:16px;bottom:16px;z-index:20}.zoom-level{min-width:52px;font-variant-numeric:tabular-nums}.has-timeline .zoom-controls{bottom:178px}.drop-overlay{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);border:2px dashed var(--accent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent-soft) 85%,transparent);color:var(--accent);font-size:var(--text-lg);font-weight:600;pointer-events:none}.drop-overlay .icon{width:28px;height:28px}.layout-preview{position:absolute;bottom:16px;left:16px;z-index:25;gap:var(--space-2);width:max-content;max-width:calc(100% - 210px);padding:6px 6px 6px 14px}.layout-preview-text{display:flex;flex-direction:column;margin-right:var(--space-2);line-height:1.25}.layout-preview-text span{color:var(--muted);font-size:var(--text-xs)}.layout-preview-text span{overflow-wrap:anywhere}.layout-preview-text code{color:var(--text);font-family:var(--mono)}.timeline-deck{position:absolute;right:16px;bottom:16px;left:16px;z-index:24;display:flex;flex-direction:column;gap:var(--space-3);max-width:1100px;margin:0 auto;padding:var(--space-3) var(--space-4)}.timeline-head,.timeline-track-row,.timeline-foot{display:flex;align-items:center;gap:var(--space-2)}.timeline-title{display:flex;flex-direction:column;line-height:1.3}.timeline-outcome{flex:1;color:var(--muted);font-size:var(--text-xs)}.inline-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-xs)}.inline-label select{width:170px}.timeline-track{position:relative;flex:1}.timeline-marks{position:absolute;top:-6px;right:7px;left:7px;height:0}.timeline-marks button{position:absolute;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--sculpt-restore);transform:translate(-50%);cursor:pointer}.timeline-track-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.timeline-motion{display:flex;flex-direction:column;min-width:84px;font-size:var(--text-xs);line-height:1.3}.timeline-motion b{font-size:var(--text-lg)}.timeline-motion span{color:var(--muted)}.timeline-foot select{width:180px}.timeline-note{color:var(--muted);font-size:var(--text-xs)}.timeline-loading{display:flex;align-items:center;gap:var(--space-3);color:var(--muted)}.timeline-loading p{flex:1}.brush-dock{position:absolute;top:14px;left:14px;z-index:24;display:flex;flex-direction:column;gap:var(--space-2);width:272px;padding:12px 14px;cursor:auto}.brush-dock *{cursor:auto}.brush-dock button,.brush-dock select,.brush-dock input{cursor:pointer}.brush-row{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs)}@media(max-width:900px){.timeline-note,.timeline-head .inline-label{display:none}}.comparison{--comparison-header: 44px;top:0;right:0;bottom:0;left:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--bg);color:var(--text);overflow:hidden}.comparison[open]{display:grid;grid-template-areas:"header header" "sidebar main";grid-template-columns:clamp(250px,21vw,310px) minmax(0,1fr);grid-template-rows:var(--comparison-header) minmax(0,1fr)}.comparison.controls-hidden[open]{grid-template-columns:0 minmax(0,1fr)}.comparison-header{grid-area:header;display:flex;align-items:center;gap:var(--space-3);padding:0 14px 0 10px;border-bottom:1px solid var(--line);background:var(--surface)}.comparison-heading{flex:none;max-width:220px;min-width:0}.comparison-heading h2{font-size:var(--text-lg)}.comparison-heading p{overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.comparison-sidebar{grid-area:sidebar;display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line);background:var(--surface)}.comparison-sidebar .panel-scroll{padding:var(--space-4)}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line)}.panel-scroll>.sidebar-section:first-child{padding-top:0;border-top:0}.sidebar-section>h3{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}details.sidebar-section[open]>summary,.sidebar-section details[open]>summary{margin-bottom:var(--space-2)}.checkbox-grid{display:grid;grid-template-columns:1fr;gap:2px}.comparison-main{grid-area:main;display:grid;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.comparison-progress{flex:1;min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-align:right;text-overflow:ellipsis;white-space:nowrap}.candidate-grid{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));grid-template-rows:repeat(var(--rows, 2),minmax(0,1fr));gap:10px;min-width:0;min-height:0;padding:10px;overflow:hidden}.candidate-grid>.empty-state{grid-column:1 / -1;grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);max-width:420px;margin:auto;text-align:center}.candidate-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.candidate-card>header{display:flex;flex:0 0 46px;align-items:center;gap:var(--space-2);padding:4px 8px 4px 10px;border-bottom:1px solid var(--line)}.candidate-card.current>header{background:var(--surface-2)}.candidate-reading{flex:1;min-width:0}.candidate-reading strong{display:block;overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.candidate-reading p{overflow:hidden;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.candidate-method{flex:none;color:var(--muted);font-size:var(--text-xs)}.candidate-body{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--diagram-canvas, var(--canvas))}.candidate-pending{display:grid;height:100%;place-items:center;color:var(--muted);font-size:var(--text-sm)}.candidate-pending:not(.error-text){background:linear-gradient(100deg,transparent 30%,var(--hover) 50%,transparent 70%) 0 0 / 300% 100%;animation:candidate-pending 1.6s linear infinite}@keyframes candidate-pending{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.candidate-pending:not(.error-text){animation:none}}.candidate-card>footer{flex:none;min-width:0;padding:3px 10px;border-top:1px solid var(--line);color:var(--muted);white-space:nowrap}.candidate-warnings{position:absolute;top:8px;right:8px;z-index:2;max-width:calc(100% - 16px);max-height:60%;padding:6px 10px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--warning);font-size:var(--text-xs)}.label-hit{fill:none;stroke:var(--warning);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.candidate-warnings summary{font-size:var(--text-xs)}.scale-badge{position:absolute;right:8px;bottom:6px;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--muted);font:10px var(--mono);pointer-events:none}.viewport-canvas{display:block;width:100%;height:100%;background-image:radial-gradient(var(--dot) .6px,transparent .6px);background-size:20px 20px;cursor:grab;outline-offset:-3px;touch-action:none;-webkit-user-select:none;user-select:none}.viewport-canvas:active{cursor:grabbing}.viewport-canvas :is(.node,.edge,.group-bg,.group-header){cursor:inherit}.viewport-canvas .node:focus-visible .node-shape{stroke:var(--accent);stroke-width:2.4}.viewport-canvas .focused>.node-shape,.viewport-canvas .focused>.group-bg{stroke:var(--accent);stroke-width:2.4}.overlay-stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--diagram-canvas, var(--canvas))}.overlay-empty{position:absolute;top:50%;left:50%;color:var(--muted);transform:translate(-50%,-50%);pointer-events:none}.overlay-layer-group :is(.node-shape,.group-bg){fill:var(--layer-color);fill-opacity:.1;stroke:var(--layer-color);filter:none}.overlay-layer-group :is(.edge-line,.leader){stroke:var(--layer-color);stroke-width:1.7}.overlay-layer-group :is(.edge-label,.group-title){fill:var(--layer-color)}.overlay-layer-group:not(.active,.all-labels) :is(.node-title,.edge-label,.group-title){visibility:hidden}.overlay-layer-group .focused>.node-shape{stroke-width:3;fill-opacity:.16}.layer-row{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;grid-template-areas:"check name value" "slider slider slider";align-items:center;gap:2px 6px;padding:4px 0}.layer-row input[type=checkbox]{grid-area:check}.layer-row input[type=range]{grid-area:slider}.layer-row output{grid-area:value;color:var(--muted);font:10px var(--mono);text-align:right}.layer-name{grid-area:name;display:flex;align-items:center;gap:6px;min-width:0;padding:2px 4px;border:0;border-radius:4px;background:none;color:var(--muted);font-size:var(--text-xs);text-align:left;cursor:pointer}.layer-name[aria-pressed=true]{color:var(--text);font-weight:650}.color-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--layer-color)}@media(max-width:720px){.comparison[open]{grid-template-columns:0 minmax(0,1fr)}.comparison{--comparison-header: 80px}.comparison-header{flex-wrap:wrap;align-content:center;gap:var(--space-1) var(--space-2);padding:0 var(--space-2)}.comparison-header kbd{display:none}.comparison-progress{order:1;text-align:right}.candidate-grid{grid-template-rows:none;grid-auto-rows:minmax(220px,1fr);overflow-y:auto}.comparison:not(.controls-hidden) .comparison-sidebar{position:fixed;top:var(--comparison-header);bottom:0;left:0;z-index:5;width:min(320px,90vw);box-shadow:var(--shadow-lg)}.comparison-heading{display:none}}.candidate-recipe{display:block;overflow:hidden;font:var(--text-xs) / 1.4 var(--mono);text-overflow:ellipsis}.export-dialog .modal-body{gap:var(--space-4)}.export-dialog .modal-foot{justify-content:space-between;align-items:center}.export-error{flex:1;min-width:0;margin:0;overflow:hidden;color:var(--danger);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis}.pdf-files-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:6px;font-size:var(--text-sm);font-weight:600}.pdf-files-head .count{margin-left:4px;color:var(--muted);font-weight:500}.pdf-files-actions{display:flex;gap:10px;font-weight:500}.pdf-sort{margin-left:8px;color:var(--muted)}.pdf-list{max-height:300px;margin:0;padding:0;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.pdf-list li{display:flex;align-items:center;gap:2px;padding-right:4px;border-bottom:1px solid var(--line)}.pdf-list li:last-child{border-bottom:0}.pdf-list li:hover{background:var(--hover)}.pdf-list label{display:flex;flex:1;align-items:center;gap:var(--space-2);min-width:0;padding:5px 4px;font-size:var(--text-md);cursor:pointer}.pdf-list li.off .pdf-row-title{color:var(--muted)}.pdf-row-title{flex:1}.pdf-row-path{color:var(--muted);font-size:var(--text-sm)}.pdf-list .icon-only{width:24px;height:24px;opacity:0;transition:opacity .14s ease}.pdf-list li:hover .icon-only:not(:disabled),.pdf-list .icon-only:focus-visible{opacity:1}.pdf-list .down .icon{transform:rotate(180deg)}.export-options{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px var(--space-3)}.export-options .segmented{justify-self:start}.export-label{color:var(--muted);font-size:var(--text-sm);font-weight:600}.export-checks{display:flex;gap:var(--space-5);font-size:var(--text-md)}.export-checks label{display:flex;align-items:center;gap:6px;cursor:pointer}@media(prefers-reduced-motion:reduce){.pdf-list .icon-only{transition:none}}.pdf-list .icon-only:disabled{visibility:hidden}.modal.export-dialog{width:min(880px,calc(100vw - 32px))}.export-dialog>.modal-body>.segmented{align-self:flex-start}.export-image{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--space-4);height:340px}.export-preview{display:flex;align-items:center;justify-content:center;min-width:0;padding:var(--space-3);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.export-preview.transparent{background:repeating-conic-gradient(var(--hover) 0 25%,var(--surface) 0 50%) 0 0 / 16px 16px}.export-preview img{display:block;max-width:100%;max-height:100%;box-shadow:var(--shadow-sm)}.export-image .export-options{grid-template-columns:80px 1fr;align-content:start}.export-image .export-checks{grid-column:1 / -1;flex-direction:column;align-items:flex-start;gap:8px;margin-top:4px}.export-checks label.disabled{color:var(--muted);cursor:default}.export-size{grid-column:1 / -1;margin:4px 0 0;color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.modal:focus-visible{outline:none}.modal{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.modal[open]{display:flex;flex-direction:column}.modal.wide{width:min(760px,calc(100vw - 32px))}.modal::backdrop{background:#12142080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.palette{width:min(600px,calc(100vw - 32px));max-height:min(520px,calc(100dvh - 48px));margin-top:12vh;padding:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.palette[open]{display:flex;flex-direction:column}.palette::backdrop{background:#16161a40}.palette-search{display:flex;flex:none;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);color:var(--muted)}.palette-search input,.palette-search input:focus{height:28px;padding:0;border:0;background:none;box-shadow:none;color:var(--text);font-size:var(--text-lg)}.palette-list{flex:1;min-height:0;padding:4px;overflow:auto}.palette-list .empty{padding:12px}.palette-row{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:3px 8px;border:0;border-radius:3px;background:none;color:var(--text);font-size:var(--text-sm);text-align:left;cursor:pointer}.palette-row>.icon{color:var(--muted)}.palette-row.active{background:var(--pressed)}.palette-text{display:flex;flex:1;align-items:baseline;gap:10px;min-width:0}.palette-label{flex:none;font-weight:550}.palette-text small{overflow:hidden;color:var(--muted);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis}mark{border-radius:2px;background:color-mix(in srgb,var(--example) 30%,transparent);color:inherit}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 20px;border-bottom:1px solid var(--line)}.modal-body{display:flex;flex-direction:column;gap:var(--space-3);padding:16px 20px 20px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2)}.shortcuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2px 24px}.shortcut{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:5px 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}.help-notes{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--surface-2);font-size:var(--text-sm)}.help-links{display:flex;gap:var(--space-2)}.quick-lines{min-height:190px;resize:vertical;font-size:var(--text-md);line-height:1.7}.confirm-message{white-space:pre-line}.popover{position:fixed;z-index:80;display:flex;flex-direction:column;gap:1px;width:268px;max-height:calc(100dvh - 16px);padding:6px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.popover>*,.menu-scroll>*{flex:none}.popover.wide{width:320px}.popover hr{width:100%;margin:5px 0;border:0;border-top:1px solid var(--line)}.menu-item{display:flex;align-items:center;gap:10px;height:28px;padding:0 8px;border:0;border-radius:3px;background:none;font-size:var(--text-sm);text-align:left;cursor:pointer}.menu-item:active:not(:disabled){background:var(--pressed)}.menu-item:disabled{opacity:.4;cursor:default}.menu-item:disabled:hover{background:none}.menu-item:hover,.menu-item:focus-visible{background:var(--hover);outline:none}.menu-icon{display:grid;flex:none;width:16px;place-items:center;color:var(--muted)}.menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item .menu-note{padding:0}.menu-item.has-note .menu-label{white-space:normal}.menu-item.has-note{height:auto;padding-block:4px}.menu-note{display:block;text-wrap:pretty;color:var(--muted);font-size:11px;font-weight:400;line-height:1.3;margin:0;padding:0}.menu-item[aria-current=true]{font-weight:600}.menu-heading{padding:6px 8px 2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.menu-scroll{display:flex;flex-direction:column;gap:1px;max-height:260px;overflow:auto}.flyout{width:250px;overflow:auto}.submenu-row{width:100%}.submenu-row .icon:last-child{width:13px;height:13px;color:var(--muted)}.menu-item .file-time{flex:none;color:var(--muted);font-size:var(--text-xs)}@media(max-width:720px){.popover .menu-item{height:auto;min-height:44px}}.menu-note{padding:6px 8px;color:var(--muted);font-size:var(--text-xs)}.routing-menu{display:flex;flex-direction:column;gap:var(--space-3);padding:4px 6px}.routing-menu .menu-heading,.routing-menu .menu-note{padding:0}.routing-menu .button-row .button{flex:1}.theme-option{height:auto;padding:5px 8px}.theme-option.selected{background:var(--pressed)}.theme-preview{flex:none;border:1px solid var(--line);border-radius:var(--radius-sm)}.theme-text{display:flex;flex-direction:column;gap:1px;min-width:0}.theme-text span{color:var(--muted);font-size:var(--text-xs)}.appearance-padding input{width:100%}.start{height:100dvh;overflow:auto;background:var(--bg)}.start.start-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;height:auto;padding:var(--space-5);background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.start-frame{max-width:1480px;margin:0 auto;padding:var(--space-4) var(--space-5) var(--space-5)}.start-dialog .start-frame{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);box-shadow:var(--shadow-lg)}.start-header{display:flex;align-items:center;gap:var(--space-3);height:36px;margin-bottom:var(--space-3)}.start-header h1{display:inline-flex;margin:0}.start-header .brand{margin-left:-5px;font-size:19px}.start-where{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden;color:var(--muted);font:var(--text-sm) var(--mono);white-space:nowrap;text-overflow:ellipsis}.start-notice{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger)}.start-body{display:grid;grid-template-columns:340px minmax(0,1fr);gap:var(--space-5);align-items:start}.start-side{display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:0}.start-section h2{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.start-section-head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2)}.start-section-head h2{margin:0}.start-hint{margin:0;color:var(--muted);font-size:var(--text-sm)}.start-hint code{font:var(--text-sm) var(--mono)}.start-new{display:flex;flex-direction:column;gap:var(--space-2)}.start-field{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.start-field input{height:var(--control-height)}.mono{font-family:var(--mono);font-size:var(--text-sm)}.start-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-height);padding-left:52px}.start-error{color:var(--danger);font-size:var(--text-sm)}.start-filter{width:140px;height:24px;margin-left:auto}.start-list{margin:0 calc(-1 * var(--space-2));padding:0;list-style:none}.start-file{display:flex;align-items:center;gap:var(--space-2);padding:5px var(--space-2);border-radius:var(--radius-sm);color:var(--text);text-decoration:none;transition:background-color .14s}.start-file:hover{background:var(--hover)}.start-file>.icon{flex:none;color:var(--success)}.start-file-text{display:flex;flex:1;flex-direction:column;min-width:0}.start-file-title{font-weight:600}.start-file-path{color:var(--muted);font:var(--text-xs) var(--mono);overflow-wrap:anywhere}.start-file-time{flex:none;color:var(--muted);font-size:var(--text-xs)}.start-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.start-example{display:flex;flex-direction:column;gap:2px;height:100%;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .14s}.start-example:hover{border-color:var(--ink)}.start-example:active{background:var(--hover)}.start-thumb{display:flex;align-items:center;justify-content:center;height:132px;margin-bottom:var(--space-1);overflow:hidden;border-radius:var(--radius-sm);background:#f7f8fa}.start-thumb img{max-width:100%;max-height:100%}.start-example-title{font-weight:650}.start-example-summary{color:var(--muted);font-size:var(--text-sm);line-height:1.35}.start-example-meta{margin-top:auto;padding-top:var(--space-1);color:var(--muted);font-size:var(--text-xs)}@media(max-width:860px){.start-body{grid-template-columns:1fr}.start-side{position:static}.start-frame{padding:var(--space-3)}}.start-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.start-toolbar h2{margin:0;font-size:var(--text-lg)}.start-toolbar .count{color:var(--muted);font-weight:500}.start-search{width:min(320px,100%);height:var(--control-height)}.start-new-panel{max-width:420px;margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.start-new-panel .start-section h2{display:none}.start-none{padding:var(--space-5) 0}.start-file-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.start-folder+.start-folder{margin-top:var(--space-4)}.start-folder .folder-heading{margin:0 0 var(--space-2);padding-left:0;font-size:var(--text-sm)}.start-file-card .start-thumb{height:168px}.start-thumb-note{color:var(--muted);font-size:var(--text-sm)}.start-file-meta{display:flex;gap:var(--space-2)}.start-file-meta .start-file-path{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.start-more-examples{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--line)}.start-more-examples summary{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--muted);font-size:var(--text-sm);font-weight:700;cursor:pointer}.toolbar{display:flex;align-items:center;min-height:var(--toolbar-height);gap:var(--space-2);min-width:0;padding:0 8px;border-bottom:1px solid var(--line);background:var(--surface)}.menubar{display:flex;align-items:center;margin-left:4px}.menubar-item{height:var(--control-height);padding:0 8px;border:0;border-radius:var(--radius-sm);background:none;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background-color .12s}.menubar-item:hover,.menubar-item[aria-expanded=true]{background:var(--hover)}.menubar-item[aria-expanded=true]{background:var(--pressed)}.toolbar-group{display:flex;flex:none;align-items:center;gap:2px}.mobile-tools{display:none}.toolbar-scroll{display:flex;flex:1;align-items:center;gap:var(--space-2);min-width:0;height:100%;overflow-x:auto;scrollbar-width:none}.toolbar-scroll::-webkit-scrollbar{display:none}.toolbar .button .icon{width:16px;height:16px}.toolbar [aria-label="Drawing tools"] .button[aria-pressed=true]{background:var(--ink);color:var(--ink-on)}.title-block{display:flex;flex-direction:column;justify-content:center;width:clamp(150px,15vw,300px)}.title-input{height:22px;padding:0 4px;border-color:transparent;background:transparent;font-size:var(--text-md);font-weight:650;text-overflow:ellipsis}.title-input:hover{background:var(--hover)}.title-input:focus{border-color:var(--ink);background:var(--surface)}.save-status{overflow:hidden;padding:0 5px;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--text-xs);line-height:15px}.status-folder{color:inherit;font-weight:550;text-decoration:none}.status-folder:hover{color:var(--text)}.save-status.warning{color:var(--danger)}.save-status .icon{margin-right:3px;vertical-align:-1px}.save-status.on-disk{color:var(--success)}.save-status.in-example{color:var(--warning);font-weight:600}@media(min-width:1101px)and (max-width:1500px),(max-width:1000px){.toolbar .brand-name{display:none}}@media(min-width:1101px)and (max-width:1900px),(max-width:1000px){.toolbar .app-nav{display:none}}@media(max-width:1100px){.toolbar{flex-wrap:wrap;row-gap:0;padding-bottom:4px}.toolbar-scroll{order:3;flex-basis:100%;height:40px}.toolbar>.toolbar-group:first-child{flex:1;min-width:0}.title-block{flex:1 1 auto;width:auto;min-width:0;max-width:420px}}@media(max-width:720px){.toolbar-scroll{display:none}.toolbar-panels>.button:not([aria-label="Save and export"]),.menubar{display:none}.mobile-tools{display:flex;flex-basis:100%;order:3;justify-content:space-between;min-width:0;height:50px}.mobile-tools .button{flex:1;flex-direction:column;gap:2px;height:48px;padding:4px 2px;font-size:11px}.toolbar>.toolbar-group:first-child{flex:1;min-width:0}.title-block{flex:1;width:auto;min-width:0;max-width:260px}}.save-status.on-disk.warning{color:var(--danger)}:root{color-scheme:light;--bg: #f4f4f1;--surface: #ffffff;--surface-2: #f8f8f6;--hover: #efefeb;--line: #e4e3de;--line-strong: #cdccc5;--text: #22232a;--muted: #666770;--ink: #26272e;--ink-hover: #3a3b44;--ink-on: #fbfbf9;--pressed: #e6e5e0;--key-edge: #d6d5ce;--accent: #6650d9;--accent-hover: #5741c9;--accent-soft: #efebfd;--accent-ink: #ffffff;--success: #267c68;--warning: #a2611a;--danger: #b13c50;--danger-soft: #fbecef;--canvas: #fbfbfd;--dot: #d9dce7;--sculpt-restore: #b46e24;--sculpt-hold: #258775;--example: #c7861f;--example-soft: #fdf4e3;--example-ink: #ffffff;--shadow-sm: 0 1px 2px #1d1b3010;--shadow: 0 2px 10px #24241f14;--shadow-lg: 0 8px 28px #24241f24;--node-shadow: 0 3px 8px #28334e09;--font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 15px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--control-height: 28px;--toolbar-height: 48px;--panel-width: 280px}:root[data-theme=dark]{color-scheme:dark;--bg: #16171a;--surface: #1f2024;--surface-2: #26272c;--hover: #2c2d33;--line: #36373e;--line-strong: #50515a;--text: #e9e9e6;--muted: #a5a6ad;--ink: #e9e9e6;--ink-hover: #ffffff;--ink-on: #1a1b1f;--pressed: #3a3b42;--key-edge: #121316;--accent: #a898ff;--accent-hover: #bbaeff;--accent-soft: #352f4c;--accent-ink: #15171f;--success: #86d6b9;--warning: #e8b673;--danger: #ff95a5;--danger-soft: #45262e;--canvas: #191c26;--dot: #323747;--sculpt-restore: #e5b474;--sculpt-hold: #83cdb8;--example: #e8b673;--example-soft: #3a2f1e;--example-ink: #15171f;--shadow-sm: 0 1px 2px #0004;--shadow: 0 2px 10px #0005;--shadow-lg: 0 8px 28px #0007;--node-shadow: 0 3px 8px #0002}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:var(--text-md) / 1.45 var(--font);background:var(--bg);color:var(--text);overflow:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h2,h3,p{margin:0}h2{font-size:var(--text-lg);font-weight:650}h3{font-size:var(--text-sm);font-weight:650}kbd{display:inline-block;min-width:18px;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);color:var(--muted);font:600 10px/16px var(--font);text-align:center;white-space:nowrap}details>summary{cursor:pointer;font-weight:600;font-size:var(--text-sm);list-style-position:inside}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-height);padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:550;letter-spacing:-.003em;white-space:nowrap;cursor:pointer;box-shadow:0 1px 0 var(--key-edge);transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s,transform .06s}.button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}a.button{text-decoration:none}.button:hover:not(:disabled){background:var(--hover)}.button:disabled{opacity:.4;box-shadow:none;cursor:default}.button[aria-pressed=true]{background:var(--pressed);border-color:transparent;box-shadow:none}.button.primary{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 1px #ffffff24,0 1px 0 var(--key-edge);color:var(--ink-on)}.button.primary:hover:not(:disabled){background:var(--ink-hover);border-color:var(--ink-hover)}.button.primary kbd{border-color:transparent;background:color-mix(in srgb,var(--ink-on) 18%,transparent);color:inherit}.button.ghost{background:transparent;border-color:transparent;box-shadow:none}.button.ghost:hover:not(:disabled){background:var(--hover)}.button.ghost:active:not(:disabled){background:var(--pressed)}.button.ghost[aria-pressed=true]{background:var(--pressed)}.button.danger{color:var(--danger)}.button.danger:hover:not(:disabled){background:var(--danger-soft)}.button.small{height:24px;padding:0 8px;font-size:var(--text-xs)}.button.full{width:100%}.button.icon-only{width:var(--control-height);padding:0}.button .icon,.icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.link-button{border:0;padding:0;background:none;color:var(--muted);font-size:var(--text-xs);cursor:pointer}.link-button:hover{color:var(--text)}.button-row{display:flex;gap:var(--space-2)}.segmented{display:inline-flex;padding:2px;border-radius:var(--radius-sm);background:var(--hover)}.segmented.full{display:flex}.segmented button{flex:1;height:24px;padding:0 10px;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:550;cursor:pointer;transition:background-color .12s,color .12s}.segmented button:hover:not(:disabled){color:var(--text)}.segmented button:disabled{opacity:.5;cursor:not-allowed}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line-strong)}:where(input:not([type=checkbox],[type=range]),select,textarea){width:100%;min-width:0;height:var(--control-height);padding:0 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm)}:where(textarea){height:auto;padding:8px;line-height:1.5}:where(input,select,textarea):focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}:where(input,select,textarea):disabled{opacity:.55}input[type=checkbox],input[type=range]{accent-color:var(--ink)}input[type=checkbox]{width:14px;height:14px;margin:0;flex:none}input[type=range]{width:100%;margin:0}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);font-weight:600}.field-label small{font-weight:450}.field-label output{color:var(--text);font-family:var(--mono);font-size:var(--text-xs)}.link-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.link-target{flex:1;min-width:0;overflow:hidden;font-family:var(--mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.checkbox{display:flex;align-items:center;gap:var(--space-2);min-height:24px;font-size:var(--text-sm);cursor:pointer}.hint{color:var(--muted);font-size:var(--text-xs);line-height:1.45}.warning-text{color:var(--warning);font-size:var(--text-xs)}.error-text{color:var(--danger)}.muted{color:var(--muted)}.eyebrow{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pill{padding:1px 8px;border-radius:999px;background:var(--hover);color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.02em}.pill.accent{background:var(--pressed);color:var(--text)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.row{display:flex;align-items:center;gap:var(--space-2)}.between{justify-content:space-between}.grow{flex:1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand{display:inline-flex;flex:none;align-items:center;gap:8px;padding:3px 5px;border-radius:var(--radius);color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.02em;text-decoration:none}.brand:hover{background:var(--hover)}.toolbar .app-nav{margin-right:12px}.app-nav{display:flex;flex:none;align-items:center;gap:16px;font-size:var(--text-md)}.app-nav a{color:var(--muted);font-weight:500;text-decoration:none;white-space:nowrap;transition:color .14s}.app-nav a:hover{color:var(--text)}.divider{flex:none;width:1px;height:20px;margin:0 4px;background:var(--line)}.spinner{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tip{position:fixed;inset:auto;z-index:110;max-width:260px;margin:0;padding:6px 9px;border:0;border-radius:var(--radius-sm);background:var(--ink);color:var(--ink-on);font-size:var(--text-xs);line-height:1.35;pointer-events:none;box-shadow:var(--shadow)}.tip-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.tip strong{font-size:var(--text-sm);font-weight:600;white-space:nowrap}.tip p{margin-top:2px;opacity:.78}.tip kbd{border:0;background:color-mix(in srgb,var(--ink-on) 16%,transparent);color:inherit}.app{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;height:100dvh}.example-bar{display:flex;align-items:center;gap:var(--space-3);height:36px;padding:0 var(--space-3);border-bottom:1px solid color-mix(in srgb,var(--example) 40%,transparent);background:var(--example-soft);font-size:var(--text-sm)}.example-badge{display:inline-flex;align-items:center;flex:none;gap:5px;color:var(--warning);font-size:var(--text-sm);font-weight:650}.example-badge .icon{width:14px;height:14px}.example-text{display:flex;gap:var(--space-2);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.example-note{overflow:hidden;min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.example-help{flex:none}.example-help{color:var(--warning);white-space:nowrap;text-decoration:none;transition:color .12s}.example-help:hover{color:var(--text)}.example-actions{display:flex;gap:var(--space-1);margin-left:auto}.example-save{display:flex;flex:1;align-items:center;gap:var(--space-2);min-width:0}.example-save input{width:280px;height:24px}.example-error{color:var(--danger);white-space:nowrap}.workspace{position:relative;display:flex;min-height:0}.floating-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.floating-bar{display:flex;align-items:center;gap:2px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.panel{display:flex;flex-direction:column;position:relative;flex:none;width:var(--panel-width);min-height:0;background:var(--surface)}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--line)}.inspector-panel{width:var(--inspector-width);border-left:1px solid var(--line)}.sidebar-body{display:flex;flex:1;flex-direction:column;min-height:0}.sidebar-head{display:flex;flex:none;align-items:center;gap:2px;height:36px;padding:0 4px 0 8px;border-bottom:1px solid var(--line)}.sidebar-tabs{display:flex;flex:1;gap:2px;min-width:0;height:100%}.sidebar-tabs button{position:relative;padding:0 6px;border:0;background:none;color:var(--muted);font-size:var(--text-sm);font-weight:550;white-space:nowrap;cursor:pointer;transition:color .12s}.sidebar-tabs button:hover,.sidebar-tabs button[aria-selected=true]{color:var(--text)}.sidebar-tabs button[aria-selected=true]:after{content:"";position:absolute;right:6px;bottom:-1px;left:6px;height:2px;background:var(--ink)}.sidebar-tabs .count{margin-left:2px;color:var(--muted);font-weight:450}.resize-handle{position:absolute;z-index:5;top:0;bottom:0;width:9px;cursor:col-resize;touch-action:none}.resize-handle.right{right:-5px}.resize-handle.left{left:-5px}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:3px;background:transparent;transition:background-color .12s}.resize-handle:hover:after,.resize-handle.dragging:after,.resize-handle:focus-visible:after{background:var(--line-strong)}.resize-handle.dragging:after{background:var(--ink)}.resize-handle:focus-visible{outline:none}.panel-header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:var(--space-2);height:36px;padding:0 4px 0 var(--space-3);border-bottom:1px solid var(--line)}.panel-header.compact{height:auto;padding:0 0 6px;border:0}.panel-header h2{display:flex;align-items:center;gap:6px;font-size:var(--text-md)}.panel-header .count{color:var(--muted);font-weight:500}.panel-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.files-list,.object-tree{padding-top:var(--space-2);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--space-2));mask-image:linear-gradient(to bottom,transparent,#000 var(--space-2))}.panel-search{padding:6px 8px 0}.files-search{display:flex;align-items:center;gap:6px}.files-search input{flex:1;min-width:0}.files-order{flex:none}.files-order button{display:grid;width:24px;padding:0;place-items:center}.files-order .icon{width:14px;height:14px}.files-new{display:flex;flex-direction:column;gap:4px;padding:6px 8px 0}.files-new-path{overflow:hidden;color:var(--muted);font:var(--text-xs) var(--mono);white-space:nowrap;text-overflow:ellipsis}.files-new-path.error{color:var(--danger);font-family:var(--font);white-space:normal}.files-list{padding:0 8px 12px}.files-list .empty{padding:8px}.files-export{padding:6px 8px}.file-row{display:flex;align-items:baseline;gap:8px;padding:3px 8px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;transition:background-color .1s}.file-row:hover,.file-row.active{background:var(--hover)}.file-row:active,button.folder-heading:active,.tree-row:active{background:var(--pressed)}.file-row[style*=--depth]{padding-left:calc(8px + var(--depth) * 12px)}.folder-heading{display:flex;align-items:center;gap:6px;width:100%;margin-top:6px;padding:3px 8px 3px calc(8px + max(var(--depth) - 1,0)*12px);border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font-size:var(--text-xs);font-weight:600;text-align:left}.folder-heading:first-child{margin-top:0}button.folder-heading{cursor:pointer}button.folder-heading:hover{background:var(--hover);color:var(--text)}.folder-heading .count{margin-left:auto;font-weight:450}.folder-heading svg{width:13px;height:13px;flex:none}.folder-heading-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.folder-heading-parent{font-weight:400}.file-row.current{background:var(--pressed)}.file-row-title{flex:1;min-width:0;font-size:var(--text-sm);font-weight:500}.file-row.current .file-row-title{font-weight:650}.file-row-folder{margin-left:6px;white-space:nowrap;color:var(--muted);font-size:var(--text-xs);font-weight:450}.file-time{flex:none;color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.file-time.changed{color:var(--success);font-weight:600}.object-tree{padding:0 8px 12px}.object-tree .empty{padding:8px}.tree-row{display:flex;align-items:center;border-radius:var(--radius-sm)}.tree-row:hover{background:var(--hover)}.tree-row.active{background:var(--pressed);font-weight:600}.tree-toggle,.tree-spacer{flex:none;width:22px;height:28px}.tree-toggle{display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;transition:color .12s}.tree-toggle:hover{color:var(--text)}.tree-toggle .icon{width:13px;height:13px}.tree-label{display:flex;flex:1;align-items:center;gap:8px;min-width:0;height:28px;padding:0 6px 0 0;border:0;background:none;font-size:var(--text-sm);text-align:left;cursor:pointer}.tree-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-label .icon{width:14px;height:14px;color:var(--muted)}.tree-row.active .tree-label .icon{color:inherit}.tree-label .pin-mark{margin-left:auto;color:var(--ink)}.inspector{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:var(--space-3);border:0;min-width:0}.inspector-heading{display:flex;align-items:center;justify-content:space-between}.inspector-heading strong{font-size:var(--text-lg)}.inspector-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line)}.inspector>.inspector-section:first-child,.inspector-heading+.inspector-section{padding-top:0;border-top:0}.align-row{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.inspector-section>h3,.inspector-section>summary{color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.inspector-section>summary:hover{color:var(--text)}.color-picker{display:flex;flex-direction:column;gap:8px}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatches button{width:22px;height:22px;padding:0;border:2px solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--line);cursor:pointer;transition:box-shadow .12s}.swatches button:hover{box-shadow:0 0 0 1px var(--line-strong)}.swatches button.selected{box-shadow:0 0 0 2px var(--ink)}.swatches button.auto{border-style:dashed}.shades{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:3px}.shades button{height:22px;padding:0;border:1px solid transparent;border-radius:4px;font:600 10px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;transition:box-shadow .12s}.shades button:hover{box-shadow:0 0 0 1px var(--line-strong)}.shades button.selected{box-shadow:0 0 0 1.5px var(--surface),0 0 0 3px var(--ink)}.intent-role{padding:2px 8px;border-radius:var(--radius-sm);background:var(--pressed);color:var(--text);font-size:10px;font-weight:700;text-transform:uppercase}.intent-entry{display:flex;flex-direction:column;gap:6px}.arrange{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3)}.arrange>*{flex:none}.arrange .stack{gap:var(--space-5)}.arrange-more .arrange-field{gap:var(--space-3)}.arrange-subject{display:flex;flex-direction:column;gap:2px;min-width:0}.arrange-subject code{color:var(--muted);font:var(--text-xs) / 1.45 var(--mono);overflow-wrap:anywhere;transition:color .12s}.arrange-subject code.unsaved{color:var(--text)}.arrange-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.arrange-field{display:flex;flex-direction:column;gap:var(--space-2)}.arrange-field h3{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:550}.arrange-more summary{font-size:var(--text-sm);font-weight:550;cursor:pointer}.arrange-more[open] summary{margin-bottom:var(--space-3)}:is(.segmented,.format-picker) button.pending{animation:choice-pending .8s ease-in-out .15s infinite alternate}@keyframes choice-pending{to{opacity:.55}}@media(prefers-reduced-motion:reduce){:is(.segmented,.format-picker) button.pending{animation:none}}.format-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--hover)}.format-picker button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:44px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:550;cursor:pointer;transition:background-color .12s,color .12s}.format-picker button:hover{color:var(--text)}.format-picker button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line-strong)}.format-shape{display:grid;flex:none;place-items:center;width:20px;height:20px}.format-glyph{flex:none;border:1.5px solid currentcolor;border-radius:1.5px}.format-glyph.auto{width:16px;height:12px;border-style:dashed}.recipe-line{display:block;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);font:var(--text-sm) / 1.45 var(--mono);overflow-wrap:anywhere}.recipe-line.next{border-color:transparent;background:var(--pressed)}.statusbar{display:flex;align-items:center;gap:var(--space-4);height:28px;padding:0 4px 0 12px;border-top:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:var(--text-xs);white-space:nowrap}.statusbar .status-hint{flex:1;overflow:hidden;text-overflow:ellipsis}.statusbar .warning{color:var(--danger)}.statusbar .status-version{padding-right:8px;opacity:.75;font-variant-numeric:tabular-nums}.toast{position:fixed;right:0;bottom:88px;left:0;width:fit-content;margin-inline:auto;z-index:100;max-width:min(560px,90vw);padding:9px 16px;border-radius:var(--radius);background:var(--text);color:var(--surface);font-size:var(--text-sm);text-align:center;box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transform:translateY(12px);transition:opacity .15s,transform .15s}.toast.show{opacity:1;transform:none}.toast.show.actionable{pointer-events:auto}.toast-action{margin-left:12px;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}@media(max-width:900px){.statusbar .status-hint,.example-note{display:none}}@media(max-width:720px){.workspace{flex-direction:column}.resize-handle{display:none}.workspace>.panel{order:2;flex:0 0 48%;width:100%;max-height:48%;border:0;border-top:1px solid var(--line)}.example-bar{flex-wrap:wrap;height:auto;min-height:36px;padding-block:4px}.layout-preview{max-width:calc(100% - 16px);flex-wrap:wrap;justify-content:center;bottom:54px}.layout-preview .button{padding-inline:6px;font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}.file-banner{position:absolute;top:var(--space-3);left:50%;z-index:30;display:flex;flex-wrap:wrap;gap:2px var(--space-2);max-width:min(720px,calc(100vw - 32px));padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:var(--radius);background:var(--danger-soft);box-shadow:var(--shadow-sm);color:var(--text);font-size:var(--text-sm);transform:translate(-50%)}.file-banner strong{color:var(--danger)}.file-banner-note{flex-basis:100%;color:var(--muted)}.file-banner-actions{display:flex;flex-basis:100%;gap:var(--space-2);margin-top:var(--space-1)}.file-notes{position:relative;margin-left:auto;padding-right:var(--space-2)}.file-notes-panel{position:absolute;right:0;bottom:calc(100% + var(--space-2));z-index:40;width:min(420px,calc(100vw - 32px));max-height:260px;overflow:hidden auto;padding:var(--space-2) var(--space-3);white-space:normal;overflow-wrap:anywhere}.file-note{margin:0;padding:var(--space-1) 0;border-bottom:1px solid var(--line);font-size:var(--text-sm)}.file-note:last-child{border-bottom:0}.file-note.warning{color:var(--danger)}
