/*
Theme Name: FFN Core
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ffn
*/

/* ---------- 1. Tokens ---------- */
:root{
  --bg:#fbfaf9; --surface:#fff; --ink:#15131f; --ink2:#63616f; --ink3:#8e8c9b;
  --line:#e9e6f0; --soft:#f5f3f8;
  --orange:#f4501e; --amber:#ffb703; --amber2:#ffa000; --violet:#7c3aed; --pink:#e5195f;
  --panel:linear-gradient(100deg,#191534,#0f0c22 60%,#1a1038);
  --radius:12px; --radius-lg:18px;
  --pad:15px;
  --maxw:1180px;
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Anton',Impact,sans-serif;
  --cond:'Barlow Condensed',var(--font);
  --shadow:0 22px 60px -40px rgba(20,17,39,.5);
}
[data-theme="dark"]{
  --bg:#0d0b16; --surface:#171327; --ink:#f3f1fb; --ink2:#a9a4c2; --ink3:#8b86a6;
  --line:#2c2745; --soft:#1d1930;
}
@media (min-width:640px){ :root{ --pad:22px } }
@media (min-width:1024px){ :root{ --pad:28px } }

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:400 16px/1.5 var(--font); -webkit-font-smoothing:antialiased;
  /* Contain the decorative shapes that overhang the viewport. `clip` is the one
     that does NOT make body a scroll container, which would stop the article
     sidebar from sticking; `hidden` stays as the fallback. */
  overflow-x:hidden;
  overflow-x:clip;
}
img,svg,iframe,video{max-width:100%}
img{height:auto}
svg{flex:none}
a{color:var(--orange);text-decoration:none}
a:hover{color:#c93a10}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul{padding:0;list-style:none}
input,select,textarea{font:inherit}
::placeholder{color:var(--ink3)}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:99;padding:10px 16px;background:var(--surface)}
.skip:focus{left:8px;top:8px}

/* ---------- 3. Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.stack{display:grid;gap:14px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sect{padding-block:clamp(30px,6vw,52px)}
.spacer{height:clamp(36px,6vw,64px)}
.hero{position:relative;overflow:hidden}
.hero__in{position:relative;z-index:2}
.grad-text{background:linear-gradient(96deg,#ff9d00,var(--orange) 55%,#ff3d3d);
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- 4. Type ---------- */
.h-hero{font-family:var(--display);font-weight:400;line-height:.98;letter-spacing:.5px;
  font-size:clamp(30px,7vw,72px);transform:skewX(-4deg);text-wrap:balance}
.h-sect{font-family:var(--cond);font-style:italic;font-weight:800;letter-spacing:.8px;
  font-size:clamp(21px,4.2vw,26px);text-transform:uppercase}
.h-art{font-family:var(--cond);font-style:italic;font-weight:800;letter-spacing:.2px;
  font-size:clamp(27px,5.2vw,46px);line-height:1.06;text-wrap:balance}
.h-2{font-size:clamp(20px,3.6vw,28px);font-weight:800;line-height:1.25}
.h-3{font-size:clamp(16px,3vw,19px);font-weight:800;line-height:1.3;text-wrap:pretty}
.lead{font-size:clamp(14px,2.9vw,18px);line-height:1.6;font-weight:600;color:var(--ink2);text-wrap:pretty}
.body-t{font-size:clamp(15px,2.8vw,16.5px);line-height:1.75;color:var(--ink2);text-wrap:pretty}
.meta{font-size:12px;font-weight:600;color:var(--ink3)}
.label{font-family:var(--cond);font-style:italic;font-weight:700;font-size:16px;letter-spacing:.6px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.6px}

