:root {
  --bg-deep: #050607;
  --bg: #0c0d0f;
  --chart: #0f1113;
  --panel: #15171a;
  --panel2: #1b1e22;
  --rule: #2a2e34;
  --rule-soft: #1d2025;
  --text: #eceef0;
  --text2: #a9aeb6;
  --text3: #8c929b;
  --text4: #5c626b;
  --ink: #0c0d0f;
  --accent: #d8ff3a;
  --gold: #e9b949;
  --teal: #3de0d0;
  --orange: #ff9f1c;
  --up: #ff4d5e;
  --down: #3d8bff;
  --display: 'Saira Condensed', 'Arial Narrow', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --body: 'IBM Plex Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --cut: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  --cut-lg: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
  color-scheme: dark;
}
:root[data-scheme='global'] {
  --up: #22d38a;
  --down: #ff4d5e;
}

* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--body); -webkit-font-smoothing: antialiased; word-break: keep-all; overflow-wrap: anywhere; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
button:disabled { cursor: default; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.disp { font-family: var(--display); }
.micro { font-family: var(--display); font-weight: 600; font-size: 12px; letter-spacing: 0.16em; color: var(--text3); text-transform: uppercase; }
.rule { height: 1px; background: var(--rule); border: 0; margin: 0; }

.cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; height:auto; padding: 10px 24px; border: 0; background: var(--accent); color: var(--ink);
  font-weight: 700; font-size: 16px; clip-path: var(--cut); transition: filter 0.15s;
}
.cta:hover { filter: brightness(1.06); }
.cta:active { filter: brightness(0.9); }
.ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 54px; height:auto; padding: 10px 20px; border: 1px solid var(--rule); background: transparent; color: var(--text);
  font-weight: 600; font-size: 15px;
}
.ghost:hover { border-color: var(--text3); }

