:root{
  --paper:#FAFBF9;
  --ink:#1A2421;
  --sub:#5A6663;
  --line:#DFE5E1;
  --teal:#0E6B5C;
  --teal-soft:#EAF3F0;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{
  font-family:'Pretendard Variable',Pretendard,-apple-system,sans-serif;
  background:var(--paper);color:var(--ink);
  line-height:1.7;letter-spacing:-.01em;
}
.mono{font-family:var(--mono);font-size:.92em}
a{color:inherit;text-decoration:none}

/* header */
.top{display:flex;align-items:baseline;gap:14px;
  max-width:860px;margin:0 auto;padding:28px 20px 0}
.brand{font-weight:800;font-size:1.25rem;letter-spacing:-.03em}
.brand span{color:var(--teal)}
.tag{color:var(--sub);font-size:.85rem}

main{max-width:860px;margin:0 auto;padding:0 20px 80px}

/* hero */
.hero{padding:64px 0 40px}
.hero h1{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800;
  letter-spacing:-.035em;line-height:1.35}
.lede{color:var(--sub);margin-top:14px;max-width:34em}

/* ledger — 시그니처: 카드가 아닌 장부 행 */
.ledger{border-top:1px solid var(--ink)}
.ledger-head,.row{
  display:grid;grid-template-columns:1fr 90px 90px 70px 100px;
  gap:12px;align-items:baseline;padding:14px 4px}
.ledger-head{font-size:.78rem;color:var(--sub);
  border-bottom:1px solid var(--line)}
.row{border-bottom:1px solid var(--line);transition:background .12s}
.row:hover{background:var(--teal-soft)}
.row .nm{font-weight:600}
.row code{font-family:var(--mono);font-size:.8em;color:var(--sub);
  margin-left:6px}
.r{text-align:right}
.dt{color:var(--sub);font-size:.85em}
.draft{font-style:normal;font-size:.7rem;color:var(--teal);
  border:1px solid var(--teal);border-radius:2px;padding:1px 5px;margin-left:6px}
.empty{padding:40px 0;color:var(--sub)}

/* report page */
.crumb{padding:28px 0 8px;font-size:.9rem;color:var(--sub)}
.crumb a:hover{color:var(--teal)}
.strip{display:flex;gap:18px;flex-wrap:wrap;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--line);
  padding:10px 2px;font-size:.85rem;color:var(--sub)}
.report{padding-top:12px}
.report h1{font-size:1.55rem;font-weight:800;letter-spacing:-.03em;
  margin:26px 0 10px;line-height:1.35}
.report h2{font-size:1.12rem;font-weight:700;margin:38px 0 12px;
  padding-top:18px;border-top:1px solid var(--line)}
.report h3{font-size:1rem;font-weight:700;margin:22px 0 8px;color:var(--teal)}
.report p{margin:12px 0}
.report ul{margin:12px 0 12px 20px}
.report li{margin:6px 0}
.report strong{font-weight:700}
.report em{color:var(--sub)}
.report table{width:100%;border-collapse:collapse;margin:16px 0;
  font-size:.9rem}
.report th{font-weight:600;text-align:left;color:var(--sub);
  border-bottom:1px solid var(--ink);padding:8px 10px 8px 0}
.report td{border-bottom:1px solid var(--line);padding:8px 10px 8px 0;
  font-variant-numeric:tabular-nums}
.report hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.report h2 + table th:first-child{width:30%}

/* footer */
.foot{max-width:860px;margin:0 auto;padding:24px 20px 48px;
  border-top:1px solid var(--line);color:var(--sub);font-size:.8rem}
.foot p{margin:6px 0}

@media (max-width:640px){
  .ledger-head,.row{grid-template-columns:1fr 84px 90px}
  .ledger-head span:nth-child(4),.ledger-head span:nth-child(5),
  .row .r:nth-child(4),.row .dt{display:none}
  .hero{padding:44px 0 28px}
}
@media (prefers-reduced-motion:reduce){
  .row{transition:none}
}
