/* 계산기를 중앙에 배치하고 화면 크기에 맞춰 입력 열과 여백을 조정한다. */
:root{color-scheme:light;--ink:#17263c;--muted:#58677c;--line:#dce3ed;--blue:#245bd5;--surface:#fff;font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;background:#f4f7fc;color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #86aaff;outline-offset:3px}header{background:#fff;border-bottom:1px solid var(--line);padding:24px max(24px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:var(--ink);text-decoration:none;font-size:1.15rem;font-weight:750;display:flex;align-items:center;gap:12px}.brand-mark{background:var(--blue);color:#fff;border-radius:10px;padding:5px 11px;font-size:1.25rem}.header-note{font-size:.875rem;color:var(--muted)}.layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(0,800px);justify-content:center;padding:44px 24px}main{min-width:0}.intro{margin-bottom:28px}.eyebrow{font-weight:700;letter-spacing:.13em;font-size:.75rem;color:var(--blue);margin:0 0 12px}h1{font-size:clamp(1.45rem,3vw,1.9rem);letter-spacing:-.045em;margin:0 0 10px}p{line-height:1.65}.intro>p:last-child{color:var(--muted);margin:0}h2{font-size:1.15rem;margin:0;letter-spacing:-.03em}.tabs{display:flex;gap:6px;background:#e7edf7;padding:5px;border-radius:12px;margin-bottom:20px}.tabs button{flex:1;border:0;background:transparent;color:var(--muted);padding:14px 6px;border-radius:8px;font-weight:650}.tabs [aria-selected=true]{color:var(--blue);background:#fff;box-shadow:0 2px 5px #17263c10}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-heading>span{font-size:.875rem;color:var(--muted)}.explanation{font-size:.875rem;color:var(--muted);padding:16px;background:#f5f8fd;border-radius:8px;margin:18px 0 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}label{display:flex;flex-direction:column;gap:9px;font-size:.875rem;font-weight:600;min-width:0}.input-wrap{display:flex;align-items:center;position:relative}.input-wrap>span{position:absolute;right:14px;color:var(--muted);font-weight:400}input,select{background:#fff;border:1px solid #c8d2e0;border-radius:8px;width:100%;min-width:0;padding:13px 40px 13px 14px;color:var(--ink);min-height:48px}select{padding-right:10px}input::placeholder{color:#738096;font-size:.875rem}small{font-weight:400;color:var(--muted);font-size:.75rem}fieldset{border:0;border-top:1px solid var(--line);padding:24px 0 0;margin:26px 0 0}legend{padding:0 12px 0 0;font-weight:650;font-size:.95rem}.actions{display:flex;gap:12px;margin-top:28px}.actions button{border-radius:9px;border:0;padding:15px 18px;font-weight:650}.primary{flex:1;background:var(--blue);color:white;display:flex;justify-content:space-between;gap:8px}.primary:hover{background:#1749b6}.secondary{background:#edf1f7;color:var(--muted)}.results{padding:26px 0 0}.result-empty{margin-top:16px;padding:32px 20px;text-align:center;border:1px dashed #c8d2e0;border-radius:12px;color:var(--muted);font-size:.875rem}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.metric{border:1px solid var(--line);background:white;border-radius:12px;padding:20px;min-width:0}.metric dt{color:var(--muted);font-size:.875rem;margin-bottom:10px}.metric dd{margin:0;font-size:1.25rem;font-weight:750;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric.featured{background:#eaf1ff;border-color:#cbdcff}.metric.featured dd{font-size:1.5rem}.positive{color:#b22b36}.negative{color:#245bd5}.error{background:#fff0f0;color:#a5232e;padding:12px;border-radius:8px;font-size:.875rem}.session-note{font-size:.75rem;color:var(--muted);margin-top:20px}footer{text-align:center;color:var(--muted);font-size:.75rem;padding:20px 24px 32px}[hidden]{display:none!important}
@media(max-width:540px){header{padding:18px 16px}.brand{font-size:1rem;gap:8px}.header-note{display:none}.layout{padding:28px 16px}.card{padding:20px}.fields{grid-template-columns:1fr;gap:18px}.section-heading>span{font-size:.75rem}.actions{flex-direction:column}.result-grid{grid-template-columns:1fr}.tabs button{font-size:.875rem}.intro>p:last-child{font-size:.875rem}}
