:root{--bg:#f6f6f4;--surface:#fff;--surface-2:#fafaf8;--ink:#17171a;--ink-2:#4c4c52;--muted:#7c7c82;--line:#e2e2de;--line-2:#efefeb;--line-3:#cfcfc9;--link:#1d4e89;--danger:#b42318;--danger-ink:#8f1d13;--warn:#b5822a;--ok:#2f6b2f;--series:#2a78d6;--danger-bg:#fbebe9;--danger-line:#efd2ce;--good:#10763f;--good-ink:#0e6b39;--good-bg:#e4f1e8;--warn-bg:#faf3e4;--warn-ink:#85611f;--ok-bg:#edf3ed;--surface-3:#f1f1ec;--on-ink:#9c9c95;--serif:"Noto Serif KR", "Apple SD Gothic Neo", serif;--sans:Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty;line-height:1.6}a{color:var(--link);text-decoration:none}a:hover{color:#123761}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.wrap{max-width:1240px;margin:0 auto;padding:0 24px}.card{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0}.tile{background:var(--surface);border:1px solid var(--line);border-radius:2px}.figure-title{font-family:var(--sans);letter-spacing:0;color:var(--ink);font-size:13px;font-weight:600}.figure-num{font-family:var(--mono);color:var(--muted);margin-right:8px;font-size:12px}.two-col{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:48px;display:grid}.aside{border-left:1px solid var(--line);color:var(--ink-2);padding-left:26px;font-size:12px;line-height:1.75}@media (max-width:900px){.two-col{grid-template-columns:minmax(0,1fr);gap:28px}.aside{border-left:0;border-top:1px solid var(--line);padding-top:20px;padding-left:0}}.prose{max-width:40em}.btn{background:var(--ink);height:48px;color:var(--surface);font-family:var(--sans);border:1px solid var(--ink);cursor:pointer;text-align:center;white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:15px;font-weight:500;display:inline-flex}.btn:hover{color:var(--surface);background:#000}.btn:disabled{background:var(--line-3);border-color:var(--line-3);cursor:not-allowed}.btn-ghost{height:48px;color:var(--ink);border:1px solid var(--line-3);font-family:var(--sans);cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:500;display:inline-flex}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.eyebrow{letter-spacing:.12em;color:var(--muted);font-size:11px;font-weight:600}.site-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.logo{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-weight:600}@media (max-width:760px){.wrap{padding:0 16px}}.figure-body>svg,.figure-body>figure>svg{margin-inline:auto}.figure-body>.legend{justify-content:center}.editable{outline:1px dashed var(--line-3);outline-offset:4px;cursor:text;border-radius:2px}.editable:focus{outline:1px solid var(--ink);background:var(--surface-2)}@media print{@page{size:A4;margin:14mm}html,body{background:#fff}.wrap{max-width:none;padding:0}.site-header,.no-print{display:none!important}*,:before,:after{-webkit-print-color-adjust:exact;print-color-adjust:exact}.editable,.editable:focus{background:0 0!important;outline:none!important}.card{break-inside:avoid;border-color:#d6cfc2}svg,table{break-inside:avoid}h2,h3{break-after:avoid}details>:not(summary){display:block!important}details>summary{list-style:none}}.progress{background:var(--line);height:2px;position:relative;overflow:hidden}.progress:after{content:"";background:var(--ink);width:40%;animation:1.4s ease-in-out infinite progress-slide;position:absolute;top:0;bottom:0;left:0}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.progress:after{opacity:.35;width:100%;animation:none}}
