/* 링크닥 블로그 — 홈페이지와 같은 디자인 토큰(스마트 인디고) */
:root{
  --blue:#5B4BDB; --blue-ink:#4536B8; --blue-soft:#ECE9FC;
  --ink:#24213F; --ink-2:#4A4766; --muted:#6E6A88;
  --bg:#F5F3FD; --surface:#FFFFFF; --line:#DFDBF0; --line-2:#ECEAF6;
  --wait:#E8890C; --wait-soft:#FFF3E0; --done:#139A6B; --done-soft:#E3F6EE;
  --band-layer:#5B4BDB;
  --shadow:36,33,63;
  --f-sans:"IBM Plex Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --s-1:.8125rem; --s0:1rem; --s1:1.125rem; --s2:1.375rem; --s3:1.875rem; --s4:2.5rem; --s5:3.25rem;
  --r:10px; --wrap:1160px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --blue:#8B7FF0; --blue-ink:#B9B0FF; --blue-soft:#221D4A;
  --ink:#ECEAF7; --ink-2:#C3BFD8; --muted:#8F8AAA;
  --bg:#0F0D1E; --surface:#17142A; --line:#2D2948; --line-2:#1F1C36;
  --wait:#F2A23A; --wait-soft:#33240F; --done:#3CC48F; --done-soft:#0F2D22;
  --shadow:0,0,0; color-scheme:dark}}
:root[data-theme="dark"]{
  --blue:#8B7FF0; --blue-ink:#B9B0FF; --blue-soft:#221D4A;
  --ink:#ECEAF7; --ink-2:#C3BFD8; --muted:#8F8AAA;
  --bg:#0F0D1E; --surface:#17142A; --line:#2D2948; --line-2:#1F1C36;
  --wait:#F2A23A; --wait-soft:#33240F; --done:#3CC48F; --done-soft:#0F2D22;
  --shadow:0,0,0; color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:var(--s0);line-height:1.65;word-break:keep-all;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{margin:0;line-height:1.3;text-wrap:balance;letter-spacing:-.02em}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

/* NAV (홈페이지와 동일) */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line-2)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:var(--s1);letter-spacing:-.02em}
.brand img{flex:none;display:block}
.brand small{font-weight:500;color:var(--muted);font-size:var(--s-1);letter-spacing:0}
.nav ul{display:flex;gap:4px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--ink-2);font-size:.9375rem}
.nav ul a:hover{background:var(--line-2);color:var(--ink)}
.nav ul a[aria-current="page"]{color:var(--blue-ink);background:var(--blue-soft)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:9px;font:600 .9375rem/1 var(--f-sans);text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{filter:brightness(1.08)}
.nav .btn{padding:10px 16px}
@media (max-width:860px){.nav ul{display:none}.nav .btn{margin-left:auto}}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--s-1);font-weight:600;color:var(--blue-ink);letter-spacing:.02em}
.eyebrow::before{content:"";width:18px;height:18px;flex:none;background:url("logo.png") center/contain no-repeat}

