:root{
  --paper:#f4f1e8; --paper2:#eae6da; --ink:#1a1d1a; --ink-soft:#4b514b;
  --line:#c9cec4; --accent:#1c6b45; --accent2:#2f9166; --accent-lt:#e3f0e8;
  --pos:#1c6b45; --neg:#9b2024; --neu:#8a6d1f; --gold:#7d6a35;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper); color:var(--ink);
  font-family:"Noto Serif KR","Fraunces",Georgia,serif;
  font-size:16.5px; font-weight:500; line-height:1.78; letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 12% 8%, rgba(28,107,69,.05), transparent 30%),
    radial-gradient(circle at 88% 92%, rgba(125,106,53,.05), transparent 35%);
}
.wrap{max-width:980px;margin:0 auto;padding:0 24px 90px}
header.mast{border-bottom:3px double var(--accent);padding:34px 0 16px;margin-bottom:6px}
.kicker{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--accent);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.mast h1{font-family:"Fraunces","Noto Serif KR",serif;font-weight:900;font-size:clamp(28px,5.6vw,50px);
  line-height:1.06;letter-spacing:-.02em;margin:14px 0 8px}
.mast .sub{font-family:"Fraunces",serif;font-style:italic;font-weight:500;font-size:clamp(15px,2.2vw,19px);color:var(--ink-soft)}
.dateline{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:16px;
  font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--ink-soft);
  border-top:1px solid var(--line);padding-top:10px}

.tldr{background:#15291f;color:var(--paper);margin:28px 0 30px;padding:24px 26px 22px;border-radius:3px;
  box-shadow:8px 8px 0 rgba(28,107,69,.22)}
.tldr h2{font-family:"Fraunces",serif;font-weight:900;font-size:12px;letter-spacing:.3em;text-transform:uppercase;
  color:#7ddaa8;margin-bottom:12px}
.tldr ol{list-style:none;counter-reset:t;display:grid;gap:12px}
.tldr li{counter-increment:t;padding-left:38px;position:relative;font-weight:500;font-size:15.5px;line-height:1.62;color:#eaf2ec}
.tldr li::before{content:counter(t);position:absolute;left:0;top:1px;font-family:"Fraunces",serif;font-weight:900;
  font-size:15px;color:#15291f;background:#7ddaa8;line-height:1;width:24px;height:24px;display:flex;
  align-items:center;justify-content:center;border-radius:50%}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);margin:0 0 34px}
.stats>div{background:var(--paper);padding:12px 14px}
.stats .k{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:5px}
.stats .v{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:17px;color:var(--ink);line-height:1.25}
.stats .v small{display:block;font-size:10.5px;font-weight:500;color:var(--ink-soft);letter-spacing:0;margin-top:3px}
.stats .v.pos{color:var(--pos)} .stats .v.neg{color:var(--neg)} .stats .v.neu{color:var(--neu)}

section{margin-bottom:42px}
.kicker2{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:10.5px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--accent);margin-bottom:8px;display:block}
section h2{font-family:"Fraunces","Noto Serif KR",serif;font-weight:900;font-size:clamp(21px,3.4vw,29px);
  line-height:1.24;letter-spacing:-.015em;margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid var(--line)}
section h3{font-family:"Noto Sans KR",sans-serif;font-weight:700;font-size:15px;color:var(--accent);
  margin:20px 0 8px;letter-spacing:-.01em}

.body p{margin-bottom:13px;font-size:16px;font-weight:500;line-height:1.8;color:var(--ink)}
.body b{font-weight:800;color:#0f120f}
ul.bl{list-style:none;margin:0 0 16px;display:grid;gap:9px}
ul.bl li{position:relative;padding-left:19px;font-size:15.5px;line-height:1.72;color:var(--ink)}
ul.bl li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:2px;
  background:var(--accent);transform:rotate(45deg)}
