@font-face{font-family:"Neo";src:url(fonts/Neo-bRg.woff2) format("woff2");font-weight:400 550;font-display:swap}
@font-face{font-family:"Neo";src:url(fonts/Neo-cBd.woff2) format("woff2");font-weight:551 750;font-display:swap}
@font-face{font-family:"Neo";src:url(fonts/Neo-dEb.woff2) format("woff2");font-weight:751 850;font-display:swap}
@font-face{font-family:"Neo";src:url(fonts/Neo-eHv.woff2) format("woff2");font-weight:851 1000;font-display:swap}
@font-face{font-family:"Paper";src:url(fonts/Paperlogy-8ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"GMono";src:url(fonts/GalmuriMono11.woff2) format("woff2");font-display:swap}
:root{--paper:#F3EEE4;--card:#FFFCF6;--line:#E5DDCD;--ink:#1F1D1A;--sub:#6F685D;--mute:#A59E91;--tc:#D4714A;--tc2:#B9552F;--tcL:#F6DFD2;--sage:#5E9470;--blue:#4F74AE;--rust:#C8432F;--lav:#8C7BC9;--term:#1F1D1A}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:"Neo",system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-weight:500;line-height:1.7;font-size:17px;word-break:keep-all;overflow-wrap:break-word;
  background-image:radial-gradient(rgba(31,29,26,.07) 1.2px,transparent 1.4px);background-size:28px 28px}
a{color:inherit}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}
/* 머리 */
.top{position:sticky;top:0;z-index:10;background:rgba(243,238,228,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:12px;height:60px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo i{width:34px;height:34px;border-radius:10px;background:var(--tc);color:#fff;font-style:normal;font-family:"Paper";font-size:13px;letter-spacing:-.5px;display:flex;align-items:center;justify-content:center}
.logo b{font-weight:800;font-size:17px}.logo span{font-family:"GMono";font-size:13px;color:var(--sub)}
.top nav{margin-left:auto;display:flex;gap:18px;font-weight:700;font-size:15px}.top nav a{text-decoration:none;color:var(--sub)}.top nav a.on{color:var(--ink)}
/* 히어로 */
.hero{padding:38px 0 26px}
.eyebrow{display:inline-flex;gap:8px;align-items:center;font-family:"GMono";font-size:13px;color:var(--tc2);background:var(--tcL);border-radius:999px;padding:6px 12px}
.hero h1{font-family:"Paper";font-weight:800;font-size:clamp(32px,8.4vw,52px);line-height:1.18;letter-spacing:-.03em;margin:16px 0 14px}
.hero h1 em{font-style:normal;color:var(--tc)}
.hero p.lead{font-size:18px;color:var(--sub)}
.meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;font-family:"GMono";font-size:13px;color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips span{font-family:"GMono";font-size:14px;padding:7px 12px;border-radius:10px;background:var(--card);border:1px solid var(--line)}
.chips span i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:0}
/* 섹션 */
section{margin:30px 0}
h2{font-family:"Paper";font-weight:800;font-size:27px;letter-spacing:-.02em;line-height:1.3;margin-bottom:12px;display:flex;gap:10px;align-items:baseline}
h2 small{font-family:"GMono";font-weight:400;font-size:14px;color:var(--tc)}
h3{font-weight:800;font-size:19px;margin:18px 0 8px}
p+p{margin-top:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(80,58,30,.06)}
.card+.card{margin-top:14px}
.muted{color:var(--sub)}
.note{font-size:15px;color:var(--sub);margin-top:10px}
/* 표 */
.tbl{width:100%;border-collapse:collapse;font-size:16px}
.tbl th,.tbl td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:800;white-space:nowrap;width:30%}
/* 코드 */
.code{position:relative;background:var(--term);color:#F3EEE4;border-radius:16px;padding:16px 16px 16px 16px;margin-top:10px;font-family:ui-monospace,Consolas,"D2Coding",monospace;font-size:14.5px;line-height:1.7;overflow-x:auto;white-space:pre}
.code .c{color:#8C857A}
.prompt{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:16px 16px 50px;margin-top:10px;font-size:16px;line-height:1.65;white-space:pre-wrap}
.copy{position:absolute;right:10px;bottom:10px;font-family:"Neo";font-weight:800;font-size:13px;border:0;border-radius:10px;padding:8px 12px;background:var(--ink);color:#fff;cursor:pointer}
.code .copy{top:10px;bottom:auto;background:#3B3832}
.copy.ok{background:var(--sage)}
/* 스킬 카드 */
.sk{border-left:6px solid var(--c,var(--tc))}
.skh{display:flex;align-items:center;gap:12px}
.skh .n{font-family:"Paper";font-style:normal;font-size:30px;line-height:1;color:var(--c)}
.skh b{font-family:"GMono";font-weight:400;font-size:20px}
.skh span{font-size:14px;font-weight:700;color:#fff;background:var(--c);border-radius:8px;padding:3px 9px;margin-left:auto;white-space:nowrap}
.does{margin-top:10px;font-size:16px}
.tip{margin-top:12px;font-size:15px;background:var(--tcL);border-radius:12px;padding:10px 12px;color:#6B3A22}
.tip b{font-weight:800}
ul.dot{list-style:none;margin-top:6px}ul.dot li{position:relative;padding-left:16px;margin-top:6px}ul.dot li:before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:2px;background:var(--tc)}
.steps{counter-reset:s;list-style:none}.steps li{counter-increment:s;position:relative;padding-left:40px;margin-top:12px}
.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:9px;background:var(--ink);color:#fff;font-family:"Paper";font-size:15px;display:flex;align-items:center;justify-content:center}
.foot{margin:46px 0 30px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--sub)}
.foot .logo{margin-bottom:10px}
/* 가이드 목록 */
.glist{display:grid;gap:14px;margin:10px 0 40px}
.gcard{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(80,58,30,.06)}
.gcard .g{font-family:"GMono";font-size:13px;color:var(--tc2)}
.gcard h3{font-family:"Paper";font-size:24px;line-height:1.3;margin:6px 0}
.gcard p{color:var(--sub);font-size:15px}
.gcard .go{display:inline-block;margin-top:10px;font-weight:800;font-size:15px;color:var(--tc)}
@media (min-width:700px){body{font-size:18px}.card{padding:26px}}
