/* nerdvana blog — Terminal Hybrid. 작성자: 최진호 */
:root {
  --bg:#111; --surface:#161616; --fg:#ccc; --fg-muted:#888; --fg-subtle:#666;
  --hairline:#2a2a2a; --hairline-strong:#444;
  --accent-gold:#a85; --accent-hot:#f64; --accent-dim:#943; --accent-green:#693;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
  --font-ko:"Pretendard Variable","Pretendard",sans-serif;
  --font-en:"Source Serif 4",Georgia,serif;
  --gut:32px; --maxw:1280px; --readw:720px;
  --ease:cubic-bezier(.2,0,0,1);
}
:root[data-theme="light"]{
  --bg:#f4f2ed; --surface:#fff; --fg:#1a1a1a; --fg-muted:#555; --fg-subtle:#888;
  --hairline:#dcd8cf; --hairline-strong:#bfb9ac;
  --accent-gold:#8a6a3a; --accent-hot:#d9512a; --accent-dim:#b5603c; --accent-green:#4f7a33;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--font-mono);
  font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--accent-gold);text-decoration:none;transition:color .1s var(--ease)}
a:hover{color:var(--accent-hot)}
img{max-width:100%;display:block;border-radius:4px}
:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);
  border-bottom:1px solid var(--hairline)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--accent-gold)}
.nav{display:flex;gap:28px;align-items:center}
.nav a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted)}
.nav a:hover,.nav a.active{color:var(--accent-gold)}
.nav .icon-btn{background:none;border:0;color:var(--fg-muted);cursor:pointer;font-size:13px}
.site-footer{border-top:1px solid var(--hairline);margin-top:96px;padding:32px 0}
.site-footer .wrap{text-align:center;color:var(--fg-subtle);font-size:11px;letter-spacing:.1em}
.search-bar{padding-bottom:16px}
.search-input{width:100%;background:var(--surface);border:1px solid var(--hairline);
  color:var(--fg);font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;padding:10px 14px}
.card{border:1px solid var(--hairline);background:var(--surface);margin-bottom:24px}
.card-head{display:flex;justify-content:space-between;align-items:center;
  padding:14px 20px;border-bottom:1px solid var(--hairline)}
.card-head h2,.card-head h3{font-size:13px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg)}
.card-status{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-dim)}
.card-status.live{color:var(--accent-hot)}
.card-body{padding:20px}
.kv{display:flex;justify-content:space-between;padding:6px 0;
  border-bottom:1px dotted var(--hairline);font-size:13px}
.kv .k{color:var(--fg-muted)}
.kv .v{color:var(--fg);font-variant-numeric:tabular-nums}
.kv .v.hot{color:var(--accent-hot)}
.big-num{font-size:48px;font-weight:700;color:var(--accent-hot);text-align:center;
  font-variant-numeric:tabular-nums;line-height:1}
.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-gold)}
.post-body{font-family:var(--font-ko);font-size:17px;line-height:1.85;color:var(--fg);
  max-width:var(--readw);margin:0 auto}
.post-body :lang(en){font-family:var(--font-en);line-height:1.65}
.post-body p{margin:0 0 1.4em}
.post-body h2{font-family:var(--font-mono);font-size:20px;letter-spacing:.1em;
  text-transform:uppercase;margin:2em 0 .8em;color:var(--accent-gold)}
.post-body blockquote{border-left:2px solid var(--accent-gold);padding-left:1em;
  font-style:italic;color:var(--fg-muted);margin:1.4em 0}
.post-body img{margin:1.6em auto}
.post-body figcaption{font-family:var(--font-mono);font-size:12px;color:var(--fg-subtle);text-align:center}
.progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--accent-hot);width:0;z-index:60}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.chip{font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;
  border:1px solid var(--hairline);color:var(--fg-muted);cursor:pointer}
.chip:hover,.chip.active{border-color:var(--accent-gold);color:var(--accent-gold)}
.arch-row{display:grid;grid-template-columns:120px 90px 1fr;gap:16px;padding:14px 0;
  border-bottom:1px solid var(--hairline);align-items:baseline}
.arch-row .date,.arch-row .cat{font-size:12px;color:var(--fg-subtle);letter-spacing:.08em}
.arch-row .title{color:var(--fg)}
.arch-row:hover{background:rgba(170,136,85,.05)}
.index-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;margin-bottom:40px}
.index-secondary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}
.index-main{display:grid;grid-template-columns:2fr 1fr;gap:40px}
@media(max-width:768px){
  .index-feature,.index-secondary,.index-main{grid-template-columns:1fr}
  .arch-row{grid-template-columns:1fr;gap:4px}
  .nav{gap:16px}
}
