[data-ch=knapsack] .kp-def{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--acc-border);border-radius:var(--r-lg);background:var(--acc-soft);padding:16px 20px;margin:16px 0;box-shadow:var(--hi-soft),var(--shadow-1)}[data-ch=knapsack] .kp-def h4{margin:0;font-size:14.5px;color:var(--acc-ink)}[data-ch=knapsack] .kp-def p{margin:0;font-size:13.4px;color:var(--text-2)}[data-ch=knapsack] .kp-formula{font-family:var(--font-mono);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;border:1px dashed var(--acc-border);border-radius:var(--r-md);background:var(--panel);color:var(--acc-ink);padding:16px 14px;margin:16px 0;line-height:1.9;box-shadow:var(--hi-soft),var(--shadow-1)}[data-ch=knapsack] .kp-formula b{color:var(--acc-ink)}[data-ch=knapsack] .kp-formula .dim{color:var(--text-3);font-size:12px}[data-ch=knapsack] .kp-duel{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin:16px 0}[data-ch=knapsack] .kp-duel .card b.mono{font-size:15px}@media (max-width:760px){[data-ch=knapsack] .kp-duel{grid-template-columns:1fr}}[data-ch=knapsack] .kp-lab-grid{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}[data-ch=knapsack] .kp-item{width:118px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;border-radius:var(--r-md);border:1.5px solid var(--border-strong);background:var(--panel-2);color:var(--text);cursor:pointer;box-shadow:var(--hi-soft),var(--shadow-1);transition:all .25s cubic-bezier(.22,1,.36,1)}[data-ch=knapsack] .kp-item:hover{border-color:var(--acc-border)}[data-ch=knapsack] .kp-item.on{border-color:var(--acc);background:var(--acc-soft);color:var(--acc-ink);box-shadow:var(--hi-soft),var(--glow-md);transform:translateY(-3px)}[data-ch=knapsack] .kp-item-emoji{font-size:26px;line-height:1.1}[data-ch=knapsack] .kp-item-name{font-size:13px;font-weight:600}[data-ch=knapsack] .kp-item-stat{font-family:var(--font-mono);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-3)}[data-ch=knapsack] .kp-item.on .kp-item-stat{color:var(--acc-ink)}[data-ch=knapsack] .kp-gauge{width:min(420px,100%);display:flex;flex-direction:column;gap:6px}[data-ch=knapsack] .kp-gauge-bar{height:14px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);overflow:hidden}[data-ch=knapsack] .kp-gauge-fill{height:100%;border-radius:999px;background:var(--acc);transition:width .3s cubic-bezier(.22,1,.36,1)}[data-ch=knapsack] .kp-gauge-fill.over{background:var(--risk)}[data-ch=knapsack] .kp-gauge-nums{display:flex;justify-content:space-between;font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-2)}[data-ch=knapsack] .kp-over{color:var(--risk);font-weight:700}[data-ch=knapsack] .kp-modebar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}[data-ch=knapsack] .kp-mode-btn{flex:1 1 auto;min-width:180px;padding:9px 12px;border-radius:var(--r-sm);border:1.5px solid var(--border-strong);background:var(--panel-2);color:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}[data-ch=knapsack] .kp-mode-btn:hover{border-color:var(--acc-border)}[data-ch=knapsack] .kp-mode-btn.on{border-color:var(--acc);background:var(--acc-soft);color:var(--acc-ink)}[data-ch=knapsack] .kp-roll-row{display:grid;grid-template-columns:repeat(6,48px);grid-gap:10px;gap:10px;width:max-content;margin-inline:auto;padding-inline:24px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-ch=knapsack] .kp-roll-tagcell{min-height:38px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px}[data-ch=knapsack] .kp-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:var(--r-xs);white-space:nowrap;border:1px solid transparent}[data-ch=knapsack] .kp-tag.write{color:var(--acc-ink);background:var(--acc-soft);border-color:var(--acc-border)}[data-ch=knapsack] .kp-tag.read{color:var(--info);background:var(--info-bg);border-color:color-mix(in oklab,var(--info) 40%,transparent)}[data-ch=knapsack] .kp-tag.read.dirty{color:var(--risk);background:var(--risk-bg);border-color:color-mix(in oklab,var(--risk) 40%,transparent)}[data-ch=knapsack] .cell.kp-read{border-color:var(--info);border-style:dashed;background:var(--info-bg);color:var(--info)}[data-ch=knapsack] .cell.kp-read.dirty{border-color:var(--risk);background:var(--risk-bg);color:var(--risk)}[data-ch=knapsack] .kp-fam-note{font-size:12.5px;color:var(--text-3);margin-top:6px}