:root{--ink-900:#14202e;--ink-800:#1f2f42;--ink-700:#33465c;--ink-600:#4d5f75;--ink-500:#6b7b8f;--ink-400:#94a1b2;--ink-300:#c3ccd7;--ink-200:#e1e6ec;--ink-100:#eff2f6;--ink-50:#f7f9fb;--paper:#fff;--bg:#fbfaf7;--brand:#1f3a5f;--brand-600:#18304f;--brand-soft:#e8eef6;--accent:#c4673a;--accent-soft:#fbeee6;--ok:#2f8a5f;--ok-soft:#e6f4ec;--warn:#b07a12;--warn-soft:#fbf3df;--bad:#b14a4a;--bad-soft:#fbeaea;--r-sm:6px;--r-md:10px;--r-lg:16px;--sh-sm:0 1px 2px #14202e0d;--sh-md:0 8px 24px -10px #14202e2e, 0 2px 6px -2px #14202e0f;--w:1080px;--w-text:720px;--font:"Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, "D2Coding", monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink-800);font-family:var(--font);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{color:var(--ink-900);letter-spacing:-.02em;margin:0;line-height:1.25}h1{font-size:clamp(30px,4.6vw,46px);font-weight:800}h2{font-size:clamp(22px,2.6vw,28px);font-weight:750}h3{font-size:18px;font-weight:700}p{margin:0}.wrap{width:min(var(--w), calc(100% - 40px));margin-inline:auto}.wrap-text{width:min(var(--w-text), calc(100% - 40px));margin-inline:auto}.section{padding:72px 0}.section--tight{padding:48px 0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.lead{color:var(--ink-600);font-size:clamp(17px,1.6vw,19px);line-height:1.7}.muted{color:var(--ink-500)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:32px;display:flex}.section-head p{color:var(--ink-600);margin-top:8px}.site-header{z-index:30;backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-200);background:#fbfaf7e0;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--ink-900);letter-spacing:-.02em;font-weight:800;text-decoration:none}.brand small{color:var(--ink-500);letter-spacing:0;margin-top:-2px;font-size:11px;font-weight:500;display:block}.nav{gap:4px;display:flex}.nav a{border-radius:var(--r-sm);color:var(--ink-600);padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.nav a:hover{background:var(--ink-100);color:var(--ink-900)}.nav a[aria-current=page]{color:var(--brand);background:var(--brand-soft)}.btn{border-radius:var(--r-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;height:44px;padding:0 20px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;transition:background .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.btn--primary{background:var(--brand);color:#fff}.btn--primary:hover{background:var(--brand-600);color:#fff;box-shadow:var(--sh-md);transform:translateY(-1px)}.btn--ghost{background:var(--paper);color:var(--ink-800);border-color:var(--ink-200)}.btn--ghost:hover{border-color:var(--ink-300);color:var(--ink-900)}.chip{background:var(--ink-100);height:26px;color:var(--ink-600);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.chip--brand{background:var(--brand-soft);color:var(--brand)}.chip--accent{background:var(--accent-soft);color:var(--accent)}.badge{border-radius:var(--r-sm);align-items:center;gap:6px;height:24px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--warn{background:var(--warn-soft);color:var(--warn)}.badge--bad{background:var(--bad-soft);color:var(--bad)}.badge--idle{background:var(--ink-100);color:var(--ink-600)}.badge--draft{color:#8a6100;background:#fff4d6}.card{background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.grid{gap:20px;display:grid}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.prose{color:var(--ink-700);font-size:16.5px;line-height:1.8}.prose>*+*,.prose .md-sec>*+*{margin-top:16px}.prose .md-sec{margin-top:48px}.prose .md-sec:first-child{margin-top:0}.prose h2{border-bottom:1px solid var(--ink-200);padding-bottom:12px}.prose h3{margin-top:28px}.prose ul,.prose ol{padding-left:22px}.prose li+li{margin-top:6px}.prose strong{color:var(--ink-900)}.prose blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--ink-800);margin:0;padding:14px 18px}.prose code{font-family:var(--mono);background:var(--ink-100);border-radius:4px;padding:2px 6px;font-size:.88em}.prose pre{border-radius:var(--r-md);border:1px solid var(--ink-200);margin:0;padding:16px 18px;font-size:13.5px;line-height:1.65;overflow-x:auto;background:var(--ink-50)!important}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:14.5px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--ink-200);text-align:left;vertical-align:top;padding:10px 12px}.prose th{background:var(--ink-50);color:var(--ink-900);white-space:nowrap;font-weight:700}.prose img{border-radius:var(--r-md);border:1px solid var(--ink-200)}.prose hr{border:0;border-top:1px solid var(--ink-200);margin:40px 0}.site-footer{border-top:1px solid var(--ink-200);color:var(--ink-500);margin-top:40px;padding:40px 0 56px;font-size:14px}.site-footer .admin-link{color:var(--ink-400);text-decoration:none}.site-footer .admin-link:hover{color:var(--ink-700)}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}@media (width<=860px){.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:56px 0}}@media (width<=600px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.nav a{padding:8px;font-size:13px}.brand small{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.site-header,.site-footer,.no-print{display:none!important}body{background:#fff}}
