:root{--bg: #faf9f5;--card: #ffffff;--bd: rgba(20, 20, 19, .1);--bd-strong: rgba(20, 20, 19, .22);--tx: #141413;--sf: #3d3d3a;--mu: #63625c;--ac: #b8481f;--ac-soft: rgba(184,72,31,.09)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--tx);line-height:1.7;-webkit-font-smoothing:antialiased}.serif{font-family:Lora,Georgia,serif}a{color:inherit;text-decoration:none}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.wrap-narrow{max-width:740px;margin:0 auto;padding:0 24px}nav{position:sticky;top:0;z-index:100;background:#faf9f5d9;backdrop-filter:blur(20px);border-bottom:1px solid var(--bd);padding:14px 0}.navwrap{max-width:1140px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--tx)}.logo-mark{width:32px;height:32px;border-radius:8px;background:var(--tx);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0}.nav-links{display:flex;gap:6px;align-items:center}.nav-links a{padding:8px 14px;font-size:14px;color:var(--sf);border-radius:8px;transition:all .2s}.nav-links a:hover,.nav-links a.active{color:var(--tx);background:var(--bd)}.nav-auth{display:flex;gap:10px;align-items:center}.user-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:100px;background:#1f1f2a;color:#fff;text-decoration:none;border:1px solid var(--bd)}.user-pill:hover{background:#2a2a38}.user-initial{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--tx);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase}.user-label{font-size:13px;font-weight:500}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;border-radius:10px;transition:all .2s;border:none;cursor:pointer}.btn-primary{background:var(--tx);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px #1414132e}.btn-ghost{background:var(--card);color:var(--tx);border:1px solid var(--bd)}@media(max-width:720px){.nav-links{display:none}}header.hero{padding:56px 0 24px;text-align:center}header.hero h1{font-family:Lora,Georgia,serif;font-weight:600;font-size:44px;letter-spacing:-.01em}header.hero p{color:var(--sf);margin-top:12px;max-width:620px;margin-inline:auto}.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px 0 24px}.filters button{font:inherit;font-size:13px;padding:7px 15px;border-radius:100px;border:1px solid var(--bd);background:var(--card);color:var(--sf);cursor:pointer;transition:all .15s}.filters button:hover{border-color:var(--bd-strong)}.filters button.active{background:var(--tx);color:var(--bg);border-color:var(--tx)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;padding:8px 0 70px}.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s}.card:hover{transform:translateY(-3px);border-color:var(--bd-strong);box-shadow:0 8px 24px #1414130f}.card-link{display:flex;flex-direction:column;flex:1;color:inherit}.card img{width:100%;height:auto;aspect-ratio:16 / 9;border-bottom:1px solid var(--bd);display:block}.card .c{padding:20px;display:flex;flex-direction:column;flex:1}.card .c-foot{padding:0 20px 18px;flex:0}.cat{color:var(--ac);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.card h3{font-family:Lora,Georgia,serif;font-weight:600;font-size:19px;margin:8px 0 10px;line-height:1.25}.card p{color:var(--sf);font-size:14px;flex:1}.card .date{color:var(--mu);font-size:12px;margin-top:14px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}.tag-chip{font-size:11px;font-weight:600;color:var(--ac);background:var(--ac-soft);border:1px solid rgba(37,99,235,.18);padding:3px 9px;border-radius:100px;transition:all .15s;position:relative;z-index:2}.tag-chip:hover{background:var(--ac);color:#fff}.pinned-head{display:flex;align-items:center;gap:8px;font-family:Lora,Georgia,serif;font-weight:600;font-size:20px;color:var(--tx);padding:28px 0 4px}.pin-ico{color:var(--ac);font-size:16px}.pinned-grid{padding-bottom:10px}.card-pinned{border:1.5px solid rgba(37,99,235,.3);box-shadow:0 6px 22px #b8481f12}.card-pinned .cat{color:var(--ac)}article{padding:34px 0 60px}article .meta{color:var(--mu);font-size:14px;margin-bottom:8px}.byline{display:flex;align-items:center;gap:10px;margin:14px 0 22px}.byline-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--tx);color:#fff;font-size:13px;font-weight:700;flex-shrink:0}.byline-text{font-size:14px;color:var(--sf)}.byline-name{color:var(--tx);font-weight:600}.byline-name:hover{color:var(--ac)}.byline-role{color:var(--mu)}.author-box{display:flex;gap:16px;align-items:flex-start;margin:40px 0 0;padding:22px;background:var(--card);border:1px solid var(--bd);border-radius:14px}.author-box-avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--tx);color:#fff;font-size:16px;font-weight:700;flex-shrink:0}.author-box-name{font-family:Lora,Georgia,serif;font-weight:600;font-size:17px;color:var(--tx)}.author-box-name a{color:var(--tx)}.author-box-name a:hover{color:var(--ac)}.author-box-role{font-family:Inter,sans-serif;font-weight:400;font-size:14px;color:var(--mu)}.author-box-bio{color:var(--sf);font-size:14px;margin:6px 0 0;line-height:1.6}article h1{font-family:Lora,Georgia,serif;font-weight:600;font-size:40px;line-height:1.15;letter-spacing:-.01em;margin-bottom:14px}article .hero-img{width:100%;height:auto;border-radius:14px;margin:28px 0;border:1px solid var(--bd);display:block}article h2{font-family:Lora,Georgia,serif;font-weight:600;font-size:27px;margin:36px 0 14px}article h3{font-family:Lora,Georgia,serif;font-weight:600;font-size:21px;margin:28px 0 10px}article p{color:var(--sf);margin-bottom:18px}article ul,article ol{color:var(--sf);margin:0 0 18px 22px}article li{margin-bottom:8px}article a{color:var(--ac)}article a:hover{text-decoration:underline}article code{background:#f0eee7;padding:2px 7px;border-radius:5px;font-size:14px;font-family:JetBrains Mono,ui-monospace,monospace;color:#1a4fc4}article pre{background:#141413;color:#e8e8e3;border-radius:12px;padding:18px;overflow-x:auto;margin:0 0 20px}article pre code{background:none;padding:0;color:inherit}article table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:15px;color:var(--sf)}article th,article td{text-align:left;padding:9px 13px;border-bottom:1px solid var(--bd)}article th{font-weight:700;color:var(--tx)}.cta{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:28px;margin:40px 0;text-align:center}.cta strong{font-size:18px}.cta p{color:var(--sf);margin-top:8px}.cta a{display:inline-block;background:var(--tx);color:var(--bg);padding:13px 26px;border-radius:10px;font-weight:600;margin-top:14px}.disc{font-size:12px;color:var(--mu);border-top:1px solid var(--bd);padding-top:16px;margin-top:30px}footer{border-top:1px solid var(--bd);padding:32px 0;color:var(--mu);font-size:13px}footer .wrap{display:flex;gap:18px;flex-wrap:wrap}footer a{color:var(--mu)}footer a:hover{color:var(--tx)}@media(max-width:640px){header.hero h1{font-size:34px}article h1{font-size:30px}}

/* blog-theme-v1 -- dark palette; light stays the default */
:root[data-theme="dark"]{
  --bg:#1f1e1d; --card:#262624;
  --bd:rgba(240,238,230,.14); --bd-strong:rgba(240,238,230,.28);
  --tx:#f5f4ef; --sf:#dedbd2; --mu:#a8a59b;
  --ac:#e0855f; --ac-soft:rgba(224,133,95,.16);
}
/* dark-components-v1 -- white-on-clay measures 3.12:1; ink-on-clay is 5.33:1 */
:root[data-theme="dark"] .btn-primary{background:#f5f4ef;color:#1f1e1d;}
:root[data-theme="dark"] .btn-primary:hover{background:#dedbd2;}
:root[data-theme="dark"] .logo-mark{background:#f5f4ef;color:#1f1e1d;}
:root[data-theme="dark"] .save-badge{background:rgba(240,238,230,.18);color:#e8e6e1;}
:root[data-theme="dark"] .section-tag{color:#dedbd2;}
:root[data-theme="dark"] .pre-copy{border-color:rgba(240,238,230,.22);color:#dedbd2;}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea{background:#262624;color:#f5f4ef;border-color:rgba(240,238,230,.18);}
:root[data-theme="dark"] ::placeholder{color:#8f8d85;}
:root[data-theme="dark"] .price-strike{color:#8f8d85;}
:root[data-theme="dark"] table th{color:#a8a59b;}
:root[data-theme="dark"] hr{border-color:rgba(240,238,230,.14);}

:root[data-theme="dark"] body{background:var(--bg);color:var(--tx);}
:root[data-theme="dark"] nav{background:rgba(31,30,29,.88);}
:root[data-theme="dark"] .logo-mark{background:#d97757;}
:root[data-theme="dark"] pre,:root[data-theme="dark"] code{background:#171716;color:#e8e6e1;}
:root[data-theme="dark"] img{opacity:.94;}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:32px;min-width:32px;height:32px;padding:0;border:1px solid var(--bd);border-radius:9px;
  background:var(--card);color:var(--sf);cursor:pointer;line-height:1;}
.theme-toggle:hover{color:var(--tx);}
:root[data-theme="dark"] .theme-sun{display:none;}
:root:not([data-theme="dark"]) .theme-moon{display:none;}

/* mobile-nav-v1 -- .nav-links is hidden below the breakpoint with no control to reveal it */
.nav-burger{display:none;align-items:center;justify-content:center;flex:0 0 auto;
  width:34px;min-width:34px;height:34px;padding:0;border:1px solid var(--bd);
  border-radius:9px;background:var(--card);color:var(--tx);cursor:pointer;line-height:1;}
@media(max-width:1100px){
  .nav-burger{display:inline-flex;}
  .nav-links{display:none;}
  .nav-links.show-mobile{display:flex !important;flex-direction:column;align-items:stretch;
    position:absolute;top:56px;left:16px;right:16px;background:var(--card);
    border:1px solid var(--bd-strong);border-radius:14px;padding:8px;gap:0;
    box-shadow:0 18px 50px rgba(0,0,0,.18);z-index:200;line-height:1.3;}
  .nav-links.show-mobile a{padding:9px 12px;border-radius:8px;font-size:14px;}
  .nav-links.show-mobile .theme-toggle{align-self:flex-start;margin-top:6px;}
}

/* nav-nowrap-v1 -- nine nav items wrap mid-label without this */
.nav-links a,.nav-auth a,.btn,.nav-links .theme-toggle{white-space:nowrap;}
.nav-links{flex-wrap:nowrap;}
@media(max-width:1100px){.nav-links.show-mobile{flex-wrap:wrap;}}

/* nav-nowrap-v2 */
.nav-links a,.nav-auth a,.btn,.nav-links .theme-toggle{white-space:nowrap;}
.logo,.logo span{white-space:nowrap;}
.logo{flex:0 0 auto;}
.nav-links{flex-wrap:nowrap;min-width:0;}
