:root{--bg:#f7f8fa;--fg:#1c2330;--mut:#5b6575;--card:#fff;--line:#d9dee6;--p:#1f6feb;--s:#d9730d}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 -apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}
header,main,footer{max-width:1000px;margin:0 auto;padding:0 16px}
h1{font-size:1.4rem;margin:16px 0 4px}h2{font-size:1.1rem;margin:0 0 8px}h3{margin:0;font-size:1rem}
.note{color:var(--mut);font-size:.875rem;margin:8px 0}.note.strong{color:var(--fg);font-weight:600}
main{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);padding-bottom:16px}
@media(min-width:768px){main{grid-template-columns:300px minmax(0,1fr)}}
section{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}
label{display:block;margin:10px 0;font-size:.9rem;color:var(--mut)}
input{display:block;width:100%;font-size:16px;padding:8px;margin-top:4px;border:1px solid var(--line);border-radius:6px;color:var(--fg)}
small{display:block;color:#c0392b;min-height:0}
.cards{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:520px){.cards{grid-template-columns:1fr 1fr}}
.card{border:2px solid var(--line);border-radius:10px;padding:12px}
.card.pension{border-color:var(--p)}.card.saving{border-color:var(--s)}
.range{margin:2px 0;font-weight:700}.big{font-size:1.25rem;font-weight:700;margin:4px 0}.sub{margin:0;color:var(--mut);font-size:.85rem}
figure{margin:12px 0}svg{width:100%;height:auto;background:#fff}figcaption{font-size:.85rem;color:var(--mut)}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}
details{margin-top:12px}summary{cursor:pointer;font-weight:600}
@media(max-width:480px){table{font-size:.78rem}th,td{padding:6px 3px;white-space:normal;word-break:keep-all}}