.rule{display:flex;align-items:center;justify-content:center;gap:12px}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:var(--line)}
.rule--bare::before,.rule--bare::after{display:none}
.rule i{font-style:normal;font-size:18px;font-weight:800;letter-spacing:-3px;
  background:linear-gradient(90deg,#ff3d3d,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- 5. Header ---------- */
.hdr{position:relative;z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}
.hdr__bar{display:flex;align-items:center;gap:clamp(12px,2vw,28px);padding-block:12px}
.logo{display:flex;align-items:center;gap:8px;flex:none}
.logo__txt{font-family:var(--cond);font-style:italic;font-weight:800;line-height:1;white-space:nowrap;
  font-size:clamp(19px,4.2vw,26px);color:var(--ink)}
.logo__fire{background:linear-gradient(95deg,#ff9500,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo__tld{font-size:.62em;color:var(--ink2)}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);margin-left:auto}
.nav a{font-size:14.5px;font-weight:600;color:var(--ink2);white-space:nowrap;padding-bottom:5px}
.nav a:hover{color:var(--orange)}
.nav .current-menu-item>a,.nav .current_page_item>a,.nav .current-menu-parent>a,.nav a[aria-current]{
  font-weight:700;color:var(--orange);border-bottom:2.5px solid var(--amber)}
.hdr__tools{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
.icon-btn{width:38px;height:34px;display:grid;place-items:center;background:var(--surface);
  border:1px solid var(--line);border-radius:8px;cursor:pointer}
.icon-btn:hover{border-color:var(--amber)}
.burger{display:none}
.nav-m{display:none;border-top:1px solid var(--line);background:var(--surface);padding:6px var(--pad) 14px}
.nav-m a{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;
  border-bottom:1px solid var(--line);font-size:15px;font-weight:600;color:var(--ink2)}
.nav-m .current-menu-item>a,.nav-m .current_page_item>a{color:var(--orange);font-weight:700}
.hdr.is-open .nav-m{display:block}
.nav>ul{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);flex-wrap:wrap}
.nav-m>ul{display:block}
.ftr__nav>ul{display:flex;gap:clamp(12px,2.2vw,26px);flex-wrap:wrap}
@media (max-width:899px){
  .nav{display:none}
  .burger{display:grid}
}

/* ---------- 6. Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid var(--line);background:var(--surface);border-radius:10px;
  padding:11px 18px;font-size:12.5px;font-weight:800;letter-spacing:.5px;color:var(--ink2);cursor:pointer}
.btn:hover{border-color:var(--amber);color:var(--orange)}
.btn[hidden]{display:none}
.btn--amber{position:relative;overflow:hidden;border:none;
  width:min(100%,330px);height:56px;padding:0 20px;
  background:linear-gradient(96deg,#ffcc00,var(--amber2) 48%,#ff8a1f);
  box-shadow:0 14px 30px -12px rgba(255,150,0,.75)}
.btn--amber:hover{filter:brightness(1.05)}
.btn--amber:active{transform:translateY(1px)}
.btn--amber span{font-family:var(--display);font-size:clamp(18px,4vw,24px);letter-spacing:.6px;
  color:#2b1a00;transform:skewX(-5deg)}
.btn--amber::after{content:"";position:absolute;top:0;left:0;width:44px;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  animation:sweep 3.4s ease-in-out infinite}
.btn--amber[disabled]{opacity:.65;cursor:progress}
.btn--pink{border:none;height:54px;padding:0 clamp(18px,3vw,30px);
  background:linear-gradient(96deg,#f81f8c,var(--pink) 60%,#ff3d3d);border-radius:var(--radius);
  box-shadow:0 16px 34px -14px rgba(229,25,95,.85)}
.btn--pink:hover{filter:brightness(1.06)}
.btn--pink span{font-family:var(--display);font-size:clamp(17px,3.2vw,22px);color:#fff;transform:skewX(-5deg)}
.btn--ghost{border-color:#ffd89b;font-family:var(--cond);font-style:italic;font-weight:700;
  font-size:16px;color:var(--ink);letter-spacing:.8px;padding:12px 22px}
.btn--ghost:hover{border-color:var(--orange);color:var(--orange)}

/* ---------- 7. Cards / chips ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(14px,2vw,18px)}
.card--hi{border:1.5px solid #ffd89b;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.chip{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;
  background:var(--surface);border:1px solid var(--line);border-radius:10px;
  font-size:12.5px;font-weight:700;color:var(--ink2);text-align:center}
.tag{display:inline-block;padding:5px 10px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.5px}
.tag--violet{background:rgba(124,58,237,.1);color:var(--violet)}
.tag--soft{background:var(--soft);color:var(--ink2);font-size:10.5px}
.pill{display:inline-block;padding:7px 13px;background:var(--surface);border:1px solid var(--line);border-radius:20px;
  font-size:12px;font-weight:700;color:var(--ink2)}
.pill:hover{border-color:var(--amber);color:var(--orange)}
.ph{border-radius:10px;display:grid;place-items:center;overflow:hidden;
  background:repeating-linear-gradient(135deg,var(--soft) 0 9px,var(--line) 9px 18px)}
.ph img{width:100%;height:100%;object-fit:cover}

/* ---------- 8. Generator ---------- */
.gen{padding:clamp(18px,3vw,30px) clamp(15px,3vw,34px) clamp(22px,3vw,34px);margin-block:clamp(14px,2vw,20px)}
.gen__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:22px}
.step{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.step b{width:20px;height:20px;display:grid;place-items:center;border-radius:5px;
  font-size:12px;font-weight:800;flex:none}
.step--1 b{background:linear-gradient(180deg,#ffd23f,var(--amber2));color:#3a2600}
.step--2 b{background:linear-gradient(180deg,#c084fc,var(--violet));color:#fff}
.field{position:relative}
.field input,.field select{width:100%;height:48px;padding:0 44px 0 16px;font-size:15px;font-weight:600;
  color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:11px;outline:none}
.field select{appearance:none;cursor:pointer}
.field input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,183,3,.16)}
.field select:focus{border-color:var(--violet)}
.field__ico{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;display:flex}
.gen__cta{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,14px);margin-top:26px}
.gen__chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin-top:24px}
.names{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:14px}
.names__h{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-top:8px}
.names__h b{font-family:var(--cond);font-style:italic;font-weight:800;font-size:17px;letter-spacing:.4px;color:var(--ink)}
.names__h i{flex:1;height:1px;background:var(--line)}
.name-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;width:100%;
  padding:8px 14px 8px 18px;background:var(--surface);border:1px solid var(--line);
  border-radius:11px;cursor:pointer;text-align:left}
.name-btn:hover{border-color:var(--amber);box-shadow:0 8px 20px -14px rgba(20,17,39,.5)}
.name-btn em{font-family:Georgia,'Times New Roman',serif;font-style:normal;font-size:17px;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ok{animation:pop .18s ease-out}
/* Feedback for copy targets too small to hold an icon. */
.is-copied{border-color:#16a34a;color:#16a34a;animation:pop .18s ease-out}
.gen__note{margin-top:14px;font-size:13px;font-weight:600;color:var(--ink3);text-align:center}
.gen__note[hidden]{display:none}
.spin{display:inline-block;width:15px;height:15px;border:2px solid var(--line);
  border-top-color:var(--orange);border-radius:50%;animation:spin .7s linear infinite}

/* emoji strip */
.emos{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.emo{min-width:44px;min-height:44px;display:grid;place-items:center;padding:6px 10px;font-size:20px;line-height:1;
  background:var(--surface);border:1px solid var(--line);border-radius:10px;cursor:pointer}
.emo:hover{border-color:var(--amber);transform:translateY(-2px)}

/* community block */
.com{margin-top:26px}
.com[hidden]{display:none}
.com__blk+.com__blk{margin-top:24px}
.com__h{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-family:var(--cond);
  font-style:italic;font-weight:800;font-size:18px;letter-spacing:.4px}
.com__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:12px}
.nick{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 10px 8px 14px;
  background:var(--surface);border:1px solid var(--line);border-radius:11px}
.nick__t{flex:1;min-width:0;font-family:Georgia,serif;font-size:16px;color:var(--ink);cursor:pointer;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:none;border:0;padding:0}
.nick__v{display:flex;align-items:center;gap:5px;padding:6px 9px;background:var(--soft);border:1px solid var(--line);
  border-radius:8px;font-size:12px;font-weight:700;color:var(--ink2);cursor:pointer}
.nick__v:hover{border-color:var(--amber);color:var(--orange)}
.nick small{display:block;font-size:11px;font-weight:600;color:var(--ink3)}
.com__form{display:flex;gap:10px;flex-wrap:wrap}
.com__form input{flex:1 1 220px;min-width:0;height:48px;padding:0 16px;font-size:15px;font-weight:600;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);border-radius:11px;outline:none}
.com__form input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,183,3,.16)}
.com__msg{margin-top:10px;font-size:13px;font-weight:600;color:var(--ink3)}

/* ---------- 9. Stats ---------- */
.stats{background:var(--panel);border-radius:16px;margin-top:34px;
  padding:clamp(18px,3vw,24px) clamp(14px,2vw,20px);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px}
.stat{display:flex;align-items:center;justify-content:center;gap:14px}
.stat b{display:block;font-family:var(--display);font-size:26px;line-height:1;transform:skewX(-6deg)}
.stat span{display:block;margin-top:3px;font-size:12.5px;font-weight:600;color:#b9b4d4}

/* ---------- 10. Style tiles + steps ---------- */
.tiles{display:flex;align-items:stretch;justify-content:center;gap:6px;flex-wrap:wrap}
.tile{flex:0 1 132px;min-width:0;padding:22px 6px 16px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:center}
.tile:hover{transform:translateY(-3px);box-shadow:0 14px 26px -18px rgba(20,17,39,.6)}
.tile u{display:block;text-decoration:none;font-size:34px;line-height:1;font-family:Georgia,serif}
.tile p{margin-top:14px;font-size:13px;font-weight:700;color:var(--ink2)}
.arw{align-self:center;flex:none;display:flex}
.hows{display:flex;align-items:flex-start;justify-content:center;gap:clamp(10px,2vw,18px);flex-wrap:wrap}
.how{flex:1 1 150px;max-width:200px;min-width:140px;text-align:center}
.how__ico{width:70px;height:70px;margin:0 auto;display:grid;place-items:center;border-radius:50%}
.how b{display:block;margin-top:16px;font-size:14px;font-weight:800}
.how p{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--ink3);text-wrap:pretty}

/* ---------- 11. Blog list ---------- */
.crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--ink3)}
.crumb a{color:var(--ink3)}
.crumb a:hover{color:var(--orange)}
.crumb b{color:var(--orange);font-weight:700}
.search{max-width:520px;margin:24px auto 0;position:relative}
.search input{width:100%;height:50px;padding:0 46px;font-size:15px;font-weight:600;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);outline:none}
.search input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,183,3,.16)}
.search__ico{position:absolute;left:15px;top:50%;transform:translateY(-50%);display:flex}
.search__x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;
  display:none;place-items:center;background:var(--soft);border:none;border-radius:8px;cursor:pointer}
