:root{--ink: #15171a;--panel: rgba(21, 23, 26, .9);--panel-solid: #17191c;--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .14);--text: #e2e4e7;--muted: #8a919b;--dim: #ff8a3d;--dim-ink: #e0621b;--accent: #ffb020;--cyan: #5ad1e6;--ok: #8fd18b;--warn: #ffc14d;--err: #ff6b5b;--mono: "JetBrains Mono", ui-monospace, monospace;--sans: "IBM Plex Sans Condensed", "Arial Narrow", sans-serif;--display: "Big Shoulders Display", var(--sans);--r: 10px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#dcd8d1;color:var(--text);font:13px/1.35 var(--sans)}button,input,select{font:inherit;color:inherit}#app{position:fixed;top:0;right:0;bottom:0;left:0}#viewport{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 20%,#f1eee9,#ddd8d0 60%,#cdc7be)}#viewport canvas{display:block}.dim-editor{position:absolute;z-index:15;transform:translate(-50%,-50%);width:9ch;padding:2px 4px;text-align:center;background:#f3f0eaf5;color:#c24e14;border:0;border-bottom:2px solid #ff7a1a;outline:0;border-radius:3px 3px 0 0;font:600 15px var(--mono);box-shadow:0 6px 18px #0000002e}.topbar{position:absolute;top:12px;left:12px;right:12px;height:52px;display:flex;align-items:center;gap:16px;padding:0 10px 0 14px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 30px #14100a2e}.brand{display:flex;align-items:center;gap:10px;min-width:250px}.brand .mark{font-size:24px;color:var(--accent);line-height:1}.brand h1{margin:0;font:800 22px/1 var(--display);letter-spacing:.14em}.brand small{color:var(--muted);font:11px var(--mono)}.seg{display:flex;background:#ffffff0a;border:1px solid var(--line);border-radius:8px;padding:3px;gap:2px}.seg button{background:none;border:0;padding:6px 12px;border-radius:6px;cursor:pointer;color:var(--muted);font-weight:500;letter-spacing:.02em}.seg button:hover{color:var(--text)}.seg button.on{background:var(--text);color:var(--ink)}.actions{margin-left:auto;display:flex;align-items:center;gap:6px}.actions button,.btn,.plans-bar button{background:#ffffff0d;border:1px solid var(--line-2);border-radius:7px;padding:6px 11px;cursor:pointer;font-weight:500}.actions button:hover,.btn:hover,.plans-bar button:hover{background:#ffffff1a}.actions .primary,.plans-bar .primary{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:600}.actions .primary:hover,.plans-bar .primary:hover{background:#ffc24d}.sep{width:1px;height:22px;background:var(--line-2);margin:0 4px}.panel{position:absolute;top:76px;bottom:104px;width:318px;display:flex;flex-direction:column;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 30px #14100a2e;overflow:hidden}.panel.left{left:12px}.panel.right{right:12px;width:360px}.panel{transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow:visible}.panel>.panel-head,.panel>.tabs{border-radius:var(--r) var(--r) 0 0}.panel>.panel-body{border-radius:0 0 var(--r) var(--r)}.panel.left.collapsed{transform:translate(calc(-100% - 14px))}.panel.right.collapsed{transform:translate(calc(100% + 14px))}.panel-tab{position:absolute;top:18px;width:24px;height:128px;padding:0;cursor:pointer;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center}.panel-tab:hover{color:var(--text)}.panel-tab span{writing-mode:vertical-rl;font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.panel.left .panel-tab{right:-25px;border-left:0;border-radius:0 8px 8px 0}.panel.left .panel-tab span{transform:rotate(180deg)}.panel.right .panel-tab{left:-25px;border-right:0;border-radius:8px 0 0 8px}.panel.left .panel-tab:after,.panel.right .panel-tab:after{position:absolute;bottom:6px;font-size:10px;color:var(--accent)}.panel.left .panel-tab:after{content:"‹"}.panel.left.collapsed .panel-tab:after{content:"›"}.panel.right .panel-tab:after{content:"›"}.panel.right.collapsed .panel-tab:after{content:"‹"}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.panel-head span{font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.panel-head input{width:130px;background:#ffffff0d;border:1px solid var(--line);border-radius:6px;padding:4px 8px;outline:0}.panel-body{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#3a3e44 transparent}details.group{border-bottom:1px solid var(--line)}details.group>summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;align-items:center;gap:8px;font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase}details.group>summary::-webkit-details-marker{display:none}details.group>summary:before{content:"▸";color:var(--accent);transition:transform .15s;font-size:10px}details.group[open]>summary:before{transform:rotate(90deg)}details.group>summary .count{margin-left:auto;color:var(--muted);font:10px var(--mono)}.prow{padding:5px 12px 7px 26px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px}.prow.hide{display:none}.prow>label{color:#c3c8cf;font-size:12.5px}.prow.changed>label:after{content:" •";color:var(--accent)}.prow.locked{opacity:.55}.prow.locked>label:after{content:" · " attr(data-lock);color:var(--muted);font-size:11px}.prow.locked>label:after{content:none}.prow.locked:after{content:attr(data-lock);grid-column:1 / -1;color:var(--muted);font-size:10.5px;margin-top:-2px}.design-toggles{padding:4px 12px 10px;border-bottom:1px solid var(--line)}.design-toggles .h-sub{margin-top:6px}.chips.wrap{flex-wrap:wrap}.num{display:flex;align-items:baseline;gap:3px;background:#00000040;border:1px solid var(--line);border-radius:6px;padding:2px 6px}.num:focus-within{border-color:var(--accent)}.num input{width:62px;background:none;border:0;outline:0;text-align:right;font:600 12px var(--mono);color:var(--text)}.num em{font:10px var(--mono);color:var(--muted);font-style:normal}.prow input[type=range]{grid-column:1 / -1}.prow select{grid-column:1 / -1;background:#00000040;border:1px solid var(--line);border-radius:6px;padding:5px 6px;outline:0}.prow select option{background:var(--panel-solid)}.prow.bool{grid-template-columns:1fr auto}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--accent) var(--pct, 0%),#3a3e44 var(--pct, 0%));border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;margin-top:-4.5px;border-radius:50%;background:var(--text);border:2px solid var(--ink);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-track{height:2px;background:#3a3e44}input[type=range]::-moz-range-progress{height:2px;background:var(--accent)}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--text);border:2px solid var(--ink)}.toggle{position:relative;width:32px;height:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#3a3e44;border-radius:10px;cursor:pointer;transition:background .15s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translate(14px)}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:11px 4px 9px;cursor:pointer;color:var(--muted);font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.tabs em{font-style:normal;background:var(--warn);color:var(--ink);border-radius:8px;padding:0 5px;font:600 10px var(--mono)}.tabs em:empty{display:none}section[data-pane]{display:none;padding:10px 12px 16px}section[data-pane].on{display:block}.finish{padding:9px 0 11px;border-bottom:1px solid var(--line)}.finish h4{margin:0 0 6px;font:500 12.5px var(--sans);color:#c3c8cf;display:flex;justify-content:space-between}.finish h4 small{color:var(--muted);font:10px var(--mono)}.finish .row{display:flex;gap:8px;align-items:center}.finish select{flex:1;background:#00000040;border:1px solid var(--line);border-radius:6px;padding:5px 6px;outline:0}.finish select option{background:var(--panel-solid)}.finish input[type=color]{width:34px;height:28px;border:1px solid var(--line-2);border-radius:6px;background:none;padding:2px;cursor:pointer}.swatches{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.swatches button{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.15);cursor:pointer}.swatches button.on{border-color:var(--accent)}.swatches.inline{flex:1;margin-top:0}.presets{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.presets button{text-align:left;background:#ffffff0a;border:1px solid var(--line);border-radius:8px;padding:7px 8px;cursor:pointer;display:flex;align-items:center;gap:7px;font-size:12px}.presets button:hover{border-color:var(--accent)}.presets i{display:inline-flex}.presets i b{width:10px;height:18px;display:inline-block}.presets i b:first-child{border-radius:3px 0 0 3px}.presets i b:last-child{border-radius:0 3px 3px 0}.h-sub{font:600 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}table.cut{width:100%;border-collapse:collapse;font-size:12px}table.cut th{text-align:left;font:600 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px;position:sticky;top:0;background:var(--panel-solid)}table.cut td{padding:5px 4px;border-top:1px solid var(--line);vertical-align:top}table.cut td.n{font-family:var(--mono);text-align:right;white-space:nowrap;font-size:11.5px}table.cut tr.mat td{background:#ffb02012;color:var(--accent);font:600 11px var(--sans);letter-spacing:.04em}table.cut td small{color:var(--muted);display:block;font-size:10.5px}.tot{display:grid;grid-template-columns:1fr auto auto;gap:3px 12px;font:11.5px var(--mono);margin-top:6px}.tot span:nth-child(3n+1){font-family:var(--sans);color:#c3c8cf}.muted{color:var(--muted)}.btnrow{display:flex;gap:6px;margin:10px 0 2px}.btnrow button{background:#ffffff0d;border:1px solid var(--line-2);border-radius:7px;padding:6px 10px;cursor:pointer}.warn{display:flex;gap:8px;padding:8px 10px;border-radius:8px;margin-bottom:7px;background:#ffffff0a;border-left:3px solid var(--muted);font-size:12.5px}.warn.error{border-left-color:var(--err);background:#ff6b5b14}.warn.warn{border-left-color:var(--warn);background:#ffc14d12}.warn.info{border-left-color:var(--cyan)}.ok{color:var(--ok)}dl.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0;font-size:12px}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0;font-family:var(--mono);text-align:right}.dock{position:absolute;left:12px;right:12px;bottom:12px;height:80px;padding:8px 12px;display:flex;flex-direction:column;justify-content:center;gap:7px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 30px #14100a2e}.dock-row{display:flex;align-items:center;gap:12px;min-width:0}.dock-label{font:600 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.chips{display:flex;gap:5px;flex-wrap:nowrap}.chip{background:none;border:1px solid var(--line-2);border-radius:20px;padding:3px 10px;cursor:pointer;color:var(--muted);font-size:12px;white-space:nowrap}.chip.on{color:var(--ink);background:var(--text);border-color:var(--text)}.chip.dimchip.on{background:var(--dim);border-color:var(--dim)}.slider{display:flex;align-items:center;gap:8px;width:210px}.slider span{font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.readouts{margin-left:auto;display:flex;gap:16px;font:11px var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden}.readouts b{color:var(--text);font-weight:600}#tooltip{position:fixed;pointer-events:none;z-index:20;max-width:300px;background:#0f1012f0;border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 8px 24px #0000004d}#tooltip strong{display:block;font-weight:600;margin-bottom:2px}#tooltip .mono{font-family:var(--mono);color:var(--dim)}#tooltip small{color:var(--muted);display:block}#toast{position:fixed;left:50%;top:76px;transform:translate(-50%);background:var(--ink);color:var(--text);border:1px solid var(--line-2);padding:7px 14px;border-radius:20px;font-size:12px;z-index:30}#plans{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#2a2c30;display:flex;flex-direction:column}.plans-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--panel-solid);border-bottom:1px solid var(--line)}.plans-bar strong{font:800 18px var(--display);letter-spacing:.12em;text-transform:uppercase}.grow{flex:1}.sheets{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:24px}.sheets svg{width:min(1500px,100%);height:auto;aspect-ratio:420 / 297;display:block;flex:none;background:#fff;box-shadow:0 12px 40px #00000073}.plans-bar .seg button{padding:5px 10px}@media print{@page{size:A3 landscape;margin:0}html,body{overflow:visible;height:auto;background:#fff}#app>*:not(#plans){display:none!important}#plans{position:static;background:#fff}.plans-bar{display:none}.sheets{padding:0;gap:0;overflow:visible;display:block}.sheets svg{width:420mm;height:297mm;box-shadow:none;page-break-after:always;break-after:page}}@media(max-width:1200px){.panel.right{width:300px}.readouts{display:none}}table.cut .pid{font:600 10px var(--mono);color:var(--accent);margin-right:3px}#guide{position:absolute;left:50%;bottom:104px;transform:translate(-50%);z-index:12;width:min(760px,calc(100% - 24px));padding:10px 14px 12px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 14px 40px #14100a4d}.guide-head{display:flex;align-items:baseline;gap:10px}.guide-n{font:600 10px var(--mono);color:var(--ink);background:var(--accent);border-radius:4px;padding:2px 6px}.guide-head strong{font:800 18px var(--display);letter-spacing:.06em;text-transform:uppercase}.guide-head button{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px}#guide p{margin:6px 0 8px;color:#c9ced6;font-size:13px;line-height:1.45}.guide-parts{display:flex;flex-wrap:wrap;gap:5px;max-height:92px;overflow:auto}.gp{font-size:11.5px;background:#ffffff0d;border:1px solid var(--line);border-radius:6px;padding:2px 7px}.gp b{font:600 10.5px var(--mono);color:var(--accent)}.gp i{font-style:normal;font-family:var(--mono);color:var(--muted)}.gp.hw{border-style:dashed}.guide-nav{display:flex;align-items:center;gap:10px;margin-top:10px}.guide-nav button{background:#ffffff0f;border:1px solid var(--line-2);border-radius:7px;padding:6px 12px;cursor:pointer}.guide-nav button.primary{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:600}.guide-nav button:disabled{opacity:.35;cursor:default}.guide-dots{flex:1;display:flex;justify-content:center;gap:4px}.guide-dots i{width:7px;height:7px;border-radius:50%;background:#3a3e44}.guide-dots i.done{background:#8a7a5a}.guide-dots i.on{background:var(--accent)}body.guiding #btn-guide{background:var(--accent);color:var(--ink)}@media(max-width:760px){html,body{font-size:12px}.topbar{top:8px;left:8px;right:8px;height:auto;min-height:48px;padding:6px 8px;gap:8px;flex-wrap:wrap}.brand{min-width:0;gap:6px}.brand h1{font-size:18px}.brand small,.brand .mark{display:none}.seg{order:3;width:100%;overflow-x:auto;scrollbar-width:none}.seg button{padding:6px 10px;flex:1;white-space:nowrap}.actions{gap:4px}.actions .sep,#btn-png,#btn-export,.actions label.btn,#btn-reset{display:none}.actions button{padding:6px 9px}.panel{top:108px;bottom:92px;width:calc(100vw - 64px)!important;max-width:380px}.panel-tab{height:96px}.dock{left:8px;right:8px;bottom:8px;height:auto;padding:6px 8px;gap:5px}.dock-row{overflow-x:auto;scrollbar-width:none;gap:8px}.dock-row::-webkit-scrollbar,.seg::-webkit-scrollbar{display:none}.dock-label{display:none}.slider{width:150px;flex:none}.readouts{display:none}#guide{bottom:92px;padding:10px}#guide p{font-size:12px;max-height:70px;overflow:auto}.guide-head strong{font-size:15px}.guide-parts{max-height:56px}.plans-bar{flex-wrap:wrap;gap:6px;padding:8px}.plans-bar .seg{order:0;width:auto}#plans-info{display:none}.sheets{padding:10px;gap:12px}}@media(hover:none){#tooltip{display:none!important}}.fatal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-content:center;gap:10px;text-align:center;padding:24px;background:#15171a;color:var(--text)}.fatal strong{font:800 22px var(--display);letter-spacing:.08em;text-transform:uppercase}.fatal p{color:var(--muted);margin:0}.fatal button{justify-self:center;background:var(--accent);color:var(--ink);border:0;border-radius:8px;padding:10px 16px;font-weight:600}button,.chip,.seg button,.panel-tab{touch-action:manipulation}@media(max-width:760px){.topbar{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}.dock{bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}input,select,.num input,.dim-editor,.panel-head input{font-size:16px!important}.num input{width:72px}.prow{padding:7px 12px 9px 16px}.prow>label{font-size:13px}input[type=range]{height:26px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-9px}.toggle{width:40px;height:24px}.toggle:after{width:20px;height:20px}.toggle:checked:after{transform:translate(16px)}.chip{padding:6px 12px;font-size:13px}.panel{-webkit-overflow-scrolling:touch}.panel-body{overscroll-behavior:contain}.panel-tab{width:30px}.panel.left .panel-tab{right:-31px}.panel.right .panel-tab{left:-31px}.tabs button{padding:13px 4px 11px}.design-toggles .chip{font-size:12.5px}.guide-nav button{padding:9px 14px}}.viewer2d{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:120px 12px 110px;display:flex;align-items:flex-start;justify-content:center;touch-action:pan-x pan-y pinch-zoom}.viewer2d svg{width:min(1400px,100%);height:auto;aspect-ratio:420 / 297;background:#fff;box-shadow:0 10px 30px #0003;flex:none}.viewer2d-note{position:absolute;left:50%;top:76px;transform:translate(-50%);z-index:5;max-width:calc(100% - 24px);background:var(--ink);color:var(--text);border:1px solid var(--line-2);padding:6px 12px;border-radius:16px;font-size:12px;text-align:center}.viewer2d-note a{color:var(--accent)}@media(max-width:760px){.viewer2d{padding-top:150px}.viewer2d-note{top:116px}}body.no3d #dim-layers,body.no3d .slider,body.no3d #tg-edges,body.no3d #tg-xray{display:none}.guide-chapters{display:flex;gap:4px;margin:0 0 8px;overflow-x:auto;scrollbar-width:none}.guide-chapters button{flex:1;white-space:nowrap;background:#ffffff0a;border:1px solid var(--line);border-radius:6px;padding:4px 8px;cursor:pointer;color:var(--muted);font-size:11.5px;text-align:left}.guide-chapters button b{font:600 10px var(--mono);color:var(--accent);margin-right:3px}.guide-chapters button.on{color:var(--ink);background:var(--text);border-color:var(--text)}.guide-chapters button.on b{color:var(--dim-ink)}.guide-access{font-size:12px;color:#d9dde3;background:#5ad1e614;border-left:3px solid var(--cyan);border-radius:0 6px 6px 0;padding:5px 9px;margin-bottom:8px}.guide-access b{color:var(--cyan);font:600 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-right:6px}.guide-joints{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.gj{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;background:#ffffff0f;border:1px solid var(--line-2);border-radius:6px;padding:2px 8px;cursor:help}.gj i{width:9px;height:9px;border-radius:50%;display:inline-block}.gj em{font-style:normal;font-family:var(--mono);color:var(--accent)}.guide-explode{width:220px}#mnav,.guide-min{display:none}@media(max-width:760px){:root{--mnav: calc(58px + env(safe-area-inset-bottom)) }#btn-guide,#btn-plans{display:none}#mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;height:var(--mnav);padding:0 6px env(safe-area-inset-bottom);background:#121417f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line-2)}#mnav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:0;color:var(--muted);font:600 11px var(--sans);letter-spacing:.04em;cursor:pointer}#mnav button i{font-style:normal;font-size:18px;line-height:1}#mnav button.on,body.guiding #mnav button[data-sheet=guide]{color:var(--accent)}.panel-tab{display:none!important}.panel,.panel.right{top:auto!important;left:0!important;right:0!important;bottom:var(--mnav)!important;width:auto!important;max-width:none;height:min(68vh,620px);border-radius:16px 16px 0 0;border-bottom:0;transform:none;box-shadow:0 -12px 40px #00000059}.panel.left.collapsed,.panel.right.collapsed{transform:translateY(calc(100% + var(--mnav) + 20px))}.panel:before{content:"";position:absolute;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:#4a4f56}.panel>.panel-head,.panel>.tabs{padding-top:16px}.dock{left:0!important;right:0!important;bottom:var(--mnav)!important;border-radius:16px 16px 0 0;padding:14px 12px 12px;gap:10px;transform:translateY(calc(100% + var(--mnav) + 20px));transition:transform .3s cubic-bezier(.2,.8,.2,1)}body.dock-open .dock{transform:none}.dock-row{flex-wrap:wrap;overflow:visible}.dock .chips{flex-wrap:wrap}.dock-label{display:block;width:100%;margin-bottom:-4px}.slider{width:100%}#guide{left:0;right:0;bottom:0;transform:none;width:auto;max-width:none;border-radius:16px 16px 0 0;padding:8px 12px calc(10px + env(safe-area-inset-bottom));max-height:52vh;display:flex;flex-direction:column;box-shadow:0 -12px 40px #00000059}#guide:before{content:"";align-self:center;width:40px;height:4px;border-radius:2px;background:#4a4f56;margin-bottom:8px;flex:none}body.guiding #mnav{display:none}.guide-chapters{flex:none;margin-bottom:6px}.guide-chapters button{flex:none;font-size:12px;padding:6px 10px}.guide-head{flex:none;align-items:center}.guide-head strong{font-size:16px;line-height:1.1}.guide-head button{font-size:18px;padding:4px 6px}.guide-min{display:inline-block;margin-left:auto}.guide-min+#guide-close{margin-left:0}.guide-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin:6px -2px 0;padding:0 2px}#guide p{max-height:none;font-size:13.5px;margin:0 0 8px}.guide-parts{max-height:none}.guide-nav{flex:none;flex-wrap:wrap;gap:8px;margin-top:8px}.guide-nav .grow{display:none}.guide-explode{order:-1;width:100%}#guide-prev{flex:1;padding:12px 8px}#guide-next{flex:2;padding:12px 8px;font-size:14px}#guide.min .guide-body,#guide.min .guide-chapters,#guide.min .guide-explode{display:none}#guide.min{max-height:none}}@media(max-width:760px){.design-toggles{padding:2px 12px 8px}.design-toggles .h-sub{margin:4px 0 6px}.design-toggles .chips.wrap{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.design-toggles .chips.wrap::-webkit-scrollbar{display:none}.design-toggles .chip{flex:none}}.gj.glue i{background:#f3e2a0;box-shadow:0 0 0 2px #c9a22780;border-radius:2px}#guide.summary .gj{font-size:10.5px;padding:1px 6px}.ic{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}[data-icon]{display:inline-flex;align-items:center;justify-content:center;gap:6px}.actions button.icon,.actions .btn.icon{padding:6px 8px}.seg button[data-icon]{padding:6px 11px}.tabs button[data-icon]{padding:10px 4px 8px;gap:4px}.tabs button[data-icon] .ic{width:19px;height:19px}.chip.icon{padding:4px 7px;display:inline-flex;align-items:center;gap:3px}.chip.icon .ic{width:16px;height:16px}.qbadge{font:600 9px var(--mono)}.dock-label[data-icon]{color:var(--muted)}.dock-label .ic{width:15px;height:15px}.dock .sep{width:1px;height:18px;background:var(--line-2)}.slider>span[data-icon]{color:var(--muted)}.slider{width:170px}details.group>summary .gi{width:15px;height:15px;color:var(--muted);margin-right:2px}details.group[open]>summary .gi{color:var(--accent)}.lbl{white-space:nowrap}.tip{position:fixed;z-index:60;pointer-events:none;max-width:240px;background:#0f1012;color:var(--text);border:1px solid var(--line-2);border-radius:6px;padding:4px 8px;font:500 11.5px var(--sans);letter-spacing:.01em;white-space:nowrap;box-shadow:0 6px 18px #0000004d}@media(max-width:760px){.actions .lbl{display:none}}#hw-pop{position:fixed;z-index:60;width:272px;padding:12px;pointer-events:none;background:#0f1012f7;border:1px solid var(--line-2);border-radius:10px;box-shadow:0 16px 40px #00000073}#hw-pop svg{display:block;width:100%;height:auto;border-radius:6px;margin-bottom:8px}#hw-pop strong{display:block;font-size:12.5px;margin-bottom:4px}#hw-pop p{margin:4px 0 0;font-size:11.5px;line-height:1.4;color:#c9ced6}#hw-pop p b{color:var(--accent);font:600 9.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-right:4px}.gj{cursor:help}.presets-wrap{padding:4px 12px 10px;border-bottom:1px solid var(--line)}.presets button span{display:flex;flex-direction:column;line-height:1.15}.presets button strong{font-weight:600;font-size:12.5px}.presets button small{color:var(--muted);font-size:10.5px}.note{color:var(--muted);font-size:11.5px;line-height:1.4;margin:8px 0 0}.note b{color:var(--text)}.finish select{width:100%}.mini-select{background:#00000040;border:1px solid var(--line-2);border-radius:14px;padding:3px 8px;font-size:12px;color:var(--text);outline:0}.mini-select option{background:var(--panel-solid)}.mbar{display:flex;height:12px;border-radius:4px;overflow:hidden;margin:6px 0;gap:1px}.mleg{display:flex;flex-wrap:wrap;gap:4px 10px;font:11px var(--mono);color:var(--muted)}.mleg span{display:inline-flex;align-items:center;gap:4px}.mleg i{width:8px;height:8px;border-radius:2px;display:inline-block}table.cut tr.flash td{background:#ffb02040;transition:background .3s}table.stack td{font-size:11.5px}body.guiding .panel.left{transform:translate(calc(-100% - 14px))}body.guiding .panel.right{transform:translate(calc(100% + 14px))}body.simming #btn-sim,body.guiding #btn-guide{background:var(--accent);color:var(--ink)}.dock-row{flex-wrap:nowrap}#sim{position:absolute;top:76px;right:12px;bottom:104px;width:400px;z-index:11;display:flex;flex-direction:column;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 30px #14100a2e}body.simming .panel.right{transform:translate(calc(100% + 14px))}.sim-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.sim-head strong{font:800 18px var(--display);letter-spacing:.1em;text-transform:uppercase}.sim-head .x{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px}.sim-body{flex:1;overflow:auto;padding:10px 12px 16px;scrollbar-width:thin;scrollbar-color:#3a3e44 transparent}.verdict{border-left:3px solid var(--ok);background:#8fd18b12;border-radius:0 8px 8px 0;padding:8px 10px}.verdict.s-warn{border-left-color:var(--warn);background:#ffc14d12}.verdict.s-bad{border-left-color:var(--err);background:#ff6b5b14}.verdict strong{font:800 15px var(--display);letter-spacing:.06em;text-transform:uppercase}.verdict p{margin:5px 0 0;font-size:12.5px;line-height:1.42;color:#cfd3d9}.verdict b{color:var(--text)}.femcases{display:grid;grid-template-columns:1fr 1fr;gap:6px}.femcases button{display:flex;align-items:center;gap:8px;text-align:left;background:#ffffff0a;border:1px solid var(--line);border-radius:8px;padding:7px 8px;cursor:pointer}.femcases button:hover{border-color:var(--line-2)}.femcases button.on{border-color:var(--accent);background:#ffb02014}.femcases button span{display:flex;flex-direction:column;line-height:1.15}.femcases b{font-weight:600;font-size:12.5px}.femcases small{color:var(--muted);font-size:10.5px}.femctl{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:9px 0 6px;font-size:11.5px;color:var(--muted)}.femctl select{background:#00000040;border:1px solid var(--line);border-radius:6px;padding:3px 4px;color:var(--text);margin-left:4px}.femctl select option{background:var(--panel-solid)}.femctl .slider{width:150px}.femres{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 8px}.femres .big{background:#00000038;border:1px solid var(--line);border-radius:8px;padding:7px 9px;display:flex;flex-direction:column}.femres .big span{font-size:11px;color:var(--muted)}.femres .big b{font:600 22px var(--mono)}.femres .big b small{font-size:11px;color:var(--muted)}.femres .big em{font-style:normal;font-size:10.5px;color:var(--muted)}.legend{display:flex;align-items:center;gap:6px;font:10.5px var(--mono);color:var(--muted)}.legend i{flex:1;height:8px;border-radius:4px}.progress{height:6px;background:#2a2d31;border-radius:3px;overflow:hidden;margin:10px 0 4px}.progress i{display:block;height:100%;background:var(--accent);transition:width .1s}.cmp{display:grid;grid-template-columns:1fr auto;gap:3px 12px;font-size:12px;margin-top:8px;padding:7px 9px;border:1px dashed var(--line-2);border-radius:8px}.cmp b{font-family:var(--mono);text-align:right}.simcard{margin:0 0 8px;padding:9px 10px;border-radius:8px;background:#ffffff09;border:1px solid var(--line);border-left:3px solid var(--ok)}.simcard.s-warn{border-left-color:var(--warn)}.simcard.s-bad{border-left-color:var(--err)}.simcard[data-card]{cursor:pointer}.simcard.on{border-color:var(--accent)}.sc-head{display:flex;align-items:center;gap:7px}.sc-head strong{font-size:13px;font-weight:600}.sc-head em{margin-left:auto;font:600 10px var(--mono);font-style:normal;padding:1px 6px;border-radius:4px;background:var(--ok);color:var(--ink)}.simcard.s-warn .sc-head em{background:var(--warn)}.simcard.s-bad .sc-head em{background:var(--err)}.sc-load{font-size:11px;color:var(--cyan);margin:4px 0}.sc-rows{display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:11.5px;margin:6px 0}.sc-rows span{color:#c3c8cf}.sc-rows b{font:600 11.5px var(--mono);text-align:right}.sc-rows small{color:var(--muted);font-weight:400}.simcard p{margin:6px 0 4px;font-size:12px;line-height:1.42;color:#c9ced6}.simcard>small{color:var(--muted);font-size:10.5px}.tbars{position:relative;display:grid;gap:4px;margin:8px 0}.tbars div{display:grid;grid-template-columns:38% 1fr auto;align-items:center;gap:6px;font-size:11px}.tbars i{height:8px;border-radius:4px;display:block}.tbars b{font:600 11px var(--mono)}@media(max-width:760px){#sim{top:auto;left:0;right:0;bottom:0;width:auto;height:62vh;border-radius:16px 16px 0 0;z-index:35}}table.cmpt tr[data-apply]{cursor:pointer}table.cmpt tr[data-apply]:hover td{background:#ffffff0a}table.cmpt tr.cur td{background:#ffb02014}table.cmpt tr.cur td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.tag{font-style:normal;font:600 9.5px var(--mono);padding:1px 5px;border-radius:4px;color:var(--ink)}.tag.t-ok{background:var(--ok)}.tag.t-warn{background:var(--warn)}.tag.t-bad{background:var(--err)}.opts{display:grid;gap:5px}.opt{text-align:left;background:#ffffff09;border:1px solid var(--line);border-radius:8px;padding:7px 9px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.opt:hover{border-color:var(--line-2)}.opt.on{border-color:var(--accent);background:#ffb02012}.opt b{font-weight:600;font-size:12.5px}.opt span{color:var(--muted);font-size:11.5px;line-height:1.35}ul.why{margin:0;padding-left:16px;font-size:12px;line-height:1.45;color:#c9ced6}ul.why li{margin-bottom:6px}ul.why b{color:var(--text)}svg.chart{width:100%;height:auto;display:block;margin:4px 0}svg.chart .grid{stroke:#ffffff12;stroke-width:1}svg.chart .ax{fill:var(--muted);font:9.5px var(--mono)}svg.chart .ln{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}svg.chart .pt circle:first-child{fill:var(--accent);stroke:var(--panel-solid);stroke-width:2}svg.chart .pt .hit{fill:transparent;cursor:help}svg.chart .pt:hover circle:first-child{r:5.5}svg.chart .cur{stroke:var(--text);stroke-dasharray:3 3;stroke-width:1;opacity:.5}.btn-sm{background:#ffffff0f;border:1px solid var(--line-2);border-radius:7px;padding:5px 11px;cursor:pointer}table.buy td:first-child{width:18px;padding-right:0}table.buy input{accent-color:var(--accent)}table.buy tr.got td:nth-child(2){color:var(--muted);text-decoration:line-through}#help{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f10128c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px}.help-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--panel-solid);border:1px solid var(--line-2);border-radius:14px;padding:22px 24px;box-shadow:0 30px 80px #00000080}.help-card h2{margin:0 0 6px;font:800 28px var(--display);letter-spacing:.12em;text-transform:uppercase}.help-card p{color:#c9ced6;font-size:13.5px;line-height:1.5;margin:0 0 12px}.help-card .x{position:absolute;top:14px;right:14px;background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:14px 0}.help-grid div{background:#ffffff0a;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.help-grid b{display:block;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.help-grid span{font-size:12.5px;line-height:1.45;color:#c9ced6}.help-keys{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--muted);margin-bottom:12px}kbd{font:600 11px var(--mono);background:#ffffff14;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:4px;padding:0 5px;color:var(--text)}code{font:12px var(--mono);color:var(--accent)}.gdone{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);cursor:pointer}.gdone input{accent-color:var(--ok)}.gdone+.guide-min+#guide-close,.gdone~#guide-close{margin-left:4px}.guide-chapters button.done b{color:var(--ok)}.dock-row{overflow-x:auto;scrollbar-width:none}.dock-row::-webkit-scrollbar{display:none}.dock .chips{flex:none}.bars{display:grid;gap:5px;margin:6px 0}.bars div{display:grid;grid-template-columns:34% 1fr auto auto;gap:6px;align-items:center;font-size:11.5px}.bars span{color:#c3c8cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bars i{height:10px;border-radius:0 4px 4px 0;background:var(--accent);display:block}.bars b{font:600 11px var(--mono)}.bars em{font:10.5px var(--mono);color:var(--muted);font-style:normal;min-width:44px;text-align:right}.ptags{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;overflow:hidden}.ptags span{position:absolute;left:0;top:0;font:600 10px var(--mono);color:var(--ink);background:#ffb020eb;border-radius:4px;padding:1px 4px;box-shadow:0 2px 6px #00000040;white-space:nowrap}a.btn-sm{color:var(--text);text-decoration:none;display:inline-block}.saverow{display:flex;gap:6px}.saverow input{flex:1;min-width:0;background:#00000040;border:1px solid var(--line);border-radius:6px;padding:5px 8px;outline:0;color:var(--text)}.savelist{display:grid;gap:4px;margin-top:6px}.sv{display:flex;gap:4px}.sv button:first-child{flex:1;text-align:left;background:#ffffff0a;border:1px solid var(--line);border-radius:7px;padding:5px 8px;cursor:pointer;display:flex;flex-direction:column}.sv button:first-child:hover{border-color:var(--accent)}.sv b{font-weight:600;font-size:12px}.sv small{color:var(--muted);font:10.5px var(--mono)}.sv .x{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 6px}.note a{color:var(--accent)}.gtime{display:block;margin-top:4px;color:var(--muted);font:11px var(--mono)}.dim-editor{z-index:25}.help-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:4px 0 8px}.help-sum div{background:#ffb02012;border:1px solid rgba(255,176,32,.25);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.help-sum span{font:600 10px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.help-sum b{font:600 14px var(--mono)}.measure{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:5px 10px;width:100%;margin-top:6px}.measure label{display:grid;grid-template-columns:1fr 64px auto;align-items:center;gap:5px;font-size:11.5px;color:#c3c8cf}.measure input{background:#0000004d;border:1px solid var(--line-2);border-radius:5px;padding:3px 5px;font:600 12px var(--mono);color:var(--text);text-align:right;outline:0;width:100%}.measure input:focus{border-color:var(--accent)}.measure em{font:10px var(--mono);color:var(--muted);font-style:normal}#guide .guide-parts:has(.measure){max-height:170px}table.cmpt td,table.cmpt th{padding:4px 3px}table.cmpt td.n{font-size:10.5px}.tag{white-space:nowrap}
