@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/iconic/assets/roboto-flex-cyrillic-ext-opsz-normal-nDQikIyu.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/iconic/assets/roboto-flex-cyrillic-opsz-normal-SjuC5rw5.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/iconic/assets/roboto-flex-greek-opsz-normal-C14fFRny.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/iconic/assets/roboto-flex-vietnamese-opsz-normal-C-H_yGOU.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/iconic/assets/roboto-flex-latin-ext-opsz-normal-xNclTVCo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Roboto Flex Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/iconic/assets/roboto-flex-latin-opsz-normal-hy8fyBBC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent: #0d99ff;--accent-weak: #e5f4ff;--ui-bg: #ffffff;--ui-border: #e6e6e6;--ui-text: #1e1e1e;--ui-text-2: #757575;--ui-hover: #f5f5f5;--ui-input: #f5f5f5;--canvas-bg: #e5e5e5;--artboard-edge: rgb(0 0 0 / .08);--grid: rgb(0 0 0 / .07);--topbar: #2c2c2c;--topbar-hover: #3d3d3d;--topbar-text: #ffffff;--menu-bg: #1e1e1e;--row-h: 32px;--field-h: 28px;color-scheme:light;font-family:Roboto Flex Variable,Roboto,system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;font-optical-sizing:auto;letter-spacing:.01em}@media (prefers-color-scheme: dark){:root{--accent-weak: #0d99ff33;--ui-bg: #2c2c2c;--ui-border: #444444;--ui-text: #ffffff;--ui-text-2: #b3b3b3;--ui-hover: #383838;--ui-input: #383838;--canvas-bg: #1e1e1e;--artboard-edge: rgb(255 255 255 / .1);color-scheme:dark}}@media (pointer: coarse){:root{--row-h: 40px;--field-h: 34px}}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--ui-bg);color:var(--ui-text);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer;padding:0}.icon{display:block;flex:none}kbd{display:inline-block;min-width:20px;padding:1px 5px;border-radius:4px;background:var(--ui-input);border:1px solid var(--ui-border);font:500 11px Roboto Flex Variable,Roboto,system-ui,sans-serif;text-align:center;white-space:nowrap}.app{display:grid;height:100dvh;grid-template:"top top top" 48px "left view right" 1fr / 240px minmax(0,1fr) 240px;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);background:var(--topbar)}.topbar{grid-area:top;min-width:0}.panel-left{grid-area:left;border-right:1px solid var(--ui-border)}.viewport{grid-area:view}.panel-right{grid-area:right;border-left:1px solid var(--ui-border)}body.panels-hidden .app{grid-template-columns:0 minmax(0,1fr) 0}body.panels-hidden .panel{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;height:48px;padding:0 8px;background:var(--topbar);color:var(--topbar-text);border-bottom:1px solid #1e1e1e}.tb-left,.tb-right{display:flex;align-items:center;gap:4px;min-width:0}.tb-center{display:flex;align-items:baseline;gap:8px;min-width:0}.tools{display:flex;gap:2px}.tb-btn{display:grid;place-items:center;min-width:32px;height:32px;border-radius:5px;color:var(--topbar-text)}.tb-btn:hover,.caret:hover{background:var(--topbar-hover)}.menu-btn{display:flex;gap:2px;padding:0 4px;color:var(--accent)}.menu-btn .icon:last-child{color:var(--topbar-text);opacity:.6}.tool-group{display:flex;align-items:center;border-radius:5px}.tool-group.active,.tool-group.active .tb-btn:hover{background:var(--accent)}.caret{display:grid;place-items:center;width:14px;height:32px;border-radius:0 5px 5px 0;color:var(--topbar-text);opacity:.7}.doc-name{width:18ch;padding:4px 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--topbar-text);font-weight:500;text-align:right}.doc-name:hover{border-color:#555}.doc-name:focus{outline:none;border-color:var(--accent);text-align:left}.doc-meta{color:#9b9b9b;white-space:nowrap}.zoom-btn{display:flex;align-items:center;gap:2px;height:32px;padding:0 6px;border-radius:5px;color:var(--topbar-text);font-variant-numeric:tabular-nums}.zoom-btn:hover{background:var(--topbar-hover)}.export-btn{height:32px;padding:0 14px;border-radius:6px;background:var(--accent);color:#fff;font-weight:500}.export-btn:hover{filter:brightness(1.08)}.sheet-btn,.sheet-close{display:none}.panel{overflow-x:hidden;overflow-y:auto;background:var(--ui-bg);position:relative}.panel-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 12px 0 16px;background:var(--ui-bg);border-bottom:1px solid var(--ui-border)}.panel-title{font-weight:600}.sheet-close{width:32px;height:32px;font-size:20px;line-height:1;color:var(--ui-text-2)}.layer-list{list-style:none;margin:0;padding:4px 0}.layers-empty{padding:12px 16px;color:var(--ui-text-2);line-height:1.7}.layer-row{display:flex;align-items:center;gap:8px;height:var(--row-h);padding:0 8px 0 16px;cursor:default;-webkit-user-select:none;user-select:none;touch-action:pan-y}.layer-row:hover{background:var(--ui-hover);box-shadow:inset 0 0 0 1px var(--accent)}.layer-row.selected{background:var(--accent-weak)}.layer-icon{color:var(--ui-text-2)}.layer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-hidden .layer-name,.is-hidden .layer-icon{opacity:.45}.row-btn{display:grid;place-items:center;width:24px;height:24px;border-radius:4px;color:var(--ui-text-2);opacity:0}.layer-row:hover .row-btn,.row-btn.on{opacity:1}.row-btn:hover{background:var(--ui-border)}@media (pointer: coarse){.row-btn{opacity:.6;width:32px;height:32px}}.layer-rename{flex:1;min-width:0;height:24px;padding:0 4px;border:1px solid var(--accent);border-radius:3px;background:var(--ui-bg);outline:none}.layer-list.dragging .layer-row:hover{box-shadow:none}.drop-indicator{position:absolute;left:8px;right:8px;height:2px;margin-top:-1px;background:var(--accent);pointer-events:none}.d-section{padding:12px 12px 14px 16px;border-bottom:1px solid var(--ui-border)}.d-title{margin:0 0 10px;font-size:12px;font-weight:600}.d-section.empty .d-title{margin-bottom:0}.d-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.d-section.empty .d-title-row{margin-bottom:0}.d-title-row .d-title{margin:0}.focus-title{position:relative;color:var(--ui-text-2)}.focus-title.focused{color:var(--ui-text)}.focus-title.focused:before{content:"";position:absolute;left:-9px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--accent)}.d-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.d-grid+.d-grid{margin-top:8px}.d-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--field-h)}.d-row+.d-row{margin-top:4px}.d-label{flex:none;color:var(--ui-text-2);white-space:nowrap}.d-hint{margin:6px 0 0;color:var(--ui-text-2);font-size:11px}.num{min-width:0;display:flex;align-items:center;height:var(--field-h);border:1px solid transparent;border-radius:5px;background:var(--ui-input)}.num:hover{border-color:var(--ui-border)}.num:focus-within{border-color:var(--accent);background:var(--ui-bg)}.num.wide{grid-column:span 2}.num-label{display:grid;place-items:center;flex:none;min-width:24px;height:100%;color:var(--ui-text-2);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none}.num.wide .num-label{padding:0 8px}.num-input{flex:1;width:100%;min-width:0;height:100%;padding:0 6px 0 2px;border:none;background:transparent;outline:none;font-variant-numeric:tabular-nums}body.scrubbing,body.scrubbing *{cursor:ew-resize!important;-webkit-user-select:none;user-select:none}.segmented{display:flex;flex:1;max-width:160px;padding:2px;border-radius:6px;background:var(--ui-input)}.segmented button{flex:1;height:calc(var(--field-h) - 4px);border-radius:4px;color:var(--ui-text-2);font-variant-numeric:tabular-nums}.segmented button.on{background:var(--ui-bg);color:var(--ui-text);box-shadow:0 0 0 1px var(--ui-border)}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:28px;height:16px;margin:0;border-radius:8px;background:var(--ui-border);cursor:pointer;transition:background .15s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(12px)}.toggle{cursor:pointer}.align-row{display:flex;justify-content:space-between}.icon-btn{display:grid;place-items:center;width:28px;height:28px;border-radius:5px;color:var(--ui-text)}.icon-btn:hover{background:var(--ui-hover)}.color-row{display:flex;align-items:center;gap:8px;height:var(--field-h);padding:0 8px;border:1px solid transparent;border-radius:5px;background:var(--ui-input)}.color-row:hover{border-color:var(--ui-border)}.color-row:focus-within{border-color:var(--accent)}.color-row+.d-grid{margin-top:8px}.swatch{position:relative;flex:none;width:16px;height:16px;border-radius:3px;background:var(--c);box-shadow:inset 0 0 0 1px #0000001f;cursor:pointer}.swatch.mixed{background:conic-gradient(#ccc 25%,#fff 0,#fff 50%,#ccc 0,#ccc 75%,#fff 0) 0 0 / 8px 8px}.swatch input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.hex{flex:1;min-width:0;border:none;background:transparent;outline:none;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{height:26px;padding:0 10px;border-radius:13px;background:var(--ui-input);font-variant-numeric:tabular-nums}.chip.on{background:var(--accent);color:#fff}.export-controls{display:grid;gap:10px}.export-controls .segmented{max-width:none}.primary-btn{height:32px;border-radius:6px;background:var(--accent);color:#fff;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 12px}.viewport{position:relative;overflow:hidden;background:var(--canvas-bg)}#canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}#canvas[data-tool=pen],#canvas[data-tool=rect],#canvas[data-tool=ellipse],#canvas[data-tool=line],#canvas[data-tool=pencil],#canvas[data-tool=addAnchor],#canvas[data-tool=deleteAnchor],#canvas[data-tool=convertAnchor]{cursor:crosshair}#canvas[data-tool=hand],#canvas.panning{cursor:grab}#canvas[data-tool=zoom]{cursor:zoom-in}#canvas.panning-active{cursor:grabbing!important}#canvas .artboard{fill:#fff;stroke:var(--artboard-edge);stroke-width:1px;vector-effect:non-scaling-stroke}#canvas .artboard-label{fill:var(--ui-text-2);font-family:Roboto Flex Variable,Roboto,system-ui,sans-serif;pointer-events:none}#canvas .grid{fill:none;stroke:var(--grid);pointer-events:none}#canvas .locked,#canvas .overlay *{pointer-events:none}#canvas .hover-outline,#canvas .sel-outline,#canvas .bounds{fill:none;stroke:var(--accent)}#canvas .handle-sq{fill:#fff;stroke:var(--accent)}#canvas .overlay .handle-hit,#canvas .overlay .rot-zone,#canvas .overlay [data-node] .hit{fill:transparent;pointer-events:all}#canvas .h-nw,#canvas .h-se{cursor:nwse-resize}#canvas .h-ne,#canvas .h-sw{cursor:nesw-resize}#canvas .h-n,#canvas .h-s{cursor:ns-resize}#canvas .h-e,#canvas .h-w{cursor:ew-resize}#canvas .rot-zone,#canvas [data-rotate]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M18 13a6 6 0 1 1-1.8-4.3' fill='none' stroke='white' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M18 13a6 6 0 1 1-1.8-4.3' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M17.5 4.5v4.5H13' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 12 12,alias}#canvas .size-badge rect{fill:var(--accent)}#canvas .size-badge text{fill:#fff;font-family:Roboto Flex Variable,Roboto,system-ui,sans-serif;font-weight:500}#canvas .marquee{fill:#0d99ff14;stroke:var(--accent)}#canvas .node-arm{stroke:var(--accent)}#canvas .node-point rect{fill:#fff;stroke:var(--accent)}#canvas .node-point.close-target rect{fill:var(--accent)}#canvas .node-handle circle:not(.hit){fill:var(--accent);stroke:#fff}#canvas [data-node] .hit{cursor:move}#canvas[data-tool=deleteAnchor] [data-part=p] .hit,#canvas[data-tool=convertAnchor] [data-part=p] .hit{cursor:pointer}#canvas .pen-preview{fill:none;stroke:var(--accent)}.popover{--ui-bg: #2c2c2c;--ui-input: #383838;--ui-border: #4a4a4a;--ui-text: #ffffff;--ui-text-2: #b3b3b3;position:fixed;z-index:100;min-width:220px;padding:6px;border-radius:8px;background:var(--menu-bg);color:#fff;box-shadow:0 2px 6px #0003,0 12px 32px #0000004d;color-scheme:dark}.menu{list-style:none;margin:0;padding:0}.menu-item{display:flex;align-items:center;gap:8px;height:28px;padding:0 10px 0 6px;border-radius:4px;cursor:default;white-space:nowrap;outline:none}.menu-item:hover,.menu-item:focus-visible{background:var(--accent)}.mi-check{width:14px;text-align:center}.mi-keys{margin-left:auto;padding-left:24px;opacity:.6}.menu .sep{height:1px;margin:6px 4px;background:#ffffff1f}.export-pop{width:260px;padding:6px}.help{width:min(900px,calc(100vw - 32px));max-height:85dvh;padding:0;border:none;border-radius:12px;background:var(--ui-bg);color:var(--ui-text);box-shadow:0 24px 64px #00000059}.help::backdrop{background:#0006}.help-head{position:sticky;top:0;display:flex;align-items:baseline;gap:12px;padding:16px 16px 12px 20px;background:var(--ui-bg);border-bottom:1px solid var(--ui-border)}.help-head h2{margin:0;font-size:15px}.help-sub{color:var(--ui-text-2)}.help-head .sheet-close{display:block;margin-left:auto}.help-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 28px;padding:12px 20px}.help-cols h3{margin:8px 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-2)}.help-cols dl{margin:0}.help-cols dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:26px}.help-cols dd{margin:0;display:flex;gap:4px}.help-note{margin:0;padding:0 20px 18px;color:var(--ui-text-2)}#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:200;padding:8px 14px;border-radius:8px;background:var(--menu-bg);color:#fff;opacity:0;transform:translate(-50%,8px);transition:opacity .15s,transform .15s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%)}@media (max-width: 767px){.app{grid-template:"top" 52px "view" 1fr / minmax(0,1fr)}.topbar{height:52px;padding:0 4px;gap:4px}.tb-left{flex:1;overflow-x:auto;scrollbar-width:none}.tb-center{display:none}.tb-btn{min-width:36px;height:36px}.zoom-btn{display:none}.export-btn{padding:0 10px}.sheet-btn,.sheet-close{display:grid;place-items:center}.panel{position:fixed;top:calc(52px + env(safe-area-inset-top));bottom:0;z-index:50;width:min(320px,88vw);display:none;box-shadow:0 0 40px #0000004d;padding-bottom:env(safe-area-inset-bottom)}.panel-left{left:0}.panel-right{right:0}body.sheet-left .panel-left,body.sheet-right .panel-right{display:block}body.sheet-left .sheet-btn[data-sheet=left],body.sheet-right .sheet-btn[data-sheet=right]{background:var(--accent)}}#canvas .grid-major{stroke:#00000029}#canvas .keylines{fill:none;stroke:#e91e6359;pointer-events:none}#canvas .keylines .trim{fill:#00bcd41a;stroke:none}#canvas .keylines .axes{stroke:#e91e632e}#canvas .artboard-label text{fill:var(--ui-text-2);font-family:Roboto Flex Variable,Roboto,system-ui,sans-serif;pointer-events:none}#canvas .artboard-label.active text{fill:var(--ui-text);font-weight:600}#canvas .artboard-label .label-hit{fill:transparent;cursor:default}#canvas[data-tool=artboard] .artboard{cursor:move}#canvas .artboard-bounds{stroke-dasharray:none}.panel-header.sub{position:static;border-top:1px solid var(--ui-border)}.header-actions{display:flex;align-items:center;gap:2px}.ab-list,.layer-list{list-style:none;margin:0;padding:4px 0}.ab-row.active .layer-name{font-weight:600}.ab-size{color:var(--ui-text-2);font-variant-numeric:tabular-nums}.row-btn:disabled{opacity:0!important;pointer-events:none}.text-input{width:100%;height:var(--field-h);margin-bottom:8px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:var(--ui-input);outline:none}.text-input:hover{border-color:var(--ui-border)}.text-input:focus{border-color:var(--accent);background:var(--ui-bg)}.d-subtitle{margin:14px 0 8px;font-size:11px;font-weight:600;color:var(--ui-text-2)}.secondary-btn{width:100%;height:var(--field-h);margin-top:8px;border-radius:6px;background:var(--ui-input);font-weight:500}.secondary-btn:hover{box-shadow:inset 0 0 0 1px var(--ui-border)}.d-row .segmented{flex:1 1 auto;min-width:0;max-width:170px}.segmented button{min-width:0}#canvas .smart-guides{pointer-events:none}#canvas .smart-guide{stroke:#ff00e6}#canvas .guide-label{fill:#ff00e6}#canvas .smart-guides text{fill:#fff;font-family:Roboto Flex Variable,Roboto,system-ui,sans-serif;font-weight:500}#canvas .guide-dot{fill:#ff00e6}#canvas .node-point.picked rect{fill:var(--accent)}#canvas .child-outline{fill:none;stroke:var(--accent);stroke-dasharray:2 2;vector-effect:non-scaling-stroke;opacity:.7;pointer-events:none}#canvas .child-hit{fill:transparent;stroke:transparent}#canvas .merged{pointer-events:none}#canvas .ghost{opacity:0}.icon-btn.on{background:var(--accent-weak);color:var(--accent)}.review{width:min(460px,calc(100vw - 32px));padding:20px;border:none;border-radius:12px;background:var(--ui-bg);color:var(--ui-text);box-shadow:0 24px 64px #00000059}.review::backdrop{background:#0006}.review h2{margin:0 0 4px;font-size:15px}.issues{margin:12px 0;padding:0;list-style:none;display:grid;gap:8px}.issues li{padding:10px 12px;border-radius:8px;background:var(--ui-input);line-height:1.5}.issues li.fixed{opacity:.6}.secondary-btn.inline{display:block;width:auto;height:28px;margin-top:8px;padding:0 12px}.fixed-note{display:block;margin-top:6px;color:var(--accent);font-weight:600}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.dialog-actions .secondary-btn,.dialog-actions .primary-btn{width:auto;margin:0;padding:0 16px}button.swatch{padding:0;border:none}button.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.color-picker{position:fixed;z-index:120;width:240px;padding:0 0 12px;border-radius:10px;background:var(--ui-bg);color:var(--ui-text);box-shadow:0 2px 6px #00000026,0 16px 40px #00000040;-webkit-user-select:none;user-select:none}.color-picker.sheet{left:0;right:0;bottom:0;width:auto;border-radius:14px 14px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.cp-head{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 6px 0 14px;font-weight:600;border-bottom:1px solid var(--ui-border)}.cp-close{width:28px;height:28px;border-radius:6px;font-size:18px;color:var(--ui-text-2)}.cp-close:hover{background:var(--ui-hover)}.cp-area{position:relative;height:172px;margin:12px 12px 0;border-radius:6px;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),var(--hue);cursor:crosshair;touch-action:none;outline:none}.color-picker.sheet .cp-area{height:200px}.cp-thumb{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000040,0 1px 3px #0000004d;pointer-events:none}.cp-area:focus-visible .cp-thumb,.cp-hue:focus-visible .cp-thumb{box-shadow:0 0 0 2px var(--accent),0 1px 3px #0000004d}.cp-row{display:flex;align-items:center;gap:10px;margin:12px 12px 0}.cp-eyedropper{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:6px;color:var(--ui-text)}.cp-eyedropper:hover{background:var(--ui-hover)}.cp-hue{position:relative;flex:1;height:12px;border-radius:6px;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);cursor:pointer;touch-action:none;outline:none}.cp-hue .cp-thumb{top:50%}@media (pointer: coarse){.cp-hue{height:20px;border-radius:10px}.cp-thumb{width:22px;height:22px;margin:-11px 0 0 -11px}}.cp-inputs{display:flex;gap:6px;margin:12px 12px 0}.cp-mode{height:var(--field-h);padding:0 4px;border:1px solid transparent;border-radius:5px;background:var(--ui-input);color:var(--ui-text);font-size:12px}.cp-fields{display:flex;flex:1;gap:4px;min-width:0}.cp-field{flex:1;width:100%;min-width:0;height:var(--field-h);padding:0 6px;border:1px solid transparent;border-radius:5px;background:var(--ui-input);outline:none;text-align:center;font-variant-numeric:tabular-nums}.cp-field.wide{text-align:left;text-transform:uppercase}.cp-field:focus,.cp-mode:focus{border-color:var(--accent);background:var(--ui-bg)}.cp-swatches{margin:4px 12px 0}.cp-sw-label{margin:10px 0 6px;font-size:11px;font-weight:600;color:var(--ui-text-2)}.cp-sw-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.cp-swatch{aspect-ratio:1;border-radius:4px;background:var(--c);box-shadow:inset 0 0 0 1px #0000001f}.cp-swatch:hover{transform:scale(1.12)}.cp-swatch.on{box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2px var(--ui-bg),0 0 0 3.5px var(--accent)}#canvas{letter-spacing:normal}:root{--component: #9747ff}.panel-header.tabs{gap:4px;padding-left:8px}.panel-header.tabs .tab{height:28px;padding:0 8px;border-radius:5px;color:var(--ui-text-2);font-weight:600}.panel-header.tabs .tab.on{color:var(--ui-text)}.panel-header.tabs .tab:hover{background:var(--ui-hover)}.panel-header.tabs .sheet-close{margin-left:auto}.panel-header.sub.first{border-top:none}.layer-icon.is-component{color:var(--component)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;padding:8px 12px}.asset-grid .d-hint{grid-column:1 / -1;margin:0}.asset-tile{display:grid;justify-items:center;gap:4px;padding:8px 4px 6px;border-radius:8px;background:var(--ui-input);font-size:11px;color:var(--ui-text-2)}.asset-tile:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--ui-text)}.asset-tile span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-thumb{width:32px;height:32px;border-radius:4px;background:#fff}.asset-grid.badge-grid .asset-thumb{width:24px;height:24px;padding:4px;box-sizing:content-box}.panel-header .badge-style .segmented{max-width:120px}.asset-hint{margin:0;padding:0 12px}.asset-actions{padding:4px 12px 16px}.corner-row,.btn-row{display:flex;gap:4px}.btn-row{margin-top:8px}.btn-row .secondary-btn{flex:1;margin:0}.inst-source{margin:0 0 8px}.pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;max-height:180px;overflow:auto;margin-bottom:8px}.pick{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:var(--ui-input);cursor:pointer;font-size:12px}.pick .asset-thumb{width:24px;height:24px;flex:none}.pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review .d-subtitle{margin:12px 0 6px}.gap-row{margin:4px 0 16px}.review{width:min(560px,calc(100vw - 32px))}.panel-header .badge-style .segmented{width:112px;max-width:none}.panel-header .badge-style .segmented button{padding:0 6px}.d-grid+.d-row,.d-row+.d-grid{margin-top:8px}.segmented.icons{flex:0 0 auto;max-width:none}.segmented.icons button{display:grid;place-items:center;width:36px;flex:none}#canvas .tunni{stroke:#ff00e6;opacity:.7;pointer-events:none}#canvas .overlay .tunni-hit{stroke:transparent;pointer-events:stroke;cursor:move}#canvas .overlay .audit-mark{fill:#ff980040;stroke:#ff9800;pointer-events:all;cursor:pointer}.audit-list{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:4px}.audit-list li{display:flex;align-items:center;gap:8px;min-height:32px}.audit-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#ff9800}.audit-text{display:grid;flex:1;min-width:0;font-size:11px;line-height:1.35}.audit-text span{color:var(--ui-text-2)}.icon-btn.audit-fix{width:auto;padding:0 8px;color:var(--accent);font-weight:600}.overview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;background:var(--canvas-bg)}.overview[hidden]{display:none}.ov-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--ui-border);background:var(--ui-bg)}.ov-count{color:var(--ui-text-2)}.ov-search{flex:1;max-width:280px;height:30px;margin-left:auto;padding:0 10px;border:1px solid transparent;border-radius:6px;background:var(--ui-input);outline:none}.ov-search:focus{border-color:var(--accent)}.ov-close{width:30px;height:30px;border-radius:6px;font-size:20px;color:var(--ui-text-2)}.ov-close:hover{background:var(--ui-hover)}.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px;overflow:auto;align-content:start}.ov-card{display:grid;gap:8px;padding:10px;border-radius:10px;background:var(--ui-bg);box-shadow:0 0 0 1px var(--ui-border);text-align:left}.ov-card:hover{box-shadow:0 0 0 1.5px var(--accent)}.ov-card.active{box-shadow:0 0 0 2px var(--accent)}.ov-thumb{width:100%;aspect-ratio:1;border-radius:6px}.ov-meta{display:grid;grid-template-columns:1fr auto;gap:4px 8px;font-size:12px}.ov-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ov-size{color:var(--ui-text-2);font-variant-numeric:tabular-nums}.ov-chips{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px;min-height:18px}.ov-chips .chip{height:18px;padding:0 6px;border-radius:9px;font-size:10px;line-height:18px;background:var(--ui-input);color:var(--ui-text-2)}.ov-chips .chip.component{background:color-mix(in srgb,var(--component) 18%,transparent);color:var(--component)}.ov-chips .chip.linked{background:var(--accent-weak);color:var(--accent)}.ov-chips .chip.issues{background:#ff980029;color:#e65100}.d-hint.ok{color:#188038;font-weight:600}.d-hint.warn{color:#e65100;font-weight:600}.weight-preview-row{display:flex;gap:10px;align-items:center;margin-top:8px}.weight-preview{flex:none;width:64px;height:64px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--ui-border)}.weight-controls{display:grid;grid-template-columns:1fr auto;gap:4px 8px;flex:1;min-width:0}.weight-value{font-weight:600;font-variant-numeric:tabular-nums}.weight-slider{grid-column:1 / -1;width:100%;accent-color:var(--accent)}.chip:disabled{opacity:.35}
