:root{--bg:#15181c;--panel:#1c2026;--panel2:#232830;--line:#2f3640;--ink:#dde2e8;--ink2:#8c96a3;--ink3:#5e6873;--acc:#e3a445;--acc2:#5fa8d3;--ok:#59b37a;--bad:#d9564f;--view:#0f1216;--overlay:rgba(28,32,38,.93);--dim-prev:rgba(15,18,22,.85);--acc-t:#e3a445;--bad-t:var(--bad-t);--ok-t:var(--ok-t);--warn-t:var(--warn-t);--info-t:var(--info-t);--on-acc2:#0b1520;--chip:#252b33;--hi:#2a3340;--sel-bg:#26374a;--ok-bg:#1d3328;--bad-bg:#3a2020;--warn-bg:#3a3120;--max-bg:#2b2240;--max-t:#c7a6ff;--qi-fill:var(--qi-fill);--qi-edge:#bfe0f5;--shade:var(--shade);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color-scheme:dark}:root[data-theme=light]{color-scheme:light;--bg:#e9edf1;--panel:#f6f8fa;--panel2:#e3e8ed;--line:#cdd5dd;--ink:#17212b;--ink2:#4b5765;--ink3:#77838f;--acc2:#2f7fb5;--ok:#2e8a4f;--bad:#c0392b;--view:#e4e8ec;--overlay:rgba(246,248,250,.95);--dim-prev:rgba(228,232,236,.92);--acc-t:#975a08;--bad-t:#b3392e;--ok-t:#24744a;--warn-t:#86570c;--info-t:#1d6aa3;--on-acc2:#ffffff;--chip:#e0e5ea;--hi:#dde5ee;--sel-bg:#d3e4f4;--ok-bg:#ddf0e4;--bad-bg:#f6dedb;--warn-bg:#f7ead2;--max-bg:#ece4fb;--max-t:#5b3aa8;--qi-fill:#9cc8e8;--qi-edge:#2c5d84;--shade:rgba(20,30,40,.18)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:13px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}#app{display:grid;grid-template-rows:42px 1fr 34px 26px;height:100vh}header{display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--panel);border-bottom:1px solid var(--line)}header .brand{font-weight:600;letter-spacing:.3px;margin-right:6px}header .brand{display:flex;align-items:center;gap:6px}header .brand .logo{width:20px;height:20px;flex:none}header .brand .tm{font-size:.6em;font-weight:500;vertical-align:super;margin-left:1px;color:var(--ink3)}header a.brand{color:inherit;text-decoration:none}*{scrollbar-width:thin;scrollbar-color:rgba(140,150,163,.4) transparent}*:hover{scrollbar-color:rgba(140,150,163,.65) transparent}header .sp{flex:1}header button{flex:none;white-space:nowrap}header .doc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1100px){header button .lb{display:none}header button:has(.lb) .qi{margin-right:0}}@media (max-width:700px){header{overflow-x:auto;scrollbar-width:none}}header .doc{color:var(--ink3);font-size:11px}main{position:relative;display:grid;grid-template-columns:var(--side-w,230px) minmax(0,1fr);min-height:0}#app.side-off aside.l,#app.side-off #sideGrip{display:none}#app.side-off main{grid-template-columns:minmax(0,1fr)}#sideGrip{position:absolute;top:0;bottom:0;left:calc(var(--side-w,230px) - 3px);width:6px;cursor:col-resize;z-index:30;touch-action:none}#sideGrip:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent;transition:background .15s}#sideGrip:hover:after,#sideGrip.on:after{background:var(--acc2)}header .side-btn{width:30px;padding:3px;margin-right:2px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-color:transparent}header .side-btn:hover{border-color:var(--line);background:var(--panel2)}header .side-btn[aria-pressed=false]{color:var(--ink3)}header .theme-btn{width:30px;padding:3px;display:inline-flex;align-items:center;justify-content:center}aside{background:var(--panel);overflow-y:auto;min-height:0}aside.l{border-right:1px solid var(--line)}#right.float{position:absolute;right:10px;top:60px;z-index:8;width:284px;overflow-y:auto;background:var(--overlay);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px var(--shade);backdrop-filter:blur(2px)}#right.float[hidden]{display:none}.viewcube{position:absolute;right:12px;top:12px;z-index:7;user-select:none;touch-action:none}.viewcube .vc-canvas{display:block;width:100%;height:100%;cursor:grab}.viewcube .vc-btn{position:absolute;top:-2px;width:22px;height:22px;padding:0;display:grid;place-items:center;border-radius:11px;background:var(--overlay);border:1px solid var(--line);color:var(--ink2);cursor:pointer}.viewcube .vc-btn:hover{color:var(--acc-t);border-color:var(--ink3)}.viewcube .vc-btn:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.viewcube .vc-home{left:-4px}.viewcube .vc-ccw{right:22px}.viewcube .vc-cw{right:-4px}#right .fp-grip{position:sticky;top:0;height:9px;cursor:grab;background:var(--overlay);z-index:1}#right .fp-grip:after{content:"";position:absolute;left:50%;top:3px;width:34px;height:3px;margin-left:-17px;border-radius:2px;background:var(--line)}#right .fp-grip:hover:after{background:var(--ink3)}#right .sec:last-child{border-bottom:0}#stage{position:relative;min-width:0;background:var(--view)}#view{position:absolute;inset:0}#view canvas{display:block;width:100%;height:100%;outline:none}#hud{position:absolute;inset:0;pointer-events:none;overflow:hidden;font-family:var(--mono);font-size:11px}#timeline{display:flex;align-items:center;gap:6px;padding:0 8px;background:var(--panel);border-top:1px solid var(--line);min-width:0;user-select:none}#timeline .tl-ctrl{display:flex;gap:2px;flex:none}#timeline .tl-ctrl button{width:24px;height:22px;padding:0;font-size:10px;line-height:1}#timeline .tl-track{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}#timeline .tl-items{position:relative;display:flex;align-items:center;gap:3px;height:30px;padding:0 4px;width:max-content}#timeline .tl-item{width:24px;height:22px;padding:0;display:grid;place-items:center;font-size:12px;line-height:1;border-radius:4px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);cursor:pointer}#timeline .tl-item.k-sk{color:#e3a445}#timeline .tl-item.k-dt{color:#b8a2e3}#timeline .tl-item.k-bo{color:#7fc49a}#timeline .tl-item.k-fr{color:#6fc2c2}#timeline .tl-item.k-as{color:#8cc4ee}:root[data-theme=light] #timeline .tl-item.k-dt{color:#6a4fb8}:root[data-theme=light] #timeline .tl-item.k-bo{color:#2e7d4f}:root[data-theme=light] #timeline .tl-item.k-fr{color:#1f7f7f}:root[data-theme=light] #timeline .tl-item.k-as{color:#2a6fa8}#timeline .tl-item:hover{border-color:var(--ink3)}#timeline .tl-item.sel{border-color:var(--acc2);box-shadow:0 0 0 1px var(--acc2) inset}#timeline .tl-item.on{border-color:var(--acc-t);box-shadow:0 0 0 1px var(--acc) inset}#timeline .tl-item.rolled{opacity:.35}#timeline .tl-item.sup{opacity:.45;text-decoration:line-through}#timeline .tl-item.err{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 22%,var(--panel2))}#timeline .tl-marker{width:6px;height:26px;border-radius:2px;background:var(--acc);cursor:ew-resize;flex:none;margin:0 1px}#timeline .tl-marker:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 40%,transparent)}#timeline .tl-caret{position:absolute;top:2px;width:2px;height:26px;background:var(--acc2);pointer-events:none}#timeline .tl-caret.bad{background:var(--bad)}footer{display:flex;align-items:center;gap:14px;padding:0 10px;background:var(--panel);border-top:1px solid var(--line);color:var(--ink2);font-size:11px;font-family:var(--mono);white-space:nowrap;overflow:hidden}footer .hint{flex:1;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}footer input{width:150px;padding:1px 6px;font:inherit}.sec{border-bottom:1px solid var(--line)}.sec>h3{margin:0;padding:8px 12px;font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--ink2);cursor:pointer;display:flex;align-items:center;gap:6px;user-select:none}.sec>h3:before{content:"";width:5px;height:5px;border-right:1.5px solid var(--ink3);border-bottom:1.5px solid var(--ink3);transform:rotate(45deg);margin-bottom:2px}.sec.closed>h3:before{transform:rotate(-45deg)}.sec.closed>.body{display:none}.body{padding:2px 12px 12px}.row{display:grid;grid-template-columns:1fr 100px;gap:6px;align-items:center;margin-bottom:6px}.row>label{color:var(--ink2);font-size:12px}.row.w{grid-template-columns:1fr}input,select,textarea,button{font:inherit;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:4px 6px;width:100%}input[type=number]{font-family:var(--mono);text-align:right}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc2)}button{cursor:pointer;text-align:center}button:hover{border-color:var(--ink3)}button.p{background:var(--acc);color:#20180a;border-color:var(--acc-t);font-weight:600}button.p:hover{filter:brightness(1.08)}button:disabled{opacity:.4;cursor:default}.btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.btns button{flex:1 1 auto;width:auto;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.seg{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.seg button{flex:1;border:0;border-radius:0;padding:3px 8px;background:var(--panel2);color:var(--ink2);white-space:nowrap;font-size:12px}.seg button+button{border-left:1px solid var(--line)}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--acc2);color:var(--on-acc2);font-weight:600}.row:has(.seg){grid-template-columns:auto minmax(0,1fr)}.row:has(.zrange){grid-template-columns:72px minmax(0,1fr)}.zrange{display:flex;align-items:center;gap:8px;min-width:0}.zrange input[type=range]{flex:1;min-width:0;accent-color:var(--acc-t)}.zrange .zv{min-width:26px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink2);font-size:12px}.row>label .auto{font-style:normal;font-size:10px;color:var(--acc2);border:1px solid rgba(95,168,211,.5);border-radius:3px;padding:0 4px;margin-left:4px}.targets{margin:2px 0 8px;border:1px solid var(--line);border-radius:4px;padding:4px 8px}.targets-h{font-size:11px;color:var(--ink2);margin-bottom:2px}.target{display:flex;align-items:center;gap:6px;font-size:12px;padding:2px 0;cursor:pointer}.target input{width:auto;margin:0}.hint{color:var(--ink3);font-size:11px;line-height:1.45;margin:6px 0 0}.kv{display:flex;justify-content:space-between;padding:3px 0;font-size:12px;border-bottom:1px solid var(--line)}.kv b{font-family:var(--mono);font-weight:500}.tool{position:absolute;display:flex;gap:3px;background:var(--overlay);border:1px solid var(--line);border-radius:6px;padding:4px;flex-wrap:wrap;align-items:center;max-width:calc(100% - 20px)}#toolbar{top:10px;left:10px}#viewbar{bottom:10px;left:10px}.tool button{display:inline-flex;align-items:center;width:auto;padding:3px 6px;font-size:11.5px;background:transparent;border:1px solid transparent;white-space:nowrap}.tool button:hover{border-color:var(--line);background:var(--panel2)}.tool button.on{background:var(--panel2);border-color:var(--line);color:var(--acc-t)}.tool button.cst{border-color:var(--line)}.tool button.cst.on{color:var(--info-t);border-color:var(--acc2)}.tool span.sep{width:1px;height:18px;background:var(--line);margin:0 3px}.tool kbd{font:10px var(--mono);color:var(--ink3);margin-left:4px}.tree{list-style:none;margin:0;padding:0}.tree li{display:flex;align-items:center;gap:6px;padding:4px 12px;padding-left:calc(12px + var(--lvl,0)*16px);cursor:pointer;font-size:12px}.tree li.comp{background:var(--panel2);font-weight:600;margin-top:2px}.tree li.comp.sel{outline:1px solid var(--acc2);outline-offset:-1px}.tree li.sel:not(.comp){background:var(--sel-bg);box-shadow:inset 2px 0 0 var(--acc2)}.tree li .mini.radio{padding:0 2px;color:var(--ink2)}.tree li.in{padding-left:calc(26px + var(--lvl,0)*16px)}.tree li .n.editing{flex:1;min-width:0}.tree li .n input.rn{font:inherit;font-weight:400;width:100%;min-width:70px;box-sizing:border-box;background:var(--panel2);color:inherit;border:1px solid var(--acc2);border-radius:3px;padding:1px 4px;outline:none}.tree li.folder{color:var(--ink2);font-weight:600;padding-top:3px;padding-bottom:3px}.tree li.folder .tri{width:10px;color:var(--ink3);font-size:9px;text-align:center;flex:none}.tree li.in2{padding-left:calc(44px + var(--lvl,0)*16px)}.tree li.origin .ic{font-size:10px}.tree li:hover{background:var(--panel2)}.tree li.on{background:var(--hi);color:var(--acc-t)}.tree li .n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree li .mini{width:auto;padding:0 6px;font-size:10.5px;background:transparent;border-color:transparent;color:var(--ink3)}.tree li .mini:hover{color:var(--ink);border-color:var(--line)}.tree li .ic{color:var(--ink3);font-family:var(--mono);font-size:11px}.chip{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10.5px;font-family:var(--mono);background:var(--chip);color:var(--ink2)}.hud-mark{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none}.hud-mark svg{position:absolute;left:-12px;top:-12px;overflow:visible}.hud-tag{position:absolute;background:#e3a445f2;color:#20180a;padding:2px 7px;border-radius:3px;white-space:nowrap;font-weight:600}.hud-lbl{position:absolute;transform:translate(-50%,-50%);background:var(--overlay);border:1px solid var(--line);color:var(--ink);padding:2px 8px;border-radius:4px;white-space:nowrap;pointer-events:auto;cursor:pointer}.hud-lbl:hover,.hud-lbl.on{border-color:var(--acc-t);color:var(--acc-t)}.modal{position:fixed;inset:0;background:#080a0db8;display:none;align-items:center;justify-content:center;z-index:50}.modal.on{display:flex}#modalCard .msg{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--ink)}#dlgForm .row,.lzf .row{grid-template-columns:1fr minmax(100px,170px)}button.danger{background:var(--bad-bg);border-color:var(--bad);color:var(--bad-t)}button.danger:hover{filter:brightness(1.12)}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(520px,94vw);max-height:90vh;overflow:auto;padding:16px}.card h2{margin:0 0 12px;font-size:15px;font-weight:600}.toast{position:absolute;top:calc(var(--tb-bottom, 44px) + 42px);left:50%;transform:translate(-50%);background:var(--overlay);border:1px solid var(--line);padding:6px 12px;border-radius:5px;pointer-events:none;transition:opacity .3s}@media (max-width:1000px){main{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}aside{max-height:200px}#sideGrip{display:none}}.tool .brk{width:100%;height:0;margin:2px 0 0;border-top:1px solid var(--line)}#toolbar .tg{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:1px;padding:0 5px;border-left:1px solid var(--line)}#toolbar .tg:first-child{border-left:0;padding-left:0}#toolbar .tg-main{justify-content:center}#toolbar .tg-main button.p{height:100%;min-height:44px;padding:4px 10px;font-weight:600;background:var(--acc);color:#20180a;border-color:var(--acc-t)}#toolbar .tg-b{display:flex;gap:1px;justify-content:center}#toolbar button.ib{width:30px;height:28px;padding:0;justify-content:center}#toolbar button.ib .qi{width:18px;height:18px;margin:0}#toolbar .tg-l{justify-content:center;padding:1px 4px;font:600 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}#toolbar .tg-l:hover{color:var(--ink)}#toolbar .tg-b button.ci{width:26px;height:28px;padding:0;justify-content:center}#toolbar .tg-b button.ci .qi{width:16px;height:16px;margin:0}#toolbar.dense button.ib{width:24px}#toolbar.dense .tg-b button.ci{width:21px}#toolbar.dense .tg{padding:0 3px}#toolbar.tiny .tg .tg-b{display:none}#toolbar.tiny .tg{justify-content:center}#toolbar.tiny .tg .tg-l{min-height:44px;padding:0 6px}#toolbar.tiny .tg-l{letter-spacing:.03em;padding:0 4px}#toolbar.tiny .tg-main button.p .lb,#toolbar.tiny .tg-main button.p kbd{display:none}.tool button .g{font-family:var(--mono);color:var(--acc2);margin-right:4px;font-size:11px}.tool label.ck{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ink2)}.tool label.ck input{width:auto}.ckcol{display:flex;flex-direction:column;gap:5px;padding:2px 0 4px}.ckcol label.ck{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink2);cursor:pointer}.ckcol label.ck input{width:auto;margin:0}.chip.ok{background:var(--ok-bg);color:var(--ok-t)}.chip.bd{background:var(--bad-bg);color:var(--bad-t)}.chip.wn{background:var(--warn-bg);color:var(--warn-t)}.warnbox{margin:6px 0;padding:6px 8px;border-radius:4px;background:var(--warn-bg);color:var(--warn-t);font-size:11.5px;line-height:1.4}.rb-fmts{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;padding:2px 0}.rb-fmts label.ck{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink2);cursor:pointer;white-space:nowrap}.rb-fmts label.ck input{width:auto;margin:0}.row.rb-wide{grid-template-columns:auto minmax(0,1fr)}.rb-tree{max-height:180px;overflow-y:auto;margin:2px 0 6px;border:1px solid var(--line);border-radius:4px}.rb-link{display:flex;align-items:center;gap:4px;padding:2px 4px;font-size:11.5px;cursor:pointer;white-space:nowrap;overflow:hidden}.rb-link:hover,.rb-issue:hover{background:var(--panel2)}.rb-link .chip{overflow:hidden;text-overflow:ellipsis;min-width:0}.rb-link .rb-m{margin-left:auto;color:var(--ink3);font-family:var(--mono);font-size:10.5px;flex:none}.rb-issues{display:flex;flex-direction:column;gap:3px;margin:2px 0 6px}.rb-issue{display:flex;gap:6px;align-items:flex-start;padding:4px 5px;border-radius:4px;font-size:11.5px;line-height:1.4;cursor:pointer}.rb-issue.err{color:var(--bad-t);background:var(--bad-bg)}.rb-issue.warn{color:var(--warn-t);background:var(--warn-bg)}.rb-issue.note{color:var(--ink3)}.rb-issue .chip{flex:none}.rb-fmts.rb-one{grid-template-columns:1fr;margin:0 0 4px}.rb-link.rb-srow{color:var(--ink2)}.rb-sensor{border:1px solid var(--line);border-radius:4px;margin:2px 0 4px;overflow:hidden}.rb-sensor.open{border-color:var(--acc2)}.rb-sh{display:flex;align-items:center;gap:4px;padding:3px 5px;font-size:11.5px;cursor:pointer;white-space:nowrap;overflow:hidden}.rb-sh:hover{background:var(--panel2)}.rb-sh .rb-tw{width:10px;flex:none;color:var(--ink3)}.rb-sh .chip{flex:none}.rb-sh .rb-m{margin-left:auto;padding-left:6px;color:var(--ink3);font-family:var(--mono);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;min-width:0}.rb-sb{padding:3px 6px 6px;border-top:1px solid var(--line)}.rb-sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 6px;margin:3px 0 5px}.rb-sgrid label{display:flex;flex-direction:column;gap:2px;font-size:10.5px;color:var(--ink3);min-width:0}.rb-sgrid input,.rb-sgrid select{width:100%;min-width:0;box-sizing:border-box}.rb-sgrid .rb-wide3{grid-column:1/-1}.rb-xyz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0}.rb-xyz input{width:100%;min-width:0;box-sizing:border-box}.rb-topics{font-family:var(--mono);font-size:10.5px;word-break:break-all;margin:2px 0}select.rb-add{width:100%;margin:2px 0 6px}tr.sel td{background:var(--hi)}table.bom{width:100%;border-collapse:collapse;font-size:11.5px}table.bom th{font-weight:500;color:var(--ink3);text-align:left;padding:2px 3px}table.bom td{padding:2px 3px;border-top:1px solid var(--line);white-space:nowrap}table.bom td.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}table.bom tr.hw td{color:var(--ink2)}.kv b.bad{color:var(--bad-t)}.kv b.g{font-family:var(--mono);color:var(--acc2);font-weight:600;margin-right:2px}.clist .kv:hover{background:var(--panel2)}.clist .oth{font-style:normal;color:var(--ink3);font-size:11px}.cons-sugg{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.cons-sugg button{width:auto;padding:2px 8px;font-size:11.5px}.cons-sugg button .g{font-family:var(--mono);color:var(--acc2);margin-right:4px}.slots{margin:6px 0 4px;display:flex;flex-direction:column;gap:4px}.slot{display:grid;grid-template-columns:18px 1fr auto auto;align-items:center;gap:6px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;font-size:11.5px}.slot .si{width:16px;height:16px;border-radius:50%;background:var(--panel2);color:var(--ink2);font:10px/16px var(--mono);text-align:center}.slot .sl{color:var(--ink2)}.slot .sl i{font-style:normal;color:var(--ink3)}.slot b{font-weight:500;font-family:var(--mono);font-size:11px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.slot.next{border-color:var(--acc-t)}.slot.next .si{background:var(--acc);color:#20180a}.slot.next b{color:var(--acc-t)}.slot.done .si{background:var(--ok-bg);color:var(--ok-t)}.slot .mini{width:auto;padding:0 5px;font-size:10.5px;background:transparent;border-color:transparent;color:var(--ink3)}.tree li .ic.dat{color:#e3a445}.kv.refs b{text-align:right;line-height:1.5}.clist .mini{width:auto;padding:0 6px;font-size:10.5px;background:transparent;border-color:transparent;color:var(--ink3)}.hud-glyph{position:absolute;transform:translate(-50%,-50%);width:16px;height:16px;display:flex;align-items:center;justify-content:center;font:11px/1 var(--mono);color:var(--info-t);background:var(--overlay);border:1px solid var(--line);border-radius:3px;padding:0;pointer-events:auto;cursor:pointer}.hud-glyph svg{display:block;flex:none}.hud-glyph.rel{color:#3ee6a8;border-color:#3ee6a8b3}.hud-glyph:hover,.hud-glyph.on{color:var(--acc-t);border-color:var(--acc-t)}.hud-svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}.hud-svg line.rel{stroke:#3ee6a8;stroke-width:1.3;stroke-dasharray:4 3}.hud-svg line.pair{stroke:#3ee6a8;stroke-width:1;stroke-dasharray:2 3;opacity:.8}.hud-svg line.lead{stroke:var(--ink3);stroke-width:1}.hud-svg circle.rel{fill:#3ee6a8;stroke:var(--view);stroke-width:1}#reltag{position:absolute;z-index:9;background:#0e1e19f7;border:1px solid rgba(62,230,168,.8);color:#c9f7e5;padding:2px 8px;border-radius:3px;white-space:nowrap;font:11px var(--mono);pointer-events:none;box-shadow:0 4px 14px var(--shade)}#reltag[hidden]{display:none}.hud-dim{position:absolute;transform:translate(-50%,-50%);font:11.5px/1.2 var(--mono);color:var(--ink);background:var(--view);border:1px solid transparent;border-radius:2px;padding:1px 4px;pointer-events:auto;cursor:pointer;white-space:nowrap;letter-spacing:.2px}.hud-dim:hover,.hud-dim.on{color:var(--acc-t);border-color:#e3a44599}.hud-dim.prev{color:var(--acc-t);pointer-events:none;background:var(--dim-prev)}.hud-dim.driven{color:#9aa5b1;font-style:italic}#modalCard.wide{width:min(860px,94vw);max-width:none}.ptable{max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:4px}.ptable table{width:100%;border-collapse:collapse;font-size:12px}.ptable th{position:sticky;top:0;background:var(--panel2);text-align:left;font-weight:600;padding:5px 6px;color:var(--ink2)}.ptable td{padding:3px 6px;border-top:1px solid var(--line);vertical-align:middle}.ptable tr.pgrp button{width:auto;display:inline-block;margin-left:8px;padding:1px 8px}.ptable td input,.ptable td select{width:100%;box-sizing:border-box}.ptable td.v{font-family:var(--mono);white-space:nowrap;color:var(--ink);font-variant-numeric:tabular-nums}.ptable td.u{font-family:var(--mono);color:var(--ink3)}.ptable tr.pgrp td{background:var(--panel);font-weight:600;color:var(--ink2);padding-top:8px}.ptable .perr{color:var(--bad-t);font-size:11px;margin-top:2px}input.num.fx{color:var(--info-t);font-style:italic}input.num.bad{border-color:var(--bad-t)}#badge{position:absolute;z-index:6;pointer-events:none;display:flex;align-items:center;gap:5px;padding:2px 6px;border-radius:3px;background:var(--overlay);border:1px solid var(--line);font:11px var(--mono);color:var(--ink2);white-space:nowrap}#badge[hidden]{display:none}#badge .g{color:var(--acc-t);font-size:13px;line-height:1}#badge .t{color:var(--ink)}#dimEdit{position:absolute;z-index:7;display:flex;align-items:center;gap:3px;padding:2px 5px;border-radius:3px;background:var(--overlay);border:1px solid var(--acc)}#dimEdit input{width:88px;padding:1px 4px;font:12px var(--mono);text-align:right;border-color:transparent;background:var(--hi);color:var(--ink)}#dimEdit b{font:11px var(--mono);color:var(--ink2)}#dimEdit em{font-style:normal;font:10.5px var(--mono);color:var(--ink3)}#dyn[hidden]{display:none}#ctxmenu{position:fixed;z-index:60;min-width:160px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px;box-shadow:0 8px 24px var(--shade);font-size:12px;color:var(--ink)}#ctxmenu div{padding:6px 10px;border-radius:4px;cursor:pointer;white-space:nowrap}#ctxmenu div:hover{background:var(--panel);color:var(--acc-t)}#ctxmenu div.danger{color:var(--bad-t)}#ctxmenu div kbd{float:right;margin-left:18px;color:var(--ink2);font:inherit;font-size:11px;background:none;border:0;padding:0}#ctxmenu hr{border:0;border-top:1px solid var(--line);margin:4px 0}#ctxmenu[hidden]{display:none}#ctxmenu{max-height:calc(100vh - 12px);overflow-y:auto}#ctxmenu div.head{cursor:default;color:var(--ink2);font-size:11px;padding:4px 10px 2px}#ctxmenu div.head:hover{background:none;color:var(--ink2)}.help{display:flex;gap:24px;max-height:60vh;overflow:auto}.help h4{margin:4px 0 6px;font-size:12px;color:var(--ink2)}.help table{border-collapse:collapse}.help td{padding:2px 8px 2px 0;font-size:12px;white-space:nowrap}#viewbar select,#viewbar input{height:22px;font-size:11px}.tree li.hid .n,.tree li.hid .ic{opacity:.4}#selbox{position:absolute;z-index:4;pointer-events:none;border:1px solid var(--acc);background:#e3a44514}#selbox.cross{border-style:dashed;border-color:#59b37a;background:#59b37a14}#selbox[hidden]{display:none}#toolbar button.sep{margin-left:10px}#dyn{position:absolute;display:flex;gap:6px;background:var(--overlay);border:1px solid var(--line);border-radius:5px;padding:4px 6px;z-index:5}#dyn label{display:flex;align-items:center;gap:4px;font:11px var(--mono);color:var(--ink2)}#dyn input{width:74px;padding:2px 5px;font:11.5px var(--mono);text-align:right}#dyn input:focus{border-color:var(--acc-t);background:var(--hi)}#dyn em{font-style:normal;color:var(--ink3);font-size:10px}.hud.pass .hud-glyph,.hud.pass .hud-dim,#hud.pass .hud-glyph,#hud.pass .hud-dim{pointer-events:none}.tree li.sup{opacity:.5}.kstat{position:absolute;left:50%;top:calc(var(--tb-bottom, 44px) + 8px);transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:7px;padding:4px 12px 4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--overlay);color:var(--ink2);font:600 11.5px var(--mono);letter-spacing:.02em;white-space:nowrap;pointer-events:none}.kstat{transition:opacity .5s}.kstat.idle{opacity:0}.kstat:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink3)}.kstat.ok:before{background:var(--ok);box-shadow:0 0 0 3px #59b37a2e}.kstat.bd{color:var(--bad);border-color:var(--bad)}.kstat.bd:before{background:var(--bad)}.kstat.working{color:var(--acc-t);border-color:var(--acc-t)}.kstat.working:before{display:none}.kstat .kanim{display:none;width:18px;height:18px;margin:-4px 0 -4px -3px}.kstat.working .kanim{display:block}.kstat{max-width:calc(100% - 24px)}#kstatT{overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.kstat.busy{padding-bottom:8px}.kstat .kbar{position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:1px;background:var(--line);overflow:hidden}.kstat .kbar[hidden]{display:none}.kstat .kbar b{display:block;height:100%;width:0;background:var(--acc-t);transition:width .25s linear}.boot-mark{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px;pointer-events:none;z-index:3}.boot-mark[hidden]{display:none}.boot-mark canvas{width:96px;height:96px}.boot-mark span{font:12px var(--mono);color:var(--ink2);letter-spacing:.04em}.ch-work{display:flex;align-items:center;gap:8px;padding:4px 12px 6px;font-size:12px;color:var(--ink2)}.ch-work[hidden]{display:none}.ch-work canvas{width:32px;height:32px}.ch-work .ch-wt{color:var(--ink3);font-variant-numeric:tabular-nums}.ch-work .ch-wx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink3)}.hud-glyph.bad,.hud-dim.bad{color:var(--bad-t);border-color:var(--bad-t);animation:flash .5s ease-in-out 4}@keyframes flash{50%{opacity:.3}}.tree li.rolled{opacity:.45}.tree li .mini:first-child{padding:0 3px}.esets{margin:6px 0 8px;display:flex;flex-direction:column;gap:3px}.eset-head{display:flex;justify-content:space-between;font-size:11px;color:var(--ink3);padding:0 2px}.eset{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:6px;padding:3px 4px 3px 8px;border:1px solid var(--line);border-radius:4px}.eset.on{border-color:var(--acc-t);background:#e3a44514}.eset-name{cursor:pointer;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eset.on .eset-name{color:var(--acc-t)}.eset-vals{display:flex;gap:4px;align-items:center}.eset-vals input[type=number],.eset-vals input.num{width:62px;padding:1px 4px}.eflip{display:flex;align-items:center;gap:2px;font-size:12px;color:var(--ink2);cursor:pointer}.eflip input{width:auto;margin:0}.eset .mini{width:22px;padding:0}.eset-add{align-self:flex-start;width:auto;padding:2px 10px;font-size:11.5px;margin-top:2px}.eset-pt{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:6px;padding:0 4px 0 14px;font-size:11.5px;color:var(--ink2)}.eset-pt-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eset-pt .eset-vals input[data-fp$=".t"]{width:48px}.eset-pt .mini{width:22px;padding:0}.eset-pt-add{margin:0 0 3px 18px}.manip-in{position:absolute;z-index:7;width:78px;padding:2px 6px;font:12px/1.3 var(--mono);color:var(--ink);background:var(--overlay);border:1px solid var(--acc2);border-radius:4px;box-shadow:0 4px 14px var(--shade);outline:none}.manip-in:focus{border-color:var(--acc-t)}.manip-in[hidden]{display:none}#mmenu{position:absolute;inset:0;z-index:55}#mmenu[hidden]{display:none}#mmenu.gesture{pointer-events:none}#mmenu .mm-shield{position:absolute;inset:0}#mmenu .mm-ring{position:absolute;pointer-events:none;overflow:visible}#mmenu .mm-mid{fill:var(--overlay);stroke:var(--line);stroke-width:1}#mmenu .mm-wedge{fill:#e3a44524;stroke:#e3a44573;stroke-width:1}#mmenu .mm-dir{stroke:var(--acc);stroke-width:3;stroke-linecap:round}#mmenu .mm-slot{position:absolute;transform:translate(-50%,-50%);padding:5px 11px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;font-size:12px;white-space:nowrap;color:var(--ink);box-shadow:0 4px 14px var(--shade);pointer-events:none}#mmenu .mm-slot.left{transform:translate(calc(-100% + 18px),-50%)}#mmenu .mm-slot.right{transform:translate(-18px,-50%)}#mmenu .mm-slot.hot{border-color:var(--acc-t);color:var(--acc-t)}#mmenu .mm-slot.dis{opacity:.4}#mmenu .mm-slot .i{margin-right:6px;color:var(--ink2)}#mmenu .mm-slot kbd{font:10px var(--mono);color:var(--ink3);margin-left:6px}#mmenu .mm-back{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:13px;background:var(--panel2);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink2);font-size:11px;pointer-events:none}#mmenu .mm-list{position:absolute;min-width:180px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px;box-shadow:0 8px 24px var(--shade);font-size:12px;color:var(--ink)}#mmenu .mm-list div{padding:6px 10px;border-radius:4px;cursor:pointer;white-space:nowrap}#mmenu .mm-list div:hover{background:var(--panel);color:var(--acc-t)}#mmenu .mm-list div.danger{color:var(--bad-t)}#mmenu .mm-list div kbd{float:right;margin-left:18px;color:var(--ink2);font:inherit;font-size:11px;background:none;border:0;padding:0}#mmenu .mm-list div.dis{opacity:.4;pointer-events:none}#mmenu .mm-list hr{border:0;border-top:1px solid var(--line);margin:4px 0}#toolbox{position:absolute;z-index:58;width:330px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px;box-shadow:0 10px 30px var(--shade);font-size:12px;color:var(--ink);display:flex;flex-direction:column;gap:6px}#toolbox[hidden]{display:none}#toolbox .tb-head{font-weight:600;color:var(--ink2);display:flex;justify-content:space-between;gap:8px}#toolbox .tb-hint{color:var(--ink3);font-weight:400;font-size:11px}#toolbox .tb-pins{display:flex;flex-wrap:wrap;gap:4px}#toolbox .tb-pins button{width:auto;padding:3px 8px;font-size:12px}#toolbox .tb-pins .i,#toolbox .tb-row .i{color:var(--ink2);margin-right:6px}#toolbox #tbq{width:100%;box-sizing:border-box;padding:5px 8px}#toolbox .tb-list{max-height:300px;overflow-y:auto}#toolbox .tb-row{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:4px;cursor:pointer}#toolbox .tb-row .n{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#toolbox .tb-row.hot,#toolbox .tb-row:hover{background:var(--panel);color:var(--acc-t)}#toolbox .tb-row.dis{opacity:.4}#toolbox .tb-row kbd{font:10px var(--mono);color:var(--ink3);border:1px solid var(--line);border-radius:3px;padding:0 4px;min-width:14px;text-align:center}#toolbox .tb-row kbd.bind{color:var(--acc-t);border-color:var(--acc-t)}#toolbox .tb-row .pin{color:var(--ink3);cursor:pointer}#toolbox .tb-row .pin.on{color:var(--acc-t)}#toolbox .tb-row .g{font-size:10px;color:var(--ink3);white-space:nowrap}.qi{width:16px;height:16px;flex:none;vertical-align:-3.5px;margin-right:4px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.qi .b1{fill:var(--qi-fill);fill-opacity:.7;stroke:var(--qi-edge)}.qi .b2{fill:#5fa8d3;fill-opacity:.5;stroke:var(--qi-edge)}.qi .b3{fill:#3b7fb0;fill-opacity:.62;stroke:var(--qi-edge)}.qi .a{stroke:var(--acc)}.qi .af{fill:var(--acc);stroke:var(--acc)}.qi .ah{fill:var(--acc);fill-opacity:.42;stroke:var(--acc)}.qi .f{fill:currentColor;fill-opacity:.13}.qi .n{fill:currentColor;stroke:none}.qi .h{fill:var(--view);stroke:var(--acc)}.qi .d{stroke-dasharray:1.6 1.5}.qi .t{stroke-width:1.6}.qi .sw{stroke:#5fa8d3;stroke-opacity:.6;stroke-width:4.4;stroke-linecap:butt}.qi .fr{stroke:var(--qi-edge);stroke-width:1.9}.qi .lk{stroke:#5fa8d3;stroke-width:3.6}.qi .pv{fill:var(--panel);stroke:var(--acc);stroke-width:1.4}.qi .cl{stroke:var(--qi-edge);stroke-width:2}.qi .cs{stroke-dasharray:2.4 1.8}.qi .cl2{stroke-dasharray:4 1.6 1 1.6}.qi .ok{stroke-width:2}.qi .x{stroke:var(--acc);stroke-width:1.6;stroke-dasharray:1.7 1.9;stroke-linecap:butt}button.p .qi .a,button.p .qi .ah,button.p .qi .af{stroke:currentColor}button.p .qi .af{fill:currentColor}button.p .qi .ah{fill:currentColor;fill-opacity:.22}button .qi.solo,.tl-item .qi{margin-right:0}.tool button.ci{padding:3px 5px}.tl-item .qi{width:15px;height:15px;vertical-align:-3px}#ctxmenu .qi{margin-right:8px}.sec>h3 .qi{width:14px;height:14px;margin-right:2px;vertical-align:-2.5px}.replay-bar{position:absolute;bottom:54px;left:50%;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:6px;width:min(760px,calc(100% - 24px));color:var(--ink);padding:5px 8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acc2);border-radius:6px;box-shadow:0 4px 14px var(--shade);font-size:12.5px}.replay-bar button{flex:none;width:auto;min-width:30px;height:24px;padding:0 6px}.replay-bar .rb-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.replay-bar .rb-title{color:var(--acc2)}.replay-bar.warn{border-left-color:var(--bad)}.replay-bar.done{border-left-color:var(--ok)}.pat-marks{position:absolute;inset:0;pointer-events:none;z-index:30;overflow:hidden}.pat-mark{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;width:20px;min-width:0;height:20px;padding:0;border:1.5px solid var(--acc2);border-radius:4px;background:var(--panel);color:var(--acc2);font-size:13px;line-height:17px;text-align:center;cursor:pointer;box-shadow:0 1px 4px var(--shade)}.pat-mark:hover{border-color:var(--acc-t);color:var(--acc-t)}.pat-mark.off{border-color:var(--line);color:transparent;background:var(--overlay)}#acctSlot{display:flex;align-items:center;gap:6px}#acctSlot:empty{display:none}header .aibtn{color:var(--acc-t);border-color:#e3a44573;font-weight:600}svg.eleph{width:1.2em;height:1.2em;flex:none;vertical-align:-.25em;margin-right:.3em}header .aibtn:hover{border-color:var(--acc-t)}header .acctbtn{display:inline-flex;align-items:center;gap:6px;padding:2px 6px}header .upbtn{background:var(--acc);border-color:var(--acc);color:#20180a;font-weight:600}header .upbtn:hover{filter:brightness(1.08)}header .avatar{width:22px;height:22px;border-radius:50%;background:var(--acc2);color:var(--on-acc2);font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;position:relative}header .avatar.warn:after{content:"";position:absolute;right:-2px;top:-2px;width:8px;height:8px;border-radius:50%;background:var(--acc);border:2px solid var(--panel)}.planchip{font-size:10.5px;font-weight:600;padding:0 6px;border-radius:3px;background:var(--chip);color:var(--ink2)}.planchip.pro{background:var(--warn-bg);color:var(--acc-t)}.planchip.max{background:var(--max-bg);color:var(--max-t)}.planchip.maker{background:var(--sel-bg);color:var(--info-t)}.contrib-note{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:9;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:min(760px,92%);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 8px 6px 12px;font-size:12px;color:var(--ink);box-shadow:0 4px 16px #00000040}.contrib-note span{flex:1 1 280px}.contrib-note button{width:auto;padding:2px 10px;font-size:12px}.contrib-note a{color:var(--acc2);font-size:12px}fieldset.share{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:4px 0;display:flex;flex-direction:column;gap:6px;background:var(--panel2)}fieldset.share legend{font-size:12px;color:var(--ink2);padding:0 4px}fieldset.share .hint{margin:2px 0 0}#acctBanner{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:9;display:flex;align-items:center;gap:8px;max-width:min(720px,92%);background:var(--warn-bg);border:1px solid var(--acc);color:var(--warn-t);border-radius:6px;padding:5px 6px 5px 12px;font-size:12px}#acctBanner button{width:auto;padding:2px 8px;font-size:12px}#aiActivity{position:absolute;left:12px;bottom:12px;z-index:9;background:var(--overlay);border:1px solid rgba(227,164,69,.5);color:var(--acc-t);border-radius:14px;padding:3px 12px;font-size:12px;pointer-events:none}main.chat-open{grid-template-columns:var(--side-w,230px) minmax(0,1fr) 380px}#app.side-off main.chat-open{grid-template-columns:minmax(0,1fr) 380px}@media (max-width:1000px){main.chat-open{grid-template-columns:1fr}.aichat{position:fixed;inset:42px 0 0 auto;width:min(380px,100vw);z-index:20}}.aichat{display:flex;flex-direction:column;min-height:0;background:var(--panel);border-left:1px solid var(--line)}.aichat[hidden]{display:none}.ch-head{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line)}.ch-head b{color:var(--acc-t);margin-right:auto}.ch-head select{width:auto;font-size:12px}.ch-head .mini{width:auto}.ch-cred{font-size:11px;color:var(--ink2);font-family:var(--mono)}.ch-log{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px}.ch-log .m{font-size:13px;line-height:1.5;word-wrap:break-word}.ch-log .m p{margin:0 0 6px}.ch-log .m ul{margin:0 0 6px;padding-left:18px}.ch-log .m code{font-family:var(--mono);font-size:12px;background:var(--chip);padding:0 3px;border-radius:3px}.ch-log .m.u{align-self:flex-end;max-width:88%;background:var(--sel-bg);border-radius:10px 10px 2px;padding:7px 10px}.ch-log .m.a{max-width:100%}.ch-log .m.note{font-size:12px;color:var(--ink2);border-left:2px solid var(--line);padding:3px 8px}.ch-log .m.note.err{border-color:var(--bad);color:var(--bad-t)}.ch-log .m.note.warn{border-color:var(--acc-t);color:var(--warn-t)}.ch-log .m.note.gate{border-color:var(--acc2)}.ch-log .m.hello{color:var(--ink2);display:flex;flex-direction:column;gap:6px}.ch-log .ex{text-align:left;font-size:12px;color:var(--ink);background:var(--panel2)}.ch-log .ch-tool{font-size:12px;color:var(--ink2);font-family:var(--mono);margin:2px 0}.ch-log .ch-tool.ok{color:var(--ok-t)}.ch-log .ch-tool.err{color:var(--bad-t)}.ch-log .ch-tool.run{color:var(--acc-t)}.ch-log details.th{font-size:12px;color:var(--ink3);margin:2px 0 6px}.ch-log details.th summary{cursor:pointer}.ch-log .cost{font-size:10.5px;color:var(--ink3);font-family:var(--mono);margin-top:2px}.ch-in{border-top:1px solid var(--line);padding:8px 10px}.ch-in textarea{resize:vertical;min-height:54px;max-height:240px;font:inherit}.ch-btns{display:flex;align-items:center;gap:6px;margin-top:6px}.ch-btns .hint{flex:1;margin:0;font-size:10.5px}.ch-btns button{width:auto}#modalCard.acct h2{font-size:16px}#modalCard.acct .hint{font-size:12px}#modalCard.acct.panel{height:min(660px,90vh);display:flex;flex-direction:column;overflow:hidden}#modalCard.acct.panel .ahead,#modalCard.acct.panel .tabs{flex:none}#modalCard.acct.panel .abody{flex:1;min-height:0;overflow:auto;padding-right:4px}.aform{display:flex;flex-direction:column;gap:9px}.aform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink2)}.aform [hidden]{display:none}.aform input,.aform textarea,.aform select{font-size:13px;padding:7px 9px}.aform .hint{margin:0}.aform label.check,label.check{flex-direction:row;align-items:flex-start;gap:8px;color:var(--ink);font-size:12.5px;cursor:pointer}label.check input{width:auto;margin-top:2px}label.check.big{font-size:14px;font-weight:600}.aform .err,#modalCard .err{color:var(--bad-t);font-size:12px;min-height:0;margin:0}.aform .err:empty{display:none}.aform.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-items:end}.aform.grid .btns,.aform.grid .err,.aform.grid label.check{grid-column:1/-1}.aform.row2{flex-direction:row;align-items:flex-end}.aform.row2 label{flex:1}.alinks{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink2);margin:12px 0 0}.alinks a,#modalCard a{color:var(--acc2)}.btns.left{justify-content:flex-start}.btns.left button,.btns.left .button{flex:0 0 auto}a.button{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--line);border-radius:4px;background:var(--panel2);color:var(--ink);text-decoration:none;font-size:13px}.ahead{display:flex;align-items:center;gap:12px;padding-bottom:12px}.ahead .avatar{width:38px;height:38px;border-radius:50%;background:var(--acc2);color:var(--on-acc2);font-weight:700;font-size:16px;display:inline-flex;align-items:center;justify-content:center;flex:none}.ahead .who{flex:1;min-width:0}.ahead .who h2{margin:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ahead .who span{font-size:12px;color:var(--ink2)}.ahead .x{width:auto}.tabs,.subtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:0 0 12px;flex-wrap:wrap}.tabs button,.subtabs button{width:auto;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--ink2);padding:7px 12px;font-size:12.5px}.tabs button:hover,.subtabs button:hover{color:var(--ink)}.tabs button.on,.subtabs button.on{color:var(--ink);border-bottom-color:var(--acc-t);font-weight:600}.subtabs{border-bottom-style:dashed}.abody h4{margin:20px 0 8px;font-size:11px;color:var(--ink2);text-transform:uppercase;letter-spacing:.6px}.abody>h4:first-child,.abody .group>h4:first-child{margin-top:2px}.abody .kv{display:flex;gap:10px;align-items:baseline;margin:4px 0}.abody .kv>span:first-child{min-width:150px;color:var(--ink2)}.abody .kv.big b{font-size:16px}.abody .group{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:6px 0}.abody .group .hint{margin-top:4px}.abody .group>h4{margin-top:12px}.planbox{display:flex;gap:16px;align-items:flex-start}.planbox .pl{flex:1;min-width:0}.planbox .kv.big{flex-direction:column;align-items:flex-start;gap:2px;margin:0}.planbox .kv.big>span:first-child{min-width:0;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3)}.planbox .kv.big b{font-size:24px;font-family:inherit;font-weight:700;line-height:1.15}.planbox .kv.big .hint{margin:0;font-size:12.5px;color:var(--ink2)}.planbox>.btns{flex:none;flex-direction:column;align-items:stretch;margin:0;min-width:160px}.planbox>.btns button{flex:none}.planbox>.btns:empty{display:none}@media (max-width:640px){.planbox{flex-direction:column}.planbox>.btns{flex-direction:row;flex-wrap:wrap;min-width:0}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:6px 0 8px}.stat{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}.stat.main{border-color:#e3a4458c}.stat .k{font-size:11px;color:var(--ink2)}.stat .v{font:600 20px/1.2 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}.stat.main .v{color:var(--acc-t)}.stat .s{font-size:11px;color:var(--ink3)}.stat .meter{margin:3px 0 1px}.aform.limits.group{gap:4px}.aform.limits.group .btns{margin-top:6px}.okc{color:var(--ok-t)}.meter{height:8px;border-radius:4px;background:var(--panel2);overflow:hidden;border:1px solid var(--line)}.meter>div{height:100%;background:linear-gradient(90deg,var(--acc2),var(--acc))}.buy{display:flex;align-items:center;gap:8px;margin:10px 0}.buy select,.buy button{width:auto}.atable{width:100%;border-collapse:collapse;font-size:12px}.atable td,.atable th{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.atable th{color:var(--ink3);font-weight:500}.atable .num{text-align:right;font-family:var(--mono)}.atable tr.off{opacity:.45}.atable .mini,select.mini{width:auto;font-size:11px;padding:1px 6px}.copyrow{display:flex;gap:6px;margin:4px 0}.copyrow input{font-family:var(--mono);font-size:12px}.copyrow button{width:auto;flex:none}pre.code{background:var(--chip);border:1px solid var(--line);border-radius:4px;padding:8px;font-size:11.5px;overflow:auto;margin:4px 0}#modalCard details{margin:8px 0}#modalCard details summary{cursor:pointer;color:var(--ink2)}#modalCard details[open] summary{margin-bottom:8px}#modalCard details.danger summary{color:var(--bad-t)}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:4px 0 12px}.plan{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px;background:var(--panel2)}.plan.pop{border-color:#e3a44599}.plan.cur{outline:2px solid var(--acc2)}.plan h3{margin:0;font-size:14px}.plan .price{font-size:24px;font-weight:700}.plan .price small{font-size:12px;color:var(--ink2);font-weight:400}.plan .other{margin:-4px 0 0;min-height:1.2em}label.check.contrib{margin:2px 0 0}.plan .desc{margin:0;font-size:12px;color:var(--ink2);min-height:3em}.plan ul{margin:0;padding-left:16px;font-size:12px;flex:1}.plan li{margin:2px 0}.plan button{margin-top:6px}.ch-est{font-size:11px;color:var(--ink3);font-family:var(--mono);margin-top:4px;cursor:help}.ch-est:empty{display:none}.ch-est.warn{color:var(--warn-t);font-family:inherit;cursor:default}.ch-log .m.note.cost{font-family:var(--mono);font-size:11px;color:var(--ink3);border-left-color:transparent;padding-left:0}.rnterms{margin:4px 0 12px;padding-left:18px;font-size:13px;line-height:1.5}.rnterms li{margin:3px 0}.limrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.limrow input[type=number]{width:96px;flex:none;padding:4px 6px}.limrow>span{font-size:12.5px;color:var(--ink2)}.cancelbox .warnbox p{margin:6px 0}.cancelbox label.reason{display:flex;align-items:center;gap:8px;font-size:12px}.cancelbox select{width:auto}.fbkinds{display:flex;gap:6px;flex-wrap:wrap}.fbkinds label{flex-direction:row;align-items:center;cursor:pointer;position:relative}.fbkinds input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.fbkinds span{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--ink2);font-size:12.5px;white-space:nowrap}.fbkinds input:checked+span{border-color:var(--acc-t);color:var(--ink);background:var(--warn-bg)}.fbkinds input:focus-visible+span{outline:2px solid var(--acc2)}.fbform textarea{resize:vertical;min-height:110px;font:inherit}.fbform .fbcount{align-self:flex-end}.fbpreview{font-family:var(--mono);font-size:11px;word-break:break-word}.fbdone h3,.fboffline h3{margin:4px 0 8px;font-size:15px}pre.fbcopy{white-space:pre-wrap;max-height:140px}a.button.p,#modalCard a.button.p{background:var(--acc);border-color:var(--acc-t);color:#20180a;font-weight:600}#modalCard a.button{color:var(--ink)}.fblist{display:flex;flex-direction:column;gap:8px}.fbitem{border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--panel2)}.fbitem.off{opacity:.6}.fbmeta{font-size:11.5px;color:var(--ink2);margin-bottom:4px}.fbmsg{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45}#modalCard.tour-welcome{width:min(460px,94vw);padding:18px 20px}#modalCard.tour-welcome .tw-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}#modalCard.tour-welcome .tw-head .logo{width:30px;height:30px;flex:none}#modalCard.tour-welcome h2{margin:0;font-size:17px}#modalCard.tour-welcome .tw-lead{margin:0 0 6px;font-size:14px;line-height:1.45}#modalCard.tour-welcome .hint{margin:0 0 10px;color:var(--ink2)}#modalCard.tour-welcome .tw-share{display:flex;flex-direction:column;gap:4px;margin:0 0 10px}#modalCard.tour-welcome .tw-share:empty{display:none}#modalCard.tour-welcome .tw-share a{font-size:12px;margin-left:24px}#modalCard.tour-welcome .tw-legal{margin:0 0 12px;font-size:12px;color:var(--ink2)}#modalCard.tour-welcome .btns{display:flex;flex-wrap:wrap;gap:8px}#modalCard.tour-welcome .btns button{width:auto;padding:6px 14px}.tour-card{position:fixed;z-index:54;width:min(360px,calc(100vw - 32px));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:9px;box-shadow:0 14px 36px var(--shade),0 2px 8px #0000002e;padding:10px 14px 12px;font-size:13px;line-height:1.5;transition:left .18s ease,top .18s ease}.tour-card .tc-top{display:flex;align-items:center;gap:8px;font-size:11.5px}.tour-card .tc-part{color:var(--acc-t);font-weight:600;letter-spacing:.2px}.tour-card .tc-count{color:var(--ink3);font-family:var(--mono);font-size:11px}.tour-card .tc-x{margin-left:auto;width:24px;height:24px;padding:0;border-color:transparent;background:transparent;color:var(--ink3);border-radius:5px}.tour-card .tc-x:hover{color:var(--ink);border-color:var(--line)}.tour-card .tc-bar{height:3px;border-radius:2px;background:var(--panel2);margin:6px 0 8px;overflow:hidden}.tour-card .tc-bar i{display:block;height:100%;background:var(--acc);border-radius:2px;transition:width .3s ease}.tour-card h3{margin:0 0 4px;font-size:15px;font-weight:600;outline:none}.tour-card .tc-body p{margin:0 0 6px}.tour-card .tc-body b{color:var(--ink);font-weight:600}.tour-card .tc-body kbd{font:11px var(--mono);color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 5px;white-space:nowrap}.tour-card .tc-note{color:var(--ink2);font-size:12px}.tour-card .tc-ok{color:var(--ok-t);font-size:12px}.tour-card .tc-next{display:flex;flex-direction:column;gap:6px;margin:4px 0 6px}.tour-card .tc-next button,.tour-card .tc-next a{width:100%;text-align:left;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--ink);text-decoration:none;font-size:12.5px}.tour-card .tc-next button:hover,.tour-card .tc-next a:hover{border-color:var(--ink3)}.tour-card .tc-btns{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.tour-card .tc-btns button{width:auto;padding:4px 11px}.tour-card .tc-sp{flex:1}.tour-card .tc-skip{background:transparent;border-color:transparent;color:var(--ink2)}.tour-card .tc-skip:hover{border-color:var(--line);color:var(--ink)}.tour-card button:focus-visible,.tour-card a:focus-visible,.tour-card h3:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}.tour-card .tc-arrow{position:absolute;width:12px;height:12px;background:var(--panel);border:1px solid var(--line);transform:rotate(45deg);display:none}.tour-card[data-side=below] .tc-arrow{display:block;top:-7px;margin-left:-6px;border-right:0;border-bottom:0}.tour-card[data-side=above] .tc-arrow{display:block;bottom:-7px;margin-left:-6px;border-left:0;border-top:0}.tour-card[data-side=right] .tc-arrow{display:block;left:-9px;margin-top:-6px;border-top:0;border-right:0;background:var(--acc);border-color:var(--acc)}.tour-card[data-side=left] .tc-arrow{display:block;right:-7px;margin-top:-6px;border-left:0;border-bottom:0}.tour-card .tc-arrow[hidden]{display:none!important}.tour-card.compact{width:auto;max-width:min(360px,calc(100vw - 32px));padding:8px 12px}.tour-card.compact .tc-body,.tour-card.compact .tc-bar,.tour-card.compact .tc-arrow,.tour-card.compact [data-tour=back],.tour-card.compact .tc-sp{display:none}.tour-card.compact h3{font-size:13.5px;margin:2px 0 0}.tour-card.compact .tc-btns{margin-top:6px}.tour-card.docked{left:12px!important;right:12px;width:auto;max-height:46vh;overflow-y:auto;transition:none}.tour-ring{position:fixed;z-index:53;pointer-events:none;border:2px solid var(--acc);border-radius:8px;box-shadow:0 0 0 4px #e3a44538;animation:tour-pulse 1.6s ease-in-out infinite}.tour-ring[hidden]{display:none}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 3px #e3a44547}50%{box-shadow:0 0 0 8px #e3a4450f}}.tour-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){.tour-ring{animation:none}.tour-card,.tour-card .tc-bar i{transition:none}}.ch-log .m.note.replay{border-color:var(--acc-t);color:var(--acc-t);font-weight:600}.replay-bar .rb-try{padding:0 10px}.ch-att{margin:0 0 6px}.ch-att[hidden]{display:none}.ch-thumbs{display:flex;flex-wrap:wrap;gap:6px}.ch-thumbs:empty{display:none}.ch-thumb{position:relative;width:64px;height:64px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:var(--panel2);flex:none}.ch-thumb img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.ch-thumb .ch-x{position:absolute;top:2px;right:2px;width:20px;height:20px;padding:0;display:grid;place-items:center;border-radius:10px;background:#0f1216db;border:1px solid transparent;color:var(--ink)}.ch-thumb .ch-x:hover{border-color:var(--bad);color:#ef8d86}.ch-thumb .ch-x .qi{width:12px;height:12px}.ch-thumb.busy{display:grid;place-items:center}.ch-thumb.busy span{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--acc);animation:ch-spin .8s linear infinite}@keyframes ch-spin{to{transform:rotate(360deg)}}.ch-att-sum{font-size:10.5px;color:var(--ink3);font-family:var(--mono);margin-top:4px}.ch-att-err{font-size:11.5px;color:#ef8d86;margin-top:4px;line-height:1.4}.ch-btns .ch-ib{width:28px;height:26px;padding:0;display:inline-grid;place-items:center;flex:none}.ch-btns .ch-ib[hidden]{display:none}@media (min-width:1001px){.aichat{position:relative}}@media (max-width:1000px){.aichat{max-height:none}}.aichat.ch-drop:after{content:attr(data-drop);position:absolute;inset:6px;display:grid;place-items:center;border:2px dashed var(--acc);border-radius:8px;background:#1c2026e6;color:var(--acc);font-size:14px;font-weight:600;pointer-events:none;z-index:5}#stage.ch-drop:after{content:attr(data-drop);position:absolute;inset:10px;display:grid;place-items:center;border:2px dashed var(--acc);border-radius:10px;background:#0f1216b8;color:var(--acc);font-size:15px;font-weight:600;pointer-events:none;z-index:40}.ch-log .ch-imgs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px}.ch-log .ch-imgs img{max-width:100%;max-height:120px;border-radius:6px;display:block;cursor:zoom-in;border:1px solid rgba(255,255,255,.08)}.ch-log .m.u .ch-imgs:last-child{margin-bottom:0}.ch-log .ch-shot{display:block;max-width:180px;max-height:96px;margin:3px 0 6px 16px;border-radius:5px;cursor:zoom-in;border:1px solid rgba(255,255,255,.08)}#aiPreview{position:fixed;inset:0;z-index:70;background:#080a0de0;display:flex;align-items:center;justify-content:center;cursor:zoom-out}#aiPreview[hidden]{display:none}#aiPreview figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:94vw}#aiPreview img{max-width:94vw;max-height:84vh;border-radius:6px;box-shadow:0 12px 40px #0009}#aiPreview figcaption{font-size:12px;color:var(--ink2);font-family:var(--mono);text-align:center}.mk-layer{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;transition:opacity .18s}.mk-layer[hidden]{display:none}.mk-layer.off{opacity:.25}.mk-layer[data-tool=text]{cursor:text}.mk-layer[data-tool=eraser]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='6.5' fill='none' stroke='black' stroke-width='3'/%3E%3Ccircle cx='10' cy='10' r='6.5' fill='none' stroke='white' stroke-width='1.4'/%3E%3C/svg%3E") 10 10,cell}#stage.mk-on #toolbar,#stage.mk-on #right,#stage.mk-on .pat-marks,#stage.mk-on #dyn,#stage.mk-on .manip-in,#stage.mk-on #selbox{display:none!important}#stage.mk-on #viewbar>:not([data-act=fit]):not([data-act=lookAt]):not(.mk-keep){display:none}.mk-bar{top:10px;left:10px;max-width:calc(100% - 160px);flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:2px}.mk-bar .mk-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.mk-bar .mk-row2{border-top:1px solid var(--line);padding-top:3px}.mk-bar[hidden]{display:none}@media (max-width:760px){.mk-bar .lb{display:none}.mk-bar .qi{margin-right:0}}.mk-bar .mk-title{display:inline-flex;align-items:center;padding:0 6px;color:var(--acc);font-weight:600;font-size:11.5px;white-space:nowrap}.mk-bar .mk-sw{padding:3px 4px}.mk-bar .mk-sw.on{border-color:var(--ink2);background:var(--panel2)}.mk-bar button.p{background:var(--acc);color:#20180a;border-color:var(--acc);font-weight:600}.mk-bar button.p:hover{filter:brightness(1.08)}#viewbar .mk-n{margin-left:5px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--acc);color:#20180a;font:600 10px/16px var(--mono);text-align:center}.mk-back{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:9;width:auto;display:inline-flex;align-items:center;gap:2px;padding:5px 14px;border-radius:16px;background:var(--overlay);border:1px solid var(--acc);color:var(--acc);font-weight:600;white-space:nowrap;box-shadow:0 4px 14px #0006}.mk-back:hover{background:var(--panel2)}.mk-back[hidden]{display:none}.mk-back.pulse{animation:mk-pulse .45s ease-in-out 3}@keyframes mk-pulse{50%{box-shadow:0 0 0 7px #e3a44566}}.mk-text{position:absolute;z-index:9;padding:1px 6px;border:1px solid var(--acc2);border-radius:4px;background:#0f1216f0;outline:none;box-shadow:0 4px 14px #00000073}.mk-text[hidden]{display:none}