/* 블로그 목록 */
.b-hero{padding-block:clamp(48px,7vw,88px) clamp(28px,4vw,40px);background:radial-gradient(900px 380px at 85% 0%,color-mix(in srgb,var(--blue) 14%,transparent),transparent 70%)}
.b-hero h1{margin-top:16px;font-size:clamp(2rem,4.4vw,var(--s5));font-weight:700}
.b-hero p{margin-top:16px;font-size:var(--s1);color:var(--ink-2);max-width:36em}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.cats button{font:500 .9375rem/1 var(--f-sans);padding:10px 16px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}
.cats button:hover{border-color:var(--blue)}
.cats button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.cats button em{font-style:normal;font-family:var(--f-mono);font-size:.75rem;opacity:.7;margin-left:4px}
.posts-sec{padding-block:8px clamp(64px,8vw,104px)}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 45%,var(--line));box-shadow:0 22px 40px -28px rgba(var(--shadow),.55)}
.thumb{aspect-ratio:16/9;display:grid;place-items:end start;padding:18px 20px;color:#fff;background:linear-gradient(140deg,var(--band-layer),color-mix(in srgb,var(--band-layer) 55%,#8f86ff));position:relative;overflow:hidden}
.thumb::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;background:url("logo.png") center/contain no-repeat;opacity:.18;transform:rotate(-8deg);filter:brightness(4) grayscale(1)}
.thumb[data-cat="도입 사례"]{background:linear-gradient(140deg,#24213F,#4A3FB0)}
.thumb[data-cat="제품 소식"]{background:linear-gradient(140deg,#139A6B,#2a7fbf)}
.thumb[data-cat="운영 가이드"]{background:linear-gradient(140deg,#4536B8,#E8890C)}
.thumb b{position:relative;z-index:1;font-size:1.25rem;line-height:1.35;letter-spacing:-.02em;max-width:14em;text-wrap:balance}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.tag{align-self:flex-start;font-size:.75rem;font-weight:600;color:var(--blue-ink);background:var(--blue-soft);padding:3px 9px;border-radius:6px}
.tag.draft{color:var(--wait);background:var(--wait-soft);margin-left:6px}
.card h2{font-size:1.1875rem}
.card p{color:var(--ink-2);font-size:.9375rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.meta{margin-top:auto;padding-top:12px;color:var(--muted);font-size:.8125rem;display:flex;gap:10px}
.empty{color:var(--muted);padding:40px 0}
@media (max-width:960px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.posts{grid-template-columns:minmax(0,1fr)}}

/* 글 상세 */
.post-head{padding-block:clamp(40px,6vw,72px) 28px}
.post-head .inner,.prose,.post-foot{max-width:740px;margin-inline:auto}
.crumb{font-size:.875rem;color:var(--muted)}
.crumb a{text-decoration:none;color:var(--blue-ink)}
.post-head h1{margin-top:14px;font-size:clamp(1.8rem,3.8vw,2.6rem);font-weight:700}
.post-head .lede{margin-top:16px;font-size:var(--s1);color:var(--ink-2)}
.post-head .meta{margin-top:20px;padding-top:0}
.draft-bar{background:var(--wait-soft);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--wait) 40%,transparent);font-size:.9rem;padding:10px 0;text-align:center}
.draft-bar b{color:var(--wait)}
.prose{padding-bottom:16px;font-size:1.0625rem;line-height:1.85;color:var(--ink)}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:1.5rem;margin-top:2.2em;padding-top:.2em}
.prose h3{font-size:1.2rem;margin-top:1.8em}
.prose p,.prose li{color:var(--ink-2)}
.prose strong{color:var(--ink)}
.prose a{color:var(--blue-ink);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li + li{margin-top:.4em}
.prose blockquote{margin-inline:0;padding:16px 20px;border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:0 10px 10px 0}
.prose blockquote p{color:var(--ink)}
.prose img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.prose th{background:var(--line-2);font-weight:600;color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line);margin-block:2.4em}
.post-cta{margin-top:48px;border-radius:18px;padding:clamp(24px,4vw,36px);background:var(--band-layer);color:#fff;display:grid;gap:12px;justify-items:start}
.post-cta h2{font-size:1.4rem}
.post-cta p{color:rgba(255,255,255,.85)}
.post-cta .btn{background:#fff;color:var(--band-layer)}
.related{padding-block:clamp(48px,6vw,80px);background:var(--surface);border-top:1px solid var(--line-2);margin-top:clamp(48px,6vw,80px)}
.related h2{font-size:1.4rem;margin-bottom:24px}

/* FOOTER */
footer{border-top:1px solid var(--line);padding-block:40px 48px;background:var(--surface);font-size:.8125rem;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between}
footer p{line-height:1.8}
footer b{color:var(--ink)}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}

/* 이미지 */
.thumb:has(img)::after{display:none}
.post-cover{max-width:740px;margin:0 auto 36px}
.post-cover img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line)}
.prose figure{margin:2em 0 0}
.prose figure img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);background:var(--surface)}
.prose figcaption{margin-top:10px;font-size:.875rem;color:var(--muted);text-align:center;line-height:1.55}
