/* FreeAIAlts — styles for the pre-rendered pages.
   These mirror the home page's "glass" surface system (translucent gradient
   fill, 8% white hairline, soft purple lift on hover) so that scrolling the
   home page and clicking through to a hub or an article feel like one site
   rather than two. The tokens below are the home page's own values. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0a0f;--bg2:#111118;--bg3:#1a1a24;--border:#2a2a38;
  --text:#f0f0f5;--muted:#888899;
  --accent:#7050f0;--accent2:#a78bfa;--accent3:#60a5fa;
  --accent-glow:rgba(124,92,252,.18);
  --green:#22c55e;--radius:14px;
  --glass:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  --glass-border:rgba(255,255,255,.08);
  --lift:all .25s cubic-bezier(.34,1.2,.64,1);
}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

nav{position:sticky;top:0;z-index:100;background:rgba(10,10,15,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 24px}
.nav-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px;flex-wrap:wrap}
.logo{font-size:18px;font-weight:800;background:linear-gradient(135deg,#a78bfa,#7c5cfc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none}
.nav-links{display:flex;gap:4px;flex-wrap:wrap}
.nav-links a{padding:6px 12px;border-radius:8px;font-size:14px;color:var(--muted);text-decoration:none;transition:var(--lift)}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,.05);text-decoration:none}
.nav-lang a{font-size:13px;padding:5px 10px;border:1px solid var(--glass-border);border-radius:8px;color:var(--muted);text-decoration:none;transition:var(--lift)}
.nav-lang a:hover{border-color:rgba(124,92,252,.4);color:var(--accent2);background:rgba(124,92,252,.08);text-decoration:none}

main{max-width:900px;margin:0 auto;padding:32px 24px 72px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:24px}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 6px;opacity:.5}

h1{font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.15;letter-spacing:-.5px;margin-bottom:14px}
.lede{font-size:17px;color:var(--muted);margin-bottom:8px}
h2{font-size:22px;font-weight:700;margin:40px 0 14px}
h3{font-size:18px;font-weight:700;margin-bottom:6px}
p{margin-bottom:16px;color:var(--muted)}
.tag{display:inline-block;font-size:12px;font-weight:600;color:var(--accent2);background:var(--accent-glow);border:1px solid rgba(124,92,252,.25);border-radius:20px;padding:4px 12px;margin-bottom:14px}
.meta-line{font-size:13px;color:var(--muted);margin-bottom:28px}

.table-wrap{overflow-x:auto;margin-bottom:32px;border:1px solid var(--glass-border);border-radius:16px}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
th{background:rgba(255,255,255,.05);text-align:left;padding:12px 14px;font-weight:700;font-size:13px;border-bottom:1px solid var(--glass-border)}
td{padding:12px 14px;border-bottom:1px solid var(--glass-border);color:var(--muted);vertical-align:top}
tr:last-child td{border-bottom:none}
td strong{color:var(--text)}

/* ── Article surfaces ─────────────────────────────────────────────────────── */
.alt{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:22px;margin-bottom:18px}
.alt-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.alt-head h3{margin:0}
.pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:rgba(34,197,94,.12);color:var(--green);border:1px solid rgba(34,197,94,.25);white-space:nowrap}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0}
@media(max-width:620px){.cols{grid-template-columns:1fr}}
.cols h4{font-size:13px;font-weight:700;margin-bottom:8px}
.inc h4{color:var(--green)}
.exc h4{color:#fb7185}
.cols ul{list-style:none;font-size:14px;color:var(--muted)}
.cols li{padding-left:18px;position:relative;margin-bottom:6px}
.inc li::before{content:'✓';position:absolute;left:0;color:var(--green)}
.exc li::before{content:'✕';position:absolute;left:0;color:#fb7185}
.bestfor{background:rgba(255,255,255,.04);border:1px solid var(--glass-border);border-radius:12px;padding:12px 16px;font-size:14px;color:var(--muted);margin-bottom:16px}
.bestfor strong{color:var(--text)}
.cta{display:inline-block;background:var(--accent);color:#fff;font-weight:600;font-size:14px;padding:10px 20px;border-radius:12px;text-decoration:none;transition:var(--lift)}
.cta:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 8px 24px rgba(124,92,252,.3);text-decoration:none}

.step{background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:22px;margin-bottom:18px}
.step-num{display:inline-block;font-size:12px;font-weight:700;color:var(--accent2);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}
.example{background:rgba(0,0,0,.25);border:1px solid var(--glass-border);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--muted);margin-top:12px;line-height:1.7;overflow-x:auto}
.example strong{color:var(--accent2)}
.tip{background:linear-gradient(135deg,rgba(34,197,94,.09),rgba(34,197,94,.02));border:1px solid rgba(34,197,94,.22);border-radius:12px;padding:14px 18px;font-size:14px;color:var(--muted);margin-bottom:24px}

.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:start;margin-bottom:28px}
@media(max-width:620px){.vs{grid-template-columns:1fr}.vs-sep{text-align:center}}
.vs-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:20px;text-align:center}
.vs-logo{font-size:34px;margin-bottom:6px}
.vs-name{font-size:17px;font-weight:800;color:var(--text)}
.vs-price{font-size:13px;color:var(--accent2);font-weight:600;margin-bottom:12px}
.vs-fact{font-size:13px;color:var(--muted);text-align:left;margin-bottom:6px}
.vs-sep{font-weight:800;color:var(--muted);align-self:center}
.verdict{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:24px;margin-bottom:24px}
.verdict h2{margin-top:0}
.freealt{background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(34,197,94,.02));border:1px solid rgba(34,197,94,.25);border-radius:18px;padding:24px;margin-bottom:32px}
.freealt-label{font-size:13px;font-weight:700;color:var(--green);margin-bottom:6px}
.freealt-name{font-size:20px;font-weight:800;color:var(--text);margin-bottom:8px}

