: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)}.doctab-spacer{flex:1 1 auto;align-self:stretch}.doctabs .mo-mode{margin:0;align-self:center;flex:0 0 auto}.doctabs .mo-mode .seg{padding:4px 12px}.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%;min-width:0;min-height:0}.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)}.ab-plus{cursor:pointer}.ab-plus circle{fill:#fff;stroke:var(--accent);stroke-width:1.25;vector-effect:non-scaling-stroke;pointer-events:all}.ab-plus line{stroke:#16181f;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linecap:round}.ab-plus:hover circle{fill:var(--accent)}.ab-plus:hover line{stroke:#fff}.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 #canvas{cursor:var(--tool-cursor, default)}.canvas-area.cur-abmove #canvas{cursor:move}.canvas-area.cur-grab #canvas,.canvas-area.cur-grab .canvas-scroll{cursor:grab}.canvas-area.cur-grabbing #canvas,.canvas-area.cur-grabbing .canvas-scroll{cursor:grabbing}.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}.segmented.align-to{margin-bottom:6px}.segmented.align-to .seg{flex:1 1 0;padding:5px 4px;font-size:11px}.dist-space-row{align-items:center}.dist-space-row .mini-num{width:62px;flex:0 0 auto}.mini-num{padding:5px 6px}.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-opa{flex:0 1 48px;opacity:.72}.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}.glyph-controls{display:flex;gap:6px;margin-bottom:8px}.glyph-select{flex:1 1 0;min-width:0;height:26px;padding:0 6px;font-family:var(--font);font-size:11px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;cursor:pointer}.glyph-select:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.glyph-sub{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px}.glyph-recent-wrap{margin-bottom:8px}.glyph-grid{--gcell: 30px;display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--gcell) + 10px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);max-height:260px;overflow-y:auto;align-content:start}.glyph-grid.glyph-recent{max-height:calc(var(--gcell) + 14px)}.glyph-empty{padding:10px;grid-column:1 / -1;background:var(--panel)}.glyph-cell{--gbox: 40px;width:100%;aspect-ratio:1 / 1;min-height:var(--gbox);display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:0;cursor:pointer;position:relative;background:#fff}.glyph-cell svg{display:block;width:var(--gbox);height:var(--gbox)}.glyph-cell .glyph-txt{color:#141414;line-height:1}.glyph-cell:hover{background:#e9edf5;box-shadow:inset 0 0 0 2px var(--accent);z-index:1}.glyph-cell:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent);z-index:1}.glyph-cell.glyph-nocp{background:#eef0f3}.glyph-cell.glyph-nocp:hover{background:#e0e5ee;box-shadow:inset 0 0 0 2px var(--accent)}.glyph-cell.glyph-live{background:#fff}.glyph-cell.glyph-live:before{content:"";position:absolute;left:2px;bottom:2px;border-style:solid;border-width:6px 6px 0 0;border-color:#3b82f6 transparent transparent transparent}.glyph-cell.glyph-hasalt:after{content:"";position:absolute;right:2px;bottom:2px;border-style:solid;border-width:0 0 6px 6px;border-color:transparent transparent #6b7280 transparent}.glyph-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:8px}.glyph-zoom{display:flex;gap:4px}.glyph-zoom-btn{width:28px;height:22px;display:grid;place-items:center;font-family:var(--font);font-size:11px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;cursor:pointer}.glyph-zoom-btn:hover{background:var(--panel-3);border-color:var(--accent)}.glyph-alt-pop{--gcell: 30px;position:fixed;z-index:4000;max-width:320px;display:flex;flex-wrap:wrap;gap:1px;padding:4px;background:var(--panel);border:1px solid var(--line-strong);box-shadow:var(--shadow-stamp-lg)}.glyph-alt-pop .glyph-cell{width:calc(var(--gcell) + 10px);flex:0 0 auto}#glyph-ic-pop{max-width:480px;z-index:4500}.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}.text-port{fill:#fff;stroke:var(--sel, var(--accent));stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:all;cursor:nwse-resize}.text-port.overset{fill:#ef4444;stroke:#ef4444}.text-overset{stroke:#fff;stroke-width:1.6;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}#text-editor{display:none}#text-editor[contenteditable]{min-width:4px;word-break:normal;overflow-wrap:break-word}#text-editor span{white-space:inherit}.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}.menu-sub{position:relative}.menu-item.has-sub .sub-arrow{font-family:var(--font-mono);font-size:14px;line-height:1;color:var(--muted)}.menu-item.has-sub:hover .sub-arrow{color:#23272ebf}.menu .submenu{top:-6px;left:100%;margin-left:5px}.menu-sub:hover>.submenu{display:block}.menu-sub>.submenu:before{content:"";position:absolute;left:-9px;top:0;width:9px;height:100%}.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}.rearrange-body{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}.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}.meshfill-node{cursor:move}.meshfill-pos{flex:1 1 auto;color:var(--muted);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.mf-hint{color:var(--muted);font-size:11px;margin-top:6px}.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{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}}.misfonts-modal{width:460px}#misfonts-list{display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow:auto;margin-bottom:16px}.misfonts-row{display:flex;align-items:center;gap:10px}.misfonts-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.misfonts-row select{flex:0 0 auto;width:240px}#shapes text[data-missing-font]{text-decoration:underline dotted rgba(255,90,165,.9);text-decoration-thickness:2px;text-underline-offset:.15em}:root[data-theme=light]{--bg: #cfd3da;--panel: #edeff2;--panel-2: #e1e4e9;--panel-3: #d0d4db;--line: #c2c7d0;--line-strong: #a7aeba;--text: #23272e;--muted: #5b616c;--accent: #2c313a;--accent-soft: #c4c9d2;--accent-hover:#b6bcc6;--sel: #6a707d;--ruler-bg: #edeff2;--shadow-ink: #b4b9c2}@media (min-width: 821px){.topbar,.quickbar,.doctabs,.toolbar,.panel,.statusbar{zoom:var(--ui-scale, 1)}}body.no-rulers .canvas-area{grid-template-columns:0 1fr;grid-template-rows:0 1fr}body.no-rulers .ruler,body.no-rulers .ruler-corner{display:none}body.hide-bbox .sel-bound,body.hide-bbox .sel-handle,body.hide-bbox .rot-handle,body.hide-bbox .rot-stem,body.hide-edges .sel-edge,body.hide-edges .sel-outline{display:none!important}body.gpu #canvas{will-change:transform;transform:translateZ(0)}body.gpu .canvas-scroll{will-change:scroll-position}.prefs-modal{width:720px;max-width:calc(100vw - 32px);padding:0;display:flex;flex-direction:column;max-height:min(86vh,720px)}.prefs-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:2px solid var(--color-ink)}.prefs-head h3{margin:0}.prefs-x{width:28px;height:28px;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line-strong);color:var(--text);cursor:pointer;font-size:16px;line-height:1}.prefs-x:hover{background:var(--panel-3)}.prefs-body{display:flex;flex:1 1 auto;min-height:0}.prefs-nav{flex:0 0 176px;border-right:1px solid var(--line);overflow-y:auto;padding:8px 0;background:var(--panel)}.prefs-nav button{display:block;width:100%;text-align:left;padding:8px 18px;background:none;border:0;border-left:3px solid transparent;color:var(--muted);font-family:var(--font);font-size:12.5px;cursor:pointer}.prefs-nav button:hover{background:var(--panel-2);color:var(--text)}.prefs-nav button.active{color:var(--text);background:var(--panel-2);border-left-color:var(--accent);font-weight:700}.prefs-panes{flex:1 1 auto;min-width:0;overflow-y:auto;padding:18px 22px}.prefs-pane{display:none;flex-direction:column;gap:2px}.prefs-pane.active{display:flex}.prefs-pane h4{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-mono);margin:4px 0 10px}.prefs-field{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}.prefs-field:last-child{border-bottom:0}.prefs-field>label.pf-label{flex:1 1 auto;min-width:0;font-size:13px;color:var(--text)}.prefs-field .pf-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px;line-height:1.35}.prefs-field .pf-control{flex:0 0 auto;display:flex;align-items:center;gap:8px}.prefs-field input[type=range]{width:150px;accent-color:var(--accent)}.prefs-field input[type=number]{width:74px}.prefs-field select{min-width:118px}.prefs-field input[type=color]{width:40px;height:26px;padding:0;border:1px solid var(--line-strong);background:var(--panel-2);cursor:pointer}.pf-readout{font-family:var(--font-mono);font-size:11px;color:var(--muted);min-width:46px;text-align:right;font-variant-numeric:tabular-nums}.pf-presets{display:flex;gap:0;border:1px solid var(--line-strong)}.pf-presets button{padding:4px 9px;font-size:11px;background:var(--panel-2);border:0;border-right:1px solid var(--line-strong);color:var(--muted);cursor:pointer;font-family:var(--font)}.pf-presets button:last-child{border-right:0}.pf-presets button:hover{background:var(--panel-3);color:var(--text)}.pf-presets button.active{background:var(--accent-soft);color:var(--color-ink);font-weight:700}.pf-switch{position:relative;width:40px;height:22px;flex:0 0 auto;cursor:pointer}.pf-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.pf-switch .pf-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--panel-3);border:1px solid var(--line-strong);transition:background .12s;pointer-events:none}.pf-switch .pf-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--muted);transition:transform .12s,background .12s;pointer-events:none}.pf-switch input:checked+.pf-track{background:var(--accent-soft)}.pf-switch input:checked~.pf-knob{transform:translate(18px);background:var(--color-ink)}.pf-shortcuts{display:flex;flex-direction:column;gap:0}.pf-sc-row{display:flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}.pf-sc-row .pf-sc-name{flex:1 1 auto;font-size:13px}.pf-key{min-width:40px;text-align:center;font-family:var(--font-mono);font-size:11px;font-weight:700;padding:3px 8px;background:var(--panel-2);border:1px solid var(--line-strong);color:var(--text);cursor:pointer;text-transform:uppercase}.pf-key:hover{border-color:var(--accent)}.pf-key.recording{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink)}.pf-ref{margin-top:8px}.pf-ref summary{cursor:pointer;font-size:12px;color:var(--muted);padding:6px 0}.pf-ref-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:12px;border-bottom:1px dashed var(--line)}.pf-ref-row .sc{font-family:var(--font-mono);color:var(--muted)}.prefs-foot{padding:14px 20px;border-top:1px solid var(--line)}.prefs-foot .pf-foot-left{margin-right:auto;display:flex;gap:8px}@media (max-width: 820px){.prefs-modal{max-height:90vh}.prefs-body{flex-direction:column}.prefs-nav{flex:0 0 auto;display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.prefs-nav button{border-left:0;border-bottom:3px solid transparent;white-space:nowrap}.prefs-nav button.active{border-left:0;border-bottom-color:var(--accent)}}.mo-mode{margin:0 8px;flex:0 0 auto}.mo-mode .seg{padding:5px 12px}.mo-tl-host{flex:0 0 auto}.mo-tl-host[hidden]{display:none}body:not(.mo-animate) .mo-tl-host{display:none}@media (min-width: 821px){.mo-tl-host{zoom:var(--ui-scale, 1)}}.mo-onion,.mo-textfrags{pointer-events:none}@media (max-width: 820px){.mo-tl-host{position:fixed;left:0;right:0;bottom:64px;z-index:45;box-shadow:0 -6px 0 0 var(--shadow-ink)}body:not(.mo-animate) .mo-tl-host{display:none}.mo-mode{margin:0 4px}.mo-mode .seg{padding:4px 9px;font-size:12px}}.mo-timeline{display:flex;flex-direction:column;width:100%;height:260px;min-height:36px;background:var(--panel);border-top:1px solid var(--color-ink);color:var(--text);font-family:var(--font);position:relative;overflow:hidden;box-sizing:border-box}.mo-timeline *{box-sizing:border-box}.mo-resize{position:absolute;top:0;left:0;right:0;height:6px;cursor:ns-resize;z-index:6}.mo-resize:hover{background:var(--accent-soft);opacity:.4}.mo-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:5px 8px;min-height:34px;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.mo-head::-webkit-scrollbar{display:none}.mo-head-main,.mo-head-adv,.mo-head-end{display:flex;align-items:center;gap:6px}.mo-head-end{margin-left:auto}.mo-sep{width:1px;align-self:stretch;background:var(--line);margin:2px}.mo-lw{display:inline-flex;flex-direction:column;gap:2px;flex:0 0 auto}.mo-lw-t{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}.mo-timeline.mo-simple .mo-adv{display:none!important}.mo-detail{flex:0 0 auto}.mo-detail .seg{padding:4px 10px;font-size:11px}.mo-transport{display:flex;align-items:center;gap:2px}.mo-tbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;padding:0;background:var(--panel-2);border:1px solid var(--line);color:var(--text);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.mo-tbtn:hover{background:var(--panel-3)}.mo-tbtn:active{background:var(--accent-soft);color:var(--color-ink)}.mo-tbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}.mo-tbtn svg [fill]{fill:currentColor}.mo-play{border-color:var(--color-ink)}.mo-presets-btn{width:auto;gap:6px;padding:0 11px;font-family:var(--font);font-size:12px;font-weight:600;border-color:var(--line-strong)}.mo-presets-btn:hover{border-color:var(--accent);color:var(--color-ink)}.mo-timeline.mo-playing .mo-play{background:var(--accent-soft);color:var(--color-ink)}.mo-tbtn:focus-visible,.mo-nbtn:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-nbtn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);cursor:pointer}.mo-nbtn:hover{background:var(--panel-3);color:var(--text)}.mo-nbtn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7}.mo-time{width:74px;height:24px;padding:0 6px;background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);font-size:11px;text-align:center;font-variant-numeric:tabular-nums}.mo-time:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-sel{height:24px;padding:0 4px;background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);font-size:11px}.mo-num{width:56px;height:24px;padding:0 5px;background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums}.mo-num:focus,.mo-sel:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-loop.segmented{display:inline-flex}.mo-loop .seg{padding:3px 8px;font-size:11px;height:24px}.mo-tgl{display:inline-flex;align-items:center;justify-content:center;height:24px;min-width:24px;padding:0 7px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.mo-tgl svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;flex:0 0 auto}.mo-tgl.mo-on{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink)}.mo-search{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--muted)}.mo-search svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;flex:0 0 auto}.mo-search-in{width:120px;height:24px;padding:0 7px;background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-size:12px}.mo-search-in:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-perf{font-family:var(--font-mono);font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.mo-perf.mo-warn{color:var(--danger)}.mo-body{flex:1 1 auto;display:flex;min-height:0;overflow:hidden}.mo-tree-col{flex:0 0 232px;display:flex;flex-direction:column;border-right:1px solid var(--line);min-width:0;overflow:hidden;background:var(--panel)}.mo-tree-head{flex:0 0 auto;display:flex;align-items:center;padding:0 8px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.mo-tree{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.mo-tree::-webkit-scrollbar{display:none}.mo-layer-row,.mo-group-row,.mo-prop-row{display:flex;align-items:center;gap:4px;padding:0 6px;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap;overflow:hidden}.mo-layer-row{background:var(--panel-2)}.mo-layer-row.mo-sel-layer{background:var(--accent-soft);color:var(--color-ink)}.mo-layer-row.mo-sel-layer .mo-caret,.mo-layer-row.mo-sel-layer .mo-layer-toggles button,.mo-layer-row.mo-sel-layer .mo-addprop,.mo-layer-row.mo-sel-layer .mo-layer-del{color:var(--color-ink)}.mo-layer-row.mo-sel-layer .mo-layer-toggles button{opacity:.55}.mo-layer-row.mo-sel-layer .mo-layer-toggles button.mo-on,.mo-layer-row.mo-sel-layer .mo-layer-toggles button:hover,.mo-layer-row.mo-sel-layer .mo-addprop:hover{opacity:1}.mo-layer-row.mo-dragging{opacity:.5}.mo-group-row{padding-left:20px;color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.mo-prop-row{padding-left:30px}.mo-caret{width:14px;height:14px;flex:0 0 14px;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:9px}.mo-caret svg{width:10px;height:10px;stroke:currentColor;fill:none}.mo-layer-name,.mo-group-label,.mo-prop-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.mo-layer-name{cursor:pointer;background:transparent;border:none;border-radius:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;line-height:inherit}.mo-prop-label{color:var(--muted)}.mo-layer-toggles,.mo-prop-nav{display:flex;align-items:center;gap:1px;flex:0 0 auto}.mo-layer-toggles button,.mo-prop-nav button{width:18px;height:18px;padding:0;background:transparent;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.mo-layer-toggles button:hover,.mo-prop-nav button:hover{color:var(--text)}.mo-layer-toggles button.mo-on{color:var(--accent)}.mo-layer-toggles button svg,.mo-prop-nav button svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.6}.mo-addprop,.mo-layer-del{width:18px;height:18px;padding:0;flex:0 0 auto;background:transparent;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.mo-addprop svg,.mo-layer-del svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.6}.mo-addprop:hover{color:var(--text)}.mo-layer-del{opacity:0;transition:opacity .12s,color .12s}.mo-layer-row:hover .mo-layer-del,.mo-layer-del:focus-visible{opacity:1}.mo-layer-del:hover{color:var(--danger)}@media (hover: none){.mo-layer-del{opacity:.7}}.mo-lanes-col{flex:1 1 auto;position:relative;min-width:0;overflow:hidden}.mo-lanes-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.mo-lanes-scroll::-webkit-scrollbar{height:10px;width:10px}.mo-lanes-scroll::-webkit-scrollbar-thumb{background:var(--line-strong)}.mo-lanes-inner{position:relative;min-height:100%;min-width:100%}.mo-ruler{position:sticky;top:0;z-index:4;height:30px;background:var(--panel-2);border-bottom:1px solid var(--line);cursor:pointer;outline:none}.mo-ruler:focus-visible{box-shadow:inset 0 -2px 0 0 var(--accent)}.mo-ruler-ticks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mo-tick{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}.mo-tick-label{position:absolute;top:3px;font-family:var(--font-mono);font-size:9px;color:var(--muted);transform:translate(3px);white-space:nowrap;font-variant-numeric:tabular-nums}.mo-markers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mo-marker{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);pointer-events:auto;cursor:pointer}.mo-marker:before{content:"";position:absolute;top:0;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--accent)}.mo-marker-label{position:absolute;top:8px;left:4px;font-family:var(--font-mono);font-size:9px;color:var(--accent);white-space:nowrap}.mo-wa-handles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mo-io-handle{position:absolute;top:0;bottom:0;width:6px;pointer-events:auto;cursor:ew-resize;background:var(--accent-soft);opacity:.5}.mo-lane-rows{position:relative}.mo-lane,.mo-row{position:relative;height:26px;border-bottom:1px solid var(--line)}.mo-layer-lane{background:#7f7f7f0d}.mo-group-lane{background:transparent}.mo-kf{position:absolute;top:50%;width:9px;height:9px;margin-top:-4.5px;margin-left:-4.5px;background:var(--accent);border:1px solid var(--color-ink);transform:rotate(45deg);cursor:pointer;z-index:2}.mo-kf.mo-k-linear{background:var(--muted)}.mo-kf.mo-k-eased{background:var(--accent)}.mo-kf.mo-k-hold{background:var(--panel);border-color:var(--accent)}.mo-kf.mo-k-bezier{background:var(--accent-hover)}.mo-kf.mo-k-physics{background:var(--danger)}.mo-kf.sel{background:var(--color-white);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);z-index:3}.mo-kf.mo-ghost{opacity:.55}.mo-agg{position:absolute;top:50%;width:7px;height:7px;margin-top:-3.5px;margin-left:-3.5px;background:var(--muted);transform:rotate(45deg)}.mo-io-bar{position:absolute;top:50%;height:6px;margin-top:-3px;background:var(--accent-soft);opacity:.35;z-index:1}.mo-io-handle.mo-io-in,.mo-io-handle.mo-io-out{position:absolute;top:50%;margin-top:-6px;width:6px;height:12px;background:var(--accent);cursor:ew-resize;z-index:3}.mo-workarea{position:absolute;top:30px;bottom:0;background:#7f7f7f1a;pointer-events:none;z-index:0}.mo-playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--danger);pointer-events:none;z-index:5}.mo-playhead-head{position:absolute;top:0;width:0;height:0;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--danger);z-index:6}.mo-marquee{position:absolute;border:1px dashed var(--accent);background:var(--accent-soft);opacity:.35;pointer-events:none;z-index:4}.mo-empty{position:absolute;top:30px;right:0;bottom:0;left:0;display:none;place-items:center;background:var(--panel);pointer-events:none;z-index:3}.mo-empty.mo-show{display:grid}.mo-empty-inner{text-align:center;pointer-events:auto}.mo-empty-title{font-size:14px;color:var(--text);margin-bottom:4px}.mo-empty-sub{font-size:12px;color:var(--muted);margin-bottom:12px;max-width:320px}.mo-menu{position:fixed;z-index:1010;min-width:180px;background:var(--panel-2);border:1px solid var(--color-ink);box-shadow:var(--shadow-stamp-lg);padding:3px 0}.mo-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:5px 12px;background:transparent;border:none;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.mo-menu-item:hover{background:var(--accent-soft);color:var(--color-ink)}.mo-menu-sep{height:1px;background:var(--line);margin:3px 0}.mo-timeline.mo-mobile{height:100%}.mo-timeline.mo-collapsed{height:auto!important}.mo-timeline.mo-collapsed .mo-body{display:none}@media (max-width: 820px){.mo-timeline{border-top:1px solid var(--color-ink)}.mo-tbtn{width:40px;height:40px}.mo-tbtn svg{width:20px;height:20px}.mo-tree-col{flex-basis:148px}.mo-layer-row,.mo-group-row,.mo-prop-row{font-size:13px}.mo-lane,.mo-row{height:44px}.mo-kf{width:14px;height:14px;margin-top:-7px;margin-left:-7px}.mo-head{gap:6px}}@media (prefers-reduced-motion: reduce){.mo-tbtn,.mo-nbtn,.mo-tgl{transition:none}}.mo-ge{--mo-ge-c1: #e0567a;--mo-ge-c2: #4aa3df;--mo-ge-c3: #52b788;--mo-ge-c4: #d99b30;--mo-ge-c5: #a06cd5;--mo-ge-c6: #e07a5f;--mo-ge-c7: #3fb9c9;--mo-ge-c8: #9aac3e;display:none;flex-direction:column;min-width:0;min-height:200px;background:var(--panel);border:1px solid var(--color-ink);box-shadow:var(--shadow-stamp-lg);color:var(--text);font-family:var(--font);-webkit-user-select:none;user-select:none}.mo-ge.mo-ge-open{display:flex}.mo-ge.mo-ge-floating{position:fixed;left:12px;right:12px;bottom:12px;height:320px;z-index:60}.mo-ge-head{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:6px 8px;background:var(--panel-2);border-bottom:1px solid var(--line);flex-wrap:wrap}.mo-ge-title{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:2px}.mo-ge-spacer{flex:1 1 auto;min-width:4px}.mo-ge-legend{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.mo-ge-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;background:var(--panel);border:1px solid var(--line-strong);color:var(--muted);font-size:11px;line-height:1;cursor:pointer;max-width:150px}.mo-ge-chip .mo-ge-swatch{width:9px;height:9px;flex:0 0 auto;border:1px solid var(--color-ink)}.mo-ge-chip .mo-ge-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mo-ge-chip.mo-ge-on{color:var(--text);background:var(--panel-3)}.mo-ge-chip.mo-ge-off .mo-ge-swatch{opacity:.25}.mo-ge-chip:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent, inset 0 0 0 1px var(--accent))}.mo-ge-seg{display:flex;border:1px solid var(--line-strong);overflow:hidden;flex:0 0 auto}.mo-ge-seg>button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--panel);color:var(--muted);font-family:var(--font);font-size:11px;padding:4px 9px;cursor:pointer}.mo-ge-seg>button+button{border-left:1px solid var(--line-strong)}.mo-ge-seg>button:hover{color:var(--text)}.mo-ge-seg>button.mo-ge-active{background:var(--accent-soft);color:var(--color-ink);font-weight:700}.mo-ge-seg>button:focus-visible{outline:none;box-shadow:var(--ring-accent, inset 0 0 0 1px var(--accent))}.mo-ge-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;font-family:var(--font);font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);cursor:pointer;flex:0 0 auto}.mo-ge-btn:hover{background:var(--panel-3)}.mo-ge-btn.mo-ge-active{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink);font-weight:700}.mo-ge-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent, inset 0 0 0 1px var(--accent))}.mo-ge-btn.mo-ge-icon{padding:0;width:24px;justify-content:center}.mo-ge-select{height:24px;font-family:var(--font);font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);padding:0 4px;cursor:pointer;flex:0 0 auto}.mo-ge-select:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent, inset 0 0 0 1px var(--accent))}.mo-ge-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.mo-ge-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.mo-ge-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--muted);font-size:13px}.mo-ge-body.mo-ge-is-empty .mo-ge-empty{display:flex}.mo-ge-body.mo-ge-is-empty .mo-ge-canvas{visibility:hidden}.mo-ge-a11y{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.mo-ge-a11y:focus-within{position:absolute;left:8px;top:8px;width:auto;height:auto;max-height:calc(100% - 16px);overflow:auto;clip:auto;clip-path:none;padding:6px;background:var(--panel-2);border:1px solid var(--color-ink);box-shadow:var(--shadow-stamp);z-index:2}.mo-ge-a11y li{list-style:none}.mo-ge-a11y button{display:block;width:100%;text-align:left;font-family:var(--font-mono);font-size:11px;color:var(--text);background:transparent;border:1px solid transparent;padding:3px 6px;cursor:pointer}.mo-ge-a11y button:hover{background:var(--panel-3)}.mo-ge-a11y button:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent, inset 0 0 0 1px var(--accent))}.mo-ge-a11y button[aria-pressed=true]{background:var(--accent-soft);color:var(--color-ink)}.mo-ge-pop{position:absolute;display:none;flex-direction:column;gap:6px;padding:10px;min-width:176px;background:var(--panel-2);border:1px solid var(--color-ink);box-shadow:var(--shadow-stamp-lg);z-index:5}.mo-ge-pop.mo-ge-open{display:flex}.mo-ge-pop-title{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mo-ge-pop-row{display:flex;align-items:center;gap:6px}.mo-ge-pop-row label{flex:0 0 auto;width:34px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mo-ge-pop-row input{flex:1 1 auto;width:100%;min-width:0;height:24px;font-family:var(--font-mono);font-size:12px;color:var(--text);background:var(--panel);border:1px solid var(--line-strong);padding:0 6px}.mo-ge-pop-row input:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent, inset 0 0 0 1px var(--accent))}.mo-ge-pop-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:2px}.mo-ge.mo-ge-mobile .mo-ge-legend,.mo-ge-mobile-prop{display:none}.mo-ge.mo-ge-mobile .mo-ge-mobile-prop{display:inline-flex}@media (max-width: 640px){.mo-ge.mo-ge-floating{left:0;right:0;bottom:0;height:62vh}.mo-ge-legend{display:none}.mo-ge-mobile-prop{display:inline-flex}.mo-ge-title{display:none}}@media (prefers-reduced-motion: no-preference){.mo-ge-chip,.mo-ge-btn,.mo-ge-seg>button,.mo-ge-select{transition:background .12s,color .12s,border-color .12s}}.mo-preset-modal{width:min(920px,calc(100vw - 48px));max-width:calc(100vw - 32px);padding:0;display:flex;flex-direction:column;max-height:min(680px,calc(100vh - 64px));overflow:hidden}.mo-preset-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);flex:0 0 auto}.mo-preset-title{font-size:15px;font-weight:900;margin:0;flex:0 0 auto}.mo-preset-search{flex:1 1 auto;min-width:0;height:30px;padding:0 10px;font:inherit;font-size:13px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0}.mo-preset-search:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-preset-save-btn{flex:0 0 auto;white-space:nowrap}.mo-preset-close{flex:0 0 auto;width:30px;text-align:center;padding:5px 0}.mo-preset-note{flex:0 0 auto;padding:7px 16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--line)}.mo-preset-body{display:flex;flex:1 1 auto;min-height:0}.mo-preset-cats{flex:0 0 auto;width:158px;padding:8px;border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column;gap:2px}.mo-cat{display:block;width:100%;text-align:left;padding:7px 10px;font:inherit;font-size:12px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:0;cursor:pointer}.mo-cat:hover{color:var(--text);background:var(--panel-2)}.mo-cat.active{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink);font-weight:700}.mo-cat:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-preset-main{flex:1 1 auto;min-width:0;position:relative;overflow-y:auto}.mo-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:14px}.mo-preset-card{position:relative;display:flex;flex-direction:column;background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;cursor:pointer;overflow:hidden}.mo-preset-card:hover{border-color:var(--line-strong);background:var(--panel-3)}.mo-preset-card:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-preset-card.selected{border-color:var(--color-ink);box-shadow:var(--shadow-stamp);background:var(--accent-soft)}.mo-preset-card.selected .mo-card-name{color:var(--color-ink)}.mo-preset-card.selected .mo-card-sub{color:#23272eb3}.mo-thumb{aspect-ratio:120 / 80;width:100%;background:var(--panel);border-bottom:1px solid var(--line);display:block}.mo-thumb-svg{width:100%;height:100%;display:block}.mo-thumb-shape{fill:var(--accent-soft);stroke:var(--color-ink);stroke-width:1.5}.mo-thumb-frag{fill:var(--accent-soft);stroke:var(--color-ink);stroke-width:1.25}.mo-thumb-draw{stroke:var(--accent-soft);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.mo-thumb-fail{width:100%;height:100%;display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;color:var(--muted)}.mo-thumb-fail:after{content:"preview n/a"}.mo-card-meta{display:flex;flex-direction:column;gap:1px;padding:7px 9px}.mo-card-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mo-card-sub{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mo-badge{position:absolute;top:6px;right:6px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--color-ink);background:var(--accent-soft);border:1px solid var(--color-ink);padding:1px 4px}.mo-card-actions{position:absolute;top:4px;left:4px;display:none;gap:3px}.mo-preset-card:hover .mo-card-actions,.mo-preset-card:focus-within .mo-card-actions{display:flex}.mo-card-actions .btn.tiny{padding:2px 5px;line-height:1;background:var(--panel-2);border-color:var(--line-strong)}.mo-card-del:hover{color:var(--danger);border-color:var(--danger)}.mo-preset-state{padding:40px 24px;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}.mo-preset-foot{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);flex:0 0 auto;flex-wrap:wrap}.mo-preset-sel{font-size:13px;font-weight:600;color:var(--text);min-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}.mo-micro{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mo-preset-dur{display:flex;align-items:center;gap:6px;flex:0 0 auto}.mo-preset-dur input{width:72px;height:28px;padding:0 6px;font:inherit;font-size:12px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0}.mo-preset-dur input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-preset-durunit{flex:0 0 auto}.mo-preset-at .seg{padding:6px 10px;font-size:12px}.mo-preset-spacer{flex:1 1 auto}.mo-save-backdrop{z-index:110}.mo-save-modal{width:340px}.mo-save-field{margin-bottom:14px}.mo-save-field input,.mo-save-field select{height:30px;padding:0 8px;font:inherit;font-size:13px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0}.mo-save-field input:focus,.mo-save-field select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}@media (prefers-reduced-motion: no-preference){.mo-cat,.mo-preset-card,.mo-preset-search,.mo-preset-dur input{transition:background .12s,color .12s,border-color .12s}}.mo-preset-backdrop.mo-mobile{align-items:stretch;justify-content:stretch}.mo-preset-backdrop.mo-mobile .mo-preset-modal{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-width:0}@media (max-width: 720px){.mo-preset-modal{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-width:0}.mo-preset-head{flex-wrap:wrap}.mo-preset-search{order:3;flex-basis:100%}.mo-preset-body{flex-direction:column}.mo-preset-cats{flex-direction:row;width:auto;border-right:none;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;gap:6px}.mo-cat{flex:0 0 auto;white-space:nowrap}.mo-preset-grid{grid-template-columns:repeat(auto-fill,minmax(46%,1fr));gap:14px;padding:12px}.mo-card-name{font-size:13px}.mo-preset-foot{position:sticky;bottom:0;background:var(--panel)}.mo-card-actions{display:flex}}.mo-stagger-modal{width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;padding:0}.mo-stagger-head{display:flex;align-items:center;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.mo-stagger-head h3{font-size:15px;font-weight:900;margin:0}.mo-stagger-count{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink);background:var(--accent-soft);border:1px solid var(--color-ink);padding:2px 6px}.mo-stagger-head .mo-spacer{flex:1 1 auto}.mo-iconbtn{width:28px;height:28px;display:grid;place-items:center;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;font-family:var(--font);font-size:16px;line-height:1}.mo-iconbtn:hover{color:var(--text);background:var(--panel-2);border-color:var(--line)}.mo-iconbtn:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent, inset 0 0 0 1px var(--color-accent))}.mo-stagger-body{padding:14px 18px 4px;overflow-y:auto;flex:1 1 auto}.mo-field{display:flex;align-items:center;gap:10px;min-height:30px;margin-bottom:10px}.mo-field.mo-hidden{display:none}.mo-label{flex:0 0 92px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);-webkit-user-select:none;user-select:none}.mo-label.mo-scrub{cursor:ew-resize}.mo-label.mo-scrub:hover{color:var(--text)}.mo-control{flex:1 1 auto;display:flex;align-items:center;gap:8px;min-width:0}.mo-input,.mo-select{font-family:var(--font);font-size:13px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:0;padding:6px 8px;width:100%;min-width:0}.mo-input{font-family:var(--font-mono)}.mo-input:focus,.mo-select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent, inset 0 0 0 1px var(--color-accent))}.mo-input.mo-num{width:88px;flex:0 0 auto;text-align:right}.mo-range{flex:1 1 auto;accent-color:var(--accent-soft);height:22px;min-width:0}.mo-range-val{font-family:var(--font-mono);font-size:12px;color:var(--text);width:42px;flex:0 0 auto;text-align:right}.mo-reroll{flex:0 0 auto}.mo-point-note{font-size:11px;color:var(--muted);line-height:1.4;margin:-2px 0 10px 102px}.mo-point-fields{display:flex;gap:8px}.mo-point-fields .mo-input.mo-num{width:100%;text-align:left}.mo-preview{border:1px solid var(--line);background:var(--panel-2);margin:6px 0 12px}.mo-preview-head{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.mo-preview-title{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mo-preview-sum{font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-left:auto}.mo-preview-rows{max-height:168px;overflow-y:auto;padding:6px 10px 8px}.mo-prow{display:flex;align-items:center;gap:8px;height:20px}.mo-prow-idx{flex:0 0 22px;font-family:var(--font-mono);font-size:10px;color:var(--muted);text-align:right}.mo-prow-track{position:relative;flex:1 1 auto;height:8px;background:var(--panel-3);min-width:0}.mo-prow-bar{position:absolute;top:0;height:100%;background:var(--accent-soft);border:1px solid var(--color-ink);box-sizing:border-box;min-width:3px}.mo-prow-delay{flex:0 0 46px;font-family:var(--font-mono);font-size:10px;color:var(--muted);text-align:right}.mo-prow-moves{flex:0 0 auto;display:flex;gap:2px}.mo-movebtn{width:18px;height:16px;display:grid;place-items:center;background:var(--panel-3);border:1px solid var(--line-strong);color:var(--muted);cursor:pointer;font-size:9px;line-height:1;padding:0}.mo-movebtn:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.mo-movebtn:disabled{opacity:.35;cursor:default}.mo-preview-empty{padding:22px 10px;text-align:center;font-size:12px;color:var(--muted)}.mo-preview-more{padding:4px 10px 2px;font-family:var(--font-mono);font-size:10px;color:var(--muted)}.mo-afterward{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 12px}.mo-stagger-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line);flex:0 0 auto}.mo-stagger-backdrop.mo-mobile{align-items:flex-end;justify-content:stretch}.mo-stagger-backdrop.mo-mobile .mo-stagger-modal{width:100%;max-width:none;max-height:88vh;border-width:2px 0 0 0;box-shadow:var(--shadow-stamp-lg)}@media (prefers-reduced-motion: no-preference){.mo-stagger-backdrop.mo-mobile.show .mo-stagger-modal{animation:mo-sheet-up .18s ease-out}}@keyframes mo-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 420px){.mo-field{flex-direction:column;align-items:stretch;gap:4px}.mo-label{flex-basis:auto}.mo-input.mo-num{width:100%;text-align:left}.mo-point-note{margin-left:0}}.mo-sa-backdrop{z-index:120;padding:24px}.mo-sa-modal{width:720px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;padding:0;gap:0}.mo-sa-head{position:relative;padding:18px 20px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.mo-sa-head h3{font-size:16px;font-weight:900;margin:0 0 4px;color:var(--text)}.mo-sa-head p{font-size:12px;color:var(--muted);line-height:1.45;margin:0;max-width:60ch}.mo-sa-close{position:absolute;top:12px;right:12px;width:28px;height:28px;display:grid;place-items:center;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:0;font-size:15px;line-height:1;cursor:pointer}.mo-sa-close:hover{color:var(--text);background:var(--panel-2);border-color:var(--line)}.mo-sa-close:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-sa-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1 1 auto;min-height:0}.mo-sa-mlabel{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.mo-sa-frames{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px}.mo-sa-field{display:flex;flex-direction:column;gap:6px;min-width:0}.mo-sa-flabel{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mo-sa-swap{align-self:end;margin-bottom:1px;padding:6px 9px}.mo-sa-sel{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--line-strong);border-radius:0;height:30px;font-size:12px;font-family:var(--font);padding:0 6px;min-width:0}.mo-sa-sel:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-sa-sel:disabled{color:var(--muted)}.mo-sa-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:22px}.mo-sa-warn{font-size:12px;color:var(--danger)}.mo-sa-badge{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:3px 7px;border:1px solid var(--color-ink);color:var(--color-ink);background:var(--accent-soft)}.mo-sa-badge-enter{background:var(--panel-3);color:var(--text);border-color:var(--line-strong)}.mo-sa-badge-exit{background:var(--panel-2);color:var(--muted);border-color:var(--line-strong)}.mo-sa-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mo-sa-col{display:flex;flex-direction:column;gap:6px;min-width:0}.mo-sa-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;border:1px solid var(--line);background:var(--panel);padding:6px}.mo-sa-row{display:flex;flex-direction:column;gap:5px;padding:7px 8px;background:var(--panel-2);border:1px solid var(--line)}.mo-sa-row-main{display:flex;align-items:center;gap:6px;min-width:0}.mo-sa-name{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.mo-sa-type{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:0 0 auto}.mo-sa-partner{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line-strong);border-radius:0;height:26px;font-size:11px;padding:0 5px;min-width:0}.mo-sa-partner:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-sa-empty{font-size:12px;color:var(--muted);padding:14px 8px;text-align:center}.mo-sa-via{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:2px 5px;flex:0 0 auto;border:1px solid var(--line-strong);color:var(--muted);background:var(--panel)}.mo-sa-via-id,.mo-sa-via-name,.mo-sa-via-hierarchy,.mo-sa-via-component,.mo-sa-via-manual,.mo-sa-via-match{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink)}.mo-sa-via-manual{background:var(--accent)}.mo-sa-via-enter{color:var(--text);border-color:var(--line-strong)}.mo-sa-via-exit{color:var(--muted)}.mo-sa-opts{display:flex;flex-direction:column;gap:8px}.mo-sa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mo-sa-num{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--line-strong);border-radius:0;height:30px;font-size:12px;font-family:var(--font-mono);padding:0 6px;min-width:0}.mo-sa-num:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-sa-seg{width:100%}.mo-sa-seg .seg{flex:1 1 0;padding:6px 4px;font-size:11px}.mo-sa-seg .seg:focus-visible{outline:none;box-shadow:var(--ring-accent)}.mo-sa-report{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--color-ink);background:var(--panel-2);box-shadow:var(--shadow-stamp)}.mo-sa-report-counts{display:flex;flex-wrap:wrap;gap:6px}.mo-sa-report-note{font-size:12px;color:var(--muted);line-height:1.45;margin:0}.mo-sa-issues{display:flex;flex-direction:column;gap:4px}.mo-sa-issue{display:flex;align-items:baseline;gap:8px;padding:6px 8px;background:var(--panel);border:1px solid var(--line);border-left-width:3px}.mo-sa-issue-ok{border-left-color:var(--line-strong)}.mo-sa-issue-approx{border-left-color:var(--accent)}.mo-sa-issue-drop{border-left-color:var(--danger)}.mo-sa-issue-lvl{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--muted);flex:0 0 auto}.mo-sa-issue-msg{font-size:12px;color:var(--text);line-height:1.4}.mo-sa-foot{padding:12px 20px;border-top:1px solid var(--line);flex:0 0 auto}@media (prefers-reduced-motion: no-preference){.mo-sa-close,.mo-sa-sel,.mo-sa-partner,.mo-sa-num,.mo-sa-seg .seg{transition:background .12s,color .12s,border-color .12s}}@media (max-width: 640px){.mo-sa-backdrop{padding:0;align-items:stretch;justify-content:stretch}.mo-sa-modal{width:100%;max-width:100%;max-height:100%;height:100%}.mo-sa-frames{grid-template-columns:1fr}.mo-sa-swap{justify-self:start;align-self:center;margin:2px 0}.mo-sa-cols{grid-template-columns:1fr}.mo-sa-grid{grid-template-columns:1fr 1fr}}.mo-sa-backdrop.mo-sa-mobile{padding:0;align-items:stretch;justify-content:stretch}.mo-sa-backdrop.mo-sa-mobile .mo-sa-modal{width:100%;max-width:100%;max-height:100%;height:100%}.mo-sa-backdrop.mo-sa-mobile .mo-sa-frames{grid-template-columns:1fr}.mo-sa-backdrop.mo-sa-mobile .mo-sa-swap{justify-self:start;align-self:center;margin:2px 0}.mo-sa-backdrop.mo-sa-mobile .mo-sa-cols{grid-template-columns:1fr}.mo-sa-backdrop.mo-sa-mobile .mo-sa-grid{grid-template-columns:1fr 1fr}.mo-sa-backdrop.mo-sa-mobile .mo-sa-list{max-height:40vh}.mo-sm-modal{width:min(1040px,calc(100vw - 40px));max-width:calc(100vw - 24px);height:min(720px,calc(100vh - 48px));padding:0;display:flex;flex-direction:column;overflow:hidden;background:var(--panel)}.mo-sm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--panel-2);flex:0 0 auto}.mo-sm-head-left{display:flex;align-items:center;gap:12px;min-width:0}.mo-sm-head-right{display:flex;align-items:center;gap:6px;flex:0 0 auto}.mo-sm-title{font-size:15px;font-weight:900;margin:0;white-space:nowrap}.mo-sm-picker{width:auto;min-width:150px;max-width:260px}.mo-sm-close{font-size:14px;line-height:1}.mo-sm-toolbar{display:flex;align-items:center;gap:14px;padding:8px 14px;border-bottom:1px solid var(--line);flex:0 0 auto;flex-wrap:wrap}.mo-sm-tool-group{display:flex;align-items:center;gap:6px}.mo-sm-tool-group+.mo-sm-tool-group{border-left:1px solid var(--line);padding-left:14px}.mo-sm-toolbar .mo-sm-armed{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink)}.mo-sm-del:hover{color:var(--danger);border-color:var(--danger)}.mo-sm-body{display:flex;flex:1 1 auto;min-height:0}.mo-sm-canvas{position:relative;flex:1 1 auto;min-width:0;overflow:auto;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 100% 24px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 24px 100%,var(--canvas-bg);background-blend-mode:normal;outline:none}.mo-sm-arrows{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.mo-sm-nodes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.mo-sm-edge{fill:none;stroke:var(--line-strong);stroke-width:1.5}.mo-sm-edge.is-sel{stroke:var(--accent);stroke-width:2.25}.mo-sm-edge-hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}.mo-sm-edgelabel{position:absolute;transform:translate(-50%,-50%);padding:1px 5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:var(--muted);background:var(--panel);border:1px solid var(--line);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;cursor:pointer;pointer-events:auto;z-index:3}.mo-sm-edgelabel.is-sel{color:var(--color-ink);background:var(--accent-soft);border-color:var(--color-ink)}.mo-sm-node{position:absolute;box-sizing:border-box;min-height:54px;padding:8px 10px;display:flex;flex-direction:column;justify-content:center;gap:3px;background:var(--panel-2);border:1px solid var(--line-strong);color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:var(--shadow-stamp)}@media (prefers-reduced-motion: no-preference){.mo-sm-node{transition:border-color .12s,background .12s,box-shadow .12s}}.mo-sm-node:active{cursor:grabbing}.mo-sm-node:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-sm-node.is-sel{border-color:var(--color-ink);box-shadow:var(--ring-accent)}.mo-sm-node.is-initial{border-left:3px solid var(--accent)}.mo-sm-node.is-active{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink)}.mo-sm-node.is-connect{border-color:var(--accent);border-style:dashed}.mo-sm-node-name{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mo-sm-node-meta{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mo-sm-badge{align-self:flex-start;font-family:var(--font-mono);font-size:8px;letter-spacing:.08em;padding:1px 4px;background:var(--accent);color:var(--color-ink)}.mo-sm-side{flex:0 0 320px;width:320px;border-left:1px solid var(--line);background:var(--panel);overflow-y:auto;display:flex;flex-direction:column}.mo-sm-card{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.mo-sm-vars{border-bottom:none}.mo-sm-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:2px}.mo-sm-field{display:flex;flex-direction:column;gap:5px}.mo-sm-field>.mo-sm-label{margin-top:0}.mo-sm-input,.mo-sm-select{width:100%}.mo-sm-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mo-sm-btnrow,.mo-sm-condrow{display:flex;gap:6px;align-items:center}.mo-sm-condrow>.mo-sm-select{flex:1 1 0;min-width:0}.mo-sm-condrow>.mo-sm-input{flex:1 1 0;min-width:0}.mo-sm-block{width:100%;margin-top:4px}.mo-sm-meta{font-size:11px;color:var(--muted)}.mo-sm-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}.mo-sm-check input{width:auto}.mo-sm-varrow{display:flex;align-items:center;gap:6px}.mo-sm-varname{flex:1 1 0;min-width:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.mo-sm-vartype{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;color:var(--muted)}.mo-sm-varrow>.mo-sm-input,.mo-sm-varrow>.mo-sm-select{flex:0 0 84px;width:84px}.mo-sm-addvar{display:flex;gap:6px;align-items:center;margin-top:4px}.mo-sm-addvar>.mo-sm-input{flex:1 1 0;min-width:0}.mo-sm-addvar>.mo-sm-select{flex:0 0 80px;width:80px}.mo-sm-empty{font-size:12px;color:var(--muted);line-height:1.5;padding:4px 0}.mo-sm-testbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--panel-2);flex:0 0 auto;flex-wrap:wrap}.mo-sm-list{position:relative;z-index:2;padding:8px;display:flex;flex-direction:column;gap:8px}.mo-sm-listitem{border:1px solid var(--line-strong);background:var(--panel-2)}.mo-sm-listitem.is-sel{border-color:var(--color-ink);box-shadow:var(--ring-accent)}.mo-sm-listitem.is-initial{border-left:3px solid var(--accent)}.mo-sm-listitem.is-active{background:var(--accent-soft)}.mo-sm-listrow{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:14px;cursor:pointer;text-align:left}.mo-sm-subitem{display:block;width:100%;padding:8px 12px 8px 22px;background:var(--panel);border:none;border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:11px;text-align:left;cursor:pointer}.mo-sm-subitem.is-sel{color:var(--color-ink);background:var(--accent-soft)}@media (max-width: 720px){.mo-sm-modal{width:100vw;max-width:100vw;height:100vh}.mo-sm-body{flex-direction:column}.mo-sm-side{flex:1 1 auto;width:auto;border-left:none;border-top:1px solid var(--line)}.mo-sm-canvas{flex:0 0 auto;max-height:42vh}.mo-sm-head-left{flex-wrap:wrap}.mo-sm-toolbar{gap:8px}.mo-sm-tool-group+.mo-sm-tool-group{border-left:none;padding-left:0}}.mo-ex-backdrop{z-index:140}.mo-export{width:720px;max-width:calc(100vw - 32px);max-height:min(88vh,760px);padding:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.mo-ex-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex:0 0 auto}.mo-ex-title{margin:0!important}.mo-ex-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:0;cursor:pointer}@media (prefers-reduced-motion: no-preference){.mo-ex-close{transition:background .12s,color .12s,border-color .12s}}.mo-ex-close:hover{background:var(--panel-2);color:var(--text);border-color:var(--line)}.mo-ex-close:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-ex-body{display:flex;flex:1 1 auto;min-height:0}.mo-ex-formats{width:232px;flex:0 0 auto;overflow-y:auto;border-right:1px solid var(--line);padding:12px 10px;background:var(--panel);display:flex;flex-direction:column;gap:14px}.mo-ex-fmt-group{display:flex;flex-direction:column;gap:4px}.mo-ex-fmt-group>.mo-ex-micro{padding:0 6px 2px}.mo-ex-fmt{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:7px 8px;cursor:pointer;background:transparent;color:var(--text);border:1px solid transparent;border-radius:0}@media (prefers-reduced-motion: no-preference){.mo-ex-fmt{transition:background .12s,color .12s,border-color .12s}}.mo-ex-fmt:hover{background:var(--panel-2);border-color:var(--line)}.mo-ex-fmt:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-ex-fmt.active{background:var(--accent-soft);color:var(--color-ink);border-color:var(--color-ink)}.mo-ex-fmt-name{font-size:13px;font-weight:600}.mo-ex-fmt-sub{font-size:11px;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis}.mo-ex-fmt.active .mo-ex-fmt-sub{color:#23272eb8}.mo-ex-main{flex:1 1 auto;min-width:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.mo-ex-fmt-note{margin:0!important;font-size:12px;color:var(--muted);line-height:1.4}.mo-ex-micro{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.mo-ex-settings{display:flex;flex-direction:column;gap:12px}.mo-ex-field{display:flex;flex-direction:column;gap:6px}.mo-ex-field>label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.mo-ex-val{font-family:var(--font-mono);font-size:11px;color:var(--text)}.mo-ex-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mo-ex-loop{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.mo-ex-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer}.mo-ex-check input{accent-color:var(--accent);width:15px;height:15px;flex:0 0 auto}.mo-ex-check input:disabled{opacity:.5;cursor:not-allowed}.mo-ex-color-row{display:flex;align-items:center;gap:8px}.mo-ex-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}.mo-ex-hex:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.mo-ex-bg.is-disabled{opacity:.5}.mo-ex-range{position:relative;height:26px;margin:2px 7px;cursor:pointer;touch-action:none}.mo-ex-range:before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);background:var(--line-strong)}.mo-ex-range-fill{position:absolute;top:50%;height:4px;transform:translateY(-50%);background:var(--accent)}.mo-ex-thumb{position:absolute;top:50%;width:12px;height:20px;transform:translate(-50%,-50%);padding:0;background:var(--accent);border:1px solid var(--color-ink);border-radius:0;cursor:grab;touch-action:none}.mo-ex-thumb:active{cursor:grabbing}.mo-ex-thumb:focus-visible{outline:none;box-shadow:var(--ring-accent);border-color:var(--accent)}.mo-ex-range-vals{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;color:var(--muted);margin-top:2px}.mo-ex-compat{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}.mo-ex-compat-clean{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.mo-ex-compat-clean svg{color:var(--accent);flex:0 0 auto}.mo-ex-compat-list{display:flex;flex-direction:column;gap:6px}.mo-ex-compat-item{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;background:var(--panel-2);border-left:3px solid var(--line-strong)}.mo-ex-compat-item.mo-ex-lvl-drop{border-left-color:var(--danger)}.mo-ex-compat-item.mo-ex-lvl-approx{border-left-color:var(--line-strong);border-left-style:dashed}.mo-ex-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;flex:0 0 auto;background:var(--panel-3);color:var(--muted);white-space:nowrap}.mo-ex-lvl-drop .mo-ex-badge{background:var(--danger);color:#fff}.mo-ex-compat-msg{font-size:12px;color:var(--text);line-height:1.4}.mo-ex-compat-ok{font-size:11px;color:var(--muted)}.mo-ex-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);flex:0 0 auto}.mo-ex-summary{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;color:var(--muted)}.mo-ex-summary span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mo-ex-dot{width:8px;height:8px;flex:0 0 auto;background:var(--accent)}.mo-ex-lvl-drop .mo-ex-dot{background:var(--danger)}.mo-ex-lvl-approx .mo-ex-dot{background:var(--line-strong)}.mo-ex-actions{display:flex;gap:8px;flex:0 0 auto}.mo-ex-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:var(--panel);display:flex;align-items:center;justify-content:center;padding:24px}.mo-ex-overlay[hidden]{display:none}.mo-ex-overlay-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:360px}.mo-ex-overlay-title{font-size:15px;font-weight:700;color:var(--text)}.mo-ex-overlay-sub{font-size:12px;color:var(--muted);line-height:1.4}.mo-ex-overlay-note{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:7px 10px;background:var(--panel-2)}.mo-ex-overlay-actions{display:flex;gap:8px;margin-top:4px}.mo-ex-overlay-ic svg{width:30px;height:30px}.mo-ex-overlay-ic.mo-ex-ok{color:var(--accent)}.mo-ex-overlay-ic.mo-ex-err{color:var(--danger)}.mo-ex-spinner{width:30px;height:30px;box-sizing:border-box;border:3px solid var(--line-strong);border-top-color:var(--accent)}@media (prefers-reduced-motion: no-preference){.mo-ex-spinner{animation:mo-ex-spin .8s linear infinite}}@keyframes mo-ex-spin{to{transform:rotate(360deg)}}.mo-ex-adv-toggle{width:100%;text-align:left;padding:9px 10px;cursor:pointer;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:0;font-family:inherit;font-size:12px}.mo-ex-adv-toggle:after{content:" ▾";color:var(--muted)}.mo-ex-adv-toggle.is-open:after{content:" ▴"}.mo-ex-adv{display:flex;flex-direction:column;gap:12px;padding-top:4px}.mo-ex-adv[hidden],.mo-ex-fmt-select{display:none}@media (max-width: 640px){.mo-ex-backdrop{align-items:flex-end}.mo-export{width:100%;max-width:100%;max-height:92vh;border-left:none;border-right:none;border-bottom:none}.mo-ex-body{flex-direction:column}.mo-ex-formats{display:none}.mo-ex-fmt-select{display:flex}}.mo-ex-backdrop:has(.mo-export--mobile){align-items:flex-end}.mo-export--mobile{width:100%;max-width:100%;max-height:92vh;border-left:none;border-right:none;border-bottom:none}.mo-export--mobile .mo-ex-body{flex-direction:column}.mo-export--mobile .mo-ex-formats{display:none}.mo-export--mobile .mo-ex-fmt-select{display:flex}.mo-ob{position:fixed;z-index:200;width:300px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:14px;background:var(--panel-2);border:1px solid var(--color-ink);border-radius:0;box-shadow:var(--shadow-stamp-lg);color:var(--text);font-family:var(--font)}.mo-ob:not(.mo-ob--open){display:none}.mo-ob__arrow{position:absolute;width:12px;height:12px;left:var(--mo-ob-arrow, 24px);background:var(--panel-2);transform:translate(-50%) rotate(45deg)}.mo-ob--bottom .mo-ob__arrow{top:-6px;border-left:1px solid var(--color-ink);border-top:1px solid var(--color-ink)}.mo-ob--top .mo-ob__arrow{bottom:-6px;border-right:1px solid var(--color-ink);border-bottom:1px solid var(--color-ink)}.mo-ob__head{display:flex;align-items:flex-start;gap:8px}.mo-ob__title{flex:1 1 auto;font-size:13px;font-weight:800;line-height:1.3;color:var(--text)}.mo-ob__close{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:0;color:var(--muted);cursor:pointer}.mo-ob__close:hover{color:var(--text);background:var(--panel-3);border-color:var(--line)}.mo-ob__close:focus-visible{outline:none;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.mo-ob__example{display:flex;align-items:center;justify-content:center;margin:10px 0;padding:8px;background:var(--panel-3);border:1px solid var(--line)}.mo-ob__example svg{display:block;max-width:100%;height:auto;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.mo-ob__body{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:var(--muted)}.mo-ob__more{margin-bottom:12px}.mo-ob__more-summary{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.mo-ob__more-summary::-webkit-details-marker{display:none}.mo-ob__more-summary:before{content:"▸";font-size:9px}.mo-ob__more[open] .mo-ob__more-summary:before{content:"▾"}.mo-ob__more-summary:hover{color:var(--text)}.mo-ob__more-summary:focus-visible{outline:none;color:var(--text);box-shadow:0 1px 0 0 var(--accent)}.mo-ob__more-text{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted)}.mo-ob__foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.mo-ob__never{color:var(--muted)}.mo-ob--toast{left:12px!important;right:12px!important;top:auto!important;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);width:auto;max-width:none}.mo-ob--toast .mo-ob__arrow{display:none}@media (prefers-reduced-motion: no-preference){.mo-ob--open{opacity:0;transform:translateY(6px)}.mo-ob--open.mo-ob--top{transform:translateY(-6px)}.mo-ob--open.mo-ob--toast{transform:translateY(110%)}.mo-ob--open.mo-ob--in{opacity:1;transform:none;transition:opacity .16s ease,transform .16s ease}.mo-ob__close,.mo-ob__more-summary{transition:background .12s,color .12s,border-color .12s}}.mo-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:none;pointer-events:none;opacity:0;transition:opacity .16s ease}.mo-tour--open{display:block}.mo-tour--in{opacity:1}.mo-tour__scrim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;background:transparent;transition:background .16s ease}.mo-tour__scrim--solid{background:#10121794}.mo-tour__spot{position:absolute;pointer-events:none;border:2px solid var(--accent);box-shadow:0 0 0 9999px #10121794;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}.mo-tour__card{position:absolute;pointer-events:auto;width:328px;max-width:calc(100vw - 24px);padding:16px 16px 12px;background:var(--panel-2);border:1px solid var(--color-ink);box-shadow:var(--shadow-stamp-lg, 0 12px 32px rgba(0,0,0,.4));color:var(--text)}.mo-tour__card--center{left:50%;top:50%;transform:translate(-50%,-50%)}.mo-tour__arrow{position:absolute;left:var(--mo-tour-arrow, 24px);width:12px;height:12px;background:var(--panel-2);border:1px solid var(--color-ink);transform:translate(-50%) rotate(45deg)}.mo-tour__card--bottom .mo-tour__arrow{top:-7px;border-right:none;border-bottom:none}.mo-tour__card--top .mo-tour__arrow{bottom:-7px;border-left:none;border-top:none}.mo-tour__card--center .mo-tour__arrow{display:none}.mo-tour__close{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer}.mo-tour__close:hover{color:var(--text);border-color:var(--line)}.mo-tour__media{display:flex;justify-content:center;align-items:center;height:72px;margin-bottom:12px;background:var(--panel);border:1px solid var(--line)}.mo-tour__media svg{display:block}.mo-tour__step{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.mo-tour__title{margin:0 0 6px;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.mo-tour__body{margin:0 0 14px;font-size:12.5px;line-height:1.5;color:var(--muted)}.mo-tour__foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.mo-tour__nav{display:flex;align-items:center;gap:6px}.mo-tour__dots{display:flex;gap:5px;justify-content:center;margin-top:12px}.mo-tour__dot{width:6px;height:6px;background:var(--line-strong);transition:background .12s,transform .12s}.mo-tour__dot--past{background:var(--muted)}.mo-tour__dot--on{background:var(--accent);transform:scale(1.35)}@media (max-width: 820px){.mo-tour__card{left:50%!important;top:auto!important;bottom:12px;transform:translate(-50%);width:calc(100vw - 20px)}.mo-tour__arrow{display:none}}@media (prefers-reduced-motion: reduce){.mo-tour,.mo-tour__scrim,.mo-tour__spot,.mo-tour__dot{transition:none}}.tut-win{position:fixed;z-index:1400;width:300px;display:none;flex-direction:column;background:var(--panel-2);color:var(--text);border:1px solid var(--color-ink);border-radius:0;box-shadow:var(--shadow-stamp-lg);font-family:var(--font);overflow:hidden;animation:tut-in .13s ease-out;--tut-bg: var(--panel-3);--tut-ink: var(--text);--tut-accent: var(--accent);--tut-shape: var(--muted);--tut-fill: var(--accent-soft)}.tut-win.show{display:flex}@keyframes tut-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tut-win{animation:none}}.tut-header{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.tut-title{flex:1 1 auto;min-width:0;font-weight:800;font-size:13px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tut-key{flex:0 0 auto;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--color-ink);background:var(--color-cream);border:1px solid var(--color-ink);border-radius:0;padding:1px 6px}.tut-lang{display:flex;flex:0 0 auto;border:1px solid var(--line-strong)}.tut-lang button{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:2px 8px;background:transparent;color:var(--muted);border:0;border-radius:0;cursor:pointer;line-height:1.6;transition:background .1s,color .1s}.tut-lang button+button{border-inline-start:1px solid var(--line-strong)}.tut-lang button:hover{color:var(--text)}.tut-lang button.on{background:var(--accent-soft);color:var(--color-ink)}.tut-stage{background:var(--tut-bg);border-bottom:1px solid var(--line)}.tut-stage svg{display:block;width:100%;height:auto}.tut-body{padding:11px 13px}.tut-desc{font-size:12.5px;line-height:1.5;color:var(--text);margin-bottom:9px}.tut-steps{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}.tut-steps li{position:relative;font-size:11.5px;line-height:1.45;color:var(--muted);padding-inline-start:15px}.tut-steps li:before{content:"";position:absolute;inset-inline-start:2px;top:6px;width:5px;height:5px;background:var(--accent)}.tut-foot{padding:6px 13px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.tut-stage .sh{fill:none;stroke:var(--tut-shape);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.tut-stage .ac{fill:none;stroke:var(--tut-accent);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}.tut-stage .fl{fill:var(--tut-fill);stroke:var(--tut-shape);stroke-width:2}.tut-stage .fa{fill:var(--tut-fill);stroke:var(--tut-accent);stroke-width:1.8}.tut-stage .dash{fill:none;stroke:var(--tut-accent);stroke-width:1.6;stroke-dasharray:4 3}.tut-stage .ring{fill:none;stroke:var(--tut-accent);stroke-width:2}.tut-stage .anchor{fill:var(--tut-accent);stroke:none}.tut-stage .handle{fill:var(--tut-fill);stroke:var(--tut-accent);stroke-width:1.6}.tut-stage .txt-fill{fill:var(--tut-ink)}.tut-stage .grad{stroke:var(--tut-shape);stroke-width:2}.tut-stage .gs-a{stop-color:var(--tut-accent)}.tut-stage .gs-b{stop-color:var(--tut-shape)}.tut-stage .cur path{fill:var(--tut-ink);stroke:var(--tut-bg);stroke-width:1.2;stroke-linejoin:round}
