:root{--ink:#182132;--muted:#475765;--faint:#626a78;--rule:#e5e8ee;--accent:#27634d;--tint:#eef6f1;--lump:#27634d;--split:#687b91;--up:#a62f27;--down:#1f5fa9;--text:14px;--small:12px;--number:30px;color-scheme:light}
html[lang=en]{--up:#247a36;--down:#c4362c}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:var(--text)/1.8 "Pretendard Variable",Pretendard,system-ui,sans-serif}
html[lang=ko] [data-lang=en],html:not([lang=ko]) [data-lang=ko],[hidden]{display:none!important}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button,input,select{min-height:44px}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{max-width:1040px;margin:auto;padding:0 24px 64px}.header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:82px;border-bottom:1px solid var(--rule)}
.brand{font-weight:800;letter-spacing:-1px;display:flex;gap:8px;align-items:center;font-size:23px}.mark{display:grid;place-items:center;background:#224ddb;color:white;font-size:20px;width:26px;height:26px;border-radius:7px}
.header nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;font-size:13px;font-weight:600}.header nav a{display:flex;align-items:center;padding:8px 10px;min-height:44px;border-radius:8px}.header nav a[aria-current]{background:var(--tint);color:var(--accent)}
.intro{margin:38px 0 28px;max-width:850px}.intro h1{font-size:26px;letter-spacing:-.7px;margin:0 0 13px;line-height:1.4}.intro p{margin:7px 0;color:var(--muted);font-size:13.5px;line-height:1.85}
.section-heading{font-size:21px;letter-spacing:-.4px;line-height:1.5;margin:26px 0 13px}.panel{border:1px solid var(--rule);border-radius:20px;background:#fff;margin-bottom:22px;padding:22px}.controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:var(--small);font-weight:650;color:var(--muted)}
input,select{width:100%;min-width:0;padding:8px 10px;border:1px solid #cdd4de;border-radius:8px;background:#fff;color:var(--ink)}.control-note{font-size:var(--small);color:var(--faint);margin:12px 0 0;line-height:1.7}.status{color:var(--muted);padding:28px 8px;text-align:center;line-height:1.8}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:var(--small);margin-bottom:6px;font-weight:650}.legend span{display:inline-flex;align-items:center;gap:6px}.legend span:before{content:"";display:block;width:20px;border-top:2px solid var(--lump)}.legend .split:before{border-color:var(--split);border-top-style:dashed}
.summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.result{border-radius:12px;background:var(--tint);padding:16px 18px;min-width:0}.result.split{background:#f3f5f8}.result h3{font-size:var(--text);margin:0 0 7px}.result .value{font-size:var(--number);font-weight:700;line-height:1.25;letter-spacing:-.8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result dl{margin:14px 0 0;display:grid;grid-template-columns:1fr auto;gap:5px;font-size:var(--small);line-height:1.6}.result dt{color:var(--muted)}.result dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}.negative{color:var(--down)}.positive{color:var(--up)}
.chart-wrap{position:relative;margin-top:15px}.chart{display:block;width:100%;height:300px;touch-action:pan-y}.chart text{font:12px "Pretendard Variable",Pretendard,system-ui,sans-serif;fill:var(--muted)}.chart .grid{stroke:#edf0f4;stroke-width:1}.chart .baseline{stroke:#a7b0bc;stroke-width:1;stroke-dasharray:2 4}.chart .curve{fill:none;stroke:var(--lump);stroke-width:2.2;stroke-linejoin:round}.chart .curve.split{stroke:var(--split);stroke-dasharray:7 4;stroke-width:1.8}.chart .crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3}
.tooltip{position:absolute;pointer-events:none;background:white;border:1px solid var(--rule);box-shadow:0 2px 10px #0f1a241a;border-radius:8px;padding:8px 10px;font-size:var(--small);line-height:1.7;z-index:2;min-width:166px;max-width:calc(100% - 8px)}.tooltip b{display:block}.tooltip div{display:flex;gap:12px;justify-content:space-between}.chart-caption{font-size:var(--small);color:var(--faint);display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:8px;line-height:1.6}.after-chart{font-size:var(--small);color:var(--muted);margin:12px 0 0}
.sample-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:14px;flex-wrap:wrap}.sample-top h3{font-size:var(--text);margin:0}.sample-top span{font-size:var(--small);color:var(--faint)}.sample-bar{display:flex;height:12px;border-radius:4px;overflow:hidden;background:#e5e8ee}.sample-bar .lump{background:var(--lump)}.sample-bar .split{background:var(--split)}.sample-values{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.sample-values p{margin:0;font-size:var(--small);color:var(--muted)}.sample-values strong{display:block;color:var(--ink);font-size:24px;font-weight:650;line-height:1.4;font-variant-numeric:tabular-nums}.sample-note{font-size:var(--small);color:var(--faint);line-height:1.8;margin:14px 0 0}.method{margin-top:25px;border-top:1px solid var(--rule);padding-top:16px}.method summary{cursor:pointer;font-weight:650;min-height:44px;display:list-item}.method p{font-size:var(--small);color:var(--muted);margin:8px 0;line-height:1.9}.disc{font-size:var(--small);color:var(--muted);margin:24px 0 0;line-height:1.85}
@media(max-width:900px){.header{padding:12px 0}.language-control{margin-left:auto}.header nav{order:3;width:100%;margin:0}}
@media(max-width:640px){.wrap{padding:0 14px 48px}.intro{margin-top:26px}.intro h1{font-size:24px}.panel{padding:18px 14px}.controls{grid-template-columns:1fr 1fr;gap:13px 10px}.summary{gap:9px}.result{padding:13px 11px;--number:24px}.result dl{grid-template-columns:1fr;gap:1px}.result dd{margin-bottom:8px}.chart{height:270px}.section-heading{font-size:20px}.header nav{font-size:12px}.header nav a{padding:8px}.sample-values strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:640px){.summary{grid-template-columns:1fr}.result dl{grid-template-columns:1fr auto;gap:5px}.result dd{margin:0}}
.field-label{font-size:var(--small);font-weight:650;color:var(--muted)}.reserve-setting{min-height:44px;padding:8px 10px;background:var(--tint);border-radius:8px;font-size:13px;display:flex;align-items:center}
