.calc{margin-top:28px;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l)}.calc:hover{transform:none;box-shadow:none}.calc+.calc{margin-top:18px}.calc-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:stretch}.calc-inputs{padding:clamp(20px,3vw,30px);display:flex;flex-direction:column;gap:18px;border-right:1px solid var(--line)}.calc-out{padding:clamp(20px,3vw,30px);background:var(--green-tint);display:flex;flex-direction:column;min-width:0}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.field-label{font-size:var(--text-ui);font-weight:560;color:var(--ink);line-height:1.3}.field-hint{font-size:var(--text-meta);color:var(--ink-3);font-weight:400}.control{display:flex;align-items:stretch;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-m);transition:border-color var(--dur-color) ease,box-shadow var(--dur-color) ease;min-height:48px}.control:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint)}.control input{flex:1;min-width:0;font:560 1.0625rem var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink);background:none;border:0;border-radius:inherit;padding:12px 14px;width:100%}.control input:focus{outline:none}.control input::placeholder{color:var(--ink-3);font-weight:400}.control input[type=number]::-webkit-outer-spin-button,.control input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.control input[type=number]{-moz-appearance:textfield;appearance:textfield}.unit,.unit-btn{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:0 12px;font:560 .9375rem var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink-2);background:none;border:0}.unit:first-child,.unit-btn:first-child{border-right:1px solid var(--line)}.unit:last-child,.unit-btn:last-child{border-left:1px solid var(--line)}.unit-btn{cursor:pointer;transition:color var(--dur-color) ease,background var(--dur-color) ease}.unit-btn:hover{color:var(--ink);background:var(--green-tint)}.unit-btn[aria-pressed=true]{color:var(--green-text)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-m)}.seg-btn{min-height:40px;padding:8px 12px;font:560 .9375rem var(--font-body);color:var(--ink-2);background:none;border:0;border-radius:calc(var(--radius-m) - 3px);cursor:pointer;transition:color var(--dur-color) ease,background var(--dur-color) ease}.seg-btn:hover{color:var(--ink)}.seg-btn[aria-selected=true],.seg-btn[aria-pressed=true]{color:var(--key-text);background:var(--green)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:34px;padding:6px 12px;font:500 var(--text-meta) var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--dur-color) ease}.chip:hover{border-color:var(--green-line);color:var(--ink)}.chip[aria-pressed=true]{color:var(--green-text);border-color:var(--green);background:var(--green-tint)}.out-head{font-family:var(--font-display);font-weight:var(--w-display-soft);font-size:1.0625rem;margin-bottom:14px}.out-rows{display:flex;flex-direction:column;gap:9px;font-size:var(--text-small);font-variant-numeric:tabular-nums}.out-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.out-row span:last-child{text-align:right;white-space:nowrap}.out-sub{color:var(--ink-3)}.out-em{font-weight:600;padding-top:9px;border-top:1px solid var(--line)}.out-need{display:flex;flex-direction:column;gap:10px}.out-need p{margin:0;font-size:var(--text-small);color:var(--ink-2);max-width:none}.need-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.need-list li{display:flex;align-items:center;gap:9px;font-size:var(--text-small);color:var(--ink-3)}.need-list li:before{content:"";width:9px;height:9px;flex:none;border-radius:50%;border:2px solid var(--line-strong)}.need-list li.done{color:var(--ink-2)}.need-list li.done:before{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 1.5px var(--surface)}.out-total{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-strong);display:flex;justify-content:space-between;align-items:baseline;gap:14px}.out-total span{font-size:var(--text-small);color:var(--ink-2)}.out-total strong{font-family:var(--font-display);font-size:clamp(1.9rem,1.2rem + 2vw,2.6rem);font-weight:var(--w-max);letter-spacing:var(--track-display);line-height:1;color:var(--green-text);font-variant-numeric:tabular-nums}.out-total strong.is-neg{color:var(--ink-2)}.ladder{display:flex;flex-direction:column;gap:2px;margin-top:16px}.ladder-row{display:grid;grid-template-columns:8.5rem 1fr 6rem;align-items:center;gap:10px;font-size:var(--text-meta);font-variant-numeric:tabular-nums;padding:3px 0}.ladder-row.is-now{font-weight:650}.ladder-label{color:var(--ink-2)}.ladder-bar{height:9px;border-radius:5px;background:var(--line);overflow:hidden}.ladder-fill{height:100%;border-radius:5px;background:var(--green);display:block}.ladder-fill.is-neg{background:var(--ink-3)}.ladder-label .tag{font-size:.72em;font-weight:600;color:var(--green-text);text-transform:uppercase;letter-spacing:.04em}.ladder-row.is-now .ladder-bar{box-shadow:0 0 0 2px var(--green-line)}.ladder-val{text-align:right;color:var(--ink-2)}.ladder-row.is-now .ladder-val{color:var(--ink)}.calc-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px clamp(20px,3vw,30px);border-top:1px solid var(--line);background:var(--surface)}.calc-note{margin:0;font-size:var(--text-meta);color:var(--ink-3);max-width:58ch}.calc-acts{display:flex;gap:8px;flex-wrap:wrap}.calc-act{min-height:38px;padding:8px 14px;font:560 var(--text-meta) var(--font-body);color:var(--green-text);background:none;border:1px solid var(--line-strong);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-color) ease,background var(--dur-color) ease}.calc-act:hover{border-color:var(--green);background:var(--green-tint)}@media(max-width:900px){.calc-grid{grid-template-columns:1fr}.calc-inputs{border-right:0;border-bottom:1px solid var(--line)}.out-total strong{font-size:2.1rem}}@media(max-width:520px){.seg{grid-auto-flow:row}.ladder-row{grid-template-columns:7rem 1fr 5.2rem}}@media(prefers-reduced-motion:reduce){.control,.chip,.seg-btn,.calc-act,.unit-btn{transition:none}}
