/* blog — page-specific styles. Load AFTER theme.css */

.post{max-width:760px;margin:0 auto;padding:54px 28px 0}
.crumb{font-size:14px;color:var(--gray);margin-bottom:22px}
.crumb a:hover{color:var(--ink)}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:var(--blue);background:var(--blue-soft);padding:6px 12px;border-radius:30px}
.post h1{font-size:44px;line-height:1.1;letter-spacing:-.03em;font-weight:800;margin:18px 0 0}
.deck{font-size:19px;color:var(--gray);margin:18px 0 0;line-height:1.5}
.post-meta{display:flex;align-items:center;gap:14px;margin:26px 0 0;font-size:14px;color:var(--gray)}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#3d5afe,#8c9bff);
    display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;flex:none}
.post-meta .who{font-weight:600;color:var(--ink)}
.dot{width:3px;height:3px;border-radius:50%;background:var(--gray-2)}
.cover{max-width:1000px;margin:34px auto 0;height:360px;border-radius:20px;overflow:hidden;position:relative;
    background:linear-gradient(135deg,#3d5afe 0%,#6f82ff 55%,#9aa8ff 100%)}
.cover::before{content:"";position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
    background-size:42px 42px;mask-image:radial-gradient(circle at 30% 40%,#000,transparent 75%)}
.cover .mock{position:absolute;right:42px;top:50%;transform:translateY(-50%);background:#fff;border-radius:14px;
    box-shadow:0 30px 60px rgba(10,20,60,.3);padding:18px 20px;width:330px;font-family:'JetBrains Mono',monospace}
.cover .mock .raw{font-size:13px;color:var(--gray);text-decoration:line-through;margin-bottom:14px}
.cover .mock .chips{display:flex;flex-wrap:wrap;gap:7px}
.cover .mock .chip{font-size:11px;font-weight:700;background:var(--blue-soft);color:var(--blue);padding:5px 10px;border-radius:20px;font-family:'Inter'}
.cover .tag{position:absolute;left:34px;top:30px;color:#fff;font-weight:700;font-size:13px;opacity:.9;font-family:'JetBrains Mono',monospace}
.body{max-width:680px;margin:0 auto;padding:48px 28px 0}
.body p{font-size:18px;line-height:1.72;color:var(--ink-2);margin:0 0 24px}
.body h2{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:44px 0 16px}
.body h3{font-size:21px;font-weight:700;margin:32px 0 12px}
.body ul{margin:0 0 24px;padding-left:0;list-style:none}
.body ul li{position:relative;padding-left:30px;font-size:18px;line-height:1.6;color:var(--ink-2);margin-bottom:12px}
.body ul li::before{content:"";position:absolute;left:6px;top:11px;width:8px;height:8px;border-radius:2px;background:var(--blue)}
.body a.link{color:var(--blue);font-weight:600;text-decoration:underline}
blockquote{margin:34px 0;padding:6px 0 6px 26px;border-left:4px solid var(--blue);
    font-size:22px;line-height:1.5;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.callout{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin:30px 0;box-shadow:var(--shadow)}
.callout .k{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.callout p{font-size:16px;margin:0;color:var(--ink-2)}
.cta-box{max-width:680px;margin:46px auto 0;padding:34px;background:var(--lav);border-radius:18px;text-align:center}
.cta-box h3{font-size:22px;font-weight:800;margin:0 0 8px;letter-spacing:-.01em}
.cta-box p{color:var(--gray);margin:0 0 20px}
.author{max-width:680px;margin:46px auto 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center}
.author .avatar{width:54px;height:54px;font-size:18px}
.author .who{font-weight:700;font-size:16px}
.author .bio{font-size:14px;color:var(--gray);margin-top:3px}
.related{padding:64px 0 80px}
.related h2{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 28px;text-align:center}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto}
.rel-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:.18s;display:block}
.rel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.rel-thumb{height:130px;background:linear-gradient(135deg,#eaedff,#dfe4ff)}
.rel-card:nth-child(2) .rel-thumb{background:linear-gradient(135deg,#e6f0ff,#dbe9ff)}
.rel-card:nth-child(3) .rel-thumb{background:linear-gradient(135deg,#efeaff,#e4dcff)}
.rel-body{padding:20px}
.rel-cat{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue)}
.rel-body h3{font-size:17px;font-weight:700;margin:8px 0 0;line-height:1.35}
.rel-meta{font-size:13px;color:var(--gray-2);margin-top:12px}
@media(max-width:920px){
  .post h1{font-size:33px}
  .deck{font-size:17px}
  .cover{height:260px}
  .cover .mock{display:none}
  .rel-grid{grid-template-columns:1fr;max-width:440px}
}
@media(max-width:520px){
  .wrap,.post,.body{padding-left:18px;padding-right:18px}
  .post h1{font-size:28px}
  .body p,.body ul li{font-size:16px}
}
