: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-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:9px;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}.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)}.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)}.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(680px,82vh);max-height:82vh;animation:.17s cubic-bezier(.2,.85,.3,1) both oppop;display:flex;position:fixed;top:46%;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;padding:0;line-height:1;transition:all .12s;display:flex}.op-x:hover{border-color:var(--accent);color:var(--accent)}.op-searchwrap{padding:0 17px 11px;position:relative}.op-search{width:100%;font-family:var(--zh);font-size:var(--fs-name);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-pop);padding:11px 36px 11px 14px;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:11px;right:24px}.op-clear:hover{color:var(--ink)}.op-clear.show{display:flex}.opsc{scrollbar-width:none;flex:none;align-items:center;gap:6px;padding:0 17px 10px;display:flex;overflow-x:auto}.opsc::-webkit-scrollbar{display:none}.opsc-c{font-family:var(--zh);font-size:var(--fs-ctl);color:var(--ink-mid);background:var(--paper-2);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;border:1px solid #0000;flex:none;padding:4px 11px;transition:all .12s}.opsc-c:hover{background:var(--paper-3);color:var(--ink)}.opsc-c.on{background:var(--accent);border-color:var(--accent);color:var(--paper)}.opsc-c:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.opbody{flex:auto;grid-template-columns:158px minmax(0,1fr);min-height:0;display:grid}.opnav{border-right:1px solid var(--rule);min-height:0;padding:0 12px 10px 17px;overflow-y:auto}.opnav-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}.opnav-g+.opnav-sec{padding-top:13px}.optab{text-align:left;width:100%;font-family:var(--zh);border-radius:var(--r-ctl);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:1px;padding:6px 8px;transition:all .12s;display:flex}.optab:hover{background:var(--paper-2)}.opnav-lb{font-size:var(--fs-ctl);color:var(--ink-mid);align-items:center;gap:5px;transition:all .12s;display:flex}.opnav-d{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.02em;color:var(--ink-light);line-height:1.3;transition:all .12s}.optab:hover .opnav-lb{color:var(--ink)}.optab.on{background:var(--accent)}.optab.on .opnav-lb,.optab.on .opnav-d{color:#fff}.optab:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent);outline:none}.opgrid{grid-template-columns:repeat(auto-fill,minmax(106px,1fr));align-content:start;gap:9px;min-height:0;padding:2px 17px 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}.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-d{display:none}.opgrid{padding:6px 17px 8px}}.canvas-area{flex:1;min-width:0;display:flex;position:relative}.canvas-ghost{z-index:2;pointer-events:none;opacity:0;color:var(--ink-light);flex-direction:column;justify-content:center;align-items:center;gap:15px;transition:opacity .3s;display:flex;position:absolute;inset:0}.canvas-ghost.show{opacity:.62}.canvas-ghost svg{opacity:.85}.canvas-ghost .cg-main{font-family:var(--zh);font-size:var(--fs-name);color:var(--ink-mid);text-align:center;letter-spacing:.02em;font-weight:500}.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);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}.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}.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:14px;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{opacity:.4;pointer-events: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{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;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:5px;padding:2px 5px;transition:all .12s;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}#svg{touch-action:none;width:100%;height:auto;display:block}.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:2.1px}.w15{stroke-width:1.6px}.w12{stroke-width:var(--g-w,1.3)}.w10{stroke-width:var(--g-w,1.05)}.w08{stroke-width:var(--g-w,.85)}.w06{stroke-width:.62px}.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}.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}.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}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)}#view-field[hidden]{display:none}#view-field[hidden]+.sh-sec{border-top:none;margin-top:0;padding-top:2px}.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%}.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: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{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:none;align-self:stretch;align-items:center;padding:0 7px;display:flex}.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{border-top:none;margin-top:0;padding-top:2px}.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.npick .opt .sw{color:var(--accent);background:var(--paper);justify-content:center;align-items:center;display:flex}.modal.npick .opt:hover .sw{background:var(--paper-2)}.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}.modal .opt.opt-pro{border-color:var(--accent);position:relative}.modal .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:8px;right:9px}.modal.fpedit{width:min(560px,100vw - 40px)}.fp-head{margin-bottom:13px}.fp-head>p{min-height:3.2em;margin-bottom:0}.fp-frame{grid-template-rows:auto auto auto;grid-template-columns:auto minmax(0,min(70vh,440px)) auto;place-items:center;gap:5px 7px;width:max-content;max-width:100%;margin:0 auto;display:grid}.fp-frame .fp-side-t{grid-area:1/2}.fp-frame .fp-side-l{grid-area:2/1}.fp-frame .fp-stage{grid-area:2/2;width:100%}.fp-frame .fp-side-r{grid-area:2/3}.fp-frame .fp-side-b{grid-area:3/2}.fp-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}.fp-side-l,.fp-side-r{writing-mode:vertical-rl}.fp-grid{aspect-ratio:1;touch-action:none;gap:2px;width:100%;margin:0 auto;display:grid}.fp-cell{aspect-ratio:1;border-radius:var(--r-ctl);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule-2);cursor:pointer;border:none;padding:0;transition:background 80ms}.fp-cell:hover{background:color-mix(in srgb,var(--accent) 12%,var(--paper-2))}.fp-cell.on{background:color-mix(in srgb,var(--accent) 62%,var(--paper))}.fp-mode{width:max-content;margin:0 auto 9px}.fp-mode button{min-width:82px}.fp-wallops{flex-wrap:wrap;justify-content:center;gap:8px;margin:9px 0 0;display:flex}.fp-wallops[hidden]{visibility:hidden}.fp-wallops .tbtn{min-width:80px}.fp-stage{position:relative}.fp-edge{border:1px solid var(--rule);border-radius:var(--r-ctl);pointer-events:none;position:absolute;inset:-4px}.fp-stage:not(.wall) .fp-edge.e-t{border-top:2px solid var(--accent)}.fp-stage:not(.wall) .fp-edge.e-r{border-right:2px solid var(--accent)}.fp-stage:not(.wall) .fp-edge.e-b{border-bottom:2px solid var(--accent)}.fp-stage:not(.wall) .fp-edge.e-l{border-left:2px solid var(--accent)}.fp-walls{aspect-ratio:1;touch-action:none;width:100%;margin:0 auto;display:none;overflow:visible}.fp-stage.wall .fp-grid{display:none}.fp-stage.wall .fp-walls{display:block}.fpw-cell{fill:color-mix(in srgb,var(--accent) 22%,var(--paper));stroke:var(--rule-2);stroke-width:.03px}.fpw-front{stroke:var(--ink-mid);opacity:.4;stroke-width:.05px;stroke-dasharray:.16 .12;stroke-linecap:round;pointer-events:none}.fpw-front.walled{stroke:var(--accent);opacity:1;stroke-width:.26px;stroke-dasharray:none}.fpw-hit{stroke:#0000;stroke-width:.3px;stroke-linecap:round;cursor:pointer}.fpw-edge{stroke:var(--accent);stroke-width:.26px;stroke-linecap:round;pointer-events:none}.fpw-edge.open{stroke:var(--ink-mid);opacity:.5;stroke-width:.1px;stroke-dasharray:.22 .16}.fpw-g:hover .fpw-edge,.fpw-g:hover .fpw-front.walled{stroke-width:.36px}.fpw-g:hover .fpw-edge.open{stroke-width:.16px;opacity:.8}.fpw-g:hover .fpw-front:not(.walled){stroke-width:.09px;opacity:.75}.fp-bar{justify-content:space-between;align-items:center;gap:12px;margin-top:15px;display:flex}.fp-area{min-width:0;font-family:var(--mono);font-size:var(--fs-ctl);color:var(--ink-mid);letter-spacing:.02em;flex-direction:column;gap:2px;display:flex}.fp-sub{font-size:var(--fs-micro);letter-spacing:var(--track-lb);color:var(--ink-light);min-height:1.4em}.fp-sub.warn{color:var(--accent-text)}.fp-actions{gap:8px;display:flex}.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:440px;width:560px}.exbody{grid-template-columns:152px minmax(0,1fr);margin-top:14px;display:grid}.expanel{flex-direction:column;display:flex}@media (width>=601px) and (height>=640px){.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}.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-columns:1fr;gap:14px}.exnav{border-right:none;border-bottom:1px solid var(--rule);margin-right:0;padding:0 0 11px}.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-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)}@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,.cg-tap{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,.cg-kbd{display:none}.cg-tap{display:inline}#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}