.chip {
  height: 40px; border: 1px solid var(--rule); background: var(--panel); color: var(--text2);
  font-family: var(--mono); font-weight: 600; font-size: 13px; flex: 1; min-width: 0;
}
.chip:hover:not(:disabled) { border-color: var(--text3); }
.chip.on { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.chip.kr { font-family: var(--body); font-size: 14px; }

.toggle {
  border: 1px solid var(--rule); background: transparent; color: var(--text3);
  font-family: var(--display); font-weight: 700; font-size: 13px; letter-spacing: 0.12em; padding: 3px 8px;
}
.toggle.on { background: var(--accent); border-color: var(--accent); color: var(--ink); }

.kbd { font-family: var(--mono); font-size: 10px; color: var(--text4); border: 1px solid var(--rule); padding: 0 4px; margin-left: 6px; }

/* Localized copy wraps and uses complete platform glyphs. */
html[data-language="ja"], html[data-language="zh"], html[data-language="hi"] { --body: system-ui, sans-serif; --display: system-ui, sans-serif; }
button, .chip, .ghost, .cta { overflow-wrap: anywhere; min-height: 40px; }
select { color:var(--text);background:var(--panel);border:1px solid var(--rule);padding:8px;max-width:100%;font:inherit; }
.guidebook { width:min(680px,100%);max-height:90vh;overflow:auto;background:var(--panel);padding:24px;line-height:1.65; }
.guidebook article { border-top:1px solid var(--rule);padding-top:16px;margin-top:24px; }
.account-edit { display:grid;gap:8px;min-width:230px; }

/* Shared app logo and wordmark. */
.brand { display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; color: var(--text); text-decoration: none; white-space: nowrap; }
.brand-icon { display: block; width: 36px; height: 36px; flex-shrink: 0; }
.brand-name { font-weight: 800; font-size: 22px; letter-spacing: 0.06em; }
.brand-name > span { color: var(--accent); }
.brand--compact .brand-icon { width: 28px; height: 28px; }
.brand--compact .brand-name { font-size: 18px; }

.blog-header,.blog-main,.blog-footer,.blog-languages{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}.blog-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--rule)}.blog-brand{font-family:var(--display);font-size:23px;font-weight:800;display:flex;align-items:center;letter-spacing:-.03em;white-space:nowrap}.blog-brand img{margin-right:10px}.blog-brand span{color:var(--accent)}.blog-header nav{display:flex;align-items:center;gap:24px;font-size:14px}.blog-play{color:var(--accent)}.blog-languages{display:flex;gap:18px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;font-size:12px;color:var(--text2)}.blog-languages a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.blog-skip{position:fixed;z-index:20;top:-100px;left:16px;background:var(--accent);color:var(--ink);padding:12px}.blog-skip:focus{top:12px}.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:10}.blog-eyebrow{display:block;font-size:12px;color:var(--accent);letter-spacing:.07em;font-weight:700}.blog-main{padding-top:56px;padding-bottom:72px}.article-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start;padding-bottom:56px;border-bottom:1px solid var(--rule)}.blog-main h1{font-size:clamp(30px,4.5vw,57px);letter-spacing:-.045em;line-height:1.16;margin:20px 0 24px;font-weight:700}.blog-dek{font-size:18px;line-height:1.8;color:var(--text2)}.blog-meta{font-size:12px;color:var(--text3);line-height:1.8;margin-top:24px}.answer-panel{border-top:3px solid var(--accent);background:var(--panel);padding:28px;margin-top:20px}.answer-panel p{font-size:16px;line-height:1.9;margin-bottom:0}.article-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;margin-top:48px}.article-toc{position:sticky;top:24px;align-self:start;font-size:13px}.article-toc b{display:block;padding-bottom:16px;color:var(--text2)}.article-toc a{display:flex;gap:12px;border-top:1px solid var(--rule);padding:14px 0;line-height:1.6;color:var(--text2)}.article-toc span{color:var(--text4)}.article-toc a:hover{color:var(--accent)}.article-body{max-width:740px;min-width:0}.article-body section{scroll-margin-top:28px;margin-top:48px}.article-body h2,.related h2{font-size:25px;letter-spacing:-.02em;line-height:1.5}.article-body p{font-size:16px;line-height:1.95;color:var(--text2)}.blog-chart{margin:0;background:var(--chart);border:1px solid var(--rule);padding:20px}.blog-chart svg{width:100%;height:auto;display:block}.blog-chart figcaption{margin-top:14px;color:var(--text3);font-size:12px;line-height:1.8}.timeline{margin:0;border:1px solid var(--rule);padding:24px}.timeline figcaption{color:var(--text3);font-size:12px}.timeline ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:20px 0 0;gap:20px}.timeline li{border-top:1px solid var(--accent);padding-top:18px}.timeline b{display:block;color:var(--accent);font-size:28px;margin-bottom:12px}.timeline span{font-size:13px;line-height:1.7;color:var(--text2)}.score-visual{margin:0;background:var(--panel);padding:24px}.score-visual figcaption{font-size:12px;color:var(--text3)}.score-visual div{display:flex;justify-content:space-between;border-bottom:5px solid var(--accent);padding:16px 0}.score-visual div:nth-of-type(2){width:43%;min-width:190px;border-color:var(--text3)}.score-visual b{font-family:var(--mono);font-size:30px}.leverage-lab{background:var(--panel);border:1px solid var(--rule);padding:24px}.leverage-lab label{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:12px}.leverage-lab input[type=range]{width:100%;accent-color:var(--accent);margin:12px 0 28px;min-height:30px}.leverage-lab input[type=number]{background:var(--bg);color:var(--text);border:1px solid var(--rule);padding:12px;width:100%;font:inherit}.leverage-lab #gross{font-family:var(--mono);font-size:42px;color:var(--accent)}.leverage-lab p:last-child{font-size:13px;margin-bottom:0}.exercise{margin-top:48px;padding:24px 28px;background:var(--panel);border-left:3px solid var(--accent)}.exercise h2{font-size:18px}.article-body details{border-top:1px solid var(--rule);padding:20px 0}.article-body summary{cursor:pointer;font-size:16px;line-height:1.7}.article-body details p{margin-bottom:0}.blog-references a{display:block;text-decoration:underline;font-size:14px;color:var(--text2);margin:12px 0}.article-cta{margin-top:48px;padding:32px;border:1px solid var(--rule)}.article-cta h2{font-size:25px;line-height:1.5}.article-cta p{color:var(--text2);font-size:15px;line-height:1.8}.article-cta .cta{margin-top:12px}.related{margin-top:64px;padding-top:32px;border-top:1px solid var(--rule)}.related a{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--rule);font-size:17px;line-height:1.5}.related a:hover{color:var(--accent)}.blog-footer{border-top:1px solid var(--rule);padding-top:36px;padding-bottom:32px;display:grid;grid-template-columns:1.5fr 1fr;gap:28px;color:var(--text3)}.blog-footer p{font-size:12px;line-height:1.8;max-width:550px}.blog-footer nav{display:flex;gap:20px;flex-wrap:wrap;align-content:start;font-size:13px}.blog-footer small{grid-column:1/-1;font-size:11px}.index-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;margin-bottom:56px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.article-card{padding:28px;display:flex;flex-direction:column;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .15s}.article-card:hover{background:var(--panel)}.article-card h2{font-size:23px;line-height:1.5;margin:20px 0 16px;letter-spacing:-.02em}.article-card p{font-size:14px;line-height:1.8;color:var(--text2);flex:1}.article-card .blog-meta{display:flex;justify-content:space-between}.language-index{display:flex;gap:16px;flex-wrap:wrap}.language-index a{padding:16px 22px;border:1px solid var(--rule);font-size:17px}:root[data-language=hi]{--body:'Noto Sans Devanagari','Kohinoor Devanagari',sans-serif}:root[data-language=zh]{--body:'PingFang SC','Microsoft YaHei',sans-serif}:root[data-language=ja]{--body:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}@media(max-width:850px){.article-hero,.index-hero{grid-template-columns:1fr;gap:24px}.article-layout{grid-template-columns:1fr;gap:32px}.article-toc{position:static;padding-bottom:24px;border-bottom:1px solid var(--rule)}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-body{max-width:none}.answer-panel{margin-top:0}}@media(max-width:520px){.blog-header,.blog-main,.blog-footer,.blog-languages{padding-left:20px;padding-right:20px}.blog-header{align-items:flex-start;gap:16px;flex-direction:column}.blog-header nav{justify-content:space-between;width:100%;gap:16px}.blog-brand{font-size:22px}.blog-languages{gap:12px 18px;padding-top:18px}.blog-main{padding-top:28px}.blog-main h1{font-size:32px;line-height:1.3}.blog-dek{font-size:16px}.answer-panel,.article-card,.article-cta,.leverage-lab,.exercise{padding:22px}.article-hero{padding-bottom:28px}.article-grid{grid-template-columns:1fr}.timeline ol{grid-template-columns:1fr}.timeline li{display:grid;grid-template-columns:80px 1fr;gap:12px}.blog-chart{padding:12px}.blog-footer{grid-template-columns:1fr}.article-body h2{font-size:23px}.article-body p{font-size:16px;line-height:1.95}.index-hero{margin-bottom:32px}.reading-progress{height:2px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
