@layer lab{.triptych{grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;display:grid}@media (width<=720px){.triptych{grid-template-columns:1fr}}.tri{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.tri.spot{border-color:var(--accent)}.tri .h{background:var(--accent-soft);justify-content:space-between;align-items:baseline;gap:8px;padding:9px 13px;display:flex}.tri.spot .h{background:var(--accent)}.tri .h .nm{font-family:var(--display);color:var(--accent-deep);font-size:14.5px;font-weight:600}.tri.spot .h .nm{color:#fff}.tri .h .tg{font-family:var(--mono);letter-spacing:.4px;color:var(--muted);font-size:9.5px}.tri.spot .h .tg{color:var(--accent-pale)}.tri .b{padding:14px 15px}.tri .qty{font-family:var(--display);color:var(--accent);font-size:26px;font-weight:600;line-height:1}.tri .sub2{font-family:var(--mono);color:var(--muted);margin:4px 0 10px;font-size:11px}.tri .dec{font-family:var(--mono);color:var(--ink-soft);background:var(--panel);border-left:3px solid var(--line-strong);border-radius:0 8px 8px 0;padding:8px 11px;font-size:11.5px;line-height:1.6}.tri.spot .dec{border-left-color:var(--accent)}.decomp{flex-wrap:wrap;align-items:stretch;gap:6px;margin:8px 0 14px;display:flex}.dblk{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;border-radius:11px;flex-direction:column;justify-content:space-between;gap:4px;min-width:58px;padding:9px 11px;transition:all .15s;display:flex}.dblk:hover{border-color:var(--accent-line)}.dblk.sel{background:var(--accent);border-color:var(--accent-press);transform:translateY(-2px)}.dblk .co{font-family:var(--display);color:var(--accent-deep);font-size:24px;font-weight:600;line-height:1}.dblk.sel .co{color:#fff}.dblk .lb{font-family:var(--mono);color:var(--muted);letter-spacing:.3px;font-size:9.5px}.dblk.sel .lb{color:var(--accent-pale)}.dblk.tail{background:var(--accent-soft);border-style:dashed;border-color:var(--accent-2)}.dblk.tail .co{color:var(--accent-2)}.dblk.tail.sel{background:var(--accent-2);border-style:solid}.dblk.tail.sel .co{color:#fff}.dformula{font-family:var(--mono);background:var(--accent-soft);border-left:4px solid var(--accent);color:var(--accent-deep);border-radius:12px;padding:11px 14px;font-size:14px;line-height:1.6}.dformula .lhs{font-size:17px;font-weight:600}.dformula .term{padding:0 3px;font-weight:600}.dformula .eq{color:var(--muted);margin:0 6px}.kstrip{flex-wrap:wrap;gap:4px;display:flex}.kcell{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;width:34px;height:34px;font-family:var(--mono);color:var(--ink-soft);-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;font-size:12.5px;transition:all .12s;display:flex}.kcell:hover:not(.on){background:var(--accent-soft);border-color:var(--accent-line)}.kcell.on{background:var(--accent);color:#fff;border-color:var(--accent-press);font-weight:600}.bigk{font-family:var(--display);color:var(--accent);font-size:40px;font-weight:600;line-height:1}.duel{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=640px){.duel{grid-template-columns:1fr}}.dpanel{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px}.dpanel.win{border-color:var(--good)}.dpanel .lb{font-family:var(--mono);color:var(--muted);letter-spacing:.4px;font-size:10.5px;font-weight:600}.dpanel .fr{font-family:var(--mono);color:var(--ink-soft);margin:5px 0 8px;font-size:12.5px}.dpanel .ct{font-family:var(--display);color:var(--ink);font-size:38px;font-weight:600;line-height:1}.dpanel.win .ct{color:var(--good)}.dpanel.naive .ct{color:var(--bad)}.dpanel .vs{font-family:var(--mono);color:var(--muted);margin-top:2px;font-size:10.5px}.dpanel .track{background:var(--line);border:1px solid var(--line-strong);border-radius:999px;height:12px;margin-top:10px;overflow:hidden}.dpanel .track>span{height:100%;transition:width .4s;display:block}.dpanel.naive .track>span{background:var(--bad)}.dpanel.win .track>span{background:var(--good)}.speedup{background:var(--ink);color:#e7e1f0;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-top:14px;padding:14px 18px;display:grid}@media (width<=560px){.speedup{grid-template-columns:1fr;gap:8px}}.speedup .big{font-family:var(--display);color:var(--accent-2);font-size:46px;font-weight:600;line-height:1}.speedup .txt{font-size:13px;line-height:1.7}.speedup .txt strong{color:var(--accent-2)}.scstats{flex-wrap:wrap;align-items:baseline;gap:10px 26px;display:flex}.scstats .blk{flex-direction:column;gap:2px;display:flex}.scstats .mini{font-family:var(--mono);color:var(--muted);letter-spacing:.4px;font-size:10px}.scstats .big{font-family:var(--display);color:var(--accent);font-size:30px;font-weight:600;line-height:1}.scstats .big.sec{color:var(--ink);font-size:21px}.haul{grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:11px;margin:12px 0;display:grid}.hcard{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;padding:13px 15px 16px;transition:all .18s;position:relative}.hcard.bought{border-color:var(--accent);background:var(--accent-soft)}.hcard .roman{font-family:var(--display);color:var(--line-strong);font-size:18px;font-weight:600;position:absolute;top:9px;right:13px}.hcard.bought .roman{color:var(--accent)}.hcard .name{font-family:var(--display);color:var(--ink);margin-bottom:9px;padding-right:28px;font-size:15px;font-weight:600}.hcard .row{border-top:1px dashed var(--line-strong);grid-template-columns:1fr 1fr 1fr;gap:5px;padding-top:8px;display:grid}.hcard .sl{font-family:var(--mono);color:var(--muted);letter-spacing:.3px;font-size:9px}.hcard .sv{font-family:var(--mono);color:var(--ink);margin-top:1px;font-size:13px;font-weight:600}.hcard .capt{background:var(--accent-soft);border:1px solid var(--accent-2);font-family:var(--mono);color:var(--accent-deep);border-radius:999px;margin-top:1px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.hcard .mrow{border-top:1px dashed var(--line-strong);flex-direction:column;gap:5px;min-height:48px;margin-top:11px;padding-top:9px;display:flex}.hcard .mline{justify-content:space-between;align-items:baseline;display:flex}.hcard .mtag{font-family:var(--display);color:var(--accent);font-size:21px;font-weight:600}.hcard .mtag.maxed{color:var(--bad)}.hcard .mprof{font-family:var(--mono);color:var(--accent-deep);font-size:12.5px;font-weight:600}.hcard .mstack{flex-wrap:wrap;gap:3px;margin-top:2px;display:flex}.hcard .unit{background:var(--accent);border-radius:3px;width:13px;height:13px;animation:.35s both vega-pop}.hcard .unit.maxed{background:var(--bad)}.hcard .skip{font-family:var(--mono);color:var(--muted);padding-top:4px;font-size:12px;font-style:italic}.hcard .pill{font-family:var(--display);letter-spacing:.6px;color:#fff;border-radius:999px;padding:2px 9px;font-size:9.5px;font-weight:600;position:absolute;bottom:-8px;left:14px}.hcard .pill.maxed{background:var(--bad)}.hcard .pill.forced{background:var(--accent-2)}.skugrid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:11px;margin:12px 0;display:grid}.skucard{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;padding:13px 15px 16px;transition:all .18s;position:relative}.skucard.bought{border-color:var(--accent);background:var(--accent-soft)}.skucard.maxed{border-color:var(--bad);background:var(--bad-soft)}.skucard .rm{width:22px;height:22px;color:var(--muted);font-family:var(--mono);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:all .13s;display:flex;position:absolute;top:7px;right:10px}.skucard:hover .rm{opacity:1}.skucard .rm:hover{background:var(--bad);color:#fff}.skucard .nmrow{margin-bottom:5px;padding-right:28px;display:flex}.skucard .nmrow input{min-width:0;font-family:var(--display);color:var(--ink);background:0 0;border:none;border-bottom:1px dotted #0000;border-radius:5px;flex:1;padding:1px 4px;font-size:15px;font-weight:600;transition:all .13s}.skucard .nmrow input:hover{border-bottom-color:var(--line-strong)}.skucard .nmrow input:focus{background:var(--hi);border-bottom-color:var(--accent);outline:none}.skucard .sg{border-top:1px dashed var(--line-strong);grid-template-columns:1fr 1fr;gap:5px 9px;padding-top:8px;display:grid}.skucard .cell{flex-direction:column;gap:1px;display:flex}.skucard .cell .sl{font-family:var(--mono);color:var(--muted);letter-spacing:.3px;font-size:9px}.skucard .cell .sv{font-family:var(--mono);color:var(--ink);align-items:baseline;gap:1px;font-size:13px;font-weight:600;display:inline-flex}.skucard .cell .sv input{border:none;border-bottom:1px dotted var(--line-strong);width:52px;font-family:var(--mono);color:var(--ink);background:0 0;border-radius:5px;padding:1px 4px;font-size:13px;font-weight:600;transition:all .13s}.skucard .cell .sv input:hover{border-bottom-color:var(--ink)}.skucard .cell .sv input:focus{background:var(--hi);border-bottom-color:var(--accent);outline:none}.skucard .cell .sv input.invalid{background:var(--bad-soft);border-bottom-color:var(--bad)}.skucard .ratio{font-family:var(--mono);color:var(--muted);border-top:1px dotted var(--line-strong);justify-content:space-between;align-items:baseline;margin-top:9px;padding-top:7px;font-size:11px;display:flex}.skucard.bought .ratio{color:var(--accent-deep)}.skucard .ratio .rv{color:var(--ink);font-weight:600}.skucard .mrow{border-top:1px dashed var(--line-strong);flex-direction:column;gap:5px;min-height:46px;margin-top:10px;padding-top:8px;display:flex}.skucard .mline{justify-content:space-between;align-items:baseline;display:flex}.skucard .mtag{font-family:var(--display);color:var(--accent);font-size:21px;font-weight:600}.skucard.maxed .mtag{color:var(--bad)}.skucard .mprof{font-family:var(--mono);color:var(--accent-deep);font-size:12.5px;font-weight:600}.skucard.maxed .mprof{color:var(--bad)}.skucard .mstack{flex-wrap:wrap;gap:3px;margin-top:2px;display:flex}.skucard .unit{background:var(--accent);border-radius:3px;width:13px;height:13px;animation:.35s both vega-pop}.skucard.maxed .unit{background:var(--bad)}.skucard .skip{font-family:var(--mono);color:var(--muted);padding-top:4px;font-size:12px;font-style:italic}.skucard .pillrow{gap:5px;display:flex;position:absolute;bottom:-8px;left:14px}.skucard .pillrow .pill{font-family:var(--display);letter-spacing:.6px;color:#fff;border-radius:999px;padding:2px 9px;font-size:9.5px;font-weight:600}.skucard .pillrow .pill.maxed{background:var(--bad)}.skucard .pillrow .pill.forced{background:var(--accent-2)}.skucard.add{border-style:dashed;border-color:var(--line-strong);cursor:pointer;min-height:100%;color:var(--muted);font-family:var(--display);box-shadow:none;background:0 0;justify-content:center;align-items:center;padding:24px 18px;font-size:14px;font-weight:600;display:flex}.skucard.add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.skucard.add .plus{font-family:var(--display);margin-right:8px;font-size:24px;font-weight:600}@media (width<=560px){.skugrid,.haul{grid-template-columns:1fr}}.infeasible{background:var(--bad-soft);border-left:4px solid var(--bad);color:var(--ink-soft);border-radius:12px;margin-top:14px;padding:12px 16px;font-size:13.5px;line-height:1.65}.infeasible strong{color:var(--bad)}.trail{flex-wrap:wrap;align-items:center;gap:4px 2px;margin-top:14px;display:flex}.trail .step{background:var(--panel);border:1px solid var(--line-strong);font-family:var(--mono);color:var(--ink-soft);border-radius:10px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;display:inline-flex}.trail .step.start{background:var(--ink);color:#fff;border-color:var(--ink)}.trail .step.end{background:var(--accent);color:#fff;border-color:var(--accent-press)}.trail .step.forced{background:var(--accent-soft);border-color:var(--accent-2);color:var(--accent-deep)}.trail .step.fail{background:var(--bad-soft);border-color:var(--bad)}.trail .step .inm{font-family:var(--display);font-weight:600}.trail .arrow{color:var(--muted);font-family:var(--mono);margin:0 1px}.gtab{align-items:center;gap:4px;width:max-content;display:grid}.ghead{color:#5f6368;text-align:center;font-size:10px}.ghead.rowlab{text-align:right;white-space:nowrap;padding-right:6px}.gcell{min-width:30px;height:30px;font-family:var(--mono);color:#b8ad9a;background:#f3eee6;border:1px solid #e6dfd2;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gcell.reach{border-color:var(--good,#188038);background:var(--good-soft,#e6f4ea);color:#128a55}.gcell.cur{outline:3px solid var(--accent-press,#e8902c);outline-offset:1px}.gcell.src{outline-offset:1px;outline:3px solid #2f6fdb}.foldnote{border:1px solid var(--line);background:var(--card);border-radius:14px;margin:18px 0;overflow:hidden}.foldnote>summary{cursor:pointer;background:var(--accent-soft);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 16px;list-style:none;display:flex}.foldnote>summary::-webkit-details-marker{display:none}.foldnote>summary .tg{font-family:var(--mono);letter-spacing:1px;color:var(--accent-2);font-size:9.5px;font-weight:600}.foldnote>summary .tp{font-family:var(--display);color:var(--accent-deep);border-left:1px solid var(--accent-line);flex:1;padding-left:12px;font-size:13.5px;font-weight:600}.foldnote>summary:after{content:"＋";font-family:var(--display);color:var(--accent);font-size:18px;font-weight:600;transition:transform .3s}.foldnote[open]>summary:after{transform:rotate(45deg)}.foldnote .body{padding:14px 18px 18px}.foldnote .body p{color:var(--ink-soft);margin:0 0 9px;font-size:13.5px;line-height:1.8}.foldnote .body p:last-child{margin-bottom:0}.foldnote .body h4{font-family:var(--display);color:var(--ink);margin:16px 0 6px;font-size:14.5px;font-weight:600}.foldnote .body code{font-family:var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:12px}.foldnote .body em{color:var(--accent-deep);font-style:normal;font-weight:600}.foldnote .body ul{color:var(--ink-soft);margin:6px 0 9px 22px;font-size:13.5px;line-height:1.8}.foldnote .body pre{font-family:var(--mono);background:var(--panel);border-left:3px solid var(--line-strong);white-space:pre;border-radius:0 8px 8px 0;margin:9px 0;padding:11px 14px;font-size:12px;line-height:1.65;overflow-x:auto}.foldnote .body table{border-collapse:collapse;font-family:var(--mono);margin:10px 0;font-size:12px}.foldnote .body th,.foldnote .body td{border:1px solid var(--line);text-align:left;padding:5px 11px}.foldnote .body th{background:var(--accent-soft);color:var(--accent-deep);font-family:var(--display);font-weight:600}.foldnote .body .muted{color:var(--muted);font-size:12px}.foldnote .body blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--ink-soft);border-radius:0 10px 10px 0;margin:10px 0;padding:11px 16px;font-size:14px;line-height:1.7}.subsec{font-family:var(--display);color:var(--ink);border-bottom:1px solid var(--line);margin:26px 0 10px;padding-bottom:5px;font-size:17px;font-weight:600}.subsec .id{font-family:var(--mono);color:var(--accent);margin-right:9px;font-weight:600}}