.search.has-q .search__x{display:grid}
.cats{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:22px}
.cat{padding:9px 16px;background:var(--surface);border:1px solid var(--line);border-radius:9px;
  font-size:12.5px;font-weight:700;letter-spacing:.4px;color:var(--ink2);cursor:pointer;text-transform:uppercase}
.cat:hover{border-color:var(--amber);color:var(--orange)}
.cat[aria-pressed="true"]{background:linear-gradient(96deg,#ffcc00,var(--amber2));
  border-color:transparent;color:#2b1a00;font-weight:800}
.cats__n{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--ink3)}
.feat{display:flex;gap:clamp(16px,2.4vw,28px);flex-wrap:wrap;padding:clamp(14px,2vw,20px);margin-bottom:26px}
.feat__ph{flex:1 1 320px;min-width:0;position:relative;aspect-ratio:16/9;border-radius:var(--radius)}
.feat__badge{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:6px;
  padding:6px 11px;background:linear-gradient(96deg,#f81f8c,var(--pink));border-radius:7px;
  font-size:11px;font-weight:800;letter-spacing:.6px;color:#fff}
.feat__body{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px}
.feat__body h2{font-family:var(--cond);font-style:italic;font-weight:800;letter-spacing:.3px;
  font-size:clamp(23px,4.2vw,34px);line-height:1.08;text-wrap:balance;color:var(--ink)}
.more{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;letter-spacing:.4px;color:var(--orange)}
.post{display:flex;gap:clamp(12px,2vw,20px);flex-wrap:wrap;padding:clamp(12px,1.6vw,16px)}
.post:hover{border-color:var(--amber);box-shadow:0 16px 34px -28px rgba(20,17,39,.6);transform:translateY(-2px)}
.post__ph{flex:0 1 220px;min-width:150px;aspect-ratio:16/10}
.post__body{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:8px}
.post__body .h-3{color:var(--ink)}
.post__ex{font-size:13.5px;line-height:1.6;color:var(--ink2);text-wrap:pretty}
.post__foot{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:4px;flex-wrap:wrap}
.post__foot span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ink3)}
.empty{display:none;padding:48px 20px;text-align:center;background:var(--surface);
  border:1px dashed var(--line);border-radius:14px}
.pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding-top:26px}
.pager .page-numbers{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;
  background:var(--surface);border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:700;color:var(--ink2)}