/* ── Hub cards ─────────────────────────────────────────────────────────────
   Deliberately identical to the home page's guide cards: same surface, same
   36px icon, same 15px/700 title, same lift on hover. The hubs used a flatter
   card before, which is why the same guides looked like a different site once
   you clicked through from the home page. */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:32px}
.hub-card{display:flex;flex-direction:column;gap:10px;background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:22px;text-decoration:none;color:inherit;transition:var(--lift)}
.hub-card:hover{background:linear-gradient(135deg,rgba(124,92,252,.12),rgba(124,92,252,.04));border-color:rgba(124,92,252,.35);transform:translateY(-3px);box-shadow:0 12px 40px rgba(124,92,252,.18),0 0 0 1px rgba(124,92,252,.2);text-decoration:none}
.hub-icon{font-size:36px;line-height:1}
.hub-tag{display:inline-block;width:fit-content;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--accent-glow);color:var(--accent2);border:1px solid rgba(124,92,252,.25)}
.hub-title{font-size:15px;font-weight:700;line-height:1.35;color:var(--text)}
.hub-desc{font-size:14px;color:var(--muted);line-height:1.5}
.hub-meta{font-size:12px;font-weight:600;color:var(--accent2);margin-top:auto;padding-top:4px}
.hub-new{display:inline-block;font-size:10px;font-weight:700;background:rgba(251,146,60,.2);color:#fb923c;border:1px solid rgba(251,146,60,.3);border-radius:20px;padding:1px 7px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px}
.hub-vs{display:flex;align-items:center;gap:8px;font-size:30px;line-height:1}
.hub-vs span{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.5px}
.hub-price{display:inline-block;width:fit-content;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:rgba(34,197,94,.12);color:var(--green);border:1px solid rgba(34,197,94,.25);margin-top:auto}
@media(max-width:600px){
  .hub-grid{grid-template-columns:1fr;gap:12px}
  .hub-card{padding:18px}
  .hub-icon{font-size:30px}
}

/* Compact cards for the "related" strips at the foot of an article. */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:32px}
.card{display:block;background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:18px;text-decoration:none;color:inherit;transition:var(--lift)}
.card:hover{background:linear-gradient(135deg,rgba(124,92,252,.12),rgba(124,92,252,.04));border-color:rgba(124,92,252,.35);transform:translateY(-2px);text-decoration:none}
.card-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}
.card-sub{font-size:13px;color:var(--muted);line-height:1.5}
.related{border-top:1px solid var(--glass-border);padding-top:28px;margin-top:44px}

