:root{--bg:#0a0a0b;--surface:#15151a;--line:rgba(245,241,234,.1);--line-strong:rgba(245,241,234,.2);--ink:#f5f1ea;--ink-dim:#a8a39b;--ink-mute:#6c6760;--amber:#ff8a3d;--amber-soft:rgba(255,138,61,.14);--mint:#8fd6c7;--red:#ff6b6b;}
*{box-sizing:border-box;margin:0;padding:0;}
body{min-height:100vh;background:radial-gradient(60% 50% at 80% 0%, rgba(255,138,61,.12), transparent 60%),radial-gradient(40% 35% at 0% 90%, rgba(143,214,199,.08), transparent 60%),var(--bg);color:var(--ink);font-family:"Geist","Noto Sans KR",system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:960px;margin:0 auto;padding:0 24px;}
nav{border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:sticky;top:0;background:rgba(10,10,11,.8);z-index:10;}
nav .row{height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:600;letter-spacing:.03em;display:flex;gap:10px;align-items:center;white-space:nowrap;}
.brand span{color:var(--ink-dim);font-weight:400;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px var(--amber);}
.navlinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.back{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--ink-dim);border:1px solid var(--line);padding:8px 13px;border-radius:999px;white-space:nowrap;}
.back:hover{border-color:var(--amber);color:var(--amber);}

header{padding:52px 0 24px;}
.eyebrow{font-family:"JetBrains Mono",monospace;color:var(--amber);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;}
h1{font-family:"Instrument Serif","Noto Serif KR",serif;font-weight:400;font-size:clamp(32px,5vw,52px);line-height:1.1;letter-spacing:-.02em;}
h1 em{font-style:italic;color:var(--amber);}
.lede{max-width:720px;margin-top:16px;color:var(--ink-dim);font-size:16px;}
.meta{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--ink-mute);margin-top:14px;}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.toc a{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.03);}
.toc a:hover{border-color:var(--amber);color:var(--amber);}

section{padding:36px 0;border-top:1px solid var(--line);scroll-margin-top:70px;}
.k{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px;}
h2{font-family:"Instrument Serif","Noto Serif KR",serif;font-weight:400;font-size:27px;margin-bottom:12px;}
p.body{color:var(--ink-dim);font-size:15px;max-width:760px;}
p.body b{color:var(--ink);font-weight:600;}
p.body+p.body{margin-top:10px;}

figure{margin:16px 0 0;background:#101014;border:1px solid var(--line);border-radius:12px;padding:12px;}
figure img{display:block;width:100%;height:auto;border-radius:8px;}
figure.narrow img{max-width:520px;margin:0 auto;}
figcaption{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--ink-mute);margin-top:8px;}

.steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;}
.step{background:#101014;border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:34px 1fr;gap:12px;}
.step .n{width:30px;height:30px;border-radius:50%;border:1px solid var(--amber);color:var(--amber);display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-size:13px;}
.step .t{font-size:15px;font-weight:600;}
.step ul{list-style:none;margin-top:6px;display:flex;flex-direction:column;gap:5px;}
.step li{position:relative;padding-left:16px;color:var(--ink-dim);font-size:13.5px;}
.step li::before{content:"·";position:absolute;left:2px;color:var(--amber);}
.step code,.cmd{font-family:"JetBrains Mono",monospace;font-size:12.5px;color:var(--mint);background:rgba(143,214,199,.08);border:1px solid rgba(143,214,199,.25);border-radius:6px;padding:1px 6px;}
.cmd{display:block;padding:8px 12px;margin-top:6px;white-space:pre;overflow-x:auto;}
.step.gate{border-color:var(--amber);background:var(--amber-soft);}
.step.gate .t::after{content:" ⚠ 승인 필요";font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--amber);font-weight:500;margin-left:6px;}

.tbl{margin-top:16px;background:#101014;border:1px solid var(--line);border-radius:12px;overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px;}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
tr:last-child td{border-bottom:none;}
th{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;}
td{color:var(--ink-dim);} td.m{font-family:"JetBrains Mono",monospace;font-size:12.5px;color:var(--ink);}
.pill{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:11px;border-radius:999px;padding:3px 9px;}
.pill.ok{color:var(--mint);border:1px solid rgba(143,214,199,.35);}
.pill.idea{color:var(--amber);border:1px solid rgba(255,138,61,.4);background:var(--amber-soft);}

.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;}
.card{background:#101014;border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.card .t{font-size:15px;font-weight:600;}
.card .d{font-size:13.5px;color:var(--ink-dim);margin-top:6px;}
.card.amber{border-color:rgba(255,138,61,.4);}
ul.list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:12px;}
ul.list li{position:relative;padding-left:18px;color:var(--ink-dim);font-size:14.5px;}
ul.list li::before{content:"→";position:absolute;left:0;color:var(--amber);font-family:"JetBrains Mono",monospace;font-size:11px;top:2px;}
ul.list b{color:var(--ink);font-weight:600;}

.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;border:1px solid var(--line-strong);font-family:"JetBrains Mono",monospace;font-size:13px;transition:.2s;}
.btn:hover{transform:translateY(-2px);border-color:var(--amber);}
.btn.primary{background:var(--amber);color:var(--bg);border-color:transparent;}

footer{padding:32px 0;color:var(--ink-mute);font-family:"JetBrains Mono",monospace;font-size:12px;border-top:1px solid var(--line);}
footer .row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
footer a{color:var(--ink-dim);} footer a:hover{color:var(--amber);}

@media(max-width:760px){.steps,.three{grid-template-columns:1fr;}}
@media(max-width:700px){
  .wrap{padding:0 16px;} header{padding-top:36px;}
  nav .row{height:auto;padding:12px 0;flex-direction:column;align-items:flex-start;gap:8px;}
}