.pager .page-numbers:hover{border-color:var(--amber);color:var(--orange)}
.pager .current{background:linear-gradient(96deg,#ffcc00,var(--amber2));border-color:transparent;color:#2b1a00}

/* ---------- 12. Article ---------- */
.bar{position:fixed;inset:0 0 auto;height:3px;z-index:40}
.bar i{display:block;height:100%;width:0;
  background:linear-gradient(90deg,#ffcc00,var(--orange) 60%,var(--pink))}
.art-grid{display:flex;gap:clamp(20px,3vw,40px);flex-wrap:wrap;align-items:flex-start}
.art{flex:1 1 560px;min-width:0}
.byline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0;margin-top:18px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.avat{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;
  background:linear-gradient(160deg,#ffd23f,var(--amber2));font-family:var(--display);font-size:16px;color:#3a2400}
.art__cover{margin-top:22px;border-radius:14px;overflow:hidden}
.art__cover img{display:block;width:100%;height:auto}
.prevnext{display:flex;gap:12px;flex-wrap:wrap;padding-top:26px}
.pn{flex:1 1 240px;min-width:0;display:flex;gap:12px;align-items:center;padding:16px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.pn:hover{border-color:var(--amber)}
.pn--next{justify-content:space-between;text-align:right}
.pn small{display:block;font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--ink3)}
.pn b{display:block;margin-top:4px;font-size:14px;font-weight:700;line-height:1.35;color:var(--ink)}
.side{flex:1 1 260px;max-width:320px;min-width:0;display:grid;gap:14px;position:sticky;top:16px}
.toc{display:grid;gap:2px}
.toc a{padding:8px 10px;border-left:2px solid var(--line);font-size:13.5px;font-weight:600;color:var(--ink2)}
.toc a:hover,.toc a.is-on{border-color:var(--amber);color:var(--orange)}
.side__cta{padding:20px 18px;background:var(--panel);border-radius:14px}
.side__cta b{font-family:var(--display);font-size:20px;line-height:1.1;color:#fff;transform:skewX(-5deg);display:block}
.side__cta p{margin:10px 0 14px;font-size:13px;line-height:1.55;color:#c9c3e2}
.side__cta .btn--amber{width:100%;height:46px}
.rel{display:grid;gap:12px}
.rel a{display:flex;gap:11px;align-items:center}
.rel .ph{flex:none;width:56px;height:44px;border-radius:8px}
.rel b{display:block;font-size:13px;font-weight:700;line-height:1.35;color:var(--ink)}
.rel small{display:block;margin-top:3px;font-size:11px;font-weight:600;color:var(--ink3)}
@media (max-width:1023px){ .side{position:static;max-width:none;flex-basis:100%} }

/* ---------- 13. Post content (block output) ---------- */
.entry{font-size:clamp(15px,2.8vw,16.5px);line-height:1.75;color:var(--ink2)}
.entry>*+*{margin-top:16px}
.entry h2{font-size:clamp(20px,3.6vw,28px);font-weight:800;line-height:1.25;color:var(--ink);
  margin-top:34px;scroll-margin-top:80px}
.entry h3{font-size:clamp(17px,3vw,21px);font-weight:800;line-height:1.3;color:var(--ink);margin-top:26px;scroll-margin-top:80px}
.entry h4{font-size:16px;font-weight:800;color:var(--ink);margin-top:22px}
.entry strong,.entry b{color:var(--ink)}
.entry ul,.entry ol{padding-left:0}
.entry li{position:relative;padding-left:18px}
.entry li+li{margin-top:9px}
.entry ul>li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:2px;background:var(--amber)}
.entry ol{counter-reset:n}
.entry ol>li{counter-increment:n;padding-left:26px}
.entry ol>li::before{content:counter(n) ".";position:absolute;left:0;top:0;font-weight:800;color:var(--orange)}
.entry blockquote{padding:18px clamp(16px,2.4vw,24px);background:var(--soft);
  border-left:3px solid var(--orange);border-radius:0 var(--radius) var(--radius) 0}
.entry blockquote p{font-size:clamp(15px,2.9vw,17px);line-height:1.65;font-weight:600;font-style:italic;color:var(--ink)}
.entry figure{margin:0}
.entry img{border-radius:var(--radius)}
.entry figcaption{margin-top:8px;font-size:12.5px;color:var(--ink3);text-align:center}
.entry table{width:100%;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}
.entry th,.entry td{padding:10px 12px;border:1px solid var(--line);text-align:left}
.entry th{background:var(--soft);color:var(--ink);font-weight:800}
.entry code{padding:2px 6px;background:var(--soft);border-radius:5px;font-size:.9em}
.entry pre{padding:14px;background:var(--soft);border-radius:var(--radius);overflow-x:auto}
.entry hr{border:0;border-top:1px solid var(--line)}
.aligncenter{margin-inline:auto;display:block;text-align:center}
.alignleft{float:left;margin:0 18px 12px 0}
.alignright{float:right;margin:0 0 12px 18px}
.alignwide,.alignfull{margin-inline:0}
.wp-block-image{margin:0}

/* ---------- 14. CTA + footer ---------- */
.cta{background:var(--panel);overflow:hidden}
.cta__in{display:flex;align-items:center;gap:clamp(16px,3vw,30px);flex-wrap:wrap;
  padding-block:clamp(24px,4vw,34px)}
.cta__in h2{font-family:var(--display);font-size:clamp(24px,4.6vw,34px);letter-spacing:.5px;
  color:#fff;transform:skewX(-5deg);text-wrap:balance}
.cta__in h2 em{font-style:normal;color:var(--amber)}
.cta__mid{flex:1 1 260px;min-width:0}
.cta__mid p{margin-top:9px;font-size:clamp(13px,2.6vw,14.5px);font-weight:500;color:#c9c3e2}
.ftr{background:var(--surface);border-top:1px solid var(--line)}
.ftr__in{display:flex;align-items:center;gap:clamp(14px,2.4vw,26px);flex-wrap:wrap;padding-block:18px}
.ftr__nav a{font-size:12.5px;font-weight:600;color:var(--ink2)}
.ftr__nav a:hover{color:var(--orange)}
.ftr__cr{margin-left:auto;font-size:12px;font-weight:500;color:var(--ink3)}
.top{position:fixed;right:16px;bottom:16px;z-index:25;width:42px;height:42px;display:grid;place-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:50%;cursor:pointer;
  box-shadow:0 10px 24px -10px rgba(20,17,39,.45);opacity:0;pointer-events:none;transition:opacity .2s}
.top.is-on{opacity:1;pointer-events:auto}
.top:hover{border-color:var(--amber)}

/* ---------- 15. Decor ---------- */
.decor{position:absolute;inset:0 0 auto;height:520px;overflow:hidden;pointer-events:none;z-index:0}
.decor>*{position:absolute}
.shard{opacity:.9}
.shard--y{background:linear-gradient(120deg,#ffe066,var(--amber) 60%,#ff9500);
  clip-path:polygon(0 8% ,58% 0,34% 34%,74% 26%,26% 66%,52% 60%,0 100%)}
.shard--v{background:linear-gradient(220deg,#c084fc,#8b5cf6 55%,#6d28d9);
  clip-path:polygon(100% 4%,44% 0,72% 32%,26% 24%,80% 64%,50% 58%,100% 100%)}
.dots{background-size:11px 11px;opacity:.8}
.dots--y{background-image:radial-gradient(var(--amber) 1.6px,transparent 1.7px);
  -webkit-mask-image:linear-gradient(115deg,#000,transparent 70%);mask-image:linear-gradient(115deg,#000,transparent 70%)}
.dots--v{background-image:radial-gradient(#8b5cf6 1.6px,transparent 1.7px);
  -webkit-mask-image:linear-gradient(245deg,#000,transparent 70%);mask-image:linear-gradient(245deg,#000,transparent 70%)}
.bullet{transform:rotate(-16deg);flex:none}
.bullet i{display:block;width:84px;height:30px;
  clip-path:polygon(0 20%,50% 0,100% 26%,100% 74%,50% 100%,0 80%);
  background:linear-gradient(180deg,#fdf0c2,#e8b23c 42%,#a9761a)}
.bullet u{display:block;width:36px;height:24px;margin:-27px 0 0 3px;
  clip-path:polygon(0 8%,100% 0,100% 100%,0 92%);
  background:linear-gradient(180deg,#fff6d8,#f0c14b 45%,#bd8a1c)}
.float{animation:float 7s ease-in-out infinite}
@media (max-width:700px){ .decor{height:340px;opacity:.55} }

/* ---------- 16. Motion ---------- */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes sweep{0%{transform:translateX(-120%) skewX(-18deg)}60%,100%{transform:translateX(320%) skewX(-18deg)}}
@keyframes pop{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
