.toolhead{padding-top:var(--sp-6)}.toolhead .crumb{display:flex;gap:var(--sp-2);font-family:var(--f-mono);font-size:.68rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-3)}.toolhead .crumb a:hover{color:var(--accent)}.toolhead h1{margin:var(--sp-2) 0 var(--sp-4)}.calc{padding-top:var(--sp-4);padding-bottom:var(--sp-8)}.calc__grid{display:grid;gap:var(--sp-4);grid-template-columns:1fr}@media (min-width: 900px){.calc__grid{grid-template-columns:1.4fr 1fr;align-items:start}}.build{display:grid;gap:var(--sp-4)}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:var(--sp-4) var(--sp-5) var(--sp-5)}.panel__h{font-family:var(--f-display);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--sp-3);display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.panel__count{font-family:var(--f-mono);font-weight:400;font-size:.68rem;color:var(--ink-3);letter-spacing:.04em}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--sp-4)}.tab{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;color:var(--ink-2);background:var(--field-2);border:1px solid var(--line-strong);padding:7px 12px;cursor:pointer;transition:color .12s,border-color .12s,background .12s;clip-path:polygon(0 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%)}.tab:hover{color:var(--ink);border-color:var(--accent-dim)}.tab.is-on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.pick{display:grid;gap:8px;grid-template-columns:1fr 1fr}@media (min-width: 520px){.pick{grid-template-columns:1fr 1fr 1fr}}.chip{position:relative;text-align:left;background:var(--field-2);border:1px solid var(--line-strong);padding:10px 12px;cursor:pointer;display:grid;gap:2px;transition:border-color .12s,transform .1s,background .12s}.chip:hover{border-color:var(--accent);transform:translateY(-1px)}.chip.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--field-2))}.chip__n{font-family:var(--f-display);font-weight:700;font-size:.86rem;color:var(--ink);line-height:1.1}.chip__t{font-family:var(--f-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.chip__c{font-family:var(--f-mono);font-size:.74rem;color:var(--ink-2)}.chip__add{position:absolute;top:8px;right:10px;font-family:var(--f-display);font-weight:700;color:var(--ink-3);transition:color .12s,transform .12s}.chip:hover .chip__add{color:var(--accent)}.chip.is-on .chip__add{content:"";color:var(--accent);transform:rotate(45deg)}.cart{display:grid;gap:10px}.cart__empty{color:var(--ink-3);font-size:.9rem}.citem{display:grid;gap:10px;background:var(--field-2);border:1px solid var(--line);padding:12px;animation:pop .18s ease;transition:border-color .12s}.citem:hover{border-color:var(--line-strong)}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.citem__top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.citem__l{display:grid;gap:1px;min-width:0}.citem__n{font-family:var(--f-display);font-weight:700;font-size:.95rem;color:var(--ink);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citem__t{font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.citem__bot{display:flex;align-items:center;gap:var(--sp-3)}.citem__cl{flex:0 0 auto;font-family:var(--f-display);font-weight:600;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.citem__bot .stepper{flex:1}.stepper{display:inline-flex;align-items:stretch;height:42px;border:1px solid var(--line-strong);background:var(--field)}.stepper--wide{display:flex;width:100%}.st{flex:0 0 42px;display:grid;place-items:center;background:var(--field-2);border:0;color:var(--ink-2);font-size:1.2rem;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease}.st:hover{background:var(--accent);color:var(--accent-ink)}.st:active{background:var(--accent-2)}.st--dn{border-right:1px solid var(--line-strong)}.st--up{border-left:1px solid var(--line-strong)}.st__val{flex:1;display:flex;align-items:center;gap:4px;padding:0 12px;min-width:0}.st__val>span{font-family:var(--f-mono);color:var(--ink-3);font-size:.9rem}.st__val input{flex:1;width:100%;min-width:0;background:none;border:0;color:var(--ink);font-family:var(--f-mono);font-size:1rem;text-align:left;padding:0}.st__val input:focus{outline:none;color:var(--accent-2)}.stepper:focus-within{border-color:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent-dim)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rmx{flex:0 0 auto;width:34px;height:34px;background:var(--field);border:1px solid var(--line-strong);color:var(--ink-3);cursor:pointer;font-size:1.05rem;line-height:1;transition:color .12s,border-color .12s,background .12s}.rmx:hover{color:#fff;background:var(--ember);border-color:var(--ember)}.sit{display:grid;gap:var(--sp-4)}.sit__field{display:grid;gap:8px}.sit__l{font-family:var(--f-display);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.chips-quick{display:flex;flex-wrap:wrap;gap:6px}.qchip{font-family:var(--f-mono);font-size:.7rem;color:var(--ink-2);background:var(--field);border:1px solid var(--line);padding:5px 9px;cursor:pointer;transition:color .12s,border-color .12s}.qchip:hover{color:var(--accent-2);border-color:var(--accent-dim)}.out{position:sticky;top:76px;display:grid;gap:var(--sp-4)}.meter__top{display:flex;justify-content:space-between;font-size:.74rem;color:var(--ink-2);margin-bottom:6px}.meter__track{height:10px;background:var(--field);border:1px solid var(--line-strong);overflow:hidden}.meter__fill{height:100%;width:0;background:var(--accent);transition:width .3s cubic-bezier(.2,.7,.2,1),background .3s ease}.verdict{font-size:.95rem;color:var(--ink);line-height:1.5;min-height:3em}.verdict strong{color:var(--accent-2)}.verdict.bad strong{color:var(--ember)}
