
:root{
  --bg:#f4f6f8;--card:#fff;--ink:#15191e;--muted:#68717d;--line:#dfe4ea;
  --accent:#1468e8;--accent2:#0d50b5;--soft:#eaf2ff;--warn:#fff7e6;--warnline:#f0c36b;
  --field:#6648c8;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent);text-decoration:none}button,input{font:inherit}
header{background:#101820;color:white}
.wrap{max-width:1120px;margin:auto;padding:0 20px}
.hero{padding:28px 0 24px}
.eyebrow{font-size:13px;color:#9fb7d7;font-weight:700;letter-spacing:.04em}
h1{font-size:30px;margin:6px 0 8px;line-height:1.2}
.hero p{margin:0;color:#cbd5e1;font-size:15px}
.search-shell{position:sticky;top:0;z-index:20;background:rgba(244,246,248,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.searchbar{display:flex;gap:8px;padding:12px 0}
.searchbox{position:relative;flex:1}
.searchbox input{width:100%;height:48px;border:1px solid #cfd6de;border-radius:12px;padding:0 84px 0 16px;background:#fff;font-size:17px;outline:none}
.searchbox input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(20,104,232,.12)}
.clear{position:absolute;right:8px;top:8px;height:32px;border:0;background:#edf1f5;border-radius:8px;padding:0 10px;cursor:pointer}
.toolbtn{height:48px;border:1px solid #cfd6de;background:#fff;border-radius:12px;padding:0 14px;cursor:pointer;white-space:nowrap;font-weight:700}
.toolbtn.active{background:var(--soft);border-color:#a9c7f4;color:var(--accent2)}
main{padding:18px 0 56px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.quick-link{border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;padding:13px;cursor:pointer;min-height:78px}
.quick-link strong{display:block;font-size:14px;margin-bottom:6px}.quick-link span{font-size:12px;color:var(--muted)}
.quick-link:hover{border-color:#aac9f5;background:#fbfdff}
.controls{display:flex;align-items:center;gap:10px;margin:10px 0 14px}
.chips{display:flex;gap:8px;overflow:auto;padding-bottom:4px;flex:1;scrollbar-width:none}
.chip{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px;white-space:nowrap;cursor:pointer;font-size:13px}
.chip.active{background:#132238;color:white;border-color:#132238}
.count{font-size:13px;color:var(--muted);white-space:nowrap}
.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guide-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.card-top{display:flex;gap:12px;justify-content:space-between}
.meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--muted)}
.badge{background:#e9f5ec;color:#226a35;border-radius:999px;padding:4px 7px;font-weight:800}
.badge.field{background:#f0ecff;color:var(--field)}
h2{font-size:19px;line-height:1.35;margin:8px 0 0}
.fav{border:0;background:transparent;font-size:24px;cursor:pointer;color:#d69500;height:34px}
.summary{font-size:14px;line-height:1.6;margin:12px 0;color:#303740}
.quick{background:#f7f9fb;border-radius:12px;padding:12px 14px;margin-top:10px}
.quick strong{font-size:12px;color:var(--accent2)}
.quick ol{margin:7px 0 0;padding-left:20px;font-size:13px;line-height:1.65}
.commands{display:grid;gap:8px;margin-top:10px}
.command{display:flex;align-items:center;gap:8px;background:#101820;color:#e8eef5;border-radius:10px;padding:10px}
.command>div{min-width:0;flex:1}
.command span{display:block;font-size:11px;color:#a9b6c7;margin-bottom:4px}
.command code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;word-break:break-all}
.command button{border:0;border-radius:8px;padding:7px 10px;background:#fff;color:#111;cursor:pointer;font-weight:800;font-size:12px}
.command button.copied{background:#d9f3df}
details{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
details summary{cursor:pointer;font-weight:800;font-size:13px;color:#39414b}
details p{font-size:13px;line-height:1.7;color:#444d58}
.warning{font-size:12px;line-height:1.6;background:var(--warn);border:1px solid var(--warnline);padding:10px;border-radius:9px;margin:10px 0}
.source-row{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:10px}
.guide-card.compact .summary,.guide-card.compact details,.guide-card.compact .commands{display:none}
.guide-card.compact .quick{margin-top:9px}
.empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--muted)}
footer{border-top:1px solid var(--line);background:#fff;padding:24px 0 40px;color:var(--muted);font-size:12px;line-height:1.6}
.footer-grid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.article-wrap{max-width:820px;margin:auto;padding:24px 20px 60px}
.back{display:inline-block;margin-bottom:18px;font-size:13px}
.article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.article h1{font-size:28px;color:var(--ink);margin:8px 0 12px}
.article .lead{font-size:16px;line-height:1.7;color:#343b44}
.article h2{font-size:19px;margin-top:28px}
.article ol{line-height:1.8}
.article .commands{margin:14px 0}
.article .sourcebox{background:#f7f9fb;border-radius:10px;padding:12px;margin-top:26px;font-size:12px}
.kbd{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#eef1f4;border:1px solid #dce1e6;border-bottom-width:2px;border-radius:5px;padding:1px 5px}
@media(max-width:760px){
  .wrap{padding:0 14px}.hero{padding:22px 0 18px}h1{font-size:25px}
  .searchbar{padding:9px 0}.toolbtn{padding:0 10px;font-size:12px}
  .quick-grid{grid-template-columns:repeat(2,1fr)}
  .results{grid-template-columns:1fr}
  .guide-card{padding:15px;border-radius:14px}
  h2{font-size:18px}.searchbox input{font-size:16px}
  .article-wrap{padding:16px 12px 40px}.article{padding:18px;border-radius:14px}.article h1{font-size:24px}
}
