:root{--color-accent: #c7cbd2;--color-accent-soft: #ccd0d6;--color-ink: #23272e;--color-muted: #6a707d;--color-cream: #e8eaee;--color-white: #ffffff;--bg: #202329;--panel: #2b2f37;--panel-2: #363b44;--panel-3: #424853;--line: #434954;--line-strong: #565c68;--text: #e8eaee;--muted: #a2a8b2;--accent: #c7cbd2;--accent-soft: #9aa1ad;--accent-hover:#aab1bc;--sel: #969ca8;--danger: #ef4444;--canvas-bg: #40454f;--ruler-bg: #2b2f37;--shadow-ink: #121419;--shadow-stamp: 4px 4px 0 0 var(--shadow-ink);--shadow-stamp-lg: 6px 6px 0 0 var(--shadow-ink);--ring-accent: inset 0 0 0 1px var(--color-accent);--radius: 0;--font: "Vazirmatn", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--rulerSize: 22px}::selection{background:var(--color-accent-soft);color:var(--color-ink)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased}.topbar{position:relative;display:flex;align-items:center;gap:8px;height:50px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line);flex:0 0 auto}.brand{display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.01em;margin-right:6px}.brand-mark{display:inline-flex;align-items:center}.brand-mark svg{display:block;width:22px;height:22px}.brand-name{font-size:15px}.topbar-group{display:flex;align-items:center;gap:6px}.topbar-spacer{flex:1 1 auto}.doc-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;max-width:200px;pointer-events:none;z-index:1}.doc-name{pointer-events:auto;font-family:var(--font);font-size:13px;font-weight:600;color:var(--text);background:transparent;border:1px solid transparent;border-radius:0;padding:5px 10px;text-align:center;cursor:text;max-width:100%;text-overflow:ellipsis;white-space:nowrap;transition:background .12s,border-color .12s}.doc-name:hover{background:var(--panel-2);border-color:var(--line)}.doc-name:focus{outline:none;background:var(--panel-2);border-color:var(--accent);box-shadow:var(--ring-accent);cursor:text}.sep{width:1px;height:22px;background:var(--line);margin:0 4px}.btn{font-family:inherit;font-size:13px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);padding:7px 13px;border-radius:0;cursor:pointer;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,opacity .12s}.btn:hover{background:var(--panel-3);border-color:var(--line-strong)}.btn:focus-visible{outline:none;box-shadow:var(--ring-accent);border-color:var(--accent)}.btn.primary{background:var(--accent-soft);border-color:var(--color-ink);color:var(--color-ink);font-weight:700;box-shadow:var(--shadow-stamp)}.btn.primary:hover{background:var(--accent-hover);box-shadow:none;transform:translate(2px,2px)}.btn.primary:active{background:var(--accent);box-shadow:none;transform:translate(2px,2px)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--panel-2);border-color:var(--line)}.btn.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.btn.danger:hover{filter:brightness(1.08)}.btn.danger:disabled{background:var(--panel-2);border-color:var(--line);color:var(--muted);cursor:not-allowed;filter:none}.btn.block{width:100%}.btn.tiny{padding:5px 8px;font-size:12px;line-height:1.2}.quickbar{display:flex;align-items:center;gap:8px;height:38px;padding:0 10px;background:var(--panel);border-bottom:1px solid var(--line);flex:0 0 auto}.quick-row{display:flex;align-items:center;gap:3px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.quick-row::-webkit-scrollbar{display:none}.quick-tool{width:30px;height:28px;flex:0 0 auto;display:grid;place-items:center;border:1px solid transparent;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.quick-tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.quick-tool kbd{display:none}.quick-tool:hover{color:var(--text);background:var(--panel-2)}.quick-tool.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink)}.quick-tool .quick-txt{font-size:11px;font-weight:700;line-height:1}.quick-empty{font-size:12px;color:var(--muted)}.menu-head{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;padding:7px 10px 3px}.quick-add-wrap{flex:0 0 auto}.quick-add{width:28px;height:28px;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:0;background:var(--panel-2);color:var(--muted);cursor:pointer;font-size:18px;line-height:1}.quick-add:hover{color:var(--text);border-color:var(--accent)}.menu.quick-menu{left:auto;right:0;max-height:60vh;overflow-y:auto}@media (max-width: 820px){.quickbar{display:none}}.doctabs{display:flex;align-items:flex-end;gap:4px;height:32px;padding:0 10px;background:var(--panel);border-bottom:1px solid var(--line);flex:0 0 auto;overflow-x:auto}.doctabs[hidden]{display:none}.doctab{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px 0 11px;flex:0 0 auto;font-family:var(--font);font-size:12px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-bottom:none;border-radius:0;cursor:pointer;max-width:200px;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.doctab:hover{color:var(--text);background:var(--panel-3)}.doctab.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink);font-weight:700}.doctab-name{overflow:hidden;text-overflow:ellipsis;max-width:160px}.doctab-close{display:inline-grid;place-items:center;width:16px;height:16px;font-size:14px;line-height:1;color:inherit;opacity:.55;border-radius:0}.doctab-close:hover{opacity:1;background:var(--panel-3)}.doctab.active .doctab-close:hover{background:#1214192e}.doctab-add{display:inline-grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border:1px dashed var(--line-strong);border-radius:0;background:var(--panel-2);color:var(--muted);cursor:pointer;font-size:18px;line-height:1}.doctab-add:hover{color:var(--text);border-color:var(--accent)}.workspace{flex:1 1 auto;display:flex;min-height:0}.toolbar{width:56px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0;flex:0 0 auto;overflow-y:auto}.tool{position:relative;width:40px;height:40px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:background .12s,color .12s,border-color .12s}.tool svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.tool:hover{color:var(--text);background:var(--panel-2)}.tool.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink)}.tool kbd{position:absolute;bottom:1px;right:3px;font-size:8px;font-family:var(--font-mono);color:var(--muted);background:transparent;opacity:0;transition:opacity .12s;pointer-events:none}.tool:hover kbd{opacity:1}.tool.active kbd{color:#23272eb3}.tool-sep{width:26px;height:1px;background:var(--line);margin:4px 0}.tool-group{position:relative;display:grid;place-items:center}.tool-face-slot{display:grid;place-items:center}.tool-tri{position:absolute;right:5px;bottom:5px;width:0;height:0;border-left:4px solid transparent;border-top:4px solid var(--muted);pointer-events:none}.tool-flyout{position:fixed;left:58px;display:none;flex-direction:row;gap:4px;z-index:60;background:var(--panel-2);border:1px solid var(--color-ink);border-radius:0;padding:4px}.tool-group.open .tool-flyout{display:flex}.app-tip{position:fixed;z-index:200;pointer-events:none;display:none;align-items:center;gap:10px;max-width:280px;background:var(--panel-2);color:var(--text);border:1px solid var(--color-ink);border-radius:0;padding:6px 9px;font-size:12px;line-height:1.35}.app-tip.show{display:flex}.app-tip .tip-body{display:flex;flex-direction:column;gap:1px;min-width:0}.app-tip .tip-name{font-weight:700;white-space:nowrap}.app-tip .tip-desc{color:var(--muted);font-weight:400;white-space:normal}.app-tip .tip-key{margin-left:auto;flex:0 0 auto;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--color-ink);background:var(--color-cream);border:1px solid var(--color-ink);border-radius:0;padding:1px 6px}.canvas-area{flex:1 1 auto;position:relative;min-width:0;display:grid;grid-template-columns:var(--rulerSize) 1fr;grid-template-rows:var(--rulerSize) 1fr}.ruler-corner{grid-row:1;grid-column:1;background:var(--ruler-bg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);z-index:3}.ruler{background:var(--ruler-bg);display:block;width:100%;height:100%}.ruler-top{grid-row:1;grid-column:2;border-bottom:1px solid var(--line)}.ruler-left{grid-row:2;grid-column:1;border-right:1px solid var(--line)}.canvas-scroll{grid-row:2;grid-column:2;overflow:auto;position:relative;background:var(--canvas-bg)}.canvas-pad{display:grid;place-content:safe center;padding:60px;min-width:100%;min-height:100%}#canvas{display:block;background:transparent;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none}#canvas *{user-select:none;-webkit-user-select:none;-moz-user-select:none}#artboards{filter:drop-shadow(0 6px 22px rgba(0,0,0,.45))}body.ab-moving #artboards{filter:none}.ab-rect{stroke:none}.ab-rect.sel{stroke:var(--accent);stroke-width:1.5px}.ab-label{font-family:var(--font);fill:var(--text);font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.ab-label.active,.ab-label.sel{fill:var(--accent)}.outline #shapes :is(path,rect,ellipse,circle,polygon,line,text){fill:none!important;stroke:#6e6e6e!important;stroke-width:1px!important;stroke-dasharray:none!important;vector-effect:non-scaling-stroke;filter:none!important;opacity:1!important;marker-start:none!important;marker-end:none!important}.outline #shapes image{opacity:.2}.isolating #shapes>*:not(.iso-active){opacity:.25;pointer-events:none}.xform-pivot{stroke:var(--accent);stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}.unit-select{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:0;height:22px;font-size:11px;padding:0 2px}.color-popover{position:fixed;z-index:1000;width:232px;padding:10px;background:var(--panel-2);border:1px solid var(--color-ink);border-radius:0;box-shadow:var(--shadow-stamp-lg)}.cp-sv{position:relative;width:100%;height:130px;border-radius:0;cursor:crosshair;touch-action:none;background:linear-gradient(to bottom,transparent,#000),linear-gradient(to right,#fff,transparent),red}.cp-thumb{position:absolute;width:12px;height:12px;border:2px solid #fff;border-radius:0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080;pointer-events:none}.cp-huebar{display:flex;align-items:center;gap:8px;margin:10px 0 8px}.cp-eyedrop{flex:0 0 auto;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--panel-3);color:var(--text);border:1px solid var(--line);border-radius:0;cursor:pointer}.cp-eyedrop:hover{border-color:var(--color-ink);color:var(--accent)}.cp-eyedrop svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cp-hue{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1 1 auto;min-width:0;height:12px;border-radius:0;cursor:pointer;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.cp-hue::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:0;background:#fff;border:2px solid var(--color-ink);cursor:pointer}.cp-hue::-moz-range-thumb{width:14px;height:14px;border-radius:0;background:#fff;border:2px solid var(--color-ink);cursor:pointer}.cp-foot{display:flex;flex-direction:column;gap:8px}.cp-hexrow{display:flex;align-items:center;gap:6px}.cp-preview{width:26px;height:26px;border-radius:0;border:1px solid var(--line);flex:0 0 auto}.cp-hex{flex:1 1 auto;min-width:0;background:var(--panel-3);color:var(--text);border:1px solid var(--line);border-radius:0;height:26px;font-size:13px;letter-spacing:.5px;text-align:center;font-family:var(--font-mono)}.cp-copy{flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--panel-3);color:var(--text);border:1px solid var(--line);border-radius:0;cursor:pointer}.cp-copy:hover{border-color:var(--color-ink);color:var(--accent)}.cp-copy svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cp-modelrow{display:flex;align-items:flex-end;gap:8px}.cp-model{flex:0 0 62px;width:62px;height:24px;background:var(--panel-3);color:var(--text);border:1px solid var(--line);border-radius:0;font-size:11px;font-family:var(--font-mono);padding:0 4px;cursor:pointer}.cp-chans{flex:1 1 auto;min-width:0}.cp-grp{display:flex;gap:5px}.cp-grp label{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:var(--muted);flex:1 1 0;min-width:0;font-family:var(--font-mono);text-transform:uppercase}.cp-ch{width:100%;background:var(--panel-3);color:var(--text);border:1px solid var(--line);border-radius:0;height:24px;font-size:11px;text-align:center;font-family:var(--font-mono);-moz-appearance:textfield}.cp-ch::-webkit-outer-spin-button,.cp-ch::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gc-editor{width:200px;display:flex;flex-direction:column;gap:10px}.gc-row{display:flex;align-items:center;gap:8px}.gc-sw{width:28px;height:28px;border-radius:0;border:1px solid var(--line);flex:0 0 auto;cursor:pointer}.gc-sw:hover{outline:2px solid var(--accent);outline-offset:1px}.gc-name{flex:1;min-width:0;background:var(--panel-3);color:var(--text);border:1px solid var(--line);border-radius:0;height:28px;padding:0 8px;font-size:12px}.gc-spotrow{font-size:11px}.gc-cmyk{display:flex;gap:5px}.gc-cmyk label{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:var(--muted);flex:1;font-family:var(--font-mono);text-transform:uppercase}.gc-cmyk input{width:100%;background:var(--panel-3);color:var(--text);border:1px solid var(--line);border-radius:0;height:24px;font-size:11px;text-align:center;font-family:var(--font-mono);-moz-appearance:textfield}.gc-cmyk input::-webkit-outer-spin-button,.gc-cmyk input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gc-actions{display:flex;justify-content:space-between;gap:8px}.swatch.spot:after{content:"";position:absolute;right:2px;bottom:2px;width:6px;height:6px;border-radius:0;background:#fff;box-shadow:0 0 0 1px #00000080}.guide{stroke:#7a7a7a;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.guide.guide-sel{stroke-width:2;stroke-dasharray:5 4}.guide-hit{stroke:transparent;stroke-width:11;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:grab}.canvas-area.cur-crosshair #canvas{cursor:crosshair}.canvas-area.cur-abmove #canvas{cursor:move}.canvas-area.cur-text #canvas{cursor:text}.canvas-area.cur-grab .canvas-scroll{cursor:grab}.canvas-area.cur-grabbing .canvas-scroll{cursor:grabbing}.canvas-area.cur-eyedropper #canvas{cursor:crosshair}.hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);background:var(--color-ink);color:var(--color-cream);font-size:12px;border:1px solid var(--line);padding:6px 12px;border-radius:0;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap;z-index:5}.hint.show{opacity:1}.panel{width:264px;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;flex:0 0 auto;overflow-y:auto}.panel.is-props{overflow:hidden}.ptabbar{display:flex;flex:0 0 auto;background:var(--panel);border-bottom:1px solid var(--line)}.ptab-top{flex:1 1 0;padding:11px 4px 10px;background:none;border:none;border-right:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;cursor:pointer;position:relative;transition:color .12s,background .12s}.ptab-top:last-child{border-right:none}.ptab-top:hover{color:var(--text);background:var(--panel-2)}.ptab-top.active{color:var(--text)}.ptab-top.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}.ppanes{flex:1 1 auto;min-height:0;overflow-y:auto}.ppane{display:flex;flex-direction:column}.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.qa-grid>.btn{text-align:center;padding:7px 4px}.view-toggles{display:grid;grid-template-columns:1fr 1fr;gap:6px}.vtoggle{padding:7px 4px;text-align:center;cursor:pointer;border-radius:0;font-family:var(--font);font-size:12px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);transition:color .12s,background .12s,border-color .12s}.vtoggle:hover{color:var(--text);border-color:var(--line-strong)}.vtoggle.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink);font-weight:600}.ab-stepper{display:flex;align-items:center;gap:6px}.ab-stepper>.btn{width:30px;padding:6px 0;text-align:center;font-size:14px;line-height:1}.ab-current{flex:1 1 auto;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);padding:6px 8px}.appx-detail.collapsed{display:none}.appx-rows{display:flex;flex-direction:column;gap:9px}.appx-row{display:flex;align-items:center;gap:10px}.appx-sw-btn{padding:0;background:none;border:none;cursor:pointer;flex:0 0 auto;line-height:0}.appx-sw{display:block;width:26px;height:26px;border:1px solid var(--line-strong);background:var(--panel-2)}.appx-sw-btn:hover .appx-sw{border-color:var(--accent)}.appx-sw.none{background:linear-gradient(135deg,transparent 43%,var(--danger) 43%,var(--danger) 57%,transparent 57%),#fff}.appx-checker{background-image:linear-gradient(45deg,var(--line-strong) 25%,transparent 25%),linear-gradient(-45deg,var(--line-strong) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--line-strong) 75%),linear-gradient(-45deg,transparent 75%,var(--line-strong) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;background-color:var(--panel-2)}.appx-name{flex:1 1 auto;min-width:0;text-align:left;padding:0;background:none;border:none;cursor:pointer;color:var(--text);font-family:var(--font);font-size:13px}.appx-name:hover{text-decoration:underline}.appx-num{flex:0 0 64px;width:64px;min-width:0;text-align:center;padding:5px 4px;font-size:12px;-moz-appearance:textfield}.appx-num::-webkit-inner-spin-button,.appx-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.appx-caret{flex:0 0 auto;width:24px;height:26px;display:grid;place-items:center;padding:0;background:var(--panel-2);border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;font-size:13px}.appx-caret:hover{color:var(--text);border-color:var(--accent)}.appx-fx{margin-top:11px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:15px;padding:0}.appx-fx i{font-style:italic}.appx-fx:hover{color:var(--text)}.appx-detail.appx-pop{position:fixed;z-index:990;width:248px;max-height:82vh;overflow-y:auto;background:var(--panel);border:1px solid var(--color-ink);box-shadow:var(--shadow-stamp-lg)}.appx-detail.appx-pop>summary{display:none}.appx-detail.appx-pop .sec-body{padding:14px}.section{border-bottom:1px solid var(--line)}.section>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;padding:11px 16px;position:relative}.section>summary::-webkit-details-marker{display:none}.section>summary:after{content:"▾";position:absolute;right:16px;transition:transform .15s}.section:not([open])>summary:after{transform:rotate(-90deg)}.section>summary:hover{color:var(--text)}.sec-body{padding:4px 16px 16px;display:flex;flex-direction:column;gap:12px}.obj-type{padding:10px 16px 9px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--line);letter-spacing:.01em}.xform-grid{display:flex;align-items:center;gap:10px}.ref-point{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:0;width:40px;height:40px;padding:4px;place-items:center;background:var(--panel-2);border:1px solid var(--line-strong)}.ref-point .rp{width:100%;height:100%;display:grid;place-items:center;padding:0;background:none;border:none;cursor:pointer;line-height:0}.ref-point .rp:before{content:"";width:4px;height:4px;border:1px solid var(--accent-soft);background:transparent;transition:background .1s,border-color .1s}.ref-point .rp:hover:before{border-color:var(--accent)}.ref-point .rp.on:before{width:6px;height:6px;background:var(--accent);border-color:var(--accent)}.xform-fields{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr;gap:6px 8px;min-width:0}.xf{display:flex;align-items:center;gap:5px;min-width:0}.xf-lab{flex:0 0 auto;width:14px;text-align:center;color:var(--muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.xf-lab .ico{width:14px;height:14px}.xf>input{min-width:0;padding:6px;text-align:left;-moz-appearance:textfield}.xf>input::-webkit-inner-spin-button,.xf>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.xf-link{flex:0 0 auto;width:30px;height:40px;display:grid;place-items:center;padding:0;background:var(--panel-2);border:1px solid var(--line-strong);color:var(--muted);cursor:pointer}.xf-link:hover{color:var(--text);border-color:var(--line-strong)}.xf-link.on{background:var(--accent-soft);border-color:var(--color-ink);color:var(--color-ink)}.xform-foot{display:flex;align-items:center;gap:10px}.xf-angle{flex:1 1 auto}.xf-flips{flex:0 0 auto;display:flex;gap:6px}.xf-flips>.btn{width:34px;padding:6px 0}.field{display:flex;flex-direction:column;gap:6px}.field>label,.sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}.sub{margin-top:2px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.font-row{display:flex;gap:6px}.font-row>select{flex:1 1 auto;min-width:0}.font-row>.btn{flex:0 0 auto}.font-select-btn{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:inherit;font-size:12px;color:var(--text);text-align:left;background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;padding:7px 9px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.font-select-btn:after{content:"▾";color:var(--muted);flex:0 0 auto;font-size:10px}.font-select-btn:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.font-select-btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-picker{position:fixed;z-index:120;display:flex;flex-direction:column;gap:6px;background:var(--panel-2);border:1px solid var(--color-ink);padding:6px;box-shadow:var(--shadow-stamp-lg)}.font-picker[hidden]{display:none}.font-picker-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.font-pick-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:none;color:var(--text);font-size:14px;padding:7px 8px;border-radius:0;cursor:pointer;text-align:left}.font-pick-item:hover{background:var(--accent-soft);color:var(--color-ink)}.font-pick-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-pick-count{font-family:var(--font-mono);font-size:10px;color:var(--muted);flex:0 1 auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-pick-item:hover .font-pick-count{color:#23272ebf}.font-pick-note{font-size:12px;color:var(--muted);padding:8px}.font-pick-item.active{background:var(--panel-3)}.font-picker .menu-head{padding:7px 8px 3px}.color-row{display:flex;align-items:center;gap:8px}.btn-row{display:flex;gap:6px}.btn-row>.btn{flex:1 1 0}.btn-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.btn-grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.btn-grid4>.btn,.btn-grid6>.btn{padding:6px 0;text-align:center}.check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);cursor:pointer}.check input{accent-color:var(--accent)}input[type=color]{width:38px;height:32px;padding:0;border:1px solid var(--line-strong);border-radius:0;background:var(--panel-2);cursor:pointer;flex:0 0 auto}input[type=color]::-webkit-color-swatch-wrapper{padding:3px}input[type=color]::-webkit-color-swatch{border:none;border-radius:0}.hex{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:12px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;padding:7px 9px;transition:border-color .12s,box-shadow .12s}.hex:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:0;background:var(--line-strong);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:0;background:var(--accent);border:1px solid var(--color-ink);box-shadow:none}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:0;background:var(--accent);border:1px solid var(--color-ink)}select,input[type=number],input[type=text]:not(.hex):not(.doc-name){width:100%;font-family:inherit;font-size:12px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;padding:7px 9px;transition:border-color .12s,box-shadow .12s}select:focus,input[type=number]:focus,input[type=text]:not(.hex):not(.doc-name):focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.grad-stops{display:flex;flex-direction:column;gap:6px}.grad-stop{display:flex;align-items:center;gap:6px}.grad-stop input[type=range]{flex:1 1 auto}.grad-stop .grad-del{color:var(--muted);cursor:pointer;background:none;border:none;font-size:15px;padding:0 4px}.grad-stop .grad-del:hover{color:var(--danger)}.ap-list{display:flex;flex-direction:column;gap:4px}.ap-item{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:0;font-size:12px;color:var(--text);border:1px solid var(--line);background:var(--panel-2)}.ap-item.ap-hidden{opacity:.5}.ap-item .ap-eye{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 1px;line-height:1}.ap-item .ap-eye:hover{color:var(--text)}.ap-item .ap-sw{width:20px;height:20px;border-radius:0;border:1px solid var(--line);cursor:pointer;flex:0 0 auto}.ap-item .ap-sw.none{background:linear-gradient(135deg,transparent 44%,var(--danger) 44%,var(--danger) 56%,transparent 56%)}.ap-item .ap-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-item .ap-num{width:42px;flex:0 0 auto;min-height:0;padding:3px 5px;font-size:11px}.ap-item select.ap-fx{flex:1 1 auto;min-height:0;padding:3px 5px;font-size:11px}.ap-item .ap-mini{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 2px;line-height:1;font-size:12px}.ap-item .ap-mini:hover{color:var(--text)}.ap-item .ap-mini.ap-del:hover{color:var(--danger)}.ap-item .ap-mini[disabled]{opacity:.3;cursor:default}.ap-fx-params{display:flex;align-items:center;gap:4px;flex:1 1 auto}.symbols{display:flex;flex-wrap:wrap;gap:6px}.sym-chip{padding:4px 9px;border-radius:0;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:11px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sym-chip:hover{border-color:var(--accent)}.muted-note{color:var(--muted);font-size:11px;margin:0}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:24px;height:24px;border-radius:0;border:1px solid var(--line);cursor:pointer;position:relative}.swatch:hover{outline:2px solid var(--accent);outline-offset:1px}.swatch.none{background:linear-gradient(135deg,transparent 45%,var(--danger) 45%,var(--danger) 55%,transparent 55%)}.layers{list-style:none;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.layer{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:0;font-size:12px;color:var(--text);cursor:pointer;border:1px solid transparent}.layer:hover{background:var(--panel-2)}.layer.sel{background:var(--panel-2);border-color:var(--accent)}.layer .ly-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer .ly-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:0 2px;line-height:1}.layer .ly-btn:hover{color:var(--text)}.layer.hidden-layer .ly-name{opacity:.45;text-decoration:line-through}.layer .ly-drag{cursor:grab;color:var(--muted)}.layer .ly-chevron{width:12px;flex:0 0 auto;color:var(--muted);font-size:9px;text-align:center;cursor:pointer}.layer.dragover{border-color:var(--accent);background:var(--panel-3)}.layers .ly-sub{margin:0;list-style:none}.layer.dragover{border-top:2px solid var(--accent)}.ly-toolbar{display:flex;gap:6px;margin-bottom:6px}.layer.ly-head{font-weight:700}.layer.ly-head.active{background:var(--panel-2);border-color:var(--accent)}.layer.ly-head .ly-name{font-weight:700}.layer .ly-color{width:13px;height:13px;flex:0 0 auto;border-radius:0;border:1px solid rgba(255,255,255,.25);cursor:pointer;padding:0}.layer .ly-del{color:var(--muted);opacity:0;font-size:12px}.layer.ly-head:hover .ly-del{opacity:1}.layer .ly-del:hover{color:var(--danger)}.layer.ly-obj{font-weight:400}.segmented{display:flex;border:1px solid var(--line-strong);border-radius:0;overflow:hidden}.seg{flex:1 1 0;font-family:inherit;font-size:12px;color:var(--muted);background:var(--panel-2);border:none;padding:7px 0;cursor:pointer;transition:background .12s,color .12s}.seg+.seg{border-left:1px solid var(--line-strong)}.seg:hover{color:var(--text)}.seg.active{background:var(--accent-soft);color:var(--color-ink);font-weight:700}.panel.is-dock{overflow:hidden}.dock-col{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.pgroup{display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.pgroup-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:7px 10px 6px;background:var(--panel);border-bottom:1px solid var(--line)}.ptab{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:0;padding:4px 9px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ptab:hover{color:var(--text);background:var(--panel-2)}.ptab.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink);font-weight:700}.pbody .section{border-bottom:none}.pbody .section>summary{display:none}.pbody .sec-body{padding-top:12px}.panel.is-dock{position:relative}.dock-resizer{position:absolute;left:-3px;top:0;width:6px;height:100%;cursor:ew-resize;z-index:6}.dock-resizer:hover{background:var(--accent);opacity:.5}.float-panel{position:fixed;z-index:80;display:flex;flex-direction:column;min-width:200px;min-height:120px;background:var(--panel);border:1px solid var(--color-ink);border-radius:0;box-shadow:var(--shadow-stamp-lg);overflow:hidden}.float-titlebar{display:flex;align-items:center;gap:6px;padding:7px 8px 7px 12px;background:var(--panel-2);border-bottom:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none}.float-titlebar:active{cursor:grabbing}.float-title{flex:1 1 auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.float-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;border-radius:0}.float-btn:hover{color:var(--text);background:var(--panel-3)}.float-body{flex:1 1 auto;overflow-y:auto}.float-body .section{border-bottom:none}.float-body .section>summary{display:none}.float-body .sec-body{padding-top:12px}.float-resizer{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize}.float-resizer:after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted)}.drag-ghost{position:fixed;z-index:1200;transform:translate(-50%,-50%);pointer-events:none;background:var(--accent-soft);color:var(--color-ink);font-size:11px;font-weight:700;padding:4px 10px;border:1px solid var(--color-ink);border-radius:0;box-shadow:var(--shadow-stamp)}.drop-hint{position:fixed;z-index:70;display:none;pointer-events:none;border-radius:0;background:#c7cbd224;border:1px solid var(--accent)}.divider{height:1px;background:var(--line)}.panel-foot{padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);margin-top:auto}#selection-info{font-size:12px;color:var(--muted);line-height:1.5}.sel-edge{fill:none;stroke:var(--sel, var(--accent));stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.sel-outline{fill:none;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.sel-bound{fill:none;stroke:var(--sel, var(--accent));stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.hover-edge{fill:none;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.hover-center{stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.scissor-hover{fill:none;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.scissor-cut{fill:#fff;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.sel-handle{fill:#fff;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all}.rot-handle{fill:var(--sel, var(--accent));stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all;cursor:grab}.rot-stem{stroke:var(--sel, var(--accent));stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.smart-guide{stroke:#ef4444;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.marquee{fill:#ffffff14;stroke:var(--sel);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.pen-preview{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.pen-anchor{fill:#fff;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.pen-anchor.first{fill:var(--accent)}.pen-handle-line{stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.pen-handle{fill:var(--accent);stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.pen-connect{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.pen-add{stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.corner-widget{fill:#fff;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}.corner-widget.corner-selected{fill:var(--sel, var(--accent))}.corner-dot{fill:var(--sel, var(--accent));stroke:none;pointer-events:none}.corner-dot.corner-selected{fill:#fff}.node-anchor{fill:#fff;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all;cursor:move;shape-rendering:geometricPrecision}.node-anchor.sel{fill:var(--sel, var(--accent))}.node-handle{fill:var(--accent);stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:all;cursor:move}.node-handle-line{stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}#shapes text{pointer-events:bounding-box}#text-editor{position:fixed;display:none;z-index:50;margin:0;padding:0;border:0;outline:1px dashed var(--accent);outline-offset:2px;background:transparent;overflow:hidden;white-space:pre;line-height:1.2;caret-color:var(--accent);resize:none;box-sizing:content-box}.statusbar{height:30px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--panel);border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.status-left{display:flex;align-items:center;gap:8px}.zbtn{width:22px;height:22px;border-radius:0;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:14px;line-height:1}.zbtn:hover{background:var(--panel-3)}.zpct{min-width:52px;background:none;border:none;color:var(--text);cursor:pointer;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.zpct:hover{color:var(--accent)}.status-right{font-family:var(--font-mono);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}.credit{color:var(--muted);white-space:nowrap}.credit a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}.credit a:hover{color:var(--accent);border-bottom-color:var(--accent)}@media (min-width: 821px){.status-left .check{display:none}}.cur-color{display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:2px 5px;border-radius:0}.cur-color:hover{background:var(--panel-2)}.cc-swatch{width:14px;height:14px;border-radius:0;border:1px solid var(--line);box-sizing:border-box;flex:0 0 auto}.cc-swatch.cc-ring{background:transparent!important;border-width:3px}.cc-swatch.none{background:linear-gradient(135deg,transparent 44%,var(--danger) 44%,var(--danger) 56%,transparent 56%)!important}.cc-val{font-family:var(--font-mono);font-size:11px;color:var(--text);font-variant-numeric:tabular-nums}.cc-hidden-input{position:absolute;width:0;height:0;padding:0;margin:0;border:0;opacity:0;pointer-events:none}.ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}.btn .ico,.seg .ico,.ly-btn .ico,.zbtn .ico{margin:0 auto}.btn.tiny .ico,.ly-btn .ico{width:15px;height:15px}.sel-handle{cursor:nwse-resize}.sel-handle[data-handle=ne],.sel-handle[data-handle=sw]{cursor:nesw-resize}.sel-handle[data-handle=n],.sel-handle[data-handle=s]{cursor:ns-resize}.sel-handle[data-handle=e],.sel-handle[data-handle=w]{cursor:ew-resize}.measure{position:fixed;z-index:70;pointer-events:none;display:none;background:var(--color-ink);color:var(--color-accent);font-size:11px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:3px 7px;border:1px solid var(--accent);border-radius:0;white-space:nowrap;transform:translate(-50%);box-shadow:var(--shadow-stamp)}.measure.show{display:block}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 6px);left:0;z-index:90;min-width:184px;display:none;background:var(--panel-2);border:1px solid var(--color-ink);border-radius:0;padding:5px;box-shadow:var(--shadow-stamp-lg)}.menu.show{display:block}.menu-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;background:none;border:none;color:var(--text);font-family:inherit;font-size:13px;padding:8px 10px;border-radius:0;cursor:pointer;text-align:left}.menu-item:hover{background:var(--accent-soft);color:var(--color-ink)}.menu-item .sc{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.menu-item:hover .sc{color:#23272ebf}.menu-sep{height:1px;background:var(--line);margin:5px 6px}.menubar{display:flex;align-items:center;gap:1px;margin-left:8px}.menubar-item{background:none;border:none;color:var(--text);font-family:inherit;font-size:13px;padding:5px 10px;border-radius:0;cursor:pointer;line-height:1.4;white-space:nowrap}.menubar-item:hover,.menubar-item.open{background:var(--panel-2)}.menu-item.disabled{color:var(--muted);opacity:.5;pointer-events:none}.menu-item.disabled:hover{background:none;color:var(--muted)}@media (max-width: 820px){.topbar{gap:4px;padding:0 8px}.topbar-spacer{display:none}.topbar>.topbar-group{display:none}.menubar{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;margin-left:4px}.menubar::-webkit-scrollbar{display:none}.menubar-item{padding:5px 9px}}.ctx-menu{position:fixed;z-index:90;min-width:184px;display:none;background:var(--panel-2);border:1px solid var(--color-ink);border-radius:0;padding:5px;box-shadow:var(--shadow-stamp-lg);font-size:13px}.ctx-menu.show{display:block}.ctx-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 10px;border-radius:0;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.ctx-item:hover{background:var(--accent-soft);color:var(--color-ink)}.ctx-item.disabled{color:var(--muted);pointer-events:none;opacity:.5}.ctx-item .sc{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.ctx-item:hover .sc{color:#23272ebf}.ctx-sep{height:1px;background:var(--line);margin:5px 6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14161b9e;display:none;align-items:center;justify-content:center}.modal-backdrop.show{display:flex}.modal{width:340px;max-width:calc(100vw - 32px);background:var(--panel);border:2px solid var(--color-ink);border-radius:0;padding:20px;box-shadow:var(--shadow-stamp-lg)}.modal h3{font-size:16px;margin-bottom:8px;font-weight:900}.modal p{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:14px}.modal #modal-input{margin-bottom:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.blend-modal{width:360px}.blend-body{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.blend-row{flex-direction:row;align-items:center;gap:12px}.blend-row>label{width:84px;flex:0 0 auto}.blend-spacing-controls{display:flex;gap:8px;flex:1 1 auto;min-width:0}.blend-spacing-controls select{flex:1 1 auto;min-width:0}.blend-spacing-controls #blend-value{width:60px;flex:0 0 auto}#blend-orient .seg{padding:5px 14px}#blend-orient .seg svg{width:28px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.repeat-modal{width:340px}.rep-body{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.rep-pane{display:none;flex-direction:column;gap:12px}.rep-pane.active{display:flex}.recolor-modal{width:380px}.recolor-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto;margin-bottom:16px}.recolor-row{display:flex;align-items:center;gap:10px}.recolor-arrow{color:var(--muted);font-size:13px}.recolor-count{color:var(--muted);font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:auto}.recolor-global{flex:0 0 auto}.mesh-node{cursor:pointer}.persp-line{stroke:#9a9a9a;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.55;pointer-events:none}.script-code{width:100%;min-height:120px;resize:vertical;background:var(--panel-3);color:var(--text);border:1px solid var(--line-strong);border-radius:0;padding:8px;font:11px/1.45 var(--font-mono)}.script-code:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.script-out{white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto;background:var(--panel-3);border:1px solid var(--line);border-radius:0;padding:6px 8px;margin:8px 0 0;font:11px/1.4 var(--font-mono);color:var(--muted)}.script-out:empty{display:none}.sheet-grip,.sheet-backdrop,.props-toggle{display:none}@media (max-width: 820px){:root{--rulerSize: 0px}.topbar{height:52px;padding:0 10px;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topbar::-webkit-scrollbar{display:none}.topbar>*{flex:0 0 auto}.brand{margin-right:2px}.brand-name,.topbar-spacer{display:none}.topbar .btn{padding:9px 12px;white-space:nowrap}.workspace{flex-direction:column}.canvas-area{order:1;min-height:0}.ruler,.ruler-corner{display:none}.toolbar{order:2;width:100%;height:auto;flex-direction:row;gap:4px;padding:7px 8px;border-right:none;border-top:1px solid var(--line);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.tool{width:46px;height:46px;flex:0 0 auto}.tool svg{width:23px;height:23px}.tool kbd{display:none}.tool-sep{width:1px;height:28px;margin:0 4px;align-self:center}.panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:82vh;z-index:60;border-left:none;border-top:2px solid var(--color-ink);border-radius:0;box-shadow:0 -14px 44px #0000008c;transform:translateY(112%);transition:transform .26s cubic-bezier(.4,0,.2,1);overscroll-behavior:contain}body.sheet-open .panel{transform:translateY(0)}.sheet-grip{display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:2;padding:12px 16px 8px;background:var(--panel);border-radius:0}.sheet-bar{width:42px;height:4px;border-radius:0;background:var(--line-strong)}.sheet-close{position:absolute;right:12px;top:8px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;padding:7px 14px;cursor:pointer}.panel-foot{margin-top:0;padding-bottom:max(16px,env(safe-area-inset-bottom))}.sheet-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#14161b8c;opacity:0;pointer-events:none;transition:opacity .26s}body.sheet-open .sheet-backdrop{opacity:1;pointer-events:auto}.statusbar{height:46px;padding:0 8px;gap:10px}.status-left{flex:1 1 auto;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.status-left::-webkit-scrollbar{display:none}.status-left>*{flex:0 0 auto}.zbtn{width:30px;height:30px;font-size:16px}#coords{display:none}.props-toggle{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:13px;font-weight:700;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;padding:8px 13px;cursor:pointer;white-space:nowrap}.props-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}body.has-sel .props-toggle{background:var(--accent-soft);border-color:var(--color-ink);color:var(--color-ink)}.panel select,.panel input[type=number],.panel input[type=text],.panel .font-select-btn,.panel .hex{font-size:16px;min-height:42px;padding:9px 11px}.panel .btn{min-height:40px}.panel .btn.tiny{min-height:38px}.btn-grid4>.btn,.btn-grid6>.btn{padding:10px 0}.check{font-size:13px;padding:4px 0}.check input{width:18px;height:18px}input[type=color]{width:46px;height:42px}input[type=range]{height:6px}input[type=range]::-webkit-slider-thumb{width:22px;height:22px}input[type=range]::-moz-range-thumb{width:22px;height:22px}.layers{max-height:200px}.hint{bottom:12px}}@media (max-width: 820px){.topbar{overflow:visible;height:52px;gap:4px;padding:0 8px}.topbar .menubar,.topbar .doc-title{display:none}.topbar>#undo-redo{display:flex!important;flex:0 0 auto;gap:2px}#topbar-menu-btn,#undo-redo .btn,#topbar-delete{display:inline-grid;place-items:center;width:42px;height:40px;padding:0;flex:0 0 auto}#topbar-menu-btn .ico,#undo-redo .ico,#topbar-delete .ico{width:22px;height:22px}#topbar-menu-btn.open{background:var(--panel-3);border-color:var(--line-strong)}#topbar-delete{color:var(--danger)}body:not(.has-sel) #topbar-delete{display:none}#undo-redo .btn:disabled{opacity:.3;pointer-events:none}.topbar-group.mobile-topright{display:flex!important;flex:0 0 auto;gap:6px;margin-left:auto}#mobile-menu-backdrop{position:fixed;top:52px;left:0;right:0;bottom:0;z-index:88;background:#14161b8c;opacity:0;pointer-events:none;transition:opacity .2s;display:block}body.menu-open #mobile-menu-backdrop{opacity:1;pointer-events:auto}#mobile-menu{position:fixed;top:52px;left:0;right:0;z-index:89;max-height:calc(100vh - 52px);max-height:calc(100dvh - 52px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--panel-2);border-bottom:2px solid var(--color-ink);box-shadow:var(--shadow-stamp-lg);padding:6px 6px max(10px,env(safe-area-inset-bottom));transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s}body.menu-open #mobile-menu{transform:translateY(0);opacity:1;pointer-events:auto}.mm-group{padding:4px 0;border-top:1px solid var(--line)}.mm-group:first-child{border-top:none}.mm-head{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;padding:8px 12px 4px}.mm-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;background:none;border:none;color:var(--text);font-family:inherit;font-size:15px;padding:12px;border-radius:0;cursor:pointer;text-align:left;min-height:46px}.mm-item:active{background:var(--accent-soft);color:var(--color-ink)}.mm-item.disabled{color:var(--muted);opacity:.45;pointer-events:none}.mm-item .sc{font-family:var(--font-mono);font-size:12px;color:var(--muted)}#touch-mods{position:fixed;right:10px;z-index:50;bottom:calc(84px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}.tmod{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:50px;height:50px;padding:0;cursor:pointer;background:var(--panel-2);color:var(--muted);border:1px solid var(--line-strong);border-radius:0;box-shadow:var(--shadow-stamp);opacity:.92;transition:background .12s,color .12s,border-color .12s,opacity .12s}.tmod-key{font-size:19px;line-height:1;font-weight:700}.tmod-cap{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.tmod.on{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink);box-shadow:none;transform:translate(2px,2px);opacity:1}.canvas-scroll{background:#40454f;overscroll-behavior-y:contain}.canvas-pad{display:flex;flex-direction:column;align-items:center;padding:18px 0 48px;min-width:100%;min-height:100%}#artboards{filter:drop-shadow(0 5px 20px rgba(0,0,0,.5))}.ab-label{display:none}.feed-addpage{flex:0 0 auto;margin-top:20px;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:14px;font-weight:700;color:var(--text);background:var(--panel-2);border:1.5px dashed var(--line-strong);border-radius:0;padding:14px 24px;cursor:pointer;transition:background .12s,border-color .12s}.feed-addpage .fa-plus{font-size:19px;line-height:1;color:var(--accent);font-weight:700}.feed-addpage:active{background:var(--panel-3);border-color:var(--accent)}.page-pill{position:fixed;left:50%;top:62px;transform:translate(-50%);z-index:40;background:#2d3139d9;color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.04em;border:1px solid var(--line);padding:5px 13px;border-radius:0;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.toolbar{gap:2px;padding:6px 8px max(6px,env(safe-area-inset-bottom));box-shadow:0 -6px 22px #00000052}.toolbar .tool{width:auto;min-width:60px;height:56px;flex-direction:column;gap:3px;padding:4px 8px;border-radius:0}.toolbar .tool svg{width:22px;height:22px}.toolbar .tool-cap{font-size:10px;font-weight:700;color:var(--muted);line-height:1;letter-spacing:.2px}.toolbar .tool.active .tool-cap{color:var(--color-ink)}.toolbar .tool-sep,.statusbar{display:none}.props-toggle{padding:8px 13px;border-radius:0}.hint{max-width:calc(100vw - 32px);white-space:normal;text-align:center;bottom:84px;line-height:1.35}}@media (prefers-reduced-motion: reduce){.btn.primary:hover,.btn.primary:active{transform:none}*{transition-duration:.001ms!important}}:root{--mcp-accent: #9ac43c;--mcp-accent-soft: #cae986}body.mcp-open #touch-mods{display:none!important}.doctab-mcp{margin-left:auto;padding:0 12px;gap:7px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-mono);font-size:11px}.doctab-mcp:before{content:"";width:7px;height:7px;background:var(--mcp-accent);border:1px solid var(--color-ink);flex:0 0 auto}.doctab-mcp.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink)}.mcp-page{flex:1 1 auto;min-height:0;background:var(--bg);color:var(--text)}.mcp-scroll{height:100%;overflow-y:auto}.mcp-page code{font-family:var(--font-mono)}.mcp-wrap{max-width:1120px;margin:0 auto;padding:0 32px}.mcp-wrap-narrow{max-width:780px}.mcp-section{padding:76px 0;border-top:1px solid var(--line)}.mcp-band{background:var(--panel)}.mcp-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--mcp-accent);margin:0 0 14px}.mcp-h1{font-family:var(--font);font-weight:900;font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-.02em;color:var(--text);margin:0 0 22px}.mcp-mark{position:relative;white-space:nowrap}.mcp-mark:after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:6px;background:var(--mcp-accent);z-index:-1}.mcp-h2{font-family:var(--font);font-weight:900;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.015em;color:var(--text);margin:0}.mcp-lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:34em;margin:0 0 30px}.mcp-subcopy{font-size:14px;color:var(--muted);margin:12px 0 0}.mcp-shead{margin:0 0 40px}.mcp-hero{padding:clamp(48px,8vw,96px) 0 72px}.mcp-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:48px;align-items:start}.mcp-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}.mcp-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 24px;font-family:var(--font);font-weight:700;font-size:14px;text-decoration:none;border:1px solid var(--color-ink);cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s,color .15s}.mcp-btn-primary{background:var(--accent-soft);color:var(--color-ink);box-shadow:var(--shadow-stamp)}.mcp-btn-primary:hover{transform:translate(4px,4px);box-shadow:none}.mcp-btn-secondary{background:transparent;color:var(--text);border-color:var(--line-strong)}.mcp-btn-secondary:hover{border-color:var(--text);box-shadow:var(--ring-accent)}.mcp-clients{display:flex;flex-wrap:wrap;gap:8px}.mcp-chip{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);padding:5px 10px}.mcp-status-card{background:var(--panel-2);border:1px solid var(--line-strong);padding:22px;box-shadow:var(--shadow-stamp-lg);display:grid;grid-template-columns:auto 1fr;grid-auto-rows:min-content;gap:4px 12px;align-items:center}.mcp-status-label{grid-column:1 / -1;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.mcp-status-dot{width:12px;height:12px;border:1px solid var(--color-ink);background:var(--muted)}.mcp-status-dot[data-state=on]{background:var(--mcp-accent);box-shadow:0 0 0 4px #9ac43c2e;animation:mcp-pulse 2s ease-in-out infinite}.mcp-status-dot[data-state=wait]{background:var(--mcp-accent-soft)}.mcp-status-dot[data-state=off]{background:var(--line-strong)}@keyframes mcp-pulse{0%,to{box-shadow:0 0 0 4px #9ac43c2e}50%{box-shadow:0 0 0 7px #9ac43c00}}.mcp-status-text{font-weight:700;font-size:15px;color:var(--text)}.mcp-status-hint{grid-column:1 / -1;margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.mcp-status-hint code{background:var(--panel-3);padding:1px 5px}.mcp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.mcp-step{min-width:0;background:var(--panel-2);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column}.mcp-band .mcp-step{background:var(--panel-3)}.mcp-step-num{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--color-ink);background:var(--mcp-accent);border:1px solid var(--color-ink);width:34px;height:34px;display:grid;place-items:center;margin-bottom:16px}.mcp-step-title{font-family:var(--font);font-weight:700;font-size:18px;color:var(--text);margin:0 0 8px}.mcp-step-body{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 16px}.mcp-step-body code,.mcp-note code,.mcp-prose code,.mcp-qa code,.mcp-sec-item code{font-size:.92em;background:var(--panel);border:1px solid var(--line);padding:.5px 5px;color:var(--text)}.mcp-note{margin-top:auto;padding-top:14px;font-size:12px;line-height:1.55;color:var(--muted)}.mcp-note-tag{display:inline-block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--color-ink);background:var(--accent-soft);border:1px solid var(--color-ink);padding:1px 6px;margin-right:6px}.mcp-kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;font-family:var(--font-mono);font-size:11px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);vertical-align:middle}.mcp-conf-tabs{display:flex;gap:0;margin-bottom:-1px}.mcp-conf-tab{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--panel);border:1px solid var(--line);padding:7px 12px;cursor:pointer}.mcp-conf-tab+.mcp-conf-tab{border-left:none}.mcp-conf-tab.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink);font-weight:700}.mcp-code{position:relative;background:var(--bg);border:1px solid var(--line-strong)}.mcp-code pre{margin:0;padding:16px 14px;overflow-x:auto}.mcp-code code{font-size:12px;line-height:1.6;color:var(--text);white-space:pre}.mcp-copy{position:absolute;top:8px;right:8px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);padding:5px 10px;cursor:pointer;transition:background .12s,color .12s}.mcp-copy:hover{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink)}.mcp-copy.copied{background:var(--mcp-accent);color:var(--color-ink);border-color:var(--color-ink)}.mcp-connector{background:var(--panel-2);border:1px solid var(--line-strong);box-shadow:var(--shadow-stamp-lg);padding:24px;margin-bottom:28px}.mcp-connector-label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mcp-accent);margin-bottom:12px}.mcp-connector-url{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}.mcp-connector-url code{flex:1 1 320px;min-width:0;font-family:var(--font-mono);font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);padding:0 14px;overflow-x:auto;white-space:nowrap;display:flex;align-items:center}.mcp-copy-lg{position:static;top:auto;right:auto;padding:13px 22px;font-size:12px;flex:0 0 auto}.mcp-connector-hint{margin:14px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}.mcp-connector-hint code{background:var(--panel-3);padding:1px 5px}.mcp-flow-mini{margin-top:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.mcp-flow-mini>span:not(.mcp-arrow){border:1px solid var(--line);background:var(--panel);padding:4px 9px}.mcp-flow-hot{color:var(--color-ink)!important;background:var(--mcp-accent)!important;border-color:var(--color-ink)!important}.mcp-arrow{color:var(--mcp-accent);font-weight:700}.mcp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mcp-card{min-width:0;background:var(--panel-2);border:1px solid var(--line);padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s}.mcp-band .mcp-card{background:var(--bg)}.mcp-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-stamp);border-color:var(--line-strong)}.mcp-card-title{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--mcp-accent);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.mcp-tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mcp-tools li{display:flex;flex-direction:column;gap:2px}.mcp-tools code{font-size:13px;color:var(--text);font-weight:600}.mcp-tools em{font-style:normal;font-size:11px;color:var(--muted)}.mcp-flow{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;margin-bottom:28px}.mcp-node{flex:1 1 160px;background:var(--panel-2);border:1px solid var(--line-strong);padding:18px 16px;font-size:14px;font-weight:700;color:var(--text);display:flex;flex-direction:column;gap:8px}.mcp-node-k{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.mcp-node-hot{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink);box-shadow:var(--shadow-stamp)}.mcp-node-hot .mcp-node-k{color:var(--color-ink)}.mcp-flow .mcp-arrow{align-self:center;font-size:20px}.mcp-prose{font-size:15px;line-height:1.7;color:var(--muted);max-width:62ch}.mcp-prose b{color:var(--text)}.mcp-sec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.mcp-sec-item{min-width:0;background:var(--bg);border:1px solid var(--line);padding:20px}.mcp-band .mcp-sec-item{background:var(--panel-2)}.mcp-sec-k{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--mcp-accent)}.mcp-sec-item h3{font-size:15px;font-weight:700;color:var(--text);margin:10px 0 8px}.mcp-sec-item p{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0}.mcp-faq{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.mcp-qa{border-bottom:1px solid var(--line);padding:20px 0}.mcp-qa dt{font-weight:700;font-size:16px;color:var(--text);margin-bottom:8px}.mcp-qa dd{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.mcp-foot{border-top:1px solid var(--line);padding:26px 0 60px}.mcp-foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}.mcp-foot-badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink);background:var(--mcp-accent);border:1px solid var(--color-ink);padding:4px 10px}@media (max-width: 900px){.mcp-hero-grid,.mcp-steps,.mcp-cards,.mcp-sec{grid-template-columns:1fr}.mcp-status-card{max-width:420px}.mcp-section{padding:56px 0}.mcp-wrap{padding:0 20px}.mcp-flow{flex-direction:column}.mcp-flow .mcp-arrow{transform:rotate(90deg);align-self:flex-start}}@media (max-width: 560px){.mcp-cards{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.mcp-status-dot[data-state=on]{animation:none}.mcp-btn:hover,.mcp-card:hover{transform:none}}
