/* Blog + post-specific styles (cards, filters, badges). Loaded only where needed. */
  :root{
    --orange:#FF6A00; --orange-soft:#FF8C33; --orange-deep:#C43400;
    --ink:#0A0A0A; --ink-soft:#1A1A1A; --paper:#FFFFFF; --paper-2:#FAFAFA;
    --line:#EDEDED; --muted:#525252;
  }
  *{font-family:'Onest',sans-serif;box-sizing:border-box;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body{background:var(--paper);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;margin:0;}
  ::selection{background:var(--orange);color:#fff;}
  ::-webkit-scrollbar{width:10px;} ::-webkit-scrollbar-track{background:#fff;}
  ::-webkit-scrollbar-thumb{background:var(--orange);border-radius:10px;}

  .display{font-weight:900;letter-spacing:-0.04em;line-height:0.92;}
  .logofont{font-weight:900;letter-spacing:-0.05em;}
  .orange-grad{background:linear-gradient(135deg,#FF6A00 0%,#FF9333 60%,#FFB366 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .orange-grad-bg{background:linear-gradient(135deg,#FF6A00 0%,#FF8C33 50%,#FFB366 100%);}
  .ink-grad-bg{background:linear-gradient(135deg,#0A0A0A 0%,#1A1A1A 60%,#2A2A2A 100%);}

  .btn-3d{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:12px;font-weight:700;font-size:.95rem;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;transform:translateY(-3px);box-shadow:0 6px 0 0 #B83D00,0 12px 25px -8px rgba(255,106,0,.55);}
  .btn-3d:hover{transform:translateY(-5px);box-shadow:0 8px 0 0 #B83D00,0 18px 35px -8px rgba(255,106,0,.7);}
  .btn-3d:active{transform:translateY(0);box-shadow:0 2px 0 0 #B83D00;}

  .card-3d{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 0 rgba(0,0,0,.02),0 16px 35px -22px rgba(0,0,0,.15);transition:box-shadow .35s,transform .35s;overflow:hidden;}
  .card-3d:hover{box-shadow:0 1px 0 rgba(255,106,0,.1),0 24px 50px -22px rgba(255,106,0,.35);transform:translateY(-6px);}
  .card-3d::before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%),rgba(255,106,0,.08),transparent 40%);opacity:0;transition:opacity .3s;pointer-events:none;}
  .card-3d:hover::before{opacity:1;}

  .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:.4rem .85rem;border-radius:999px;background:#FFF1E6;color:var(--orange-deep);border:1px solid #FFD9B8;}
  .eyebrow.dark{background:#161616;color:#FF8C33;border-color:#2A2A2A;}

  .filter-btn{padding:.5rem 1.2rem;border-radius:999px;font-weight:700;font-size:.85rem;border:1px solid var(--line);background:#fff;color:var(--muted);transition:all .2s;}
  .filter-btn.active, .filter-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

  .blog-cat-badge{position:absolute;top:1rem;left:1rem;padding:.35rem .75rem;border-radius:8px;background:rgba(10,10,10,0.85);color:#fff;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(4px);z-index:2;}
  
  .mesh{position:absolute;inset:0;background:radial-gradient(50% 40% at 15% 20%,rgba(255,106,0,.10),transparent 60%),radial-gradient(40% 35% at 85% 30%,rgba(255,140,51,.08),transparent 60%),radial-gradient(60% 50% at 50% 100%,rgba(255,179,102,.10),transparent 60%);pointer-events:none;}
  .nav-link{position:relative;}
  .nav-link::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--orange);transition:width .3s;}
  .nav-link:hover::after, .nav-link.active::after{width:100%;}

  #mobile-menu{transition:max-height .35s ease,opacity .25s ease;max-height:0;opacity:0;overflow:hidden;}
  #mobile-menu.open{max-height:500px;opacity:1;}

  /* Responsive */
  img,svg,video{max-width:100%;height:auto;}
  @media (max-width:1023px){ .display{line-height:1;} }
  @media (max-width:767px){
    .eyebrow{font-size:.66rem;letter-spacing:.12em;padding:.35rem .7rem;}
    .btn-3d{padding:.7rem 1.1rem;font-size:.9rem;}
  }
  @media (max-width:640px){
    .card-3d{border-radius:16px;}
    .btn-3d{width:100%;justify-content:center;}
  }
  @media (hover:none){ .card-3d:hover{transform:none;} }

/* ---------- Single post: reading progress, article typography, TOC ---------- */
.progress-bar{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,#FF6A00,#FFB366);z-index:100;transition:width .1s ease-out;}
.article-content{font-size:1.1rem;line-height:1.75;color:#1A1A1A;}
.article-content h2{font-size:clamp(1.5rem,4vw,2rem);font-weight:900;letter-spacing:-.02em;margin-top:3rem;margin-bottom:1rem;color:#0A0A0A;scroll-margin-top:100px;}
.article-content h3{font-size:1.4rem;font-weight:800;margin-top:2rem;margin-bottom:.75rem;color:#0A0A0A;scroll-margin-top:100px;}
.article-content h2:first-child,.article-content h3:first-child{margin-top:0;}
.article-content p{margin-bottom:1.5rem;}
.article-content a{color:var(--orange-deep);font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,106,0,.3);text-underline-offset:4px;transition:text-decoration-color .2s;}
.article-content a:hover{text-decoration-color:var(--orange-deep);}
.article-content ul{margin-bottom:1.5rem;padding-left:1.5rem;list-style:none;}
.article-content ul li{position:relative;margin-bottom:.75rem;padding-left:1.5rem;}
.article-content ul li::before{content:'';position:absolute;left:0;top:.45em;width:.85em;height:.85em;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%20fill%3D%22%23FF6A00%22%3E%3Cpath%20d%3D%22M438.6%20105.4c12.5%2012.5%2012.5%2032.8%200%2045.3l-256%20256c-12.5%2012.5-32.8%2012.5-45.3%200l-128-128c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200L160%20338.7%20393.4%20105.4c12.5-12.5%2032.8-12.5%2045.3%200z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:contain;}
.article-content ol{margin-bottom:1.5rem;padding-left:1.6rem;list-style:decimal;}
.article-content ol li{margin-bottom:.75rem;}
.article-content blockquote{border-left:4px solid var(--orange);padding:1rem 1.5rem;margin:2rem 0;background:#FFF1E6;border-radius:0 12px 12px 0;font-style:italic;color:#0A0A0A;}
.article-content blockquote p{margin-bottom:0;}
.article-content img{border-radius:14px;}
.article-content table{width:100%;border-collapse:collapse;font-size:.95em;display:block;overflow-x:auto;margin-bottom:1.5rem;}
.article-content th,.article-content td{border:1px solid var(--line);padding:.6em .8em;text-align:left;}
.article-content th{background:var(--paper-2);font-weight:800;}
.info-box{background:#FAFAFA;border:1px solid #EDEDED;border-radius:16px;padding:1.5rem 2rem;margin:2rem 0;position:relative;overflow:hidden;}
.info-box::before{content:'';position:absolute;top:0;left:0;width:6px;height:100%;background:var(--orange);}
.info-box h4{font-weight:800;color:#0A0A0A;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;}
.info-box p{margin-bottom:0;font-size:.95rem;color:#525252;line-height:1.6;}
.toc-link{display:block;padding:8px 0 8px 16px;font-size:.9rem;font-weight:500;color:var(--muted);border-left:2px solid transparent;transition:all .2s;margin-left:-1px;}
.toc-link:hover,.toc-link.active{color:var(--orange-deep);border-left-color:var(--orange);font-weight:700;}
.toc-link.toc-h3{padding-left:28px;font-size:.85rem;}

@media (min-width:1024px){
  .ev-toc-wrap{max-height:calc(100vh - 8rem);overflow-y:auto;overscroll-behavior:contain;padding-right:.5rem;}
  .ev-toc-wrap::-webkit-scrollbar{width:4px;}
  .ev-toc-wrap::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
}