.ad-slot-wrap{text-align:center;padding:8px 0 24px}
.ad-slot-label{font-size:10px;color:rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.ad-slot{width:100%;max-width:728px;margin:0 auto}
.ad-slot .adsbygoogle{display:block;width:100%}

.disclosure{font-size:12px;color:var(--muted);opacity:.75;border-top:1px solid var(--glass-border);padding-top:16px;margin-top:32px}
footer{border-top:1px solid var(--glass-border);padding:32px 24px;text-align:center;color:var(--muted);font-size:13px}
footer .inner{max-width:900px;margin:0 auto}
footer a{color:var(--accent2)}

/* ── Spreadsheet examples (guide steps with a `sheets` field) ──────────────
   Rendered as a real grid with column letters and row numbers so an Excel
   example reads like Excel instead of like a code block. */
.sheet-wrap{margin:16px 0}
.sheet-cap{font-size:13px;font-weight:600;color:var(--accent2);margin-bottom:8px}
.sheet-formula{display:flex;align-items:stretch;border:1px solid var(--glass-border);border-radius:12px 12px 0 0;background:rgba(255,255,255,.05);overflow:hidden}
.sheet-fx{flex:0 0 auto;padding:8px 12px;font-size:12px;font-weight:700;color:var(--muted);border-right:1px solid var(--glass-border);font-style:italic}
.sheet-formula code{flex:1;padding:8px 12px;font-family:ui-monospace,'Cascadia Code',Consolas,monospace;font-size:13px;color:var(--green);overflow-x:auto;white-space:nowrap}
.sheet-scroll{overflow-x:auto;border:1px solid var(--glass-border);border-radius:12px}
.sheet-formula + .sheet-scroll{border-radius:0 0 12px 12px;border-top:none}
table.sheet{border-collapse:collapse;font-size:13px;min-width:100%;background:transparent}
table.sheet th,table.sheet td{border:1px solid var(--glass-border);padding:7px 12px;text-align:left;white-space:nowrap;color:var(--text);font-weight:400}
table.sheet thead th{background:rgba(255,255,255,.06);color:var(--muted);font-weight:700;text-align:center;font-size:11px;letter-spacing:.5px}
table.sheet tbody th{background:rgba(255,255,255,.06);color:var(--muted);font-weight:700;text-align:center;font-size:11px;width:34px}
table.sheet tbody tr:first-child td{font-weight:700;background:rgba(255,255,255,.03)}
table.sheet td.hl{background:rgba(34,197,94,.1);color:var(--green);font-weight:600}
.sheet-note{font-size:12px;color:var(--muted);margin-top:6px;font-style:italic}
.prompt-box{background:linear-gradient(135deg,rgba(124,92,252,.1),rgba(124,92,252,.02));border:1px solid rgba(124,92,252,.25);border-left:3px solid var(--accent);border-radius:12px;padding:14px 16px;margin:14px 0;font-size:14px;color:var(--text);line-height:1.6}
.prompt-box .pb-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent2);margin-bottom:8px}

/* Hub pages use the home page's wider measure so the card grid lands on the
   same three-column rhythm; article pages stay narrow for reading. */
main.wide{max-width:1100px}

/* ── Guide contents ────────────────────────────────────────────────────────
   Shown on guides with four or more steps. The scroll-margin is the part
   that is usually forgotten: without it an anchor jump parks the heading
   underneath the sticky nav. */
.toc{background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:18px 22px;margin-bottom:28px}
.toc-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent2);margin-bottom:10px}
.toc ol{margin:0;padding-left:20px;color:var(--muted)}
.toc li{margin-bottom:6px;font-size:14px;line-height:1.5}
.toc li::marker{color:var(--accent2);font-weight:700}
.toc a{color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--accent2);text-decoration:underline}
.step{scroll-margin-top:76px}
@media(max-width:600px){.toc{padding:16px 18px}}