ul.bl li b{font-weight:800;color:#0f120f}
ul.bl ul{list-style:none;margin:7px 0 0;display:grid;gap:6px}
ul.bl ul li{padding-left:16px;font-size:14.5px;color:var(--ink-soft)}
ul.bl ul li::before{width:5px;height:5px;top:10px;background:var(--line);border:1px solid var(--ink-soft);transform:none;border-radius:50%}

.num{font-family:"JetBrains Mono",monospace;font-weight:700;color:var(--accent)}
.pos{color:var(--pos);font-weight:700}.neg{color:var(--neg);font-weight:700}.neu{color:var(--neu);font-weight:700}
mark,.hl{background:linear-gradient(180deg,transparent 52%,rgba(47,145,102,.38) 52%,rgba(47,145,102,.38) 90%,transparent 90%);padding:0 1px}
.hl-red{background:linear-gradient(180deg,transparent 52%,rgba(155,32,36,.2) 52%,rgba(155,32,36,.2) 90%,transparent 90%);padding:0 1px}

.eureka{background:linear-gradient(180deg,rgba(47,145,102,.14),rgba(47,145,102,.05));border-left:4px solid var(--accent2);
  padding:14px 18px;margin:16px 0 18px;border-radius:0 3px 3px 0}
.eureka .et{font-family:"Fraunces",serif;font-weight:900;font-style:italic;font-size:13px;color:var(--accent);margin-bottom:5px}
.eureka p{font-size:15px;line-height:1.68;color:#22301f;font-weight:500;margin:0}
.eureka ul.bl{margin-bottom:0}
.eureka ul.bl li{font-size:14.5px}

table.dt{width:100%;border-collapse:collapse;font-family:"Noto Sans KR",system-ui,sans-serif;font-size:13.5px;margin:14px 0 8px}
table.dt th{text-align:right;font-family:"JetBrains Mono",monospace;font-weight:700;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-soft);padding:7px 8px;border-bottom:1.5px solid var(--accent)}
table.dt th:first-child{text-align:left}
table.dt td{padding:8px;border-bottom:1px solid var(--line);text-align:right;font-family:"JetBrains Mono",monospace}
table.dt td:first-child{text-align:left;font-family:"Noto Sans KR",sans-serif;font-weight:700}
table.dt tr:hover td{background:rgba(28,107,69,.05)}
.tscroll{overflow-x:auto}

.chartbox{margin:14px 0 22px;border:1px solid var(--line);border-radius:5px;padding:16px 18px 12px;background:rgba(255,255,255,.42)}
.chartbox .ct{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:11px;letter-spacing:.1em;color:var(--ink);
  text-transform:uppercase;margin-bottom:2px}
.chartbox .cs{font-family:"Noto Sans KR",sans-serif;font-size:11.5px;color:var(--ink-soft);margin-bottom:10px}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--ink-soft);margin-top:8px}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}

blockquote{border-left:3px solid var(--accent2);padding:9px 16px;margin:12px 0 16px;font-style:italic;color:var(--ink-soft);
  font-size:14.5px;background:rgba(47,145,102,.07)}
blockquote cite{display:block;margin-top:5px;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:10.5px;
  color:var(--accent);letter-spacing:.06em}

details.tr{border:1px solid var(--line);border-radius:5px;margin:12px 0;background:rgba(255,255,255,.4)}
details.tr>summary{cursor:pointer;padding:13px 18px;font-family:"Noto Sans KR",sans-serif;font-weight:700;font-size:14.5px;
  color:var(--accent);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
details.tr>summary::-webkit-details-marker{display:none}
details.tr>summary::after{content:"▾";font-size:13px;transition:transform .2s}
details.tr[open]>summary::after{transform:rotate(180deg)}
details.tr .trbody{padding:4px 20px 20px;border-top:1px solid var(--line)}
.sp{margin:18px 0 6px;font-family:"Noto Sans KR",sans-serif;font-weight:700;font-size:13.5px;color:var(--accent);
  border-left:3px solid var(--accent2);padding-left:9px}
.trbody p{font-size:15px;line-height:1.82;margin-bottom:11px;color:var(--ink)}
.trbody .en{font-size:12.5px;color:var(--ink-soft);font-style:italic;line-height:1.6;margin:-6px 0 13px;
  padding-left:11px;border-left:1px dotted var(--line)}

footer{margin-top:50px;border-top:3px double var(--accent);padding-top:16px;font-family:"JetBrains Mono",monospace;
  font-size:10.5px;letter-spacing:.06em;color:var(--ink-soft);line-height:1.85}
footer a{color:var(--accent)}
@media (max-width:640px){
  .wrap{padding:0 16px 60px}
  .stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
  body{font-size:15.5px}
}
