:root{--ink:#182132;--muted:#475765;--faint:#626a78;--rule:#e5e8ee;--tint:#f3f5f8;--john:#687b91;--daniel:#224ddb;--samuel:#27634d;--alicia:#ac481c;--emma:#7250a2;--up:#a62f27;--down:#1f5fa9;--text:14px;--small:12px;--title:26px;--heading:20px;--number:24px;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;color:inherit;min-height:44px}button,select,summary{cursor:pointer}button{background:#fff;border:1px solid #cdd4de;border-radius:8px;padding:8px 14px;font-weight:600}button:disabled{opacity:.6;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,.chart: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:var(--number)}.mark{display:grid;place-items:center;background:var(--daniel);color:white;font-size:var(--heading);width:26px;height:26px;border-radius:7px}
.header nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;font-size:var(--small);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)}
.intro{margin:38px 0 20px;max-width:850px}.intro h1{font-size:var(--title);letter-spacing:-.7px;margin:0 0 13px;line-height:1.4}.intro p{margin:7px 0;color:var(--muted)}.section-heading{font-size:var(--heading);letter-spacing:-.4px;line-height:1.5;margin:26px 0 13px}
summary{font-weight:600;min-height:44px;line-height:1.7;padding:10px 0}.people{margin-bottom:20px}.stories{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.stories p{font-size:var(--small);margin:0;color:var(--muted)}.stories strong{display:block;color:var(--ink);font-size:var(--text)}
.panel{border:1px solid var(--rule);border-radius:20px;background:#fff;margin-bottom:22px;padding:22px}.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:var(--small);font-weight:650;color:var(--muted)}
input:not([type=range]):not([type=checkbox]),select{width:100%;min-width:0;padding:8px 10px;border:1px solid #cdd4de;border-radius:8px;background:#fff}.advanced{border-top:1px solid var(--rule);margin-top:20px}.checkbox{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:var(--small);min-height:44px}.checkbox input{width:20px;min-height:20px;height:20px;accent-color:var(--daniel);margin:0}.apply-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}
.note{font-size:var(--small);color:var(--muted);margin:10px 0 0;line-height:1.8}.status{padding:28px 8px;text-align:center;color:var(--muted)}.replay-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}#current-date{font-size:var(--heading);font-weight:650;font-variant-numeric:tabular-nums}.replay-buttons{display:flex;gap:6px}.replay-buttons button{font-size:var(--small);padding:8px 12px}#timeline{width:100%;margin:12px 0 0;accent-color:var(--daniel)}
.ranking{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.runner{padding:12px 10px;border-top:3px solid var(--person);background:var(--tint);min-width:0;border-radius:0 0 8px 8px}.runner h3{font-size:var(--text);margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.place{font-size:var(--small);color:var(--muted);font-weight:500}.runner .value{font-size:var(--number);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.7px;line-height:1.45;overflow-wrap:anywhere}.value-label{font-size:var(--small);color:var(--muted);margin-top:9px}.runner dl{margin:10px 0 0;font-size:var(--small);line-height:1.7}.runner dt{color:var(--muted)}.runner dd{margin:0 0 7px;font-weight:600;font-variant-numeric:tabular-nums}.positive{color:var(--up)}.negative{color:var(--down)}
.legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:var(--small);font-weight:600}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:block;width:24px;border-top:2px solid var(--person)}.legend i.dashed{border-top-style:dashed}.legend i.dotted{border-top-style:dotted}
.chart-wrap{position:relative;margin-top:14px}.chart{display:block;width:100%;height:320px;touch-action:pan-y}.chart text{font-size:var(--small);fill:var(--muted)}.grid{stroke:#edf0f4;stroke-width:1}.baseline{stroke:#a7b0bc;stroke-width:1;stroke-dasharray:2 4}.curve{fill:none;stroke:var(--person);stroke-width:2.1;stroke-linejoin:round}.crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3}.replay-line{stroke:var(--ink);stroke-width:1;stroke-dasharray:5 4}
.tooltip{position:absolute;pointer-events:none;background:#fff;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:165px;max-width:calc(100% - 8px)}.tooltip b{display:block}.tooltip div{display:flex;gap:16px;justify-content:space-between}
.log-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.log-head select{width:auto;max-width:150px}.log{list-style:none;padding:0;margin:0}.log li{display:grid;grid-template-columns:100px 85px 1fr auto;gap:10px;padding:14px 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:var(--small)}.log time{font-variant-numeric:tabular-nums;color:var(--muted)}.log strong{font-size:var(--text)}.log .cash{font-variant-numeric:tabular-nums;font-weight:650;text-align:right}.log p{margin:3px 0 0;color:var(--muted);line-height:1.6}.method{margin-top:25px;border-top:1px solid var(--rule);padding-top:8px}.method p,.disc{font-size:var(--small);color:var(--muted);line-height:1.9}.disc{margin:24px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.header{padding:12px 0}.language-control{margin-left:auto}.header nav{order:3;width:100%;margin:0}.ranking{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.wrap{padding:0 14px 48px}.intro{margin-top:26px;--title:24px}.panel{padding:18px 14px}.controls,.advanced-grid{grid-template-columns:1fr 1fr;gap:13px 10px}.stories{grid-template-columns:1fr}.ranking{grid-template-columns:1fr;gap:10px}.runner{padding:12px 14px;border-top:0;border-left:3px solid var(--person);border-radius:0 8px 8px 0}.runner dl{display:grid;grid-template-columns:1fr auto;gap:5px;margin:8px 0 0}.runner dd{margin:0;text-align:right}.runner .value{font-size:var(--number)}.chart{height:280px}.log li{grid-template-columns:1fr auto;gap:5px 10px}.log time{grid-column:1}.log .cash{grid-column:2;grid-row:1}.log strong{grid-column:1 / -1}.log .detail{grid-column:1 / -1}.log-head{align-items:baseline}.log-head .section-heading{max-width:65%}.replay-buttons button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
