@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&family=Gmarket+Sans:wght@400;500;700&display=swap";:root{--font-serif:"Noto Serif KR", "Source Serif Pro", Georgia, serif;--font-sans:"Inter", -apple-system, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, monospace;--font-display:"Gmarket Sans", "Noto Serif KR", serif;--r:4px;--r-2:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--fs-9:9px;--fs-10:10px;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-22:22px;--fs-28:28px;--fs-36:36px;--fs-48:48px}:root,[data-theme=paper]{--paper:#fafaf7;--paper-2:#f2f1ec;--paper-3:#e8e6df;--paper-line:#dcdad2;--ink:#1f1e1b;--ink-2:#2d2c28;--ink-3:#4a4944;--ink-muted:#807e76;--ink-faint:#b0aea5;--terra:#b8842a;--terra-dark:#8c631e;--terra-light:#dda651;--terra-bg:#b8842a17;--data-up:#1f1e1b;--data-down:#b0aea5;--data-blue:#4a4944;--data-amber:#b8842a;--data-violet:#807e76;--pos:oklch(55% .1 155);--neg:oklch(55% .13 25)}.up{color:var(--pos)}.down{color:var(--neg)}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-13);font-feature-settings:"ss01", "cv01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;line-height:1.5}.serif{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:500}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.label{font-size:var(--fs-10);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel{background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--r)}.panel-ink{background:var(--ink);color:var(--paper);border-radius:var(--r)}.hr-dotted{border:0;border-top:1px dotted var(--paper-line);margin:0}::selection{background:var(--terra);color:var(--paper)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--paper-line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.btn{border:1px solid var(--paper-line);background:var(--paper);height:26px;color:var(--ink);border-radius:var(--r);font-family:var(--font-sans);font-size:var(--fs-11);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-weight:500;transition:all .12s;display:inline-flex}.btn:hover{border-color:var(--ink-3);background:var(--paper-2)}.btn-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ink:hover{background:var(--ink-2)}.btn-terra{background:var(--terra);color:var(--paper);border-color:var(--terra)}.btn-terra:hover{background:var(--terra-dark);border-color:var(--terra-dark)}.spark{width:100%;height:28px;display:block}.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-11)}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--paper-line);white-space:nowrap;padding:6px 10px}.tbl thead th{font-weight:600;font-size:var(--fs-10);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);background:var(--paper-2);border-bottom:1px solid var(--ink-3)}.tbl tbody tr:hover td{background:var(--paper-2)}.tbl td.r,.tbl th.r{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}:root{--bg-app:var(--paper);--bg-card:var(--paper);--ink-deep:var(--ink);--ink-mid:var(--ink-3);--accent-warm:var(--terra);--accent-warm-soft:var(--terra-bg);--accent-success:var(--pos);--accent-error:var(--neg);--neutral-300:var(--paper-line);--neutral-200:var(--paper-2);--neutral-100:var(--paper-3);--stone-500:var(--ink-muted);--stone-600:var(--ink-3);--radius:var(--r)}#root{flex-direction:column;min-height:100vh;display:flex}button{cursor:pointer}a{color:var(--terra);text-decoration:none}a:hover{text-decoration:underline}button:hover{filter:brightness(.95)}button:disabled:hover{filter:none}textarea:focus,input:focus,select:focus{outline:none;border-color:var(--accent-warm)!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.04)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
