:root{--bg:#f4f7f8;--card:#fff;--ink:#142028;--muted:#6b7a82;--line:#e4eaec;--primary:#0d9488;--primary-d:#0b8278;--accent:#0ea5e9}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Noto Sans KR",sans-serif;line-height:1.6;display:flex;justify-content:center;padding:0 16px 60px}
.wrap{width:100%;max-width:680px}
header{display:flex;align-items:center;gap:6px;padding:16px 2px;font-weight:800;font-size:15px}
header a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
header .logo{vertical-align:middle}
header .logo{font-size:20px}
header .crumb{color:var(--muted);font-weight:500}
h1{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:10px 2px 4px;line-height:1.3}
.sub{color:var(--muted);font-size:14px;margin:0 2px 18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 4px 18px rgba(20,40,50,.05)}
.field{margin-top:16px}.field:first-child{margin-top:0}
label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:7px}
label .q{color:var(--muted);font-weight:500;font-size:12px}
.inp{position:relative}
input,select{width:100%;background:#f8fafa;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font-size:16px;font-family:inherit;font-weight:600;color:var(--ink)}
input:focus,select:focus{outline:none;border-color:var(--primary)}
.inp .unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;font-weight:600;pointer-events:none}
.row{display:flex;gap:10px}.row>div{flex:1}
.hint{font-size:13px;color:var(--primary);font-weight:700;margin-top:7px;min-height:17px}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.chips button{border:1.5px solid #cfe0dd;background:#f3faf9;color:#0f766e;font-weight:700;font-size:13px;padding:8px 12px;border-radius:9px;cursor:pointer;font-family:inherit}
.chips button:active{transform:scale(.96)}
.chips button[data-clear]{color:#94a3b8;background:#f8fafc;border-color:#e8edf1}
.seg{display:flex;gap:8px;margin-top:2px}
.seg button{flex:1;background:#f1f5f5;border:1.5px solid transparent;color:var(--muted);border-radius:11px;padding:11px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s}
.seg button.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.cta{appearance:none;border:none;cursor:pointer;background:var(--primary);color:#fff;font-size:17px;font-weight:800;padding:15px;border-radius:13px;width:100%;margin-top:20px;transition:background .15s,transform .1s;font-family:inherit}
.cta:hover{background:var(--primary-d)}.cta:active{transform:scale(.99)}
.err{color:#dc2626;font-size:13px;font-weight:600;margin-top:10px;min-height:16px;text-align:center}
.result{margin-top:16px;display:none}
.result.on{display:block;animation:rise .35s ease}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.res-card{background:linear-gradient(160deg,#0d9488,#0ea5e9);color:#fff;border-radius:18px;padding:24px;text-align:center}
.res-card .lab{font-size:13px;opacity:.9;font-weight:600}
.res-card .big{font-size:38px;font-weight:900;letter-spacing:-1px;margin:6px 0 2px;line-height:1.1}
.res-card .big small{font-size:19px;font-weight:700}
.res-card .yr{font-size:13px;opacity:.92}
.breakdown{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.bd{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px}
.bd .k{font-size:12px;color:var(--muted);font-weight:600}
.bd .v{font-size:16px;font-weight:800;margin-top:3px}
.bd.neg .v{color:#dc2626}
.rows{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rows .r{display:flex;justify-content:space-between;padding:11px 15px;font-size:14px;border-top:1px solid var(--line)}
.rows .r:first-child{border-top:none}
.rows .r .k{color:var(--muted)}.rows .r .v{font-weight:700}
.rows .r.total{background:#f0fdfa;font-weight:800}.rows .r.total .v{color:var(--primary)}
.note{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.6;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:11px 13px}
.chart{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 14px 10px}
.chart .cap{font-size:13px;color:#33424a;margin-bottom:8px;line-height:1.5;font-weight:600}
.chart svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--muted)}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:middle}
.hbar{display:flex;height:38px;border-radius:9px;overflow:hidden;margin:2px 0 4px}
.hbar span{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800;min-width:0;overflow:hidden;white-space:nowrap}
.hbars{margin-top:4px}
.hbars .br{display:flex;align-items:center;gap:9px;margin:8px 0}
.hbars .br .lb{width:46px;font-size:12.5px;color:var(--muted);font-weight:700;flex:0 0 auto}
.hbars .br .tr{flex:1;background:#eef2f3;border-radius:6px;overflow:hidden;height:24px;display:flex;align-items:center}
.hbars .br .fl{height:100%;background:var(--primary);border-radius:6px;transition:width .5s ease}
.hbars .br.me .lb{color:var(--accent)}
.hbars .br.me .fl{background:var(--accent)}
.hbars .br .vl{font-size:12.5px;font-weight:800;flex:0 0 auto;width:84px;text-align:right}
.ad{margin:22px 0;min-height:90px;display:flex;align-items:center;justify-content:center;background:#eef2f3;border:1px dashed #cdd8db;border-radius:12px;color:#9aa8ac;font-size:12px}
article{margin-top:30px}
article h2{font-size:19px;font-weight:800;margin:26px 0 10px;letter-spacing:-.3px}
article h3{font-size:15px;font-weight:800;margin:18px 0 6px}
article p{font-size:15px;color:#33424a;margin:8px 0}
article .formula{background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;padding:14px 16px;font-size:15px;font-weight:700;color:#0f766e;margin:12px 0;text-align:center}
article ul{margin:8px 0 8px 18px}article li{font-size:14.5px;color:#33424a;margin:5px 0}
.faq{border-top:1px solid var(--line);padding:14px 2px}
.faq summary{font-weight:700;font-size:15px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q ";color:var(--primary);font-weight:800}
.faq p{font-size:14px;color:var(--muted);margin-top:8px}
.more{margin-top:24px;text-align:center;font-size:13px}
.more a{color:var(--primary);font-weight:700;text-decoration:none}
footer{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.7}
footer a{color:var(--primary)}
.tag{display:inline-block;background:#ccfbf1;color:#0f766e;font-size:11px;font-weight:800;border-radius:999px;padding:3px 9px;vertical-align:middle}
