@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-sheet:#fff;--color-ink:#000;--color-desk:#e9e6dd;--color-panel:#f6f4ee;--color-border:#d6d2c6;--color-text:#1f1e1a;--color-text-muted:#5c5a52;--color-accent:#b4128e;--color-on-accent:#fff;--color-snap:#c2410c;--color-error:#b3261e;--font-sans:"Inter Variable", system-ui, sans-serif;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--leading:1.4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--size-control:32px;--size-toolbar:44px;--radius-control:6px;--radius-panel:10px;--shadow-panel:0 1px 2px #1f1e1a14, 0 8px 24px #1f1e1a1a;--duration-fast:.12s;--duration-panel:.18s}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-panel:0s}}body{background:var(--color-desk);color:var(--color-text);font:var(--text-md) / var(--leading) var(--font-sans);margin:0}.app{height:100vh;position:relative;overflow:hidden}.canvas,.canvas-surface{width:100%;height:100%;position:absolute;inset:0}.canvas-surface{cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.canvas-surface.is-pan-ready{cursor:grab}.canvas-surface.is-panning{cursor:grabbing}.canvas-sheet{fill:var(--color-sheet);stroke:var(--color-border);stroke-width:1px}.selection rect{fill:none;stroke:var(--color-accent);stroke-width:1px}.selection .selection-handle{fill:var(--color-sheet);stroke-width:1.5px}.snap-reticle{fill:none;stroke:var(--color-snap);stroke-width:1.5px}.marquee{fill:none;stroke:var(--color-accent);stroke-width:1px;stroke-dasharray:4 3}.zoom-controls{right:var(--space-3);bottom:var(--space-3);align-items:center;gap:var(--space-1);padding:var(--space-1);display:flex;position:absolute}.zoom-value{min-width:48px;color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center}.view-switch{gap:var(--space-1);flex:none;display:flex}.view-button{height:var(--size-control);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--color-text-muted);cursor:pointer;font:var(--text-sm) / var(--leading) var(--font-sans);transition:background-color var(--duration-fast) ease-out;background:0 0;border:0}.view-button:hover{background:var(--color-border)}.view-button[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.library,.properties{top:calc(var(--size-toolbar) + var(--space-6));box-sizing:border-box;gap:var(--space-2);max-height:calc(100% - var(--size-toolbar) - var(--space-8) - var(--space-1));flex-direction:column;display:flex;position:absolute}.library{left:var(--space-3);bottom:var(--space-3);width:264px;padding:var(--space-2)}.library-search{align-items:center;gap:var(--space-2);height:var(--size-control);padding:0 var(--space-2);background:var(--color-sheet);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-muted);flex:none;display:flex}.library-search input{min-width:0;color:var(--color-text);font:var(--text-sm) / var(--leading) var(--font-sans);background:0 0;border:0;outline:0;flex:1;padding:0}.library-search:focus-within,.library-item:focus-visible,.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.library-list{overflow-y:auto}.library h2,.properties h2{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-sm);font-weight:600}.library-grid{gap:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.library-item{min-width:0;padding:var(--space-1) 2px;background:var(--color-sheet);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);cursor:grab;font:var(--text-xs) / 1.2 var(--font-sans);transition:border-color var(--duration-fast) ease-out;flex-direction:column;align-items:center;gap:2px;display:flex}.library-item:hover{border-color:var(--color-text-muted)}.library-item span{min-height:2.4em}.symbol-preview{width:40px;height:44px}.library-empty{margin:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.properties{right:var(--space-3);width:232px;padding:var(--space-3);overflow-y:auto}.properties h2{font-size:var(--text-lg);margin:0}.properties p{font-size:var(--text-sm);margin:0}.properties-reference strong{font-variant-numeric:tabular-nums}.properties .properties-delete-hint{color:var(--color-text-muted);font-size:var(--text-xs)}.field{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.field-control{align-items:center;gap:var(--space-2);display:flex}.field input,.field select{box-sizing:border-box;min-width:0;height:var(--size-control);padding:0 var(--space-2);background:var(--color-sheet);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);font:var(--text-md) / var(--leading) var(--font-sans);font-variant-numeric:tabular-nums;flex:1}.field-unit{color:var(--color-text-muted)}.selected-connection{fill:none;stroke:var(--color-accent);stroke-width:2px}.connect-preview{fill:none;stroke:var(--color-accent);stroke-width:1px;stroke-dasharray:4 3}.connect-source{fill:none;stroke:var(--color-accent);stroke-width:1.5px}.canvas-surface.is-connecting{cursor:crosshair}.tool-button[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.dev-tools{bottom:var(--space-3);gap:var(--space-2);padding:var(--space-2);display:flex;position:absolute;left:288px}.panel{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.toolbar{top:var(--space-3);left:var(--space-3);box-sizing:border-box;align-items:center;gap:var(--space-1);max-width:calc(100% - var(--space-6));height:var(--size-toolbar);padding:0 var(--space-2);display:flex;position:absolute}.toolbar-separator{width:1px;height:20px;margin:0 var(--space-1);background:var(--color-border);flex:none}.project-name{box-sizing:border-box;width:200px;min-width:80px;height:var(--size-control);padding:0 var(--space-2);border-radius:var(--radius-control);color:var(--color-text);font:600 var(--text-md) / var(--leading) var(--font-sans);transition:border-color var(--duration-fast) ease-out;background:0 0;border:1px solid #0000}.project-name::placeholder{color:var(--color-text-muted)}.project-name:hover{border-color:var(--color-border)}.tool-button{width:var(--size-control);height:var(--size-control);border-radius:var(--radius-control);color:var(--color-text);cursor:pointer;transition:background-color var(--duration-fast) ease-out;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.tool-button:hover:not(:disabled){background:var(--color-border)}.tool-button:disabled{color:var(--color-text-muted);cursor:default;opacity:.5}.tool-button:focus-visible,.view-button:focus-visible,.project-name:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.save-status{margin:0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.save-status[data-status=failed]{color:var(--color-error);font-weight:600}.notice{top:calc(var(--size-toolbar) + var(--space-6));left:var(--space-3);align-items:center;gap:var(--space-2);max-width:min(480px, calc(100% - var(--space-6)));padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px dashed var(--color-error);color:var(--color-error);display:flex;position:absolute}.notice svg{flex:none}.notice p{color:var(--color-text);font-size:var(--text-sm);margin:0}
