:root{--paper:#f4f1e8;--paper-2:#eae5d8;--paper-3:#dfd8c7;--fp-ground:#e7decb;--fp-top:#efe9da;--fp-mid:#dfd7c3;--fp-side:#cbc1a8;--ink:#15120c;--ink-mid:#4c463a;--ink-light:#6b6455;--rule:#d0c9b8;--rule-2:#e1dbcb;--accent:#c04828;--accent-2:#8f3318;--device:#9a9587;--accent-text:color-mix(in srgb,var(--accent) 82%,#15120c);--ok:#2c6e49;--danger:#8f3318;--grid:#15120c0d;--canvas-bg:var(--paper-3);--disp:"Bricolage Grotesque",sans-serif;--mono:"JetBrains Mono",monospace;--zh:"Noto Sans TC",sans-serif;--fs-micro:9px;--fs-meta:10px;--fs-ctl:11px;--fs-body:12.5px;--fs-name:15px;--fs-title:17px;--fs-num:24px;--track-lb:.13em;--track-en:.07em;--fld-h:28px}body.dark{--paper:#14110b;--paper-2:#1c1813;--paper-3:#241f18;--fp-ground:#2a241b;--fp-top:#332d22;--fp-mid:#262019;--fp-side:#1c1710;--ink:#f2eee2;--ink-mid:#b4ad9c;--ink-light:#908875;--rule:#2c271e;--rule-2:#221e17;--device:#7c776a;--grid:#f2eee20a;--paper-canvas:#100d08;--canvas-bg:var(--paper-2);--accent-text:color-mix(in srgb,var(--accent) 72%,#f2eee2);--ok:#4e9b72;--danger:#e0674a}:root{--r-ctl:3px;--r-btn:5px;--r-pop:8px;--r-sheet:14px;--r-pill:20px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--paper-2);color:var(--ink);font-family:var(--zh);flex-direction:column;transition:background .35s,color .35s;display:flex;overflow:hidden}.mono{font-family:var(--mono)}.acthdr{background:var(--paper);border-bottom:1px solid var(--rule);flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;padding:8px 10px;display:flex}.acthdr .grp+.grp{border-left:none;padding-left:0}.acthdr .grp:first-child{margin-right:auto}.tbtn.ghost{background:0 0;border-color:#0000;padding:5px 6px}.tbtn.ghost:hover{background:var(--paper-2);color:var(--ink);border-color:#0000}.tbtn.ghost .tbi{width:14px;height:14px}.ic-sun{display:none}body.dark .ic-sun{display:block}body.dark .ic-moon,.topbar-narrow{display:none}.brand{align-items:center;margin-bottom:16px;display:flex}.brand-mark{align-items:center;text-decoration:none;display:inline-flex}.brand-mark svg{width:auto;height:16px;fill:var(--ink);display:block}.topbar-narrow .brand,.cvtl .brand{margin-bottom:0}.topbar-narrow .brand{padding-left:calc(10px + env(safe-area-inset-left,0px));flex:none}.topbar-narrow .brand~.acthdr{padding-left:10px}.cvtl .brand-mark{padding:6px 1px}.dochdr .brand{padding:9px 0 0 4px}.sp{flex:1}.grp{align-items:center;gap:6px;display:flex}.grp+.grp{border-left:1px solid var(--rule);padding-left:12px}.lbl{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light)}.tbtn{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mid);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 9px;transition:all .15s}.tbtn:hover{border-color:var(--ink-mid);color:var(--ink)}.tbtn.ic{align-items:center;gap:6px;display:inline-flex}.tbtn .tbi{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:13px;height:13px}.tbtn.on{background:var(--accent);border-color:var(--accent);color:var(--paper)}.tbtn.solid{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tbtn.solid:hover{background:var(--accent);border-color:var(--accent)}.tbtn:disabled{opacity:.3;cursor:default}.tbtn:disabled:hover{color:var(--ink-mid);border-color:var(--rule)}.tbtn.busy,.tbtn.busy:disabled,.tbtn.busy:hover{opacity:.82;cursor:progress;color:var(--paper);background:var(--ink);border-color:var(--ink)}.dochdr{border-bottom:1px solid var(--rule-2);flex:none;padding:11px 11px 10px}.docsub{align-items:center;min-height:14px;margin-top:4px;padding-left:7px;display:flex}.docloc{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-light)}.dd.projdoc{border-radius:var(--r-ctl);border:1px solid #0000;align-items:stretch;width:auto;margin:0 -4px;transition:all .12s;display:flex}@media (hover:hover) and (pointer:fine){.projdoc:hover{background:var(--paper-2);border-color:var(--rule-2)}}.projdoc:focus-within{border-color:var(--rule-2)}.projname{text-align:left;min-width:0;font-family:var(--zh);font-size:var(--fs-name);color:var(--ink);border-radius:var(--r-ctl) 0 0 var(--r-ctl);text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:none;flex:1;padding:3px 17px 3px 7px;line-height:1.5;position:relative;overflow:hidden}.projname:after{content:"✎";font-size:var(--fs-meta);color:var(--ink-light);opacity:0;transition:opacity .12s;position:absolute;top:50%;right:5px;transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.projname:hover:after{opacity:1}}.projname:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.projcaret{border-radius:0 var(--r-ctl) var(--r-ctl) 0;color:var(--ink-light);cursor:pointer;background:0 0;border:none;border-left:1px solid #0000;justify-content:center;align-items:center;padding:0 6px;transition:all .12s;display:flex}.projdoc:hover .projcaret{border-left-color:var(--rule-2)}.projcaret:hover,.projcaret.on{background:var(--paper-3);color:var(--ink);border-left-color:var(--rule-2)}.projdoc .projcaret .ca{margin-left:0}.projcaret:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.proj-rename{min-width:0;font-family:var(--zh);font-size:var(--fs-name);letter-spacing:.02em;color:var(--ink);background:var(--paper);border:1px solid var(--accent);border-radius:var(--r-ctl);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);outline:none;flex:1;padding:3px 6px;line-height:1.5}body{--fab-b:16px}body.rp-fold{--fab-b:48px}.helpfab{right:16px;bottom:var(--fab-b);z-index:45;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.helpfab-btn{width:34px;height:34px;font-family:var(--mono);font-size:var(--fs-name);color:var(--ink-mid);background:var(--paper);border:1px solid var(--rule);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;box-shadow:0 6px 20px -8px #15120c73}.helpfab-btn:hover,.helpfab-btn.on{color:var(--accent-text);border-color:var(--accent);transform:translateY(-1px)}.helpmenu{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);transform-origin:100% 100%;width:196px;padding:9px;animation:.16s cubic-bezier(.2,.8,.3,1) both ddpop;box-shadow:0 18px 44px -18px #15120c80}.helpmenu[hidden]{display:none}.helpmenu .mm-item{justify-content:flex-start}@media (width<=1023px){body,body.rp-fold{--fab-b:48px}}@media (width<=767px){body,body.rp-fold{--fab-b:calc(100px + env(safe-area-inset-bottom,0px))}.helpfab{right:12px}}.mm-fsv{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);text-align:right;min-width:32px}.mm-item{width:100%;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;padding:7px 10px;transition:all .12s;display:flex}.mm-item:last-child{margin-bottom:0}.mm-item[hidden],.mm-foot[hidden]{display:none}.mm-foot{width:100%;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-light);border:0;border-top:1px solid var(--rule-2);cursor:pointer;text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 0;padding:9px 2px 0;transition:all .12s;display:flex}.mm-foot small{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light);flex:none;transition:all .12s}.mm-foot:hover,.mm-foot:hover small{color:var(--accent-text)}.mm-status{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);white-space:pre-wrap;word-break:break-word;margin-bottom:7px;line-height:1.55}.dd{display:inline-flex;position:relative}.dd-btn .ca{font-size:var(--fs-micro);color:var(--ink-light);margin-left:5px;transition:all .12s}.dd-btn.on .ca,.dd-btn:hover .ca{color:var(--ink)}.dd-menu{z-index:60;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);transform-origin:0 0;min-width:238px;padding:15px;animation:.15s cubic-bezier(.2,.8,.3,1) both ddpop;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px -16px #15120c80}.dd-menu[hidden]{display:none}.dd-menu .mm-item:last-child{margin-bottom:0}.dd-menu .mm-item:has(+.mm-foot[hidden]){margin-bottom:0}.snap-split{gap:0}.snap-split #snapBtn{border-top-right-radius:0;border-bottom-right-radius:0}.snap-split .snap-caret{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0;padding:5px 7px}.snap-split .snap-caret.on{color:var(--ink);border-color:var(--rule);background:0 0}.snap-menu{min-width:184px}.snap-chk{font-size:var(--fs-ctl);color:var(--accent-text);margin-left:10px;line-height:1}.snap-menu .mm-item:not(.on) .snap-chk{visibility:hidden}.lang-menu{transform-origin:100% 0;width:172px;min-width:0;position:fixed;top:0;left:0}.lang-chk{font-size:var(--fs-ctl);color:var(--accent-text);margin-left:10px;line-height:1}.lang-menu .mm-item:not(.on) .lang-chk{visibility:hidden}.lang-menu .mm-item{font-family:var(--zh)}.lang-menu .mm-foot,.shlang-menu .mm-foot{cursor:default;font-size:var(--fs-micro);line-height:1.5;display:block}.ddfld-dd{width:100%;display:block}.ddfld-btn{width:100%;min-height:var(--fld-h);font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:6px;padding:5px 7px;transition:all .12s;display:flex}.ddfld-btn:hover{border-color:var(--ink-light)}.ddfld-btn.on{border-color:var(--accent)}.ddfld-btn:active{transform:translateY(1px)}.ddfld-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ddfld-val{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);font-size:var(--fs-ctl);letter-spacing:.04em;flex:1;overflow:hidden}.ddfld-btn .ca{flex:none;margin-left:0}.ddfld-menu{transform-origin:0 0;width:250px;min-width:0;position:fixed;top:0;left:0}.shlang-btn .ddfld-val,.shlang-menu .mm-item{font-family:var(--zh);letter-spacing:0;text-transform:none}.shlang-menu{width:auto;min-width:172px}.statrow{align-items:stretch;gap:4px;margin-bottom:5px;display:flex}.statrow .mm-item{white-space:normal;font-family:var(--mono);font-size:var(--fs-ctl);letter-spacing:.04em;align-items:flex-start;margin-bottom:0;line-height:1.5}.statlb{flex:1;min-width:0}.ddfld-chk{font-size:var(--fs-ctl);color:var(--accent-text);flex:none;margin-left:8px;line-height:1}.ddfld-menu .mm-item:not(.on) .ddfld-chk{visibility:hidden}.statdel{width:var(--hit);font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:all .12s;display:flex}.statdel:hover{color:var(--paper);background:var(--danger);border-color:var(--danger)}.statdel:active{transform:translateY(1px)}.statdel:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.statadd-btn{width:var(--hit);height:var(--hit);font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink-mid);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:all .12s;display:flex}.statadd-btn:hover{color:var(--paper);background:var(--accent);border-color:var(--accent)}.statadd-btn:active{transform:translateY(1px)}.statadd-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dd-custom{border-top:1px solid var(--rule-2);margin-top:3px;padding-top:8px}.ddc-row{align-items:center;gap:8px;margin-bottom:7px;display:flex}.ddc-row label{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-light);width:34px}.ddc-row input{min-width:0;font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);flex:1;padding:5px 7px}.ddc-row input:focus{border-color:var(--accent);outline:none}.dd-sec{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);border-top:1px solid var(--rule-2);margin:9px 2px 6px;padding-top:8px}.dd-menu .dd-sec:first-child{border-top:none;margin-top:0;padding-top:0}.dd-sec-sub{font-size:var(--fs-micro);opacity:.72;letter-spacing:var(--track-lb)}#canvasPane .ddc-row label{text-transform:uppercase;flex:none;justify-content:flex-start;width:34px;margin:0}#canvasPane .field>label{margin-bottom:6px}#canvasPane .mm-item{font-size:var(--fs-ctl);white-space:nowrap;flex-wrap:wrap}.mm-item small{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--ink-light);white-space:nowrap;flex:none;font-weight:400}.ddc-sel{min-width:0;font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;flex:1;padding:5px 7px}.ddc-sel:focus{border-color:var(--accent);outline:none}.ddc-seg{border:1px solid var(--rule);border-radius:var(--r-ctl);flex:1;display:flex;overflow:hidden}.ddc-seg button{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);background:var(--paper-2);border:none;border-right:1px solid var(--rule);cursor:pointer;flex:1;padding:5px 0;transition:all .12s}.ddc-seg button:last-child{border-right:none}.ddc-seg button:hover{color:var(--ink);background:var(--paper)}.ddc-seg button.on{background:var(--accent);color:#fff}.mm-item:hover{border-color:var(--accent);background:var(--paper)}.mm-item.on{border-color:var(--accent);color:var(--accent-text)}.mm-item.danger:hover{border-color:var(--accent-2);color:var(--accent-2)}.mm-item:disabled{opacity:.35;cursor:default}.mm-item:disabled:hover{border-color:var(--rule);background:var(--paper-2)}.dd-div{background:var(--rule-2);height:1px;margin:7px 2px}.work{flex:1;min-height:0;display:flex}.insdock{z-index:7;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);scrollbar-width:none;align-items:center;gap:2px;max-width:calc(100% - 28px);padding:4px;display:flex;position:absolute;bottom:48px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 10px 28px -12px #15120c80}.insdock::-webkit-scrollbar{display:none}.ins-sep{background:var(--rule-2);flex:none;align-self:stretch;width:1px;margin:2px 3px}.ins-btn{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-mid);border-radius:var(--r-btn);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:6px 10px;line-height:1.2;transition:all .12s;display:flex}.ins-btn:hover{background:var(--paper-2);color:var(--ink)}.ins-btn:active{transform:scale(.96)}.ins-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ins-ic{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.ins-main{color:var(--ink);font-weight:600}.ins-main .ins-ic{color:var(--accent-text)}.ins-main .ins-ic rect{fill:currentColor}.ins-btn.on,.ins-btn.on:hover{background:var(--accent);border-color:var(--accent);color:#fff}body.ik-compmode .insdock{opacity:.4;pointer-events:none}.penhint{z-index:60;font-family:var(--zh);font-size:var(--fs-body);color:var(--paper);background:var(--ink);border-radius:var(--r-pop);pointer-events:none;white-space:nowrap;align-items:center;gap:13px;padding:6px 12px;font-weight:600;line-height:1.5;animation:.15s cubic-bezier(.2,.8,.3,1) both penhintin;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px -12px #15120c80}@keyframes penhintin{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)}}.penhint-now{color:var(--paper);font-variant-numeric:tabular-nums;font-weight:700}.penhint-now:empty{display:none}.penhint-rule{background:color-mix(in srgb,var(--paper) 28%,transparent);width:1px;height:14px;margin:0 -2px}.penhint-go,.penhint-sec{pointer-events:auto;font:inherit;border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:7px;padding:3px 12px;font-weight:600;line-height:1.5;display:inline-flex}.penhint-go{background:var(--paper);color:var(--ink);border:0;gap:8px}.penhint-go:hover{background:#fff}.penhint .penhint-go kbd{color:color-mix(in srgb,var(--ink) 58%,transparent)}.penhint-sec{color:var(--paper);border:1px solid color-mix(in srgb,var(--paper) 32%,transparent);background:0 0}.penhint-sec:hover{background:color-mix(in srgb,var(--paper) 12%,transparent)}.penhint-seg{white-space:nowrap;pointer-events:auto;gap:4px;display:inline-flex}.penhint-sec.on{background:var(--paper);color:var(--ink);border-color:var(--paper)}.penhint-sec.on:hover{background:#fff}.penhint-k{white-space:nowrap;color:color-mix(in srgb,var(--paper) 84%,transparent);align-items:baseline;gap:5px;display:inline-flex}.penhint kbd{font-family:var(--mono);font-size:var(--fs-body);color:var(--paper);letter-spacing:.02em;background:0 0;border:0;padding:0;font-weight:500;line-height:1.5}@media (width<=767px){.penhint{white-space:normal;flex-wrap:wrap;justify-content:center;row-gap:5px;max-width:calc(100vw - 28px)}}@media (width<=1023px){.ins-lb{display:none}.ins-btn{padding:7px 9px}}@media (width<=767px){.insdock,.inssheet[hidden]{display:none}.inssheet{left:0;right:0;bottom:calc(57px + env(safe-area-inset-bottom,0px));z-index:36;background:var(--paper);border-top:1px solid var(--rule);border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:12px 12px 16px;animation:.2s cubic-bezier(.2,.8,.3,1) both opsheet;position:fixed;box-shadow:0 -16px 42px -18px #15120c8c}.inssheet .insdock{max-width:none;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0;display:grid;position:static;bottom:auto;left:auto;overflow:visible;transform:none}.inssheet .ins-lb{display:inline}.inssheet .ins-btn{white-space:normal;text-align:center;background:var(--paper-2);border-color:var(--rule);border-radius:var(--r-btn);justify-content:center}.inssheet .ins-btn:active{background:var(--paper-3)}.inssheet .ins-main{grid-column:1/-1}.inssheet .dd{display:contents}.inssheet #addWire,.inssheet #addBuild{grid-column:span 3}.inssheet .ins-btn:not(.ins-main):not(#addWire):not(#addBuild){grid-column:span 2}.inssheet .ins-sep:first-of-type{display:none}.inssheet .ins-sep:last-of-type{grid-column:1/-1;align-self:auto;width:auto;height:1px;margin:1px 2px}.inssheet .ins-btn:not(.ins-sep:last-of-type~.ins-btn){flex-direction:row;gap:10px;min-height:52px;padding:9px 12px}.inssheet .ins-sep:last-of-type~.ins-btn{flex-direction:column;gap:8px;min-height:72px;padding:10px 4px}.inssheet .ins-btn.on,.inssheet .ins-btn.on:hover,.inssheet .ins-btn.on:active{background:var(--accent);border-color:var(--accent);color:#fff}body.ins-open .helpfab{opacity:0;pointer-events:none;transition:opacity .14s}body.ins-open .mb-add{background:var(--ink);color:var(--paper);transform:rotate(45deg)}}.pfoot{background:var(--paper);border-top:1px solid var(--rule-2);flex:none;align-items:center;padding:7px 9px;display:flex}.pfoot.left{justify-content:flex-end}.pfoot.right{justify-content:flex-start}.panel.right .pfoot{z-index:2;margin-top:auto;position:sticky;bottom:0}.pfold{width:var(--hit);height:var(--hit);border-radius:var(--r-ctl);color:var(--ink-light);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;transition:all .12s;display:flex}.pfold svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:16px}.pfold:hover{background:var(--paper-2);color:var(--ink)}.pfold:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.sheetgrip{display:none}.pshow,.drawer-tab{background:var(--paper);border:1px solid var(--rule);width:30px;min-height:78px;color:var(--ink-mid);cursor:pointer;writing-mode:vertical-rl;font-family:var(--zh);font-size:var(--fs-ctl);letter-spacing:2px;justify-content:center;align-items:center;gap:7px;padding:12px 0;display:none;position:absolute;top:50%;transform:translateY(-50%)}.pshow.left,.drawer-tab.left{border-radius:0 var(--r-pop) var(--r-pop) 0;border-left:none;left:0}.pshow.right,.drawer-tab.right{border-radius:var(--r-pop) 0 0 var(--r-pop);border-right:none;right:0}.et-ar{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:16px;transition:transform .22s}.et-lb{writing-mode:vertical-rl}.pshow{z-index:8;transition:color .15s,border-color .15s}.pshow:hover{color:var(--accent-text);border-color:var(--accent)}.pshow:focus-visible,.drawer-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.lp-fold .work>.panel:not(.right),body.rp-fold .work>.panel.right{display:none}body.lp-fold .pshow.left,body.rp-fold .pshow.right{display:flex}@media (width<=1023px){.pfold,.pshow,.pfoot{display:none!important}body.lp-fold .work>.panel:not(.right),body.rp-fold .work>.panel.right{display:flex}}.panel{background:var(--paper);border-right:1px solid var(--rule);flex-direction:column;width:248px;display:flex;overflow:hidden}.panel.right{border-right:none;border-left:1px solid var(--rule)}.psec{border-bottom:1px solid var(--rule-2);padding:12px 13px 13px}.ph{align-items:baseline;gap:7px;margin-bottom:9px;display:flex}.ph .ph-ct{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);margin-left:auto}@media (width<=1023px){.panel:not(.right) .ph .sh-ico{width:14px;height:14px}}.panel:not(.right){overflow:hidden}.panel:not(.right) .sec-add{flex:none;padding-bottom:12px}.panel:not(.right) .sec-layers{border-bottom:none;flex-direction:column;flex:auto;min-height:0;padding-bottom:4px;display:flex}.panel:not(.right) .sec-layers>.ph{flex:none}.panel:not(.right) .sec-layers #layers{flex:auto;min-height:0;max-height:none;padding-right:3px;overflow-y:auto}.sec-insert{border-bottom:none}.panel:not(.right) .sec-tally{min-height:0;height:var(--tally-h,260px);border-bottom:none;flex-direction:column;flex:none;padding-top:12px;display:flex}.panel:not(.right) .sec-tally>.ph{flex:none}@media (width<=1023px){.panel:not(.right) .sec-tally{height:min(34%,150px)}.psplit{display:none}}.psplit{cursor:row-resize;touch-action:none;background:0 0;border:none;flex:none;height:8px;margin:2px 0 0;padding:0;position:relative}.psplit:before{content:"";background:var(--rule-2);height:1px;transition:all .12s;position:absolute;top:3px;left:0;right:0}.psplit:hover:before,.psplit.on:before{background:var(--accent);height:2px;top:3px}.psplit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}body.ik-rowresize{cursor:row-resize;-webkit-user-select:none;user-select:none}.tally-body{flex:auto;min-height:0;padding-right:3px;overflow-y:auto}.ttabs{background:0 0;margin:0 -13px 8px;padding:0 8px}.sec-tally .wstable{font-size:var(--fs-ctl);margin:0 0 8px}.sec-tally .wstable th{font-size:var(--fs-micro);letter-spacing:var(--track-lb);padding:5px 4px}.sec-tally .wstable td{padding:6px 4px}.sec-tally .wstable th:nth-child(n+2),.sec-tally .wstable td:nth-child(n+2){font-size:var(--fs-ctl)}.sec-tally .wstable tr.wsdetail td{font-size:var(--fs-meta);padding:5px 4px 6px 18px;line-height:1.7}.sec-tally .wstable td svg{width:18px}.sec-tally .wstable tr.wssec td{padding:9px 4px 4px}.sec-tally .exnote{font-size:var(--fs-micro);margin-bottom:8px;line-height:1.65}.ttabs-row{background:var(--paper);border-bottom:1px solid var(--rule);flex:none;align-items:stretch;display:flex}.ttabs-row .rtabs{background:0 0;border-bottom:none;flex:1;min-width:0}.ttabs-row .dd{align-items:center;padding-right:4px;display:flex;position:relative}.ttabs-row .dd[hidden]{display:none}.ttopt{width:var(--hit);height:var(--hit);border-radius:var(--r-ctl);color:var(--ink-light);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.ttopt:hover,.ttopt[aria-expanded=true]{color:var(--ink);background:var(--paper-2);border-color:var(--rule)}.ttopt.cust{color:var(--accent);border-color:var(--accent)}.ttopt:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.tally-menu{transform-origin:100% 0;max-width:232px;padding:11px;position:absolute;top:calc(100% + 5px);left:auto;right:0}.tally-menu .tt-lb{flex:1;min-width:0;line-height:1.3;display:block}.tally-menu .tt-lb i{font-style:normal;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);color:var(--ink-light);margin-top:2px;display:block}.tally-menu .mm-item.on .tt-lb i{color:var(--ink-mid)}.tally-menu .tt-chk{font-size:var(--fs-ctl);color:var(--accent-text);flex:none;line-height:1}.tally-menu .mm-item:not(.on) .tt-chk{visibility:hidden}.tally-menu .tally-grp{align-items:center;gap:8px;margin:0 2px;display:flex}.tally-menu .tg-lb{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);flex:none}.tally-menu .tally-grp .seg{flex-wrap:nowrap;flex:1;min-width:0}.rtabs{background:var(--paper);border-bottom:1px solid var(--rule);flex:none;gap:0;padding:0 5px;display:flex}.rtab{text-overflow:ellipsis;min-width:0;font-family:var(--zh);font-size:var(--fs-ctl);letter-spacing:.05em;color:var(--ink-light);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1 1 0;padding:10px 2px 9px;font-weight:500;transition:color .12s;position:relative;overflow:hidden}.rtab:hover{color:var(--ink)}.rtab.on{color:var(--accent-text);font-weight:600}.rtab.on:after{content:"";background:var(--accent);border-radius:1px 1px 0 0;height:2px;position:absolute;bottom:-1px;left:5px;right:5px}.rtab:focus-visible{outline:1px solid var(--accent);outline-offset:-3px;border-radius:var(--r-ctl)}body:not(.ik-sheet) .rtab-sheet{display:none}.panel.right{overflow:hidden}.panel.right>.psec{border-bottom:none;flex:auto;min-height:0;display:none;overflow:hidden auto}.panel.right[data-tab=inspector] .sec-inspector,.panel.right[data-tab=space] .sec-space,.panel.right[data-tab=canvas] .sec-canvas,.panel.right[data-tab=sheet] .sec-sheet{display:block}.panel.right #insp{padding:0 5px}.panel.right .sec-space .seg{gap:3px}@keyframes psecPing{0%{background:color-mix(in srgb,var(--accent) 13%,var(--paper))}to{background:0 0}}.panel .psec.psec-ping{animation:.9s ease-out both psecPing}@media (prefers-reduced-motion:reduce){.panel .psec.psec-ping{animation-duration:.01ms}}.sec-inspector #insp::-webkit-scrollbar{width:7px}.sec-layers #layers::-webkit-scrollbar{width:7px}.sec-inspector #insp::-webkit-scrollbar-thumb{background:var(--rule);border-radius:var(--r-ctl)}.sec-layers #layers::-webkit-scrollbar-thumb{background:var(--rule);border-radius:var(--r-ctl)}.sec-inspector #insp::-webkit-scrollbar-thumb:hover{background:var(--ink-light)}.sec-layers #layers::-webkit-scrollbar-thumb:hover{background:var(--ink-light)}.sec-inspector #insp::-webkit-scrollbar-track{background:0 0}.sec-layers #layers::-webkit-scrollbar-track{background:0 0}.valin:disabled,input[type=range]:disabled{opacity:.4;cursor:default}.nfield:has(.valin:disabled) .unit{opacity:.5}.palette{grid-template-columns:1fr 1fr;gap:7px;max-height:clamp(200px,40vh,420px);padding-right:3px;display:grid;overflow-y:auto}.palette::-webkit-scrollbar{width:7px}.palette::-webkit-scrollbar-thumb{background:var(--rule);border-radius:var(--r-ctl)}.palette::-webkit-scrollbar-thumb:hover{background:var(--ink-light)}.palette::-webkit-scrollbar-track{background:0 0}.insert-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.pitem{border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-ctl);cursor:pointer;flex-direction:column;align-items:center;padding:8px 4px 6px;transition:all .15s;display:flex}.pitem:hover{border-color:var(--accent);background:var(--paper)}.pitem svg{width:42px;height:38px;display:block}.pitem span{font-size:var(--fs-meta);color:var(--ink-mid);text-align:center;margin-top:4px;line-height:1.2}.pcat{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);border-top:1px solid var(--rule-2);grid-column:1/-1;margin:7px 0 1px;padding-top:6px}.pcat:first-child{border-top:none;margin-top:0;padding-top:0}.pal-searchwrap{margin:0 0 7px;position:relative}.pal-search{width:100%;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);padding:6px 26px 6px 9px;transition:all .15s}.pal-search:focus{border-color:var(--accent);background:var(--paper);outline:none}.pal-search::placeholder{color:var(--ink-light)}.pal-clear{width:18px;height:18px;color:var(--ink-light);cursor:pointer;border-radius:var(--r-ctl);font-size:var(--fs-ctl);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.pal-clear:after,.op-clear:after{content:"";width:var(--hit);height:var(--hit);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pal-clear:hover{color:var(--ink)}.pal-clear.show{display:flex}.pal-noresult{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);text-align:center;letter-spacing:.04em;grid-column:1/-1;padding:16px 4px 6px}.ptabs{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);gap:3px;margin:0 0 8px;padding:3px;display:flex}.ptab{font-family:var(--zh);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--ink-mid);border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;padding:5px 2px;transition:all .12s}.ptab:hover{color:var(--ink)}.ptab.on{background:var(--accent);color:var(--paper)}.minewrap{flex-direction:column;grid-column:1/-1;gap:10px;display:flex}.minewrap[hidden]{display:none}.mine-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mine-top[hidden]{display:none}.mine-usage{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mine-usage[hidden]{display:none}.mine-bar{background:var(--paper-3);border-radius:3px;flex:1;min-width:60px;height:6px;overflow:hidden}.mine-bar>i{background:var(--accent);height:100%;transition:width .2s;display:block}.mine-bar.mine-full>i{background:var(--danger,#8f2f1b)}.mine-num{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);white-space:nowrap;flex:none}.mine-sweep[hidden]{display:none}.mine-refs{flex-direction:column;gap:4px;margin:10px 0 2px;display:flex}.mine-refs[hidden]{display:none}.mine-ref{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);align-items:center;gap:10px;padding:6px 8px;display:flex}.mine-ref-n{min-width:0;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mine-ref .tbtn{flex:none}.mine-ref .tbtn:disabled{opacity:.45;cursor:default;border-color:#0000}.mine-force{font-family:var(--zh);font-size:var(--fs-meta);color:var(--ink-light);border:0;border-bottom:1px solid var(--rule);cursor:pointer;background:0 0;align-self:flex-start;margin-top:6px;padding:2px 0;transition:all .12s}.mine-force:hover{color:var(--danger,#8f2f1b);border-bottom-color:currentColor}.mine-grid{grid-auto-rows:4px;grid-template-columns:repeat(auto-fill,minmax(max(56px,calc((100% - (var(--mine-cols,5) - 1) * 8px) / var(--mine-cols,5))),1fr));column-gap:8px;display:grid}.mine-grid[hidden]{display:none}.mine-empty{text-align:center;font-size:var(--fs-meta);color:var(--ink-light);grid-column:1/-1;padding:18px 6px}.mine-note{min-width:0;font-size:var(--fs-meta);color:var(--ink-light);flex:1;line-height:1.6}.mine-note[hidden]{display:none}.mine-acts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mine-acts[hidden]{display:none}input[type=range].mine-zoom{width:76px;accent-color:var(--accent)}.mine-zoomw{color:var(--ink-light);align-items:center;gap:6px;margin-left:auto;display:inline-flex}.mine-card{border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--paper-2);grid-row-end:span 23;height:calc(100% - 8px);position:relative;overflow:hidden}.mine-card:hover{border-color:var(--accent)}.mine-card.pending{border-style:dashed;border-color:var(--ink-light)}.mine-pic{cursor:pointer;background:50%/cover no-repeat;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.mine-del{border-radius:var(--r-ctl);background:color-mix(in srgb,var(--paper) 82%,transparent);width:22px;height:22px;color:var(--ink-mid);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;transition:all .12s;display:flex;position:absolute;top:3px;right:3px}.mine-card:hover .mine-del,.mine-del:focus-visible{opacity:1}.mine-del:hover{color:#fff;background:var(--danger,#8f2f1b)}@media (pointer:coarse){.mine-del{opacity:1}}.pitem{position:relative}.pitem .nm{flex-direction:column;align-items:center;gap:0;margin-top:4px;line-height:1.18;display:flex}.pitem .nm b{font-size:var(--fs-meta);color:var(--ink-mid);text-align:center;font-weight:600}.pitem .nm i{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.02em;color:var(--ink-light);text-align:center;margin-top:1px;font-style:normal}.pitem .nm .dims{color:var(--accent-text);white-space:nowrap}.pitem .padj{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.06em;color:var(--ink-mid);background:var(--paper-3);border-radius:var(--r-ctl);padding:1px 4px;font-style:normal;line-height:1.3;position:absolute;top:4px;left:4px}.pitem:hover .nm b{color:var(--ink)}.pitem .ptag{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.03em;color:var(--ink-light);background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-ctl);padding:1px 3px;line-height:1.15;display:none;position:absolute;top:3px;right:3px}.palette.searching .ptag{display:inline-block}.vwchips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.vwchip{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;min-width:0;font:inherit;flex-direction:column;flex:1 1 0;align-items:center;gap:1px;padding:3px 2px;transition:all .12s;display:flex}.vwchip svg{width:26px;height:24px;display:block}.vwchip i{font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light);font-style:normal;line-height:1}.vwchip:hover{border-color:var(--ink-mid)}.vwchip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--paper))}.vwchip.on i{color:var(--accent-text)}.phld rect{fill:currentColor;opacity:.12;animation:1.6s ease-in-out infinite phld-breathe}.phld.bad rect{fill:none;opacity:.75;animation:none}@keyframes phld-breathe{0%,to{opacity:.09}50%{opacity:.19}}@media (prefers-reduced-motion:reduce){.phld rect{animation:none}}.pitem.wide{border-style:dashed;flex-direction:row;grid-column:1/-1;justify-content:center;gap:8px;padding:11px 8px}.pitem.wide svg{width:20px;height:20px}.pitem.wide .nm{margin-top:0}.pitem.wide .nm b{font-size:var(--fs-meta)}.full{border:1px dashed var(--rule);border-radius:var(--r-ctl);cursor:pointer;width:100%;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-mid);background:0 0;justify-content:center;align-items:center;gap:7px;padding:9px;transition:all .15s;display:flex}.full:hover{border-color:var(--accent);color:var(--accent)}.full:disabled,.full:disabled:hover{opacity:.38;cursor:not-allowed;border-color:var(--rule);color:var(--ink-light);background:0 0}.full.ctx{border-style:solid}.tbtn.accent{background:var(--accent);border-color:var(--accent);color:var(--paper)}.tbtn.accent:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--paper)}.tbtn.accent.on{background:var(--accent-2);border-color:var(--accent-2)}.opscrim{z-index:60;-webkit-backdrop-filter:blur(3px);background:#15120c4d;animation:.14s both opfade;position:fixed;inset:0}body.dark .opscrim{background:#00000085}.opdlg{z-index:61;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);flex-direction:column;width:min(780px,93vw);height:min(760px,88vh);max-height:88vh;animation:.17s cubic-bezier(.2,.85,.3,1) both oppop;display:flex;position:fixed;top:47%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 34px 90px -26px #15120c9e,inset 0 1px #ffffff0d}.opscrim[hidden],.opdlg[hidden]{display:none!important}.rundlg{width:min(620px,93vw);height:auto;max-height:82vh}#buildGrid{padding:10px 16px 16px}.opgsec{border-bottom:1px solid var(--rule);grid-column:1/-1;align-items:baseline;gap:7px;margin:11px 0 -1px;padding-bottom:5px;display:flex}.opgsec:first-child{margin-top:1px}.opgsec span{font-size:var(--fs-meta);color:var(--ink-mid);font-weight:600}.opgsec i{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;color:var(--ink-light);font-style:normal}.rundlg .pitem:focus-visible{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 2px var(--accent);outline:none}@keyframes opfade{0%{opacity:0}to{opacity:1}}@keyframes oppop{0%{opacity:0;transform:translate(-50%,-50%)scale(.965)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.op-head{align-items:center;gap:12px;padding:15px 17px 11px;display:flex}.op-title{font-family:var(--mono);font-size:var(--fs-ctl);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mid);white-space:nowrap}.op-title b{color:var(--accent-text)}.op-hint{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-light);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex:1;overflow:hidden}.op-x{border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-btn);width:24px;height:24px;color:var(--ink-light);font-size:var(--fs-body);cursor:pointer;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;line-height:1;transition:all .12s;display:flex}.op-x:hover{border-color:var(--accent);color:var(--accent)}.op-searchwrap{flex:1;min-width:0;position:relative}.op-search{width:100%;font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-pop);padding:8px 32px 8px 12px;transition:all .15s}.op-search:focus{border-color:var(--accent);background:var(--paper);box-shadow:0 2px 0 var(--accent);outline:none}.op-search::placeholder{color:var(--ink-light)}.op-clear{width:22px;height:22px;color:var(--ink-light);cursor:pointer;border-radius:var(--r-ctl);font-size:var(--fs-body);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.op-clear:hover{color:var(--ink)}.op-clear.show{display:flex}#opDialog .op-head{gap:16px;padding:13px 14px 11px 17px}.op-foot{border-top:1px solid var(--rule);flex:none;align-items:center;gap:14px;height:32px;padding:0 12px 0 17px;display:flex}.op-foot .sp-keywrap{display:flex}.op-foot .sp-keybtn{width:22px;height:22px;font-size:var(--fs-ctl)}.opfilt{border-bottom:1px solid var(--rule);flex:none;align-items:center;gap:12px;margin-bottom:4px;padding:5px 14px 5px 17px;display:flex}.opsc{scrollbar-width:none;flex:auto;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.opsc-lb{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);color:var(--ink-light);flex:none;margin-right:4px}.opsc-c{font-family:var(--zh);font-size:var(--fs-ctl);letter-spacing:.03em;color:var(--ink-mid);border:1px solid var(--rule);border-radius:var(--r-btn);cursor:pointer;white-space:nowrap;background:0 0;flex:none;align-items:center;gap:4px;padding:4px 10px;line-height:14px;transition:all .12s;display:inline-flex}.opsc-c:hover{border-color:var(--ink-light);color:var(--ink)}.opsc-c.on{background:color-mix(in srgb,var(--accent) 11%,var(--paper));border-color:color-mix(in srgb,var(--accent) 55%,var(--rule));color:var(--ink);padding-left:7px}.opsc-c.on:before{content:"✓";font-size:var(--fs-micro);color:var(--accent-text);font-weight:700}.opsc-clr{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-light);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);background:0 0;border:0;flex:none;padding:4px 2px}.opsc-clr:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink-light);text-decoration-color:var(--ink-light)}.opsc-c:focus-visible,.opsc-clr:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.opkind{flex:none;align-items:center}.opf-btn{height:26px;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:7px;padding:0 8px;transition:all .12s;display:inline-flex}.opf-btn:hover,.opf-btn.on{background:var(--paper-2);border-color:var(--ink-light)}.opf-btn.cust{border-color:var(--accent);color:var(--accent-text)}.opf-btn .ca{margin-left:0}.opf-lb{color:var(--ink-light)}.opf-btn.cust .opf-lb{color:var(--accent-text)}.opf-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.opf-menu{transform-origin:100% 0;width:240px;min-width:0;padding:8px;left:auto;right:0}.opf-menu .mm-item{align-items:flex-start;margin-bottom:3px;padding:6px 9px}.opf-menu .mm-item:last-child{margin-bottom:0}.opf-it{flex-direction:column;flex:1;gap:2px;min-width:0;line-height:1.35;display:flex}.opf-it b{font-weight:500}.opf-it i{font-style:normal;font-size:var(--fs-meta);color:var(--ink-light)}.opf-chk{font-size:var(--fs-ctl);color:var(--accent-text);flex:none;line-height:1.35}.opf-menu .mm-item:not(.on) .opf-chk{visibility:hidden}.opfilt[hidden],.opsc[hidden],.opkind[hidden]{display:none}.opsc::-webkit-scrollbar{display:none}.opbody{flex:auto;grid-template-columns:176px minmax(0,1fr);min-height:0;display:grid}.opnav{border-right:1px solid var(--rule);min-height:0;padding:0 12px 4px 17px;overflow-y:auto}.opnav-sec{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);padding:0 0 3px 8px}.opnav-g+.opnav-sec{border-top:1px solid var(--rule);margin-top:5px;padding-top:6px}.optab{text-align:left;width:100%;font-family:var(--zh);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;padding:4px 8px;transition:all .12s;display:flex}.optab:hover{background:var(--paper-2)}.opnav-lb{min-width:0;font-size:var(--fs-ctl);color:var(--ink-mid);flex:1;line-height:16px;transition:all .12s}.opnav-n{font-family:var(--mono);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;color:var(--ink-light);flex:none;transition:all .12s}.optab:hover .opnav-lb{color:var(--ink)}.optab.on{background:var(--accent)}.optab.on .opnav-lb,.optab.on .opnav-n{color:#fff}.optab:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent);outline:none}.opgrid{scrollbar-gutter:stable;grid-template-columns:repeat(auto-fill,minmax(106px,1fr));align-content:start;gap:9px;min-height:0;padding:2px 8px 8px 14px;display:grid;overflow-y:auto}.opgrid::-webkit-scrollbar{width:9px}.opgrid::-webkit-scrollbar-thumb{background:var(--rule);border-radius:var(--r-btn)}.opgrid::-webkit-scrollbar-thumb:hover{background:var(--ink-light)}.opgrid .pitem{padding:12px 6px 10px}.opgrid .pitem svg{width:60px;height:52px}.opgrid .pitem .nm b{font-size:var(--fs-ctl)}.opgrid .pitem .nm i{font-size:var(--fs-micro)}.opgrid .pitem.kbd{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 2px var(--accent)}.opgrid .pitem.wide svg{width:22px;height:22px}.opgrid.searching .ptag{display:inline-block}.opgrid .pcat:first-child{border-top:none;margin-top:0;padding-top:2px}.opgrid .pcat{z-index:2;background:var(--paper);margin-bottom:0;padding-bottom:5px;position:sticky;top:-2px}.opgrid .pitem{scroll-margin-top:34px}.op-kbd{font-family:var(--mono);font-size:var(--fs-meta);border:1px solid var(--rule-2);border-radius:var(--r-ctl);color:var(--ink-light);padding:1px 5px}@media (width<=767px){.opdlg{height:auto}.opbody{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.opnav{border-right:none;border-bottom:1px solid var(--rule);padding:0 17px 11px;overflow:visible}.opnav-sec{padding-left:0}.opnav-g{flex-wrap:wrap;gap:5px;display:flex}.optab{white-space:nowrap;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-pill);flex-direction:row;flex:none;align-items:center;width:auto;padding:6px 12px}.optab.on{background:var(--accent);border-color:var(--accent)}.opnav-n{display:none}.opgrid{padding:6px 17px 8px}#opDialog .op-head{flex-wrap:wrap;row-gap:10px}.op-head .op-searchwrap{flex-basis:100%;order:3}.op-foot{display:none}}.canvas-area{flex:1;min-width:0;display:flex;position:relative}.canvas-ghost{z-index:2;pointer-events:none;visibility:hidden;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .3s,visibility 0s .3s;display:flex;position:absolute;inset:0}.canvas-ghost.show{visibility:visible;opacity:1;transition:opacity .3s}.cg-tiles{gap:12px;display:flex}.cg-tile{pointer-events:auto;border:1.5px dashed color-mix(in srgb,var(--ink-light) 62%,transparent);border-radius:var(--r-pop);width:138px;height:98px;color:var(--ink-mid);font-family:var(--zh);font-size:var(--fs-body);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:0;font-weight:500;transition:all .13s;display:flex}.cg-tile svg{width:22px;height:22px;color:var(--ink-light);flex:none;transition:all .13s}.cg-tile small{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.08em;color:var(--ink-light);font-weight:400}.cg-tile:hover{border-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent) 6%,transparent)}.cg-tile:hover svg{color:var(--accent-text)}.cg-tile:active{transform:scale(.98)}.cg-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.canvas-wrap{background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0/24px 24px, linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/24px 24px,var(--canvas-bg);background-attachment:local;flex:1;place-items:center;min-width:0;padding:26px;display:grid;overflow:auto}:root{--pan-slack:1200px}.canvas-wrap>.frame{margin:var(--pan-slack);cursor:auto}.canvas-wrap{cursor:grab}.canvas-wrap.panning{cursor:grabbing}body.file-drag:after{content:"";z-index:6;pointer-events:none;background:color-mix(in srgb,var(--accent) 7%,transparent);animation:.14s both mfade;position:fixed;inset:0}.dropcue{z-index:8;pointer-events:none;border:2px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:var(--r-sheet);background:color-mix(in srgb,var(--accent) 6%,transparent);flex-direction:column;justify-content:center;align-items:center;gap:14px;animation:.14s both mfade;display:flex;position:absolute;inset:16px}.dropcue[hidden]{display:none}.dropcue svg{width:34px;height:34px;color:var(--accent-text);opacity:.9;flex:none}.dropcue-t{font-family:var(--zh);font-size:var(--fs-name);color:var(--accent-text);text-align:center;letter-spacing:.02em;font-weight:500}.cg-drag{font-family:var(--zh);font-size:var(--fs-meta);color:var(--ink-light);text-align:center;opacity:.8;margin-top:2px}.cg-drag[hidden]{display:none}.viewzoom{z-index:6;font-family:var(--mono);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl);align-items:stretch;display:flex;position:absolute;bottom:14px;right:14px;overflow:hidden;box-shadow:0 6px 18px -10px #15120c73}.viewzoom button{font-family:var(--mono);font-size:var(--fs-name);color:var(--ink-mid);cursor:pointer;background:0 0;border:none;padding:5px 10px;line-height:1;transition:all .12s}.viewzoom button:hover{background:var(--paper-2);color:var(--ink)}.viewzoom .vz-val{text-align:center;min-width:52px;font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-mid);border-left:1px solid var(--rule-2);border-right:1px solid var(--rule-2);cursor:pointer;justify-content:center;align-items:center;padding:6px 9px;display:flex}.viewzoom .vz-val:hover{background:var(--paper-2);color:var(--ink)}.viewzoom .vz-fit{border-right:1px solid var(--rule-2);align-items:center;display:flex}body.ik-planro #svg,body.ik-planro #svg .item{cursor:grab}body.ik-planro .canvas-wrap{--canvas-bg:#d9e0e4;--grid:#2e4a5c24}body.dark.ik-planro .canvas-wrap{--canvas-bg:#171d22;--grid:#c8d7e114}body.ik-planro .frame{outline:2px solid var(--accent);outline-offset:4px}body.ik-planro .insdock,body.ik-planro .snapdock{display:none}.plan-chip{z-index:7;background:var(--paper);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--rule));border-radius:var(--r-pop);white-space:nowrap;align-items:center;gap:12px;height:26px;padding:0 12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px -12px #15120c80}.plan-chip[hidden]{display:none}.plan-chip.pinned{transform:none}.planbar-tag{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;color:var(--accent-text,var(--accent));align-items:center;gap:6px;display:flex}.viewzoom-label{border-right:1px solid var(--rule-2);color:var(--ink-light);font-size:var(--fs-micro);letter-spacing:.06em;white-space:nowrap;align-items:center;padding:0 9px;display:flex}.composition-status{z-index:7;pointer-events:none;opacity:0;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--rule));border-radius:var(--r-ctl);background:var(--paper);font-family:var(--mono);font-size:var(--fs-meta);white-space:nowrap;align-items:center;gap:8px;padding:6px 9px;transition:opacity .12s,transform .12s;display:flex;position:absolute;top:48px;right:14px;transform:translateY(-4px);box-shadow:0 8px 22px -14px #15120c8c}.composition-status.show{opacity:.96;transform:translateY(0)}.composition-status-label{color:var(--accent-text);letter-spacing:.04em;font-weight:600}.cvtl{z-index:8;flex-wrap:wrap;align-items:center;gap:18px;max-width:calc(100% - 28px);display:flex;position:absolute;top:14px;left:14px}.modeswitch{font-family:var(--mono);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl);display:flex;overflow:hidden;box-shadow:0 6px 18px -10px #15120c73}.modeswitch .ms-btn{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.08em;color:var(--ink-light);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;min-width:0;padding:6px 13px;transition:all .12s;display:flex;position:relative;overflow:hidden}.modeswitch .ms-btn+.ms-btn{border-left:1px solid var(--rule-2)}.modeswitch .ms-btn:hover{background:var(--paper-2);color:var(--ink)}.modeswitch .ms-btn.on,.modeswitch .ms-btn.on:hover{background:var(--accent);color:var(--paper)}.cvtl-mode{display:flex;position:relative}.modehint{z-index:8;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.03em;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,var(--paper));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--rule));border-radius:var(--r-ctl);white-space:normal;pointer-events:none;width:max-content;max-width:min(340px,60vw);padding:4px 8px;position:absolute;top:calc(100% + 4px);left:0}.modehint[hidden]{display:none}.viewzoom .vzg{align-items:stretch;display:flex}.viewzoom .vzg-comp,body.ik-compmode .viewzoom .vzg-view{display:none}body.ik-compmode .viewzoom .vzg-comp{display:flex}.viewzoom .vz-act{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.05em;color:var(--ink-mid);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 12px;transition:all .12s}.viewzoom .vz-act+.vz-act{border-left:1px solid var(--rule-2)}.viewzoom .vz-act:hover{background:var(--paper-2);color:var(--ink)}.viewzoom,.modeswitch{--ctl-h:26px;min-height:var(--ctl-h)}.viewzoom button,.viewzoom .vz-val,.viewzoom .vz-act,.viewzoom-label,.modeswitch .ms-btn{justify-content:center;align-items:center;padding-top:0;padding-bottom:0;display:flex}.snapdock{z-index:6;position:absolute;top:14px;right:14px}.snapdock .snap-split{--ctl-h:26px;min-height:var(--ctl-h);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl);box-shadow:0 6px 18px -10px #15120c73}.snapdock #snapBtn,.snapdock .snap-caret{color:var(--ink-light);background:0 0;border:none;justify-content:center;align-items:center;padding-top:0;padding-bottom:0;transition:all .12s;display:flex}.snapdock #snapBtn{border-radius:var(--r-ctl) 0 0 var(--r-ctl);padding-left:13px;padding-right:11px}.snapdock #snapBtn:hover{background:var(--paper-2);color:var(--ink)}.snapdock #snapBtn.on,.snapdock #snapBtn.on:hover{background:var(--accent);color:var(--paper)}.snapdock .snap-caret{border-radius:0 var(--r-ctl) var(--r-ctl) 0;border-left:1px solid var(--rule-2);padding-left:7px;padding-right:7px}.snapdock .snap-caret:hover,.snapdock .snap-caret.on{background:var(--paper-2);color:var(--ink)}.snapdock .dd-menu{transform-origin:100% 0;inset:calc(100% + 6px) 0 auto auto}@keyframes ddpopup{0%{opacity:0;transform:translateY(4px)scale(.97)}to{opacity:1;transform:none}}body.ik-compmode .snapdock{display:none}body.ik-compmode .frame{outline:2px solid var(--accent);outline-offset:4px}body.ik-compmode #svg{cursor:move}body.ik-compmode .panel:not(.right),body.ik-compmode .panel.right .rtabs,body.ik-compmode .panel.right .psec,body.ik-compmode .drawer-tab.left{opacity:.4;pointer-events:none}body.ik-compmode .composition-status{display:none}.dragreadout{z-index:50;pointer-events:none;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl);opacity:0;white-space:nowrap;padding:3px 7px;transition:opacity .1s;position:fixed;box-shadow:0 6px 18px -10px #15120c73}.dragreadout .dl{color:var(--ink-light);margin-right:5px}.dragreadout.show{opacity:.96}.frame{background:var(--paper-canvas,var(--paper));box-shadow:0 16px 48px -22px #15120c73,0 0 0 1px var(--rule);transition:outline-color .12s,outline-offset .12s;position:relative}.canvas-area.composition-active .frame{outline:2px solid var(--accent);outline-offset:4px}body.dark .frame{box-shadow:0 16px 48px -20px #000,0 0 0 1px var(--rule)}.framelbl{--flbl-gap:5px;margin-bottom:var(--flbl-gap);font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;color:var(--ink-light);border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;transform-origin:0 calc(100% + var(--flbl-gap));background:0 0;border:none;align-items:center;gap:4px;padding:2px 5px;transition:all .12s,transform;display:inline-flex;position:absolute;bottom:100%;left:0}.framelbl:after{content:"▾";font-size:var(--fs-micro);opacity:0;transition:opacity .12s}@media (hover:hover) and (pointer:fine){.framelbl:hover{background:var(--paper-2);color:var(--ink)}.framelbl:hover:after{opacity:1}}.framelbl:focus-visible{outline:1px solid var(--accent);outline-offset:1px}body.ik-compmode .framelbl{opacity:.35;pointer-events:none}.sheetpages{pointer-events:none;transform-origin:50% 0;justify-content:center;padding-top:10px;transition:transform;display:flex;position:absolute;top:100%;left:0;right:0}.sheetpages[hidden]{display:none}.sheetpages .spg{pointer-events:auto;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl);display:flex;overflow:hidden;box-shadow:0 6px 18px -12px #15120c80}.sheetpages button{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;color:var(--ink-light);border:none;border-right:1px solid var(--rule);cursor:pointer;white-space:nowrap;background:0 0;min-height:26px;padding:6px 14px}.sheetpages button:last-child{border-right:none}.sheetpages button[aria-selected=true]{background:var(--accent);color:#fff}@media (hover:hover) and (pointer:fine){.sheetpages button[aria-selected=false]:hover{color:var(--ink);background:var(--paper-2)}}.sheetpages button:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}body.ik-compmode .sheetpages{opacity:.35;pointer-events:none}.framelbl-act{color:var(--ink-mid);transform-origin:100% calc(100% + var(--flbl-gap));left:auto;right:0}.framelbl-act:after{content:none}.framelbl-act .ms-ic{margin-right:1px}body.ik-compmode .framelbl-act{opacity:1;pointer-events:auto;background:var(--accent);color:var(--paper);right:-6px}body.ik-planro .framelbl-act{display:none}.modeswitch .ms-ic{flex:none}#svg{touch-action:none;width:100%;height:auto;display:block}#svg.zooming{shape-rendering:optimizespeed;text-rendering:geometricprecision}.s{fill:var(--s-fill,none);stroke-linecap:round;stroke-linejoin:round}.o{stroke:var(--o-stroke,var(--accent))}.g{stroke:var(--g-stroke,var(--device))}.r{stroke:var(--rule)}.rr{stroke:var(--rule-2)}.of{fill:var(--accent)}.gf{fill:var(--device)}.fa{fill:var(--accent)}.fp2{fill:var(--paper-2)}.fp3{fill:var(--paper-3)}.fp{fill:var(--paper)}.fpg{fill:var(--fp-ground)}.fpt{fill:var(--fp-top)}.fpm{fill:var(--fp-mid)}.fps{fill:var(--fp-side)}.w22{stroke-width:calc(2.1px*var(--artk,1))}.w15{stroke-width:calc(1.6px*var(--artk,1))}.w12{stroke-width:calc(var(--g-w,1.3)*var(--artk,1)*1px)}.w10{stroke-width:calc(var(--g-w,1.05)*var(--artk,1)*1px)}.w08{stroke-width:calc(var(--g-w,.85)*var(--artk,1)*1px)}.w06{stroke-width:calc(.62px*var(--artk,1))}.bn{font-family:var(--mono);fill:var(--accent);font-size:10px}.bnl{font-family:var(--mono);fill:var(--ink-light);font-size:10px}.inkl{stroke:var(--ink-light)}.tx{font-family:JetBrains Mono,Noto Sans TC,monospace}.tac{fill:var(--accent)}.tin{fill:var(--ink)}.tml{fill:var(--ink-light)}.tmd{fill:var(--ink-mid)}.ink{stroke:var(--ink)}.dsp{font-family:var(--disp)}.item{cursor:move}.item .hov{fill:none;stroke:var(--accent);stroke-width:1px;opacity:0;pointer-events:none;vector-effect:non-scaling-stroke;transition:opacity .12s}.item .hov.line{stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.item:hover .hov{opacity:.42}.item:hover .hov.line{opacity:.22}.selmarks{pointer-events:none}.selmk-box{fill:none;stroke:var(--accent);stroke-width:1px;opacity:.55;pointer-events:none}.selmk-dot{fill:var(--accent);stroke:var(--paper);stroke-width:1.2px}.ctxmenu{z-index:200;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);min-width:202px;font-family:var(--zh);transform-origin:0 0;padding:5px;animation:.14s cubic-bezier(.2,.8,.3,1) both ddpop;position:fixed;box-shadow:0 18px 46px -16px #15120c8c}.ctxmenu[hidden]{display:none}.cm-item{width:100%;font-size:var(--fs-body);color:var(--ink);border-radius:var(--r-btn);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:6px 9px;transition:background .1s,color .1s;display:flex}.cm-item:hover{background:var(--paper-2)}.cm-item:hover .cm-ico{color:var(--ink-mid)}.cm-item[disabled]{opacity:.36;cursor:default}.cm-item[disabled]:hover{background:0 0}.cm-item[disabled]:hover .cm-ico{color:var(--ink-light)}.cm-item.danger,.cm-item.danger .cm-ico{color:var(--accent-2)}.cm-item.danger:hover{background:color-mix(in srgb,var(--accent-2) 13%,transparent)}.cm-ico{width:15px;height:15px;color:var(--ink-light);flex:0 0 15px;justify-content:center;align-items:center;transition:color .1s;display:inline-flex}.cm-ico svg{width:15px;height:15px;display:block}.cm-tx{white-space:nowrap;flex:auto;min-width:0}.cm-k{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);letter-spacing:.05em;flex:none}.wdrop{fill:none;stroke:var(--ink-light);stroke-width:1px;stroke-dasharray:3 3;opacity:.42;pointer-events:none;vector-effect:non-scaling-stroke}.axguide{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:7 5;opacity:.6;pointer-events:none;vector-effect:non-scaling-stroke}.vlockfoot{fill:var(--accent);stroke:none;stroke-dasharray:none;opacity:.75}.cm-pick{max-width:260px}.cm-pick .cm-tx{text-overflow:ellipsis;overflow:hidden}.cm-pick .cm-k svg{opacity:.8;display:block}.cm-div{background:var(--rule-2);height:1px;margin:4px 7px}.cm-gl{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);-webkit-user-select:none;user-select:none;pointer-events:none;padding:7px 9px 3px}.cm-sec{padding:6px 9px 7px}.cm-label{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);margin-bottom:6px}.cm-planes{gap:4px;display:flex}.cm-planes button{min-width:0;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-mid);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;flex:1;padding:5px 2px;transition:all .1s}.cm-planes button:hover{border-color:var(--accent);color:var(--accent)}.insp-multi{padding:4px 2px}.insp-multi .im-head{align-items:baseline;gap:7px;margin-bottom:3px;display:flex}.insp-multi .im-n{font-family:var(--disp);font-size:var(--fs-num);color:var(--accent);font-weight:700;line-height:1}.insp-multi .im-t{font-family:var(--zh);font-size:var(--fs-name);color:var(--ink)}.insp-multi .im-hint{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-light);margin:0 0 13px}.insp-multi .tbtn{width:100%;margin-top:7px}.insp-multi .im-types{flex-wrap:wrap;gap:4px;margin:6px 0 8px;display:flex}.insp-multi .im-ty{min-height:var(--hit);font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-mid);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:5px;padding:2px 10px;transition:all .12s;display:inline-flex}.insp-multi .im-ty:hover{border-color:var(--accent);color:var(--accent-text)}.insp-multi .im-ty i{font-style:normal;font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light)}.insp-multi .im-ty:hover i{color:var(--accent-text)}.marquee{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;opacity:.9;pointer-events:none}@keyframes ik-newflash{0%{opacity:.55}to{opacity:0}}.newflash{fill:color-mix(in srgb,var(--accent) 22%,transparent);stroke:var(--accent);pointer-events:none;opacity:0;animation:.62s ease-out forwards ik-newflash}@media (prefers-reduced-motion:reduce){.newflash{opacity:.4;animation:none}}.fmove{cursor:move}.fmove-hit{fill:#0000;stroke:none}.fmove-ln{fill:none;stroke:var(--accent);opacity:0;pointer-events:none;transition:opacity .1s}.fmove:hover .fmove-ln{opacity:.95}.handle{fill:var(--paper);stroke:var(--accent);stroke-width:1.4px;cursor:grab}.handle.vsel{fill:var(--accent);stroke:var(--paper);stroke-width:2px}.handle.vmid{fill:var(--paper);stroke:var(--accent);stroke-dasharray:2.4 2.2;opacity:.75}.handle.vmid:hover{opacity:1;stroke-dasharray:none}.runext{cursor:pointer;pointer-events:none}.runext line{stroke:var(--accent);opacity:.62;fill:none;stroke-linecap:round}.runext polygon{fill:var(--accent);stroke:none;opacity:.62}.runext-hit{fill:#0000;stroke:none;pointer-events:all}.runext:hover line,.runext:hover polygon{opacity:1}.wireext{cursor:pointer;pointer-events:none}.wireext-dot{fill:var(--paper);stroke:var(--accent);stroke-opacity:.62}.wireext path{fill:none;stroke:var(--accent);stroke-linecap:round;opacity:.62}.wireext-hit,.wiremid-hit{fill:#0000;stroke:none;pointer-events:all}.wireext:hover .wireext-dot{stroke-opacity:1}.wireext:hover path{opacity:1}.wiremid{cursor:grab;pointer-events:none}.wiremid:hover .handle.vmid{opacity:1;stroke-dasharray:none}.runjoin{fill:none;stroke:var(--accent);pointer-events:none}.runjoin.bad{stroke:var(--ink-light);stroke-dasharray:3 3;opacity:.7}.handle.wlead{fill:var(--accent);stroke:var(--paper);stroke-width:1.6px;cursor:grab}svg.altkey .wirehit,svg.altkey g.item{cursor:copy}#svg.spacepan{cursor:grab}.handle:active{cursor:grabbing}.thandle-stem{stroke:var(--accent);stroke-width:1.2px;opacity:.45;fill:none;pointer-events:none}.thandle-gly{fill:none;stroke:var(--accent);stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.thandle-rot circle,.thandle-scl polygon{transition:fill .1s}.thandle-rot:hover circle,.thandle-scl:hover polygon{fill:var(--accent)}.thandle-rot:hover .thandle-gly,.thandle-scl:hover .thandle-gly{stroke:var(--paper)}:root{--cur-rot:url("data:image/svg+xml;utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M12 5 A7 7 0 1 1 5.6 9.2%27 fill=%27none%27 stroke=%27white%27 stroke-width=%274%27 stroke-linecap=%27round%27/%3E%3Cpath d=%27M4.2 5.4 L5.7 9.8 L10.1 8.4%27 fill=%27none%27 stroke=%27white%27 stroke-width=%274%27 stroke-linejoin=%27round%27/%3E%3Cpath d=%27M12 5 A7 7 0 1 1 5.6 9.2%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27/%3E%3Cpath d=%27M4.2 5.4 L5.7 9.8 L10.1 8.4%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") 12 12}.thandle-rot,.thandle-rot .handle{cursor:var(--cur-rot),grab}.thandle-rot:active,.thandle-rot:active .handle{cursor:var(--cur-rot),grabbing}.thandle-scl{cursor:nwse-resize}.handle.corner{stroke-width:1.3px;transition:fill .1s}.handle.corner:hover{fill:var(--accent)}.szlock{cursor:help}.szlock-bg{fill:var(--paper);stroke:var(--ink-light);stroke-width:1.3px;transition:stroke .1s}.szlock-gly{fill:none;stroke:var(--ink-mid);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.szlock:hover .szlock-bg{stroke:var(--ink)}.gline{stroke:var(--device);opacity:.55}.gline.gsolid{opacity:1;stroke-opacity:.55}.fpvol{pointer-events:none}:root{--fp-dim:.5}.fpvol.fppen{opacity:var(--fp-dim);transition:opacity .16s}.fpvol.fptgt polygon{stroke:var(--accent);stroke-opacity:1;stroke-width:2.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fpvol.fpdim,.fpvol.fphov,.itdim{opacity:var(--fp-dim);transition:opacity .16s}.gfill{fill:var(--device)}.rpt{fill:#beb9ae}.rpm{fill:#aba59a}.rps{fill:#979186}.rpg{fill:#837d72}.rpp{fill:#d2cdc2}.rpt,.rpm,.rps,.rpg,.rpl,.rpp{stroke:#6f6a60}.rgl{fill:#f7f5ef;fill-opacity:.18;stroke:#6f6a60;stroke-opacity:.55}.rgi{fill:#fff;fill-opacity:.7;stroke:none}.field{margin-bottom:10px}.field label{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.field.chips{flex-wrap:wrap;align-items:center;gap:0 8px;display:flex}.field.chips>label{flex:none;min-width:48px;margin-bottom:0;display:block}.field.chips>.chiprow{flex-wrap:wrap;flex:1;gap:4px;min-width:0;display:flex}.field.chips .chiprow>.seg{flex:0 auto}.field.chips .chiprow>.seg>button{padding:0 8px}.field.stack{flex-direction:column;align-items:stretch;width:100%;display:flex}.field.stack>label{margin-bottom:5px}.field label b{color:var(--ink-mid);text-transform:none;letter-spacing:.02em;font-weight:500}.field.cap{margin-bottom:0}.capbtn{width:var(--hit);height:var(--hit);font-size:var(--fs-body);color:var(--ink-light);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;margin:-4px 0;line-height:1;transition:color .12s,border-color .12s,background .12s;display:flex}.capbtn:hover{color:var(--ink);border-color:var(--rule);background:var(--paper)}.capbtn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.capdd{height:var(--hit);font-family:var(--mono);font-size:var(--fs-ctl);letter-spacing:.02em;text-transform:none;color:var(--ink-mid);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:2px;margin:-4px -4px -4px 0;padding:0 4px 0 6px;transition:color .12s,border-color .12s,background .12s;display:flex}.capdd:hover,.capdd.on{color:var(--ink);border-color:var(--rule);background:var(--paper)}.capdd:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.nrow>.field{flex:1;min-width:0;margin-bottom:8px}.pplan{width:100%;height:auto;margin:2px 0 8px;display:block}.pplan .cell{fill:var(--paper-2);stroke:var(--rule)}.pplan .hole{fill:var(--paper);stroke:var(--rule);stroke-dasharray:2 2}.pplan .node{fill:var(--ink-mid)}.pplan .node2{fill:var(--ink-mid);opacity:.85}.pplan .edge{fill:#0000;cursor:pointer}.pplan .edge:hover{fill:color-mix(in srgb,var(--accent) 12%,transparent)}.pplan .line{stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}.pplan .band{stroke:var(--ink-light);stroke-width:4px;opacity:.6}.pplan .fill{stroke:var(--ink);stroke-width:3px;opacity:.7}.pplan .stairbox{fill:var(--paper);stroke:var(--accent);stroke-width:1.2px}.pplan .tread{stroke:var(--ink);stroke-width:1.2px}.pplan .lab{font-family:var(--mono);fill:var(--ink-light);letter-spacing:.08em;font-size:8px}.pplan .lab.on{fill:var(--accent-text);font-weight:600}.pattach label>span>b{margin-left:6px}.phint{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);line-height:1.5;display:block}.arow{border-top:1px solid var(--rule-2);grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;padding:6px 0 8px 8px;transition:box-shadow .12s;display:grid;box-shadow:inset 2px 0 #0000}.arow:last-of-type{border-bottom:1px solid var(--rule-2)}.arow.sel{box-shadow:inset 2px 0 0 var(--accent)}.arow .t{text-align:left;border-radius:var(--r-ctl);min-width:0;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-light);cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;margin:0 -4px;padding:2px 4px;display:flex}.arow.sel .t{color:var(--accent-text)}.arow .t:hover{background:var(--paper-2)}.arow span.t{cursor:default}.arow span.t:hover{background:0 0}.arow.off .t,.arow.off .x{opacity:.5}.arow .t b{color:var(--ink-mid);text-transform:none;letter-spacing:.02em;font-weight:500}.arow .tg{margin:0}.arow .x{width:var(--hit);height:var(--hit);color:var(--ink-light);font-family:var(--mono);cursor:pointer;border-radius:var(--r-ctl);opacity:.55;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.arow:hover .x{opacity:1}.arow .x:hover{background:var(--paper-2);color:var(--danger)}.arow .ctl{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;display:flex}.arow .ctl .seg{flex:100%;min-width:0}.arow .ctl .nfield{flex:0 calc(50% - 3px);min-width:0;margin:0}.arow .ctl .nfield:has(.nbtn){flex:calc(50% - 3px)}.arow .pswx{align-items:center;gap:6px;margin-left:auto;display:flex}.arow .pswx .nlb{padding:0}.seg[data-kind=bits] button{min-height:32px;padding-bottom:7px;position:relative}.seg[data-kind=bits] button:after{content:"";background:var(--ink-mid);border-radius:1px;height:2px;position:absolute;bottom:6px;left:5px;right:5px}.seg[data-kind=bits] button.gone{color:var(--ink-light)}.seg[data-kind=bits] button.gone:after{border-top:1px dashed var(--rule);background:0 0;height:0}.seg.sm button{min-height:22px;font-size:var(--fs-micro)}.pinfo{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);grid-column:1/-1;grid-template-columns:34px 1fr;align-items:center;gap:8px;margin-top:4px;padding:6px 8px;display:grid}.pinfo svg{width:34px;height:26px;display:block}.pinfo svg path{stroke:var(--ink);stroke-width:1.3px;fill:none;stroke-linejoin:round}.pinfo svg .a{stroke:var(--accent)}.pinfo .n{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);font-weight:600;line-height:1.3}.pinfo .w{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);line-height:1.4}.padd{width:100%;margin-top:8px;display:block}.addbtn{width:100%;min-height:28px;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mid);border:1px dashed var(--rule);border-radius:var(--r-ctl);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;display:flex}.addbtn:hover,.addbtn.on{border-color:var(--ink-mid);color:var(--ink)}.pdd-menu .mm-item{font-family:var(--mono);font-size:var(--fs-ctl);letter-spacing:.04em;margin-bottom:4px}.pdd-menu .mm-item:last-child{margin-bottom:0}.bomline{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);width:100%;font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-mid);cursor:pointer;text-align:left;align-items:center;gap:6px;margin-top:12px;padding:7px 9px;display:flex}.bomline:hover{border-color:var(--ink-mid)}.bomline b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.bomline .go{color:var(--accent-text);margin-left:auto}.bomlist{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-mid);gap:3px;margin:6px 0 0;padding:0;list-style:none;display:grid}.bomlist li{border-bottom:1px dashed var(--rule-2);justify-content:space-between;gap:8px;padding:2px 0;display:flex}.bomlist li b{color:var(--accent-text);font-variant-numeric:tabular-nums;font-weight:600}input[type=range]{width:100%;accent-color:var(--accent);height:3px}.seg{flex-wrap:wrap;gap:4px;display:flex}.seg button{text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:28px;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mid);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;flex:1;justify-content:center;align-items:center;padding:0 4px;transition:all .12s;display:flex;overflow:hidden}.seg button:hover{border-color:var(--ink-mid)}.seg button.on{background:var(--accent);border-color:var(--accent);color:var(--paper)}.seg button[hidden]{display:none}.seg button:disabled{opacity:.4;cursor:default;border-color:var(--rule)}.arche-sel{grid-template-columns:1fr 1fr;gap:5px;display:grid}.arche-opt{color:var(--ink-light);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:8px 6px 7px;transition:all .12s;display:flex;position:relative}.arche-opt:hover{border-color:var(--ink-mid);color:var(--ink-mid)}.arche-opt.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--paper));color:var(--accent-text)}.arche-opt .ao-ic{flex:none;width:26px;height:26px;display:block}.arche-opt .ao-ic path{fill:currentColor;fill-opacity:.14;stroke:currentColor;stroke-width:1.1px;stroke-linejoin:round}.arche-opt .ao-ic .ao-w{fill-opacity:.3}.arche-opt .ao-name{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);letter-spacing:.01em;text-align:center;font-weight:600;line-height:1.25}.arche-opt.on .ao-name{color:var(--accent-text)}.arche-opt .ao-pro{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.06em;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 14%,var(--paper));border-radius:var(--r-ctl);align-items:center;gap:2px;padding:1px 3px;line-height:1.3;display:inline-flex;position:absolute;top:4px;right:4px}.fp-shape{align-items:center;gap:11px;display:flex}.fp-mini{border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--paper-2);flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.fp-meta{flex:1;min-width:0}.fp-meta p{font-size:var(--fs-ctl);color:var(--ink-mid);margin:0 0 6px;line-height:1.4}.fp-meta .tbtn{width:100%}.fp-shape+.nfield{margin-top:8px}#envdims>.nfield:last-child{margin-bottom:0}#envdims>.nrow{row-gap:8px}#envdims>.nrow>.nfield{margin-bottom:0}.swatches{flex-wrap:wrap;align-items:center;gap:5px;display:flex;position:relative}.swatches .sw{border-radius:var(--r-ctl);border:1px solid var(--rule);cursor:pointer;width:18px;height:18px;padding:0;transition:transform .12s;position:relative}@media (hover:hover) and (pointer:fine){.swatches .sw:hover{transform:scale(1.12)}}.swatches .sw.on{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink)}.swatches .sw-none{background:var(--paper-2)}.swatches .sw-none:after{content:"";background:linear-gradient(45deg,transparent 43%,var(--ink-light) 43%,var(--ink-light) 57%,transparent 57%);position:absolute;inset:3px}.swatches .sw-add{color:var(--ink-light);background:0 0;border-style:dashed;justify-content:center;align-items:center;display:flex}.swatches .sw-add:hover{color:var(--accent-text);border-color:var(--accent)}.swatches .sw-add:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.swatches .sw-pick{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute}.row{gap:6px;display:flex}input.txin{width:100%;min-height:var(--fld-h);font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);padding:5px 7px}textarea.txin{width:100%;font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);resize:vertical;padding:6px 7px;line-height:1.6}textarea.txin:focus,input.txin:focus{border-color:var(--accent);outline:none}input.valin{width:48px;font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-mid);border-radius:var(--r-ctl);text-align:right;text-transform:none;letter-spacing:0;-moz-appearance:textfield;background:0 0;border:1px solid #0000;padding:2px 3px;font-weight:500;line-height:1;transition:border-color .12s,background .12s,color .12s}input.valin:hover{border-color:var(--rule)}input.valin:focus{border-color:var(--accent);background:var(--paper-2);color:var(--ink);outline:none}input.valin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input.valin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field label .unit{font-style:normal;font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light)}#insp,#spaceBody,#canvasPane,#sheetInfo,.nrow{flex-wrap:wrap;align-content:flex-start;column-gap:6px;display:flex}#insp>*,#spaceBody>*,#canvasPane>*,#sheetInfo>*,.nrow>*{flex:0 0 100%;min-width:0}#insp>.nfield,#spaceBody>.nfield,#canvasPane>.nfield,#sheetInfo>.nfield,.nrow>.nfield{flex:calc(50% - 3px)}#insp>.sh-sec,#spaceBody>.sh-sec,#canvasPane>.sh-sec,#sheetInfo>.sh-sec{flex:0 0 calc(100% + var(--bleed,13px) * 2)}#spaceBody,#canvasPane,#sheetInfo{--bleed:13px}#insp{--bleed:18px}.nfield{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);align-items:center;width:auto;min-height:28px;margin:0 0 8px;transition:border-color .12s;display:flex;overflow:hidden}.nfield.pct{background:linear-gradient(90deg,var(--paper-3) 0 var(--v,0%),var(--paper-2) var(--v,0%) 100%)}.nfield:hover{border-color:var(--ink-mid)}.nfield:focus-within{border-color:var(--accent)}.nfield.vzsel .nlb{color:var(--accent)}.nfield.mixed{border-style:dashed}.nfield.mixed .valin{min-width:5ch}.nfield.mixed .valin::placeholder{font-family:var(--zh);color:var(--ink-light);opacity:1}.nlb{min-width:0;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.03em;color:var(--ink-light);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:0 auto;align-self:stretch;align-items:center;padding:0 7px;display:flex;overflow:hidden}.nlb[data-for]{cursor:ew-resize}.nlb[data-for]:hover,.nlb.on{color:var(--accent-text)}.nfield .valin{text-align:left;background:0 0;border:1px solid #0000;border-radius:0;flex:none;width:4ch;min-width:0;padding:0 1px 0 0}.nfield .valin:hover{border-color:#0000}.nfield .valin:focus{color:var(--ink);background:0 0;border-color:#0000;outline:none}.nfield .unit{font-style:normal;font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);flex:none;margin-right:auto;padding-right:7px}.nfield>.nbtn{border:0;border-left:1px solid var(--rule);width:24px;color:var(--ink-light);cursor:pointer;background:0 0;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:0;transition:all .12s;display:flex}.nfield>.nbtn:hover{color:var(--accent);background:var(--paper-3)}body.ik-scrub,body.ik-scrub *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.field:has(>.seg):not(:has(label>b)):not(.stack):not(.chips){flex-wrap:wrap;align-items:center;gap:0 8px;margin-bottom:10px;display:flex}.field:has(>.seg):not(:has(label>b)):not(.stack):not(.chips)>label{flex:none;min-width:48px;margin-bottom:0;display:block}.field:has(>.seg):not(:has(label>b)):not(.stack):not(.chips)>.seg{flex-wrap:nowrap;flex:1;min-width:0}.field:has(>label):has(>.seg):not(:has(label>b)):not(.stack):not(.chips)>.seg{min-width:max-content}.field:has(>.seg):not(:has(label>b)):not(.stack):not(.chips)>.hint{flex:0 0 100%;margin-top:5px}.swx{border:1px solid var(--rule);border-radius:var(--r-pop);background:var(--paper-2);cursor:pointer;flex:none;width:30px;height:16px;padding:0;transition:all .14s;position:relative}.swx>i{background:var(--ink-light);border-radius:50%;width:10px;height:10px;transition:all .14s;position:absolute;top:2px;left:2px}.swx:hover{border-color:var(--ink-mid)}.swx.on{background:var(--accent);border-color:var(--accent)}.swx.on>i{background:var(--paper);left:16px}.swx:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field:has(>.swx){grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;margin-bottom:10px;display:grid}.field:has(>.swx)>label{min-width:0;margin-bottom:0;display:block}.field:has(>.swx)>label b{margin-top:3px;display:block}.field:has(>.swx)>.hint{grid-column:1/-1;margin-top:5px}.empty{font-size:var(--fs-ctl);color:var(--ink-light);font-weight:300;line-height:1.7}.danger{color:var(--accent-2);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.danger:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.hint{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);letter-spacing:.02em;margin-top:6px;line-height:1.6}.dimro{font-family:var(--mono);font-size:var(--fs-name);color:var(--accent-text);padding:2px 0;font-weight:600}#scaleOut{font-family:var(--mono);font-size:var(--fs-body);letter-spacing:.03em;color:var(--accent-text);margin-top:1px;font-weight:600}#scaleOut.cells,.dimro.off{color:var(--ink-light);font-weight:500}.dimrow{margin-bottom:10px}.ddmini{min-width:0;font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-mid);cursor:pointer;text-transform:none;background:0 0;border:0;flex:1;justify-content:space-between;align-self:stretch;align-items:center;gap:3px;padding:0 7px 0 0;transition:color .12s;display:flex}.ddmini b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ddmini i{font-style:normal;font-size:var(--fs-micro);color:var(--ink-light);flex:none}.nfield.off{opacity:1}.nfield.off .valin,.nfield.off .ddmini b{color:var(--ink-light)}.ddmini[aria-expanded=true]{color:var(--accent-text)}.dmpop{z-index:70;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-btn);flex-direction:column;gap:1px;min-width:88px;padding:4px;animation:.12s cubic-bezier(.2,.8,.3,1) both ddpop;display:flex;position:fixed;box-shadow:0 14px 34px -14px #15120c80}.dmpop[hidden]{display:none}.dmpop button{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.03em;text-align:left;color:var(--ink-mid);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:none;padding:5px 8px;transition:all .1s}.dmpop button:hover{background:var(--paper-2);color:var(--ink)}.dmpop button.on{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 10%,var(--paper))}.ihb{width:13px;height:13px;font-family:var(--mono);font-size:var(--fs-micro);text-align:center;color:var(--ink-light);border:1px solid var(--rule);cursor:help;text-transform:none;background:0 0;border-radius:50%;flex:none;margin-left:5px;padding:0;font-style:italic;line-height:11px;transition:all .12s}.ihb:hover,.ihb[aria-expanded=true]{color:var(--accent-text);border-color:var(--accent)}.ihpop{z-index:70;width:236px;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-mid);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-btn);padding:9px 11px;line-height:1.65;animation:.13s cubic-bezier(.2,.8,.3,1) both ddpop;position:fixed;box-shadow:0 16px 40px -16px #15120c80}.ihpop[hidden]{display:none}.hint.warn{color:var(--accent-text);border-left:2px solid var(--accent);padding-left:7px}.hint.faint{opacity:.62}.sh-sec{margin:17px calc(var(--bleed,13px) * -1) 10px;padding:13px var(--bleed,13px) 0;border-top:1px solid var(--rule-2);align-items:baseline;gap:7px;display:flex}.sh-ico{color:var(--ink-light);flex:none;align-self:center;display:block}.sh-tx{flex-wrap:wrap;align-items:baseline;gap:7px;min-width:0;line-height:1.2;display:flex}.sh-cn{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.sh-en{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);text-transform:uppercase;letter-spacing:var(--track-en);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}#sheetInfo>.sh-sec:first-child,#spaceBody>.sh-sec:first-child{border-top:none;margin-top:0;padding-top:2px}:is(#insp>:has(+.sh-sec),#spaceBody>:has(+.sh-sec),#canvasPane>:has(+.sh-sec),#sheetInfo>:has(+.sh-sec),#insp>:has(+[hidden]+.sh-sec),#spaceBody>:has(+[hidden]+.sh-sec),#canvasPane>:has(+[hidden]+.sh-sec),#sheetInfo>:has(+[hidden]+.sh-sec)){margin-bottom:10px}.sh-reset{border:1px dashed var(--rule);border-radius:var(--r-btn);width:100%;color:var(--ink-light);font-family:var(--zh);font-size:var(--fs-ctl);cursor:pointer;background:0 0;margin:10px 0 2px;padding:8px 10px;transition:all .12s;display:block}.sh-reset:hover{color:var(--ink);border-color:var(--ink-light)}.sh-sub{border-left:1px solid var(--rule-2);margin-left:10px;padding-left:11px}.sh-sub[hidden]{display:none}.sh-sublink{text-align:left;border:1px solid var(--rule);border-radius:var(--r-btn);background:var(--paper-2);width:100%;color:var(--ink-mid);font-family:var(--zh);font-size:var(--fs-ctl);cursor:pointer;padding:7px 9px;line-height:1.35;transition:all .12s;display:block}.sh-sublink:hover{color:var(--ink);border-color:var(--accent);background:var(--paper)}.sh-sublink b{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.02em;color:var(--ink-light);margin-top:2px;font-weight:400;display:block}.field:has(>label+input[type=range]){grid-template-columns:minmax(0,1fr) 84px;align-items:center;column-gap:8px;display:grid}.field:has(>label+input[type=range])>label{margin-bottom:0}.field:has(>label+input[type=range]) .valin{width:38px}:root{--hit:24px}#layers{flex-direction:column;gap:3px;max-height:320px;margin-top:2px;display:flex;overflow-y:auto}.lyr{border-radius:var(--r-ctl);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:4px 5px;transition:all .12s;display:flex;position:relative}.lyr:hover{background:var(--paper-2)}.lyr.sel{background:var(--paper-2);border-color:var(--accent)}.lyr[data-ord=manual]{border-left:2px solid var(--rule);border-radius:0 var(--r-ctl) var(--r-ctl) 0;padding-left:4px}.lyr[data-ord=manual]:hover,.lyr[data-ord=manual].sel{border-left-color:var(--accent)}.lgrip{opacity:.42;width:7px;height:13px;color:var(--ink-light);cursor:grab;background:radial-gradient(currentColor 1px,#0000 1.4px) 0 0/3.5px 4.3px;flex:none;margin-right:-2px}.lyr:hover .lgrip{opacity:.75}.lgrip:active{cursor:grabbing}.lyr .ic{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);flex:none;justify-content:center;align-items:center;width:30px;height:23px;display:flex;overflow:hidden}.lyr.sel .ic{background:var(--paper)}.lyr .ic svg{width:26px;height:19px;display:block}.lyr .nm{min-width:0;font-size:var(--fs-ctl);color:var(--ink-mid);white-space:nowrap;text-overflow:ellipsis;flex:1;line-height:1.25;overflow:hidden}.lyr .nm small{font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.lyr .lgtag{vertical-align:baseline;text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-family:var(--zh);font-size:var(--fs-micro);color:var(--gc,var(--accent-text));background:color-mix(in srgb,var(--gc,var(--accent)) 12%,transparent);border:1px solid color-mix(in srgb,var(--gc,var(--accent)) 26%,transparent);border-radius:var(--r-pill);cursor:pointer;margin-right:6px;padding:0 5px;line-height:1.5;transition:all .12s;display:inline-block;overflow:hidden}.lyr .lgtag:hover{background:color-mix(in srgb,var(--gc,var(--accent)) 22%,transparent);border-color:var(--gc,var(--accent))}.lyr .lgtag:active{transform:translateY(1px)}.lyr .lgtag:focus-visible{outline:2px solid var(--gc,var(--accent));outline-offset:1px}.lyr .lyasm{vertical-align:baseline;font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light);align-items:center;gap:2px;margin-right:6px;line-height:1.5;display:inline-flex}.lyr .lyasm svg{opacity:.8;flex:none}.lyr-ghead{border-bottom:1px solid var(--rule);-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:6px;margin-top:8px;padding:6px 3px 5px;transition:color .12s;display:flex}.lyr-ghead:hover .lg-nm{color:var(--ink)}.lyr-ghead .lg-chev{color:var(--ink-light);flex:none;display:inline-flex}.lyr-ghead:first-child{margin-top:2px}.lyr-ghead .lg-nm{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink);flex:1;font-weight:600}.lyr-ghead .lg-nm small{font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light);letter-spacing:.05em;text-transform:none;margin-left:5px}.lyr-ghead .lg-ct{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);flex:none}.lyr-tools{align-items:flex-start;gap:3px;margin:2px 0 4px;display:flex}.lyr-tools .lyr-filter{flex:1;min-width:0;margin:0}.lyr-tools.searching .lfx{display:none}.lyr-tools.searching .lyr-filter,.lyr-tools.searching .lfx-chips{flex:none}@keyframes lyrfield{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:none}}.lyr-tools.searching .lyr-search{animation:.13s cubic-bezier(.2,.8,.3,1) both lyrfield}@media (prefers-reduced-motion:reduce){.lyr-tools.searching .lyr-search{animation:.12s both opfade}}.lyr-filter{align-items:flex-start;gap:3px;margin:2px 0 4px;display:flex}.lfx-chips{flex-wrap:wrap;flex:1;gap:3px;min-width:0;display:flex}.lfx{font-family:var(--zh);font-size:var(--fs-ctl);border-radius:var(--r-ctl);color:var(--ink-mid);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;align-items:baseline;gap:3px;padding:4px;line-height:1;transition:all .12s;display:inline-flex}.lfx:hover{background:var(--paper-2);border-color:var(--rule);color:var(--ink)}.lfx i{font-style:normal;font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light)}.lfx.off{border-color:color-mix(in srgb,var(--ink-light) 45%,transparent);color:var(--ink-light);opacity:.6;background:0 0;border-style:dashed}.lfx.off:hover{opacity:1;background:0 0}.lfx.off span{text-decoration:line-through;text-decoration-thickness:1px}.lfx-all{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.06em;border-radius:var(--r-ctl);color:var(--accent-text);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 5px;transition:all .12s}.lfx-all:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.lyr.ly-off{opacity:.45}.lyr.ly-off.sel{opacity:1}.lyr-ghead .lg-add{width:var(--hit);height:var(--hit);color:var(--ink-light);cursor:pointer;border-radius:var(--r-ctl);opacity:.7;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.lyr-ghead .lg-add:hover{opacity:1;color:var(--accent);background:var(--paper-3)}.lyr .act{opacity:0;pointer-events:none;background:linear-gradient(to right,transparent,var(--paper-2) 40%);align-items:center;gap:1px;padding-left:26px;transition:opacity .12s;display:flex;position:absolute;top:0;bottom:0;right:3px}.lyr:hover .act,.lyr.sel .act{opacity:1;pointer-events:auto}.lyr .ab{width:var(--hit);height:var(--hit);color:var(--ink-light);cursor:pointer;border-radius:var(--r-ctl);font-family:var(--mono);font-size:var(--fs-ctl);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.lyr .ab:hover{background:var(--paper-3);color:var(--ink)}.lyr.ly-hidden .ic,.lyr.ly-hidden .nm{opacity:.4}.lyr .ab.on,.lyr .ab.on:hover{color:var(--accent)}.lyr .nlock{vertical-align:-1px;color:var(--accent);margin-right:3px;display:inline-flex}.lyr .nlock svg{width:9px;height:9px}.lyr-rename{width:100%;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper);border:1px solid var(--accent);border-radius:var(--r-ctl);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);outline:none;padding:2px 5px}.lyr[draggable=true]{cursor:grab}.lyr.dragging{opacity:.4}.lyr.ly-sub{padding-left:calc(5px + var(--lvl,0) * 14px)}.lyr.ly-sub:before{content:"";top:2px;bottom:2px;left:calc(var(--lvl,0) * 14px - 4px);border-left:1px solid color-mix(in srgb, var(--ink-light) 40%, transparent);pointer-events:none;position:absolute}.lyr-zone{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-mid);-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:6px;padding:7px 3px 3px;font-weight:600;transition:color .12s;display:flex}.lyr-zone:hover{color:var(--ink)}.lyr-zone .lz-chev{color:var(--ink-light);flex:none;display:inline-flex}.lyr-zone small{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.07em;color:var(--ink-light);font-weight:400}.lyr-zone .lz-ct{font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light);margin-left:auto;font-weight:400}.lyr-zempty{font-size:var(--fs-meta);color:var(--ink-light);border-left:2px dashed var(--rule);background:var(--paper-2);border-radius:0 var(--r-ctl) var(--r-ctl) 0;margin:1px 0 2px;padding:6px 8px 7px 13px;line-height:1.6}.lyr-zonewrap{border-radius:var(--r-ctl);position:relative}.lyr-zonewrap.drop-zone{background:color-mix(in srgb,var(--accent) 11%,transparent);outline:1px dashed var(--accent);outline-offset:1px}.lyr-zonewrap.drop-zone:after{content:attr(data-droplabel);pointer-events:none;text-align:center;font-family:var(--zh);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--paper);background:var(--accent);border-radius:var(--r-ctl);padding:4px 8px;font-weight:600;line-height:1.3;position:absolute;top:3px;left:4px;right:4px;box-shadow:0 2px 8px -2px #15120c66}.lyr-zonewrap.drop-zone.drop-no{background:color-mix(in srgb,var(--ink) 6%,transparent);outline-color:var(--ink-light);outline-style:dotted}.lyr-zonewrap.drop-zone.drop-no:after{content:attr(data-dropwhy);color:var(--paper);background:var(--ink-mid)}.lyr-zone-find{cursor:default;color:var(--accent-text)}.lyr-zone-find .lz-chev{width:11px}.lfx-find{width:var(--hit);height:var(--hit);color:var(--ink-light);cursor:pointer;border-radius:var(--r-ctl);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex}.lfx-find:hover{color:var(--ink);background:var(--paper-2);border-color:var(--rule)}.lfx-find.on{color:var(--accent);border-color:var(--accent)}.lyr-search{flex:1;order:-1;align-items:center;gap:3px;min-width:0;display:flex}.lyr-search[hidden]{display:none}.lyr-search input{min-width:0;min-height:var(--hit);font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);outline:none;flex:1;padding:3px 7px;line-height:1.4}.lyr-search input:focus{border-color:var(--accent)}.lyr-search button{width:var(--hit);height:var(--hit);color:var(--ink-light);font-size:var(--fs-meta);cursor:pointer;border-radius:var(--r-ctl);background:0 0;border:none;flex:none}.lyr-search button:hover{color:var(--ink);background:var(--paper-2)}.lyr.drop-above,.lyr.drop-below{position:relative}.lyr.drop-above:after,.lyr.drop-below:after{content:"";background:var(--accent);pointer-events:none;border-radius:1px;height:2px;position:absolute;left:2px;right:2px}.lyr.drop-above:after{top:-1px}.lyr.drop-below:after{bottom:-1px}.item.locked{cursor:default}.insp-name-wrap{border-bottom:1px solid var(--rule-2);margin-bottom:13px;padding-bottom:12px}.insp-name{width:100%;font-family:var(--disp);font-size:var(--fs-name);color:var(--ink);border-radius:var(--r-ctl);background:0 0;border:1px solid #0000;outline:none;padding:4px 7px;font-weight:700;transition:all .12s;display:block}.insp-name:hover{border-color:var(--rule)}.insp-name:focus{border-color:var(--accent);background:var(--paper);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.insp-name::placeholder{color:var(--ink-light);font-weight:400}.insp-name-sub{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);color:var(--ink-light);margin-top:5px;padding-left:8px}.lyr-empty{font-size:var(--fs-meta);color:var(--ink-light);padding:6px 4px;font-weight:300;line-height:1.6}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:var(--r-btn)}::-webkit-scrollbar-track{background:0 0}.modal-bg{z-index:100;background:color-mix(in srgb,var(--ink) 40%,transparent);justify-content:center;align-items:center;animation:.14s both mfade;display:flex;position:fixed;inset:0}@keyframes mfade{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);width:344px;max-width:calc(100vw - 40px);padding:22px;animation:.18s cubic-bezier(.2,.8,.3,1) both mpop;box-shadow:0 26px 64px -22px #15120c8c}@keyframes mpop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal h3{font-family:var(--disp);font-size:var(--fs-title);margin-bottom:4px;font-weight:700}.modal p{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);letter-spacing:.02em;margin-bottom:16px;line-height:1.6}.obm{width:min(720px,100vw - 40px);max-height:88vh}.ob-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.ob-head[hidden]{display:none}.ob-lb{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light)}.ob-steps{gap:2px;display:flex}.ob-steps[hidden]{display:none}.ob-step{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:0;min-width:var(--hit);min-height:var(--hit);color:var(--ink-light);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:1px solid #0000;padding:0;transition:all .12s}.ob-step:hover{color:var(--ink);border-color:var(--rule)}.ob-step.on{color:var(--paper);background:var(--accent);border-color:var(--accent)}.ob-stage{aspect-ratio:16/9;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);width:100%;max-height:46vh;margin-bottom:14px;overflow:hidden}.ob-media{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ob-media[hidden]{display:none}.ob-media video,.ob-media img{object-fit:contain;width:100%;height:100%;display:block}.ob-stage:has(.ob-miss){background:0 0;border-style:dashed}.ob-todo{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);letter-spacing:.02em}.ob-body{min-height:92px;margin-bottom:16px;display:flow-root}.modal.obm p{font-family:var(--zh);font-size:var(--fs-body);letter-spacing:0;color:var(--ink-mid);margin-bottom:9px;line-height:1.75}.ob-op{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);color:var(--ink-light);margin:0;line-height:1.6;display:block}.ob-op[hidden]{display:none}.ob-nav{align-items:center;gap:8px;display:flex}.ob-nav[hidden]{display:none}.ob-nav .sp{flex:1}.ob-skip,.ob-prev,.ob-next{font-family:var(--zh);font-size:var(--fs-body);min-height:var(--hit);border-radius:var(--r-btn);cursor:pointer;padding:8px 15px;font-weight:500;transition:all .12s}.ob-skip[hidden],.ob-prev[hidden],.ob-next[hidden]{display:none}.ob-skip{color:var(--ink-light);background:0 0;border:none;padding-left:0}.ob-skip:hover{color:var(--ink)}.ob-again{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);color:var(--ink-light);max-width:60%;line-height:1.5}.ob-again[hidden]{display:none}.ob-prev{color:var(--ink-light);background:var(--paper-2);border:1px solid var(--rule)}.ob-prev:hover:not(:disabled){color:var(--ink);background:var(--paper)}.ob-prev:disabled{opacity:.4;cursor:default}.ob-next{color:var(--paper);background:var(--ink);border:1px solid var(--ink)}.ob-next:hover{background:var(--accent);border-color:var(--accent)}@media (width<=560px){.obm{width:calc(100vw - 24px)}.ob-skip{padding-right:6px}}.modal .opts{flex-direction:column;gap:8px;display:flex}.modal .mseg{border:1px solid var(--rule);border-radius:var(--r-btn);margin-bottom:13px;display:flex;overflow:hidden}.modal .mseg button{font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink-light);background:var(--paper-2);border:none;border-right:1px solid var(--rule);cursor:pointer;letter-spacing:.02em;flex:1;padding:8px 0;transition:all .12s}.modal .mseg button:last-child{border-right:none}.modal .mseg button:hover{color:var(--ink);background:var(--paper)}.modal .mseg button.on{background:var(--accent);color:#fff}.modal .opt{text-align:left;border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-btn);cursor:pointer;font-family:var(--zh);color:var(--ink);align-items:center;gap:12px;padding:11px 12px;transition:all .13s;display:flex}.modal .opt:hover{border-color:var(--accent);background:var(--paper)}.modal .opt:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent);outline:none}.modal .opt .sw{border-radius:var(--r-btn);border:1px solid var(--rule);flex:none;width:28px;height:28px}.modal .opt .tt{font-size:var(--fs-body);font-weight:500}.modal .opt .tt small{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;color:var(--ink-light);text-transform:uppercase;margin-top:2px;font-weight:400;display:block}.opdlg.tpldlg{width:min(912px,93vw)}.tpl-top{flex:none;padding:2px 17px 0}.tpl-sec{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);margin:0 0 8px}.tpl-sec.rule{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.tpl-blank{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tpl-opt{text-align:left;border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-btn);cursor:pointer;min-width:0;font-family:var(--zh);color:var(--ink);align-items:center;gap:10px;padding:9px 10px;transition:all .13s;display:flex;position:relative}.tpl-opt:hover{border-color:var(--accent);background:var(--paper)}.tpl-opt:focus-visible,.tpl-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent);outline:none}.tpl-opt .sw{border-radius:var(--r-btn);border:1px solid var(--rule);width:28px;height:28px;color:var(--accent);background:var(--paper);flex:none;justify-content:center;align-items:center;display:flex}.tpl-opt:hover .sw{background:var(--paper-2)}.tpl-opt .tt{min-width:0;font-size:var(--fs-body);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tpl-opt .tt small{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;color:var(--ink-light);text-overflow:ellipsis;margin-top:2px;font-weight:400;display:block;overflow:hidden}.tpl-opt .opt-protag{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.08em;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 14%,var(--paper));border-radius:var(--r-ctl);padding:1px 5px;position:absolute;top:6px;right:7px}.tpldlg .opfilt{margin-bottom:0}.tpl-n{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-light);white-space:nowrap;flex:none}.tpl-scroll{scrollbar-gutter:stable;flex:auto;min-height:0;padding:12px 8px 16px 17px;overflow-y:auto}.tpl-scroll::-webkit-scrollbar{width:9px}.tpl-scroll::-webkit-scrollbar-thumb{background:var(--rule);border-radius:var(--r-btn)}.tpl-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-light)}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:12px 10px;display:grid}.tpl-card{text-align:left;border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-btn);cursor:pointer;min-width:0;color:var(--ink);font-family:var(--zh);flex-direction:column;padding:0;transition:all .13s;display:flex;overflow:hidden}.tpl-card[hidden]{display:none}.tpl-card:hover{border-color:var(--accent);background:var(--paper)}.tpl-card img{aspect-ratio:3/2;object-fit:cover;background:var(--paper);border-bottom:1px solid var(--rule);width:100%;height:auto;display:block}.tpl-cap{flex-direction:column;gap:2px;min-width:0;padding:8px 10px 9px;display:flex}.tpl-cap b{font-size:var(--fs-body);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tpl-cap small{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-light);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=640px){.tpl-blank,.tpl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal.spedit{flex-direction:column;width:min(1080px,100vw - 40px);height:min(720px,100vh - 40px);padding:16px 18px 14px;display:flex}.sp-head{flex:none;align-items:center;gap:8px;margin-bottom:10px;display:flex}.modal .sp-head h3{margin:0 auto 0 0}.sp-lb{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light)}.sp-snap{width:max-content}.sp-snap button{min-width:54px}.sp-head .seg button{flex:none;padding:0 9px}.sp-snapdd .dd-btn.on{background:var(--paper-2);color:var(--ink);border-color:#0000}.sp-snap-menu{min-width:120px}.sp-frame{flex:1;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr) auto;place-items:center;gap:4px 6px;min-height:0;display:grid}.sp-frame .sp-side-t{grid-area:1/2}.sp-frame .sp-side-l{grid-area:2/1}.sp-frame .sp-stage{grid-area:2/2}.sp-frame .sp-side-r{grid-area:2/3}.sp-frame .sp-side-b{grid-area:3/2}.sp-side{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);white-space:nowrap;-webkit-user-select:none;user-select:none}.sp-side-l,.sp-side-r{writing-mode:vertical-rl}.sp-stage{background:var(--canvas-bg);border:1px solid var(--rule);border-radius:var(--r-ctl);place-self:stretch stretch;min-width:0;min-height:0;position:relative;overflow:hidden}.sp-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.sp-svg *{vector-effect:non-scaling-stroke}.sp-bar{flex:none;align-items:center;gap:14px;min-width:0;margin-top:10px;display:flex}.sp-read{font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink-mid);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.sp-hint{white-space:nowrap;flex:1;align-items:baseline;gap:16px;min-width:0;display:flex;overflow:hidden}.sp-k{white-space:nowrap;font-family:var(--zh);font-size:var(--fs-meta);color:var(--ink-light);align-items:baseline;gap:5px;display:inline-flex}.sp-k kbd{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink);letter-spacing:.02em;background:0 0;border:0;padding:0;font-weight:500}.sp-k kbd+kbd{margin-left:3px}.sp-k kbd.g{font-family:var(--zh)}.sp-k i{font-style:normal}.sp-keywrap{flex:none;position:relative}.sp-keybtn{border-radius:var(--r-ctl);border:1px solid var(--rule);width:26px;height:26px;color:var(--ink-mid);font-family:var(--mono);font-size:var(--fs-body);cursor:pointer;background:0 0;line-height:1;transition:all .12s}.sp-keybtn:hover,.sp-keybtn.on{color:var(--ink);border-color:var(--ink-mid)}.sp-keys{z-index:8;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);grid-template-columns:repeat(3,max-content);gap:14px 28px;padding:14px 16px;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 6px 18px -10px #15120c73}.sp-keys[hidden]{display:none}.sp-keys-sec{flex-direction:column;gap:6px;display:flex}.sp-keys-sec b{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);margin-bottom:2px;font-weight:500}.sp-zoom{z-index:3}.spedit .insdock.sp-insdock{opacity:1;pointer-events:auto;display:flex}.sp-now{font-family:var(--zh);font-size:var(--fs-meta);color:var(--accent-text);flex:none;font-weight:700}.sp-actions{flex:none;gap:8px;display:flex}.sp-bg{fill:#0000;cursor:grab}.sp-grid line{stroke:var(--ink);stroke-opacity:.06;stroke-width:1px}.sp-grid line.mj{stroke-opacity:.13}.sp-floor{fill:var(--fp-ground);cursor:move}.sp-floor.on{fill:color-mix(in srgb,var(--accent) 12%,var(--fp-ground))}.sp-floor.bad{fill:color-mix(in srgb,var(--danger) 22%,var(--fp-ground))}.sp-pillar{fill:color-mix(in srgb,var(--ink-mid) 22%,var(--fp-ground));cursor:move}.sp-pillar.on{fill:color-mix(in srgb,var(--accent) 28%,var(--fp-ground))}.sp-pillar.bad{fill:color-mix(in srgb,var(--danger) 30%,var(--fp-ground))}.sp-svg.sp-tool-room [data-kind],.sp-svg.sp-tool-pillar .sp-bg,.sp-svg.sp-tool-pillar .sp-floor,.sp-svg.sp-tool-pillar .sp-hit:not(.sp-hit-p),.sp-svg.sp-tool-pillar .sp-dim,.sp-svg.sp-tool-pillar .sp-name{cursor:crosshair}.sp-svg.sp-spacepan [data-kind]{cursor:grab}.sp-svg.sp-panning [data-kind]{cursor:grabbing}.sp-name{fill:var(--ink);cursor:text;font-weight:700}.sp-name,.sp-size{paint-order:stroke;stroke:var(--fp-ground);stroke-width:4px;stroke-linejoin:round}.sp-size{font-family:var(--mono);fill:var(--ink-mid);pointer-events:none}.sp-wall{stroke:var(--ink);stroke-width:6px;stroke-linecap:square;pointer-events:none}.sp-open{stroke:var(--ink-light);stroke-width:1.5px;stroke-dasharray:5 4;pointer-events:none}.sp-hit{stroke:#0000;stroke-width:18px;cursor:pointer;pointer-events:stroke}.sp-hit-h{cursor:ew-resize}.sp-hit-v{cursor:ns-resize}.sp-hit-p{stroke-width:8px}.sp-seg:hover .sp-wall{stroke:var(--accent)}.sp-seg:hover .sp-open{stroke:var(--accent);stroke-width:2.5px}.sp-item{fill:var(--ink-mid);fill-opacity:.55;pointer-events:none}.sp-item.on{fill:var(--accent);fill-opacity:1}.sp-selbox{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;pointer-events:none}.sp-rubber{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;pointer-events:none}.sp-rubber.bad{stroke:var(--danger);fill:color-mix(in srgb,var(--danger) 14%,transparent)}.sp-marquee{fill:color-mix(in srgb,var(--accent) 12%,transparent);stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;opacity:.9;pointer-events:none}.sp-rb{font-family:var(--mono);fill:var(--accent-text);pointer-events:none;font-weight:700}.sp-svg.sp-tool-outline,.sp-svg.sp-tool-outline *{cursor:crosshair}.sp-pen{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}.sp-pen-rub{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.sp-pen-rub.bad{stroke:var(--danger)}.sp-pen-pt{fill:var(--paper);stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.sp-pen-pt.start.on{fill:var(--accent)}.sp-rb.sp-pen-len{fill:var(--ink-mid);font-weight:500}.sp-pen-in{fill:var(--paper);stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.sp-pen-in.bad{stroke:var(--danger)}.sp-pen-caret{fill:var(--accent)}.sp-und{z-index:4;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);align-items:center;gap:6px;padding:4px 8px 4px 10px;display:flex;position:absolute;top:32px;left:34px;box-shadow:0 10px 28px -12px #15120c73}.sp-und-t{font-family:var(--zh);font-size:var(--fs-meta);color:var(--ink-mid);margin-right:2px;font-weight:700}.sp-und .sp-act{flex:none}.sp-und .sp-act.on,.sp-und .sp-act.solid{background:var(--accent);color:var(--paper)}.sp-und-has,.sp-und-cal{align-items:center;gap:6px;display:flex}.sp-und-has[hidden],.sp-und-cal[hidden],.sp-und .sp-act[hidden],.sp-und-len[hidden]{display:none}.sp-und-cal{border-left:1px solid var(--rule);padding-left:8px}.sp-und-cal>i{font-style:normal;font-family:var(--zh);font-size:var(--fs-meta);color:var(--accent-text);font-weight:700}.sp-und-len{flex:none;width:92px}.sp-und input[type=range]{width:84px}.sp-under{pointer-events:none}.sp-svg.sp-und-cal-on,.sp-svg.sp-und-cal-on *{cursor:crosshair}.sp-svg.sp-und-move-on,.sp-svg.sp-und-move-on *{cursor:move}.sp-cal-ln{stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.sp-cal-pt{fill:var(--accent);stroke:var(--paper);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.sp-paint{stroke:var(--accent);stroke-width:10px;stroke-opacity:.45;pointer-events:none}.sp-paint.fill{stroke:var(--ink);stroke-opacity:.5}.sp-dim{cursor:text}.sp-dim line{stroke:var(--accent);stroke-width:1px}.sp-dimbg{fill:var(--paper);stroke:var(--accent);stroke-width:1px}.sp-dim:hover .sp-dimbg{fill:color-mix(in srgb,var(--accent) 14%,var(--paper))}.sp-dimt{font-family:var(--mono);fill:var(--accent-text);font-weight:500}.sp-hnd{fill:var(--paper);stroke:var(--accent);stroke-width:1.5px}.sp-hpad{fill:#0000}.sp-hnd.h-t,.sp-hpad.h-t,.sp-hnd.h-b,.sp-hpad.h-b{cursor:ns-resize}.sp-hnd.h-l,.sp-hpad.h-l,.sp-hnd.h-r,.sp-hpad.h-r{cursor:ew-resize}.sp-hnd.h-lt,.sp-hpad.h-lt,.sp-hnd.h-rb,.sp-hpad.h-rb{cursor:nwse-resize}.sp-hnd.h-rt,.sp-hpad.h-rt,.sp-hnd.h-lb,.sp-hpad.h-lb{cursor:nesw-resize}.sp-ruler{pointer-events:none}.sp-ruler rect{fill:var(--paper-2)}.sp-ruler line{stroke:var(--ink-light);stroke-width:1px}.sp-ruler text{fill:var(--ink-light);font-family:var(--mono)}.sp-sel{z-index:4;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);flex-direction:column;gap:7px;width:232px;padding:9px 10px 8px;transition:opacity .14s cubic-bezier(.23,1,.32,1),transform .14s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;top:32px;right:10px;box-shadow:0 10px 28px -12px #15120c73}@starting-style{.sp-sel{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.sp-sel{transition:opacity .14s}}.sp-sel[hidden]{display:none}.sp-sel.left{left:32px;right:auto}.sp-sel-one,.sp-sel-many{flex-direction:column;gap:7px;display:flex}.sp-sel-one[hidden],.sp-sel-many[hidden],.sp-act[hidden]{display:none}.sp-sel-note{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-mid);margin:0 1px;line-height:1.5}.sp-merge,.sp-split{border:1px solid var(--rule);justify-content:center}.sp-merge{background:var(--ink);color:var(--paper);border-color:var(--ink)}@media (hover:hover){.sp-merge:hover{background:var(--ink);color:var(--paper);opacity:.88}}.sp-merge:disabled{color:var(--ink-light);border-color:var(--rule);cursor:default;opacity:1;background:0 0;transform:none}.sp-sel-hd{justify-content:space-between;align-items:baseline;padding:0 1px;display:flex}.sp-sel-hd b,.sp-sel-sub{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);font-weight:500}.sp-sel-hd span{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-mid);font-variant-numeric:tabular-nums}.sp-sel-sub{margin:2px 1px -2px}.sp-sel .nfield{margin:0}.sp-sel .nfield[hidden]{display:none}.sp-sel .nlb{min-width:34px}.sp-f-name .valin{width:auto;min-width:0;font-family:var(--zh);font-size:var(--fs-body);flex:1;padding-right:8px}.sp-f2{grid-template-columns:1fr 1fr;gap:6px;display:grid}.sp-f2 .valin{font-variant-numeric:tabular-nums;width:5.5ch}.sp-sel-walls button{min-height:24px}.sp-sel-acts{border-top:1px solid var(--rule-2);gap:2px;margin:1px -4px 0;padding-top:6px;display:flex}.sp-act{min-height:var(--hit);border-radius:var(--r-ctl);color:var(--ink-mid);font-family:var(--zh);font-size:var(--fs-ctl);cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:0 7px;transition:background-color .12s,color .12s,transform .12s cubic-bezier(.23,1,.32,1);display:flex}.sp-act svg{flex:none}.sp-act kbd{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);background:0 0;border:0;margin-left:1px;padding:0}.sp-act:active{transform:scale(.97)}@media (hover:hover){.sp-act:hover{background:var(--paper-2);color:var(--ink)}.sp-act.danger:hover{color:var(--danger)}}.modal .mcancel{width:100%;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-light);cursor:pointer;background:0 0;border:none;margin-top:14px;padding:7px;transition:all .12s}.modal .mcancel:hover{color:var(--ink)}.modal.exportm{--expane-h:560px;width:560px}.exbody{grid-template-rows:1fr auto;grid-template-columns:152px minmax(0,1fr);margin-top:14px;display:grid}.exnav{grid-area:1/1}.expanes{grid-area:1/2/span 2}.expanel{flex-direction:column;display:flex}.exprev{object-fit:contain;border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--paper-2);width:100%;max-height:110px;margin-top:8px;display:block}.exprevs{gap:8px;display:flex}.exprevs>.exprev{flex:1 1 0;min-width:0}.exprev[hidden]{display:none}@media (width>=601px) and (height>=680px){.expanel{min-height:var(--expane-h)}}.exdl,.exinc{margin-top:auto}.exinc+.exdl{margin-top:0}.exnav{border-right:1px solid var(--rule);margin-right:14px;padding-right:12px}.exnav-sec{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);padding:0 0 6px 8px}.exnav-g+.exnav-sec{padding-top:13px}.exnav button{text-align:left;border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:1px;width:100%;padding:6px 8px;transition:all .12s;display:flex}.exnav button[hidden]{display:none}.exnav button:hover{background:var(--paper-2)}.exnav-lb{font-family:var(--mono);font-size:var(--fs-ctl);letter-spacing:.06em;color:var(--ink-mid);transition:all .12s}.exnav-d{font-family:var(--zh);font-size:var(--fs-micro);color:var(--ink-light);line-height:1.35;transition:all .12s}.exnav button:hover .exnav-lb{color:var(--ink)}.exnav button.on{background:var(--accent)}.exnav button.on .exnav-lb,.exnav button.on .exnav-d{color:#fff}.exnav button:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent);outline:none}.exlux{border-right:1px solid var(--rule);grid-area:2/1;margin-right:14px;padding:10px 12px 0 8px}.exlux[hidden]{display:none}.exlux-q{font-family:var(--zh);font-size:var(--fs-meta);color:var(--ink-light);border-top:1px solid var(--rule);word-break:keep-all;padding-top:9px;line-height:1.5}.exlux-go{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--accent-text);border-radius:var(--r-ctl);min-height:var(--hit);text-align:left;cursor:pointer;word-break:keep-all;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);background:0 0;border:0;padding:4px 0;line-height:1.45;transition:all .12s}.exlux-go:hover{text-decoration-color:currentColor}.exlux-go:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent);outline:none}.expanel[hidden]{display:none}.exrow{margin-bottom:13px}.excols{gap:10px;display:flex}.excols>.exrow{flex:1 1 0;min-width:0}.excols>.exrow .mseg{margin-bottom:0}.exl{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);margin-bottom:7px}.exread{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-mid);background:var(--paper-2);border:1px dashed var(--rule);border-radius:var(--r-btn);padding:8px 10px}.exread b{color:var(--ink);font-weight:500}.extg{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px;padding:9px 11px;display:flex}.extg .extg-t{font-family:var(--zh);font-size:var(--fs-body);color:var(--ink)}.extg .extg-t small{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;color:var(--ink-light);margin-top:2px;display:block}.extg input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none}.exnote{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--ink-light);margin-bottom:13px;line-height:1.6}.exdim{align-items:center;gap:6px;display:flex}.exnum{min-width:0;font-family:var(--mono);font-size:var(--fs-body);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);text-align:right;-moz-appearance:textfield;flex:1 1 0;padding:8px 9px;transition:all .12s}.exnum::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.exnum::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.exnum:hover{border-color:var(--ink-light)}.exnum:focus{border-color:var(--accent);background:var(--paper);outline:none}.exlink{font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink-light);cursor:help;flex:none}.exunit{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.06em;color:var(--ink-light);flex:none}.exdd{flex:none;position:relative}.exdrop{width:28px;height:33px;font-size:var(--fs-meta);color:var(--ink-light);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);cursor:pointer;justify-content:center;align-items:center;transition:all .12s;display:flex}.exdrop:hover{color:var(--ink);border-color:var(--ink-light)}.exdrop[aria-expanded=true]{color:var(--accent-text);border-color:var(--accent)}.exmenu{z-index:5;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-btn);min-width:186px;max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 10px 26px -12px #15120c80}.exmenu button{width:100%;font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);border-radius:var(--r-ctl);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:7px 8px;display:flex}.exmenu button em{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);font-style:normal}.exmenu button:hover{background:var(--paper-2)}.exmenu button:hover em{color:var(--ink-mid)}.exmenu-div{background:var(--rule-2);height:1px;margin:4px 6px}.exmenu button.on{background:var(--paper-2);color:var(--accent-text);font-weight:500}.exdd-full{width:100%;display:block}.exdd-full .exmenu{min-width:0;left:0;right:0}.expick{width:100%;font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;transition:all .12s;display:flex}.expick i{font-style:normal;font-size:var(--fs-meta);color:var(--ink-light);flex:none}.expick:hover{border-color:var(--ink-light)}.expick[aria-expanded=true]{border-color:var(--accent);background:var(--paper)}.expick:focus-visible{border-color:var(--accent);outline:none}.exhint{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--ink-light);margin-top:6px}.exhint b{color:var(--ink-mid);font-weight:500}.excb{font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.excb input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none}.ex-lock{opacity:.85;vertical-align:-.14em;align-items:center;margin-left:4px;display:inline-flex}.exnote.ex-pronote{color:var(--accent);border:1px solid var(--rule);border-radius:var(--r-btn);margin-bottom:14px;padding:8px 10px}.modal .mseg.dis{opacity:.4;pointer-events:none}.modal .mseg button:disabled{opacity:.32;cursor:not-allowed}.modal .mseg button:disabled:hover{color:var(--ink-light);background:var(--paper-2)}@media (width<=600px){.exbody{grid-template-rows:none;grid-template-columns:1fr;gap:14px}.exnav,.expanes,.exlux{grid-area:auto}.exnav{border-right:none;border-bottom:1px solid var(--rule);margin-right:0;padding:0 0 11px}.exlux{border-right:none;border-top:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:0 8px;margin-right:0;padding:7px 0 0;display:flex}.exlux-q{border-top:none;padding-top:0}.exnav-sec{padding-left:0}.exnav-g{flex-wrap:wrap;gap:4px;display:flex}.exnav-g+.exnav-sec{padding-top:11px}.exnav button{white-space:nowrap;background:var(--paper-2);flex:none;width:auto;padding:6px 10px}.exnav button.on{background:var(--accent)}.exnav-d{display:none}}.exdl{width:100%;font-family:var(--zh);font-size:var(--fs-body);color:var(--paper);background:var(--ink);border-radius:var(--r-btn);cursor:pointer;border:none;padding:11px;font-weight:500;transition:all .12s}.exdl:hover{background:var(--accent)}.exdl:disabled,.exdl.busy{opacity:.6;cursor:progress;background:var(--ink)}.wstable{border-collapse:collapse;width:100%;font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);margin:2px 0 12px}.wstable th{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.1em;color:var(--ink-light);text-align:left;border-bottom:1px solid var(--rule);padding:6px 8px;font-weight:600}.wstable td{border-bottom:1px solid var(--rule-2);padding:8px}.wstable th:nth-child(n+2),.wstable td:nth-child(n+2){text-align:right;font-family:var(--mono);font-size:var(--fs-ctl)}.wstable tfoot td{border-top:2px solid var(--ink);border-bottom:none;font-weight:600}.wstable tr.wsrow{cursor:pointer}.wstable tr.wsrow:hover td{background:var(--paper-2)}.wstable tr.wsrow .car{width:11px;color:var(--ink-light);font-size:var(--fs-micro);display:inline-block}.wstable tr.wsdetail td{background:var(--paper-2);font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-mid);text-align:left;border-bottom:1px solid var(--rule-2);padding:6px 8px 8px 27px}.wstable tr.wssec td{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);text-align:left;border-bottom:1px solid var(--rule);background:0 0;padding:12px 8px 5px;font-weight:600}.modal.bomnm{flex-direction:column;width:560px;max-height:calc(100vh - 56px);display:flex}.modal.bomnm h3{font-family:var(--mono);font-size:var(--fs-ctl);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:9px;font-weight:400}.modal.bomnm>p{margin-bottom:12px}.modal.bomnm>p b{color:var(--ink-mid);font-weight:600}.bnrows{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex:1;min-height:0;margin:0 -2px;overflow-y:auto}.bnrow{border-left:2px solid #0000;border-bottom:1px solid var(--rule-2);grid-template-columns:30px 22px minmax(0,1fr) 40px 26px;align-items:center;gap:8px;padding:4px 6px 4px 4px;display:grid}.bnrow:last-child{border-bottom:none}.bnrow.on{border-left-color:var(--accent)}.bnth{height:26px;color:var(--ink-mid);justify-content:center;align-items:center;display:flex}.bnth svg{width:26px;height:26px;overflow:visible}.bnth i{border:1px dashed var(--rule);border-radius:var(--r-ctl);width:15px;height:15px}.bnmeta{align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.bncode{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);color:var(--ink-light);flex:none}.bnbuy{color:var(--accent);font-size:var(--fs-meta);flex:none}.bnin{width:100%;min-width:0;font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);border-radius:var(--r-ctl);background:0 0;border:1px solid #0000;padding:5px 7px;transition:background .12s,border-color .12s}.bnrow:hover .bnin{background:var(--paper-2)}.bnin:hover{background:var(--paper-2);border-color:var(--rule)}.bnin:focus{border-color:var(--accent);background:var(--paper);outline:none}.bnq{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);text-align:right;white-space:nowrap}.bnx{font-size:var(--fs-body);color:var(--ink-light);border-radius:var(--r-ctl);width:var(--hit);height:var(--hit);cursor:pointer;visibility:hidden;background:0 0;border:1px solid #0000;line-height:1;transition:color .12s,border-color .12s,background .12s}.bnrow.on .bnx{visibility:visible}.bnx:hover{color:var(--ink);border-color:var(--rule);background:var(--paper)}.bnfoot{align-items:stretch;gap:10px;margin-top:12px;display:flex}.bnfoot .bnreset{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.05em;color:var(--ink-light);border:1px dashed var(--rule);border-radius:var(--r-btn);cursor:pointer;background:0 0;flex:none;padding:7px 11px;transition:all .12s}.bnfoot .bnreset:hover{color:var(--ink);border-color:var(--ink-light)}.bnfoot .mcancel{flex:none;width:auto;min-width:104px;margin-top:0;margin-left:auto}@media (width<=640px){.bnrow{grid-template-columns:22px minmax(0,1fr) 26px;gap:6px}.bnth,.bnq{display:none}}.modal.kbd{flex-direction:column;width:620px;max-height:86vh;padding:20px 0 14px;display:flex;overflow:hidden}.kbd-head{flex:none;justify-content:space-between;align-items:center;margin-bottom:13px;padding:0 20px;display:flex}.kbd-head h3{margin:0}.kbd-x{font-family:var(--mono);font-size:var(--fs-body);color:var(--ink-light);border:1px solid var(--rule);border-radius:var(--r-ctl);cursor:pointer;background:0 0;flex:none;width:26px;height:26px;line-height:1;transition:all .12s}.kbd-x:hover{color:var(--ink);border-color:var(--ink-mid)}.kbd-tabs{padding:0 15px}.kbd-tabs .rtab small{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);color:var(--ink-light);margin-left:6px}.kbd-tabs .rtab.on small{color:var(--accent-text)}.modal.kbd.searching .kbd-tabs .rtab{color:var(--ink-light);font-weight:500}.modal.kbd.searching .kbd-tabs .rtab:hover{color:var(--ink)}.modal.kbd.searching .kbd-tabs .rtab.on:after{display:none}.modal.kbd.searching .kbd-tabs .rtab.on small{color:var(--ink-light)}.kbd-searchwrap{flex:none;align-items:center;gap:9px;padding:0 20px 12px;display:flex;position:relative}.kbd-search{min-width:0;font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);flex:1;padding:7px 10px;transition:all .15s}.kbd-search:focus{border-color:var(--accent);background:var(--paper);outline:none}.kbd-search::placeholder{color:var(--ink-light)}.kbd-search::-webkit-search-cancel-button{cursor:pointer}.kbd-hits{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-lb);color:var(--ink-light);white-space:nowrap;flex:none}.kbd-hits[hidden]{display:none}.kbd-scroll{flex:auto;min-height:0;padding:8px 20px 4px;overflow-y:auto}.kbd-empty{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.05em;color:var(--ink-light);text-align:center;padding:26px 16px}.kbd-empty[hidden]{display:none}.kbd-empty span{font-family:var(--zh);font-size:var(--fs-ctl);letter-spacing:0;color:var(--ink-light);margin-top:9px;line-height:1.5;display:block}.kbd-grid{column-count:2;column-gap:26px}.kbd-row[hidden],.kbd-sec[hidden]{display:none}.kbd-sec{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:11px}.kbd-seclabel{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);border-bottom:1px solid var(--rule-2);margin:6px 0 5px;padding-bottom:4px}.kbd-seclabel i{color:var(--ink-light);letter-spacing:.06em;margin-left:4px;font-style:normal}.kbd-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:3.5px 0;display:flex}.kbd-desc{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink);flex:auto;min-width:0;line-height:1.3}.kbd-keys{white-space:nowrap;flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:3px;min-width:0;margin-left:auto;display:flex}.kbd-keys i{font-style:normal;font-family:var(--mono);font-size:var(--fs-micro);color:var(--ink-light);text-transform:uppercase;letter-spacing:.05em;margin:0 2px}.modal.kbd kbd{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);text-align:center;border-bottom-width:2px;min-width:17px;padding:2px 6px;line-height:1.45;display:inline-block}.kbd-keys .pill{font-family:var(--zh);font-size:var(--fs-meta);color:var(--ink-mid);border:1px dashed color-mix(in srgb,var(--ink-light) 45%,transparent);border-radius:var(--r-pop);white-space:normal;background:0 0;padding:2px 9px;line-height:1.4}.kbd-foot{border-top:1px solid var(--rule-2);text-align:center;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.05em;color:var(--ink-light);text-transform:uppercase;flex:none;padding:10px 20px 0}.kbd-foot kbd{font-family:var(--mono);font-size:var(--fs-meta);border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--paper-2);padding:1px 5px}@media (width<=640px){.kbd-grid{column-count:1}}.modal.cropm{width:auto;padding:20px}.crop-stage{border:1px solid var(--rule);border-radius:var(--r-ctl);touch-action:none;-webkit-user-select:none;user-select:none;background-image:linear-gradient(45deg,color-mix(in srgb,var(--ink) 8%,transparent) 25%,transparent 25%,transparent 75%,color-mix(in srgb,var(--ink) 8%,transparent) 75%),linear-gradient(45deg,color-mix(in srgb,var(--ink) 8%,transparent) 25%,transparent 25%,transparent 75%,color-mix(in srgb,var(--ink) 8%,transparent) 75%);background-position:0 0,8px 8px;background-size:16px 16px;margin:2px auto 0;position:relative;overflow:visible}.crop-stage .cs-art{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.crop-stage .cs-dim{background:color-mix(in srgb,var(--ink) 34%,transparent);pointer-events:none;position:absolute}.crop-rect{box-sizing:border-box;cursor:move;box-shadow:0 0 0 1.5px var(--accent),0 0 10px -2px #15120c66;outline:1px solid #ffffffeb;position:absolute}.crop-rect .cgrid{pointer-events:none;background:linear-gradient(#fff6,#fff6) 33.3333% 0/1px 100% no-repeat,linear-gradient(#fff6,#fff6) 66.6667% 0/1px 100% no-repeat,linear-gradient(#fff6,#fff6) 0 33.3333%/100% 1px no-repeat,linear-gradient(#fff6,#fff6) 0 66.6667%/100% 1px no-repeat;position:absolute;inset:0}.crop-rect .ch{box-sizing:border-box;border:1.5px solid var(--accent);border-radius:var(--r-ctl);z-index:2;background:#fff;width:14px;height:14px;position:absolute;box-shadow:0 1px 3px -1px #15120c80}.crop-rect .ch.nw{cursor:nwse-resize;top:-7px;left:-7px}.crop-rect .ch.ne{cursor:nesw-resize;top:-7px;right:-7px}.crop-rect .ch.se{cursor:nwse-resize;bottom:-7px;right:-7px}.crop-rect .ch.sw{cursor:nesw-resize;bottom:-7px;left:-7px}.crop-rect .ch.n{cursor:ns-resize;margin-left:-7px;top:-7px;left:50%}.crop-rect .ch.s{cursor:ns-resize;margin-left:-7px;bottom:-7px;left:50%}.crop-rect .ch.w{cursor:ew-resize;margin-top:-7px;top:50%;left:-7px}.crop-rect .ch.e{cursor:ew-resize;margin-top:-7px;top:50%;right:-7px}.crop-ratios{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:13px;display:flex}.crop-ratios button{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;border-radius:var(--r-ctl);border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-light);cursor:pointer;padding:5px 10px;transition:all .12s}.crop-ratios button:hover{color:var(--ink);border-color:var(--ink-mid)}.crop-ratios button.on{background:var(--accent);border-color:var(--accent);color:#fff}.crop-readout{font-family:var(--mono);font-size:var(--fs-meta);color:var(--ink-light);letter-spacing:.04em;text-align:center;margin-top:13px}.crop-foot{align-items:center;gap:8px;margin-top:13px;display:flex}.crop-foot .cbtn{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.04em;border-radius:var(--r-btn);border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-light);cursor:pointer;padding:8px 15px;transition:all .12s}.crop-foot .cbtn:hover{color:var(--ink);background:var(--paper);border-color:var(--accent)}.crop-foot .cbtn.reset{margin-right:auto}.crop-foot .cbtn.apply{background:var(--accent);color:#fff;border-color:var(--accent)}.crop-foot .cbtn.apply:hover{filter:brightness(1.07)}.modal.sketchm{width:min(830px,100vw - 48px);padding:20px}.sk-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.sk-head[hidden]{display:none}.sk-head h3{margin:0}.sk-paper{flex-wrap:wrap;align-items:center;gap:7px;margin-left:auto;display:flex}.sk-paper[hidden]{display:none}.sk-glabel{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);white-space:nowrap}.sk-tb{scrollbar-width:none;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-btn);flex-wrap:nowrap;align-items:center;gap:2px;margin:11px 0 9px;padding:4px 6px;display:flex;overflow-x:auto}.sk-tb[hidden]{display:none}.sk-tb.loading{opacity:.5;pointer-events:none}.sk-tb::-webkit-scrollbar{display:none}.sk-tsep{background:var(--rule);flex:none;align-self:stretch;width:1px;margin:2px 4px}.sk-tgap{flex:none;width:7px}.sk-tool{width:var(--hit);height:var(--hit);color:var(--ink-mid);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:all .12s;display:flex}.sk-tool:hover{color:var(--ink);background:var(--paper)}.sk-tool.on{background:var(--accent);border-color:var(--accent);color:#fff}.sk-tool:active{transform:scale(.94)}.sk-tool:disabled{opacity:.35;cursor:default}.sk-tool:disabled:hover{color:var(--ink-mid);background:0 0}.sk-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sk-gly{font-size:15px;line-height:1}.sk-tb .swatches{gap:4px}.sk-tb .swatches .sw{width:16px;height:16px}.sk-tb.nostyle .swatches,.sk-tb.nostyle .sk-wt{opacity:.35;pointer-events:none}.sk-wt{align-items:center;gap:7px;display:flex}.sk-wt[hidden]{display:none}.sk-wtp{flex:none;justify-content:center;align-items:center;width:26px;display:flex}.sk-wtp>i{background:var(--ink-light);border-radius:99px;width:100%;height:3px;transition:height .1s,background .12s;display:block}.sk-wtp>b{font-family:var(--zh);color:var(--ink-light);font-weight:600;line-height:1;transition:font-size .1s,color .12s;display:block}.sk-wtp>i[hidden],.sk-wtp>b[hidden]{display:none}.sk-wtr{width:76px;accent-color:var(--accent)}.sk-wtf{background:var(--paper);flex:none;margin:0}.sk-wtf .valin{text-align:right;width:5.6ch!important}.sk-stage{border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--paper-2);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;flex:none;position:relative;overflow:hidden}.sk-stage[hidden]{display:none}.sk-page{fill:var(--paper);stroke:var(--rule)}.sk-bg{pointer-events:none;display:block;position:absolute}.sk-stage canvas{position:absolute;top:0;left:0}.sk-stage .canvas-container{top:0;left:0;position:absolute!important}.crop-foot .cbtn:disabled{opacity:.4;cursor:default}.crop-foot .cbtn:disabled:hover{color:var(--ink-light);background:var(--paper-2);border-color:var(--rule)}@keyframes ddpop{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:none}}.opdlg.instant,.opscrim.instant{animation:none}.tbtn:not(:disabled):active,.mm-item:not(:disabled):active,.optab:active,.ptab:active,.modal .opt:active,.modal .mseg button:active,.seg button:active,.ddc-seg button:active,.exdl:active,.full:active,.crop-foot .cbtn:active{transform:scale(.97)}.pitem:active{transform:scale(.985)}.op-x:active,.kbd-x:active{transform:scale(.92)}.dot:active{transform:scale(1.05)}.swatches .sw:active{transform:scale(1.03)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#toasts{z-index:300;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:98px;left:50%;transform:translate(-50%)}.skip{z-index:290;background:var(--ink);color:var(--paper);font-size:var(--fs-name);letter-spacing:.03em;border-radius:var(--r-ctl);padding:10px 16px;font-weight:500;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-300%)}.skip:focus{transform:none}.canvas-area[tabindex="-1"]:focus{outline:none}.toast{pointer-events:auto;max-width:min(480px,86vw);font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-pop);cursor:pointer;opacity:0;align-items:center;gap:9px;padding:9px 14px;line-height:1.5;transition:opacity .18s cubic-bezier(.23,1,.32,1),transform .18s cubic-bezier(.23,1,.32,1);display:flex;position:relative;overflow:hidden;transform:translateY(8px);box-shadow:0 10px 28px -12px #15120c80}.toast.in{opacity:1;transform:none}.toast.out{opacity:0;transition-duration:.14s;transform:translateY(6px)}.toast-tx{flex:1;min-width:0}.toast-ic{color:var(--ink-mid)}.toast.ok .toast-ic{color:var(--ok)}.toast.err .toast-ic{color:var(--danger)}.toast-bar{background:var(--ink-mid);opacity:.34;transform-origin:0;height:2px;animation:linear forwards toastbar;position:absolute;bottom:0;left:14px;right:14px}.toast.ask .toast-bar{background:var(--accent);opacity:.5}.toast:hover .toast-bar{animation-play-state:paused}.toast.out .toast-bar{opacity:0}@keyframes toastbar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast.ask{gap:12px}.toast-act{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--paper);background:var(--accent);border-radius:var(--r-btn);cursor:pointer;white-space:nowrap;border:0;flex:none;padding:5px 11px;font-weight:600}.toast-act:hover{filter:brightness(1.08)}@media (prefers-reduced-motion:reduce){.dd-menu,.ctxmenu,.modal,.opdlg{animation:.12s both opfade}.tbtn:active,.mm-item:active,.optab:active,.ptab:active,.modal .opt:active,.modal .mseg button:active,.seg button:active,.ddc-seg button:active,.exdl:active,.full:active,.crop-foot .cbtn:active,.pitem:active,.op-x:active,.kbd-x:active,.dot:active,.swatches .sw:active,.dot:hover,.swatches .sw:hover{transform:none}.toast,.toast.out{transform:translate(0)translateY(0)}.inssheet,body{transition:none}}.drawer-tab{display:none}.hpad{fill:#0000;stroke:none;pointer-events:all;cursor:grab}@media (width<=1023px){.work{position:relative;overflow:hidden}.work>.panel{z-index:30;transition:transform .22s;position:absolute;top:0;bottom:0;left:0;transform:translate(calc(-100% - 14px));box-shadow:14px 0 36px -18px #15120c73}.work>.panel.right{left:auto;right:0;transform:translate(calc(100% + 14px));box-shadow:-14px 0 36px -18px #15120c73}body.dwl-open .work>.panel:not(.right),body.dwr-open .work>.panel.right{transform:none}.drawer-tab{z-index:31;transition:left .22s,right .22s,color .15s;display:flex}.drawer-tab:active{color:var(--accent)}body.dwl-open .drawer-tab.left{color:var(--accent);left:248px}body.dwr-open .drawer-tab.right{color:var(--accent);right:248px}body.dwl-open .drawer-tab.left .et-ar,body.dwr-open .drawer-tab.right .et-ar{transform:scaleX(-1)}.topbar-narrow{background:var(--paper);border-bottom:1px solid var(--rule);z-index:40;flex:none;display:flex}.topbar-narrow .acthdr{padding:7px calc(10px + env(safe-area-inset-right,0px)) 7px calc(10px + env(safe-area-inset-left,0px));border-bottom:none;flex:1}.grp+.grp{padding-left:8px}}@media (width<=767px){.brand .byline{display:none}.canvas-wrap{padding:12px}:root{--pan-slack:400px}.dd-menu{max-width:calc(100vw - 20px)}}@media (pointer:coarse){.tbtn{padding:10px 12px}.mm-item{padding:11px 12px}}.mbar{display:none}@keyframes opsheet{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes inspane{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media (width<=767px){.mbar{z-index:37;background:var(--paper);border-top:1px solid var(--rule);padding:4px calc(8px + env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));align-items:stretch;gap:2px;display:flex;position:relative}.mb-btn{border-radius:var(--r-pop);min-height:48px;color:var(--ink-mid);font-family:var(--zh);font-size:var(--fs-meta);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 2px;display:flex}.mb-btn:disabled{opacity:.3}.mb-btn:not(:disabled):active{background:var(--paper-2);color:var(--ink)}.mb-gly{font-family:var(--mono);font-size:var(--fs-title);line-height:19px}body.dwl-open #mbTools,body.dwr-open #mbInsp{color:var(--accent)}.mb-add{background:var(--accent);border:3px solid var(--paper-2);color:#fff;width:52px;height:52px;font-size:var(--fs-num);cursor:pointer;border-radius:50%;flex:none;align-self:flex-start;margin:-16px 6px 0;padding:0;line-height:1;box-shadow:0 10px 24px -10px #15120c99}.mb-add:active{transform:scale(.94)}.topbar-narrow .acthdr{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.topbar-narrow .acthdr::-webkit-scrollbar{display:none}.topbar-narrow .tbtn{padding:8px 9px}.dd-menu{border-radius:var(--r-sheet) var(--r-sheet) 0 0;z-index:70;border-bottom:none;width:auto;min-width:0;max-width:none;max-height:72vh;animation:.2s cubic-bezier(.2,.8,.3,1) both opsheet;position:fixed;inset:auto 0 0;overflow-y:auto}.drawer-tab{display:none}.work>.panel,.work>.panel.right{--sheet-h:min(58vh,430px)}body.sheet-tall .work>.panel,body.sheet-tall .work>.panel.right{--sheet-h:calc(100% - 72px)}.work>.panel,.work>.panel.right{width:auto;height:var(--sheet-h);border:1px solid var(--rule);border-radius:var(--r-sheet) var(--r-sheet) 0 0;border-bottom:none;transition:transform .24s cubic-bezier(.2,.8,.3,1),height .24s cubic-bezier(.2,.8,.3,1);inset:auto 0 0;transform:translateY(calc(100% + 24px));box-shadow:0 -16px 42px -18px #15120c80}body.sheet-drag .work>.panel,body.sheet-drag .work>.panel.right{transition:none}.sheetgrip{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:100%;height:30px;margin:0;padding:0;display:flex}.sheetgrip:before{content:"";border-radius:var(--r-ctl);background:var(--rule);width:42px;height:4px;transition:background .12s,width .12s}.sheetgrip:active{cursor:grabbing}.sheetgrip:active:before,.sheetgrip.on:before{background:var(--ink-light);width:52px}.sheetgrip:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:var(--r-btn)}body.dwl-open .work>.panel:not(.right),body.dwr-open .work>.panel.right{transform:none}.opdlg{border-radius:var(--r-sheet) var(--r-sheet) 0 0;border-bottom:none;border-left:none;border-right:none;width:auto;max-height:calc(100dvh - 52px);animation:.2s cubic-bezier(.2,.8,.3,1) both opsheet;inset:auto 0 0;transform:none}.op-hint{display:none}.cg-tiles{flex-wrap:wrap;justify-content:center;gap:8px;max-width:calc(100% - 32px)}.cg-tile{flex-direction:row;gap:7px;width:auto;height:46px;padding:0 14px 0 11px}.cg-tile svg{width:18px;height:18px}.cg-tile small{display:none}#toasts{bottom:calc(74px + env(safe-area-inset-bottom,0px))}}.tbtn.magic{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 55%,var(--rule))}.tbtn.magic:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.modal.magicm{width:404px;max-height:calc(100vh - 48px);overflow-y:auto}.magicm .mg-lab{font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:var(--track-lb);text-transform:uppercase;color:var(--ink-light);margin:11px 0 5px}.mg-row{gap:8px;display:flex}.mg-col{flex:1;min-width:0}.mg-col.w{flex:1.35}.mg-chk{text-align:left;border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-btn);cursor:pointer;font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);align-items:flex-start;gap:9px;margin-bottom:7px;padding:9px 11px;transition:all .13s;display:flex}.mg-chk:hover{border-color:var(--accent)}.mg-chk.on{border-color:var(--accent);background:var(--paper)}.mg-chk input{accent-color:var(--accent);flex:none;margin-top:3px}.mg-chk b{font-weight:500}.mg-chk small{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.03em;color:var(--ink-light);margin-top:2px;line-height:1.5;display:block}.mg-sel{width:100%;font-family:var(--zh);font-size:var(--fs-body);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);padding:6px 7px}.mg-sel:focus{border-color:var(--accent);outline:none}.mg-err{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--accent-2);margin:10px 0 0;line-height:1.7}.mg-ok{font-family:var(--disp);font-size:var(--fs-num);color:var(--accent-text);text-align:center;margin:16px 0 8px;font-weight:700}.magicm .exdl{margin-top:13px}.mg-link{width:100%;font-family:var(--zh);font-size:var(--fs-body);color:var(--accent-text);border:1px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:var(--r-btn);cursor:pointer;text-align:center;background:0 0;margin-top:8px;padding:10px;transition:all .13s;display:block}.mg-link:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.mg-copy{font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink-mid);-webkit-user-select:all;user-select:all;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-ctl);text-align:center;margin-top:8px;padding:6px 8px}.fb-drop{text-align:center;border:1px dashed var(--rule);background:var(--paper-2);border-radius:var(--r-btn);cursor:pointer;width:100%;min-height:52px;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.02em;color:var(--ink-light);justify-content:center;align-items:center;padding:9px 11px;line-height:1.6;transition:all .13s;display:flex}.fb-drop:hover,.modal-bg.fb-over .fb-drop{border-color:var(--accent);color:var(--ink-mid);background:var(--paper)}.fb-drop:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fb-shots{gap:7px;margin-bottom:7px;display:flex}.fb-thumb{border:1px solid var(--rule);border-radius:var(--r-btn);background:var(--paper-3);flex:none;width:96px;height:60px;position:relative;overflow:hidden}.fb-thumb img{object-fit:contain;width:100%;height:100%;display:block}.fb-x{width:var(--hit);height:var(--hit);border-radius:var(--r-ctl);background:color-mix(in srgb,var(--paper) 85%,transparent);color:var(--ink-mid);line-height:1;font-size:var(--fs-ctl);cursor:pointer;border:none;padding:0;transition:all .13s;position:absolute;top:2px;right:2px}.fb-x:hover{background:var(--paper);color:var(--accent-2)}.fb-x:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.fb-drop[hidden],.fb-shots[hidden]{display:none}.grpdlg .field{margin-bottom:14px}.grpdlg .gdsws{flex-wrap:wrap;gap:6px;display:flex}.grpdlg .gdsw{width:var(--hit);height:var(--hit);cursor:pointer;background:var(--gc,var(--paper-2));border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:50%;flex:none;transition:all .12s}.grpdlg .gdsw:hover{transform:translateY(-1px)}.grpdlg .gdsw.on{box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}.grpdlg .gdsw:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bnfoot .gddis{white-space:nowrap;font-family:var(--mono);font-size:var(--fs-meta);letter-spacing:.05em;color:var(--danger);border:1px dashed color-mix(in srgb,var(--danger) 40%,transparent);border-radius:var(--r-btn);cursor:pointer;background:0 0;flex:none;padding:7px 11px;transition:all .12s}.bnfoot .gddis:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--danger)}.bnfoot .gddis:active{transform:translateY(1px)}.bnfoot .gddis:focus-visible{outline:2px solid var(--danger);outline-offset:1px}
