/* Apioni 블로그 — site.css 토큰 재사용. 본문 가독성 우선(읽기 폭 ~720px). */

/* 글 컨테이너 */
.post{max-width:720px;padding-top:var(--space-7,40px);padding-bottom:var(--space-8,56px)}
.post-eyebrow{margin:0 0 14px;font-size:13px}
.post-eyebrow a{color:var(--muted);text-decoration:none}
.post-eyebrow a:hover{color:var(--blue)}
.post-title{font-size:clamp(26px,4vw,38px);font-weight:700;line-height:1.25;letter-spacing:-.02em;margin:0}
.post-meta{margin:12px 0 0;color:var(--muted);font-size:14px}

/* 본문 타이포 */
.post-body{margin-top:34px;font-size:17px;line-height:1.78;color:var(--ink)}
.post-body h2{font-size:23px;font-weight:700;letter-spacing:-.015em;line-height:1.35;margin:44px 0 14px;padding-top:6px}
.post-body h3{font-size:18.5px;font-weight:650;line-height:1.4;margin:30px 0 10px}
.post-body p{margin:0 0 18px}
.post-body ul,.post-body ol{margin:0 0 18px;padding-left:24px}
.post-body li{margin:7px 0;padding-left:2px}
.post-body li::marker{color:var(--muted)}
.post-body strong{font-weight:680}
.post-body a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.post-body a:hover{color:var(--blue-hover)}
.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--surface-2,#EEF0F2);padding:2px 6px;border-radius:5px}
.post-body pre{background:#0E1013;color:#E8EAED;border-radius:var(--radius-md);padding:16px 18px;overflow-x:auto;margin:0 0 18px;font-size:13.5px;line-height:1.6}
.post-body pre code{background:none;padding:0;color:inherit;font-size:13.5px}
.post-body blockquote{margin:0 0 18px;padding:4px 0 4px 18px;border-left:3px solid var(--line);color:var(--muted-strong)}

/* 콜아웃 */
.post-callout{display:flex;gap:12px;background:var(--surface-2);border:none;border-radius:var(--radius-lg);padding:18px 20px;margin:0 0 24px}
.post-callout-ic{flex:0 0 auto;font-size:18px;line-height:1.6}
.post-callout-body{min-width:0}
.post-callout-body p{margin:0 0 8px;font-size:15.5px;line-height:1.7;color:var(--muted-strong)}
.post-callout-body p:last-child{margin:0}

/* 표 */
.post-table-wrap{overflow-x:auto;margin:0 0 24px;border:1px solid var(--line);border-radius:var(--radius-md)}
.post-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:480px}
.post-table th,.post-table td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.post-table th{background:var(--surface-2,#F0F2F4);font-weight:650;white-space:nowrap}
.post-table tr:last-child td{border-bottom:none}
.post-table td:first-child{font-weight:600;color:var(--muted-strong)}

/* 글 하단 CTA */
.post-cta{margin:48px 0 28px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-xl);padding:28px;text-align:center;box-shadow:var(--shadow-sm)}
.post-cta h2{font-size:20px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em}
.post-cta p{margin:0 0 18px;color:var(--muted);font-size:15px}
.post-cta-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.post-back{margin:0;font-size:14px}
.post-back a{color:var(--muted);text-decoration:none}
.post-back a:hover{color:var(--blue)}

/* 블로그 목록 */
.blog-hero{padding:var(--space-8,56px) 0 var(--space-6,32px);text-align:center}
.blog-hero h1{font-size:clamp(26px,4.5vw,38px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.blog-hero .sub{margin:14px auto 0;max-width:520px;font-size:16px;color:var(--muted);line-height:1.6}
.post-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin:8px 0 var(--space-9,72px);padding:0}
.post-card{margin:0}
.post-card a{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 22px 20px;text-decoration:none;color:var(--ink);transition:box-shadow var(--motion-base) var(--ease),transform var(--motion-base) var(--ease)}
.post-card a:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.post-card-tag{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:transparent;padding:0;margin-bottom:14px}
.post-card-title{font-size:17px;font-weight:680;line-height:1.4;letter-spacing:-.01em;margin:0 0 8px}
.post-card-desc{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 16px;flex:1 1 auto}
.post-card-more{font-size:13px;font-weight:600;color:var(--blue)}

@media (max-width:560px){
  .post-body{font-size:16px}
  .post-list{grid-template-columns:1fr}
  .post-cta{padding:22px}
}
