/* 국민연금 계산기 전용 */
.range-row{display:flex;align-items:center;gap:14px}
.range-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent);height:32px}
.range-row output{font-size:22px;font-weight:700;min-width:72px;text-align:right}
.ticks{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted)}
.verdict{font-size:clamp(22px,4.6vw,28px);font-weight:700;line-height:1.35;margin:6px 0 4px;text-wrap:balance}
.verdict em{font-style:normal;color:var(--accent)}
.opts{display:grid;gap:8px;margin:16px 0}
.opt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px}
.opt.win{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--accent-soft)}
.dot{width:12px;height:12px;border-radius:50%;grid-row:span 2}
.dot.early{background:var(--warn)} .dot.normal{background:var(--accent)} .dot.late{background:var(--good)}
.opt .nm{font-weight:600;font-size:15px}
.opt .nm small{font-weight:400;color:var(--muted);font-size:13px;margin-left:4px}
.opt .mo{font-size:13.5px;color:var(--muted)}
.opt .cum{grid-row:1/3;grid-column:3;text-align:right;font-weight:700;font-size:17px}
.opt .cum small{display:block;font-size:12.5px;font-weight:500;color:var(--muted)}
@media (max-width:520px){.opt{grid-template-columns:auto minmax(0,1fr)}.dot{grid-row:span 3}.opt .cum{grid-row:auto;grid-column:2;text-align:left}.opt .cum small{display:inline;margin-left:6px}}
.be{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.be div{background:var(--surface);padding:11px 14px;display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.be dt{font-size:13.5px;color:var(--muted)}
.be dd{margin:0;font-weight:700;font-size:18px}
.wide{margin-top:20px}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:var(--muted);margin-bottom:6px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:16px;height:3px;border-radius:2px;display:inline-block}
.legend i.early{background:var(--warn)} .legend i.normal{background:var(--accent)} .legend i.late{background:var(--good)}
.chart-box{position:relative;width:100%;touch-action:pan-y}
.chart-box svg{display:block;width:100%;height:auto;cursor:crosshair}
.chart-box .grid{stroke:var(--line);stroke-width:1}
.chart-box .axis{fill:var(--muted);font-size:11px;font-family:var(--f-body)}
.chart-box .ln{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.chart-box .ln.early{stroke:var(--warn)} .chart-box .ln.normal{stroke:var(--accent)} .chart-box .ln.late{stroke:var(--good)}
.chart-box .endl{stroke:var(--muted);stroke-dasharray:4 4;stroke-width:1.2}
.chart-box .endt{fill:var(--muted);font-size:11px;font-weight:600}
.chart-box .hov{stroke:var(--ink);stroke-width:1;opacity:.35}
.chart-box .bk{fill:var(--surface);stroke:var(--ink);stroke-width:2}
.chart-box .pt.early{fill:var(--warn)} .chart-box .pt.normal{fill:var(--accent)} .chart-box .pt.late{fill:var(--good)}
.readout{font-size:14px;background:var(--sunk);border-radius:10px;padding:10px 12px;margin-top:8px;min-height:44px}
.readout b{font-weight:600}
.agetbl{border-collapse:collapse;width:100%;font-size:14.5px;margin-top:6px}
.agetbl th,.agetbl td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:right}
@media (max-width:520px){.agetbl{font-size:13px}.agetbl th,.agetbl td{padding:8px 4px}}
.agetbl th:first-child,.agetbl td:first-child{text-align:left}
.agetbl th{font-size:12.5px;color:var(--muted);font-weight:500}
.agetbl td.best{font-weight:700;color:var(--accent)}
.agetbl tr.cur td{background:var(--accent-soft)}
.guide table.rate{border-collapse:collapse;width:100%;font-size:15px;margin:8px 0}
.guide table.rate th,.guide table.rate td{border:1px solid var(--line);padding:8px 10px;text-align:center}
.guide table.rate th{background:var(--sunk);font-weight:600}
@media (max-width:520px){.guide table.rate{font-size:13px}.guide table.rate th,.guide table.rate td{padding:6px 4px}}
