@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
/* ============================================================================
   TemplateTitanHQ — NEON brand skin (2026-08-20)
   Palette lifted verbatim from brand_assets/build_neon_brand_kit.py, the engine
   that renders the Etsy banner, avatar and every social card. Do not invent
   colours here; change them there and copy them across.
   Retired: --gold / --gold2 (standing ruling: neon only, nothing yellow) and
   the Fraunces serif (the brand wordmark is a bold geometric sans).
   ========================================================================== */
:root{
  /* brand-kit primitives */
  --bg:#060a18;--bg2:#0b1430;--counter:#0c1838;
  --frame-a:#3b82f6;--frame-b:#7c5cff;--frame-m:#4f7dff;
  --kicker:#6f9dff;--acc-a:#8fc4ff;--acc-b:#5aa2ff;
  --icon-a:#38bdf8;--icon-b:#3b82f6;
  --cta-a:#ff9a3c;--cta-b:#ec4899;--cta-c:#8b5cf6;--cta-text:#080c1a;
  --spark-a:#ff6a1a;--spark-b:#ff3d81;
  --sub:#b9c6de;--foot:#8fa0bf;

  /* site tokens, re-pointed at the brand kit */
  --navy:#0b1430;--navy2:#8fc4ff;
  --gold:#5aa2ff;--gold2:#8fc4ff;          /* aliases: legacy usages now read neon blue */
  --paper:#060a18;--body:#c6d3ea;--ink-hi:#f2f6ff;--navbg:rgba(6,10,24,.82);--navlink:#c3d2ea;--label:#d8e4fb;--field:#0a1226;--ph:#7f8fad;--panel:#0b1430;--rowalt:rgba(143,196,255,.06);--panel-ink:#eaf1ff;--th-a:#152a63;--th-b:#1d2470;--zebra:rgba(143,196,255,.045);--card-a:rgba(20,32,68,.92);--card-b:rgba(11,20,48,.92);--card-inset:rgba(143,196,255,.10);--link:#8fc4ff;--focus:#5aa2ff;--stat:#ff8a3c;--muted:#b9c6de;--chip-bg:rgba(143,196,255,.06);--chip-ink:#cfe0ff;--glow1:rgba(59,130,246,.16);--glow2:rgba(124,92,255,.14);--glow3:rgba(124,92,255,.10);--grain-blend:screen;--grain-op:.055;--warn-ink:#ffd9b8;--warn-bg:rgba(255,154,60,.10);--track:rgba(143,196,255,.16);--card:#0d162e;--ink:#e9eefc;--muted:#b9c6de;
  --red:#ff6b81;--green:#34d399;
  --line:rgba(90,162,255,.20);--line2:rgba(90,162,255,.13);
  --blue:#3b82f6;--violet:#7c5cff;--teal:#38bdf8;--cta:#ff6a1a;--cta2:#ff9a3c;
  --hero-grad:linear-gradient(122deg,#060a18 0%,#0b1430 38%,#141a4a 66%,#241a52 100%);
  --glass:rgba(143,196,255,.10);--glassb:rgba(143,196,255,.26);
  --shadow:0 1px 2px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.32);
  --shadow-lg:0 2px 6px rgba(0,0,0,.4),0 18px 50px rgba(4,8,24,.6);
  --serif:'Inter',-apple-system,'SF Pro Display','Helvetica Neue',Segoe UI,Roboto,sans-serif;
  --sans:'Inter',-apple-system,'SF Pro Text',Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background:
    radial-gradient(900px 620px at 88% -6%, var(--glow1), transparent 62%),
    radial-gradient(760px 560px at -8% 6%, var(--glow2), transparent 60%),
    radial-gradient(900px 700px at 50% 112%, var(--glow3), transparent 66%),
    var(--bg);
  background-attachment:fixed}
/* film grain — same premium texture, dialled for a dark ground */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:var(--grain-op);mix-blend-mode:var(--grain-blend);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{max-width:920px;margin:0 auto;padding:0 22px}
a{color:var(--link)}

/* ---------- NAV ---------- */
nav.top{background:var(--navbg);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(90,162,255,.22)}
nav.top .wrap{display:flex;gap:8px 22px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:13px 22px}
nav.top a{color:var(--navlink);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.01em;transition:color .18s}
nav.top .navlinks{display:flex;gap:6px 20px;flex-wrap:wrap;align-items:center}
nav.top .navlinks a{position:relative;padding:4px 0}
nav.top .navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:linear-gradient(90deg,var(--icon-a),var(--frame-b));box-shadow:0 0 10px rgba(59,130,246,.7);transition:right .22s ease}
nav.top .navlinks a:hover{color:var(--ink-hi)}
nav.top .navlinks a:hover::after{right:0}
nav.top a.brand{color:var(--ink-hi);font-family:var(--serif);font-weight:800;font-size:1.16rem;letter-spacing:-.015em;display:inline-flex;align-items:center;gap:9px}
/* the real TT mark, vector, from the brand-kit engine — glow layered in CSS so
   the strokes stay sharp (Chrome rasterises SVG filters at 1x) */
nav.top a.brand::before{content:"";width:23px;height:23px;flex:none;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22a%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%238fd0ff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%234f8cff%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22b%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%234f8cff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232f5bff%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20stroke-width%3D%224.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%20fill%3D%22%230c1838%22%3E%3Cpath%20d%3D%22M8%2014h30v8H25v28h-8V22H8z%22%20stroke%3D%22url%28%23a%29%22%2F%3E%3Cpath%20d%3D%22M24%2024h30v8H41v26h-8V32H24z%22%20stroke%3D%22url%28%23b%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
  filter:drop-shadow(0 0 5px rgba(79,140,255,.85)) drop-shadow(0 0 12px rgba(59,130,246,.45))}

/* ---------- HERO ---------- */
header{position:relative;overflow:hidden;color:#fff;padding:58px 0 50px;border-bottom:1px solid rgba(124,92,255,.34);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(120% 130% at 96% 4%, rgba(59,130,246,.42) 0%, rgba(59,130,246,0) 52%),
    radial-gradient(90% 110% at 4% 96%, rgba(124,92,255,.40) 0%, rgba(124,92,255,0) 56%),
    var(--hero-grad);
  background-blend-mode:soft-light,normal,normal,normal}
header::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;filter:blur(54px);mix-blend-mode:screen;background:radial-gradient(420px 420px at -30px 108%,rgba(124,92,255,.55),transparent 70%),radial-gradient(500px 500px at 104% -80px,rgba(56,189,248,.42),transparent 70%)}
header::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(4,8,22,.55) 0%,rgba(4,8,22,.18) 50%,rgba(4,8,22,0) 82%)}
header .wrap{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px}
.kick{display:inline-block;align-self:flex-start;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--kicker);font-weight:700;background:var(--glass);border:1px solid var(--glassb);border-radius:999px;padding:7px 15px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
header .byline,header .byline a{color:#c9d8f4 !important}
h1{margin:.05em 0;font-family:var(--serif);font-weight:800;font-size:2.5rem;line-height:1.1;letter-spacing:-.028em}
header .wrap p{margin:.2em 0 0;color:#dbe6fb !important;font-size:1.12rem;max-width:62ch}
/* banner wordmark treatment: white headline, blue-lit, no pink/pastel wash */
header h1{color:#fff;text-shadow:0 0 26px rgba(79,140,255,.45),0 2px 18px rgba(4,8,24,.55)}
header h1 em,header h1 .acc{font-style:normal;color:var(--acc-a);text-shadow:0 0 26px rgba(90,162,255,.6)}

/* ---------- TYPE ---------- */
h2{font-family:var(--serif);font-weight:700;font-size:1.5rem;margin:1.5em 0 .5em;color:var(--ink-hi);letter-spacing:-.02em}
h3{font-family:var(--serif);font-weight:700;color:var(--ink-hi);letter-spacing:-.015em}
.wrap p{font-size:1.0625rem}
.wrap p,.wrap li{color:var(--body)}
strong,b{color:var(--ink-hi)}:root[data-theme="light"] strong,:root[data-theme="light"] b{color:inherit}@media (prefers-color-scheme:light){:root[data-theme="auto"] strong,:root[data-theme="auto"] b{color:inherit}}

/* ---------- CARD / FORM ---------- */
.card{background:linear-gradient(160deg,var(--card-a),var(--card-b));border:1px solid var(--line);border-radius:18px;padding:28px;margin:26px 0;box-shadow:var(--shadow),inset 0 1px 0 var(--card-inset)}
label{display:block;font-weight:600;margin:16px 0 6px;font-size:.92rem;color:var(--label)}
input,select{width:100%;padding:14px 15px;font-size:1.05rem;font-family:var(--sans);border:1.5px solid rgba(90,162,255,.28);border-radius:12px;background:var(--field);color:var(--ink);transition:border-color .15s,box-shadow .15s}
input::placeholder{color:var(--ph)}
input:focus,select:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 4px rgba(90,162,255,.22)}
.row{display:flex;gap:16px;flex-wrap:wrap}.row>div{flex:1;min-width:200px}

/* ---------- RESULT ---------- */
.result{margin-top:20px;border-radius:16px;overflow:hidden;border:1px solid var(--line);display:none;box-shadow:var(--shadow)}
.result.show{display:block;animation:rise .35s ease}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rtop{background:var(--hero-grad);color:#fff;padding:20px 22px;border-bottom:1px solid rgba(90,162,255,.2)}
.rtop .big{font-family:var(--serif);font-size:2.4rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,var(--icon-a),var(--acc-b) 55%,var(--frame-b));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.rtop .big{color:var(--acc-a)}}
.rtop .sub{font-size:.86rem;color:#b9c6de;margin-top:2px}
.rgrid{display:flex;flex-wrap:wrap;background:var(--panel)}.rgrid>div{flex:1;min-width:120px;padding:16px 18px;border-right:1px solid var(--line2)}.rgrid>div:last-child{border-right:0}
.rgrid .k{font-size:.72rem;color:var(--sub);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.rgrid .v{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--panel-ink);margin-top:2px;letter-spacing:-.02em}
.note{font-size:.85rem;color:var(--sub);padding:14px 18px;background:var(--panel)}

/* ---------- TABLE ---------- */
table{width:100%;border-collapse:collapse;font-size:.94rem;margin:10px 0;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:var(--panel)}
th,td{padding:11px 13px;border-bottom:1px solid var(--line2);text-align:left;color:var(--body)}
th{background:linear-gradient(135deg,var(--th-a),var(--th-b));color:#fff;font-weight:700;font-size:.9rem}
tr:nth-child(even) td{background:var(--zebra)}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;background:radial-gradient(620px 220px at 88% -30%,rgba(124,92,255,.42),transparent 60%),linear-gradient(135deg,#0b1430,#141a4a 55%,#241a52);border:1px solid rgba(143,196,255,.20);border-radius:18px;padding:28px;margin:30px 0;color:#dbe6fb;box-shadow:var(--shadow-lg)}
.cta h2{color:#fff;margin-top:0}
.cta p{color:#cddcf7;position:relative;z-index:1}
.cta p a{color:var(--cta-a);text-decoration:underline;text-underline-offset:2px;font-weight:600;position:relative;z-index:2}
.cta p a:hover{color:#fff}
/* the brand CTA pill: orange -> pink -> violet. The only warm accent on the site. */
.btn{display:inline-block;background:linear-gradient(100deg,var(--cta-a),var(--cta-b) 52%,var(--cta-c));color:var(--cta-text);text-decoration:none;font-weight:700;letter-spacing:.01em;padding:14px 28px;border-radius:999px;margin-top:12px;box-shadow:0 10px 26px -8px rgba(236,72,153,.62),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .15s,box-shadow .15s,filter .15s}
.btn:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 16px 34px -8px rgba(236,72,153,.8),inset 0 1px 0 rgba(255,255,255,.34)}

/* ---------- TOOL CARDS ---------- */
.tools{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0;position:relative;background:radial-gradient(58% 48% at 12% -4%,rgba(56,189,248,.10),transparent 68%),radial-gradient(56% 52% at 104% 106%,rgba(124,92,255,.13),transparent 70%)}
@media(max-width:620px){.tools{grid-template-columns:1fr}}
/* dark glass with a lit blue->violet rim, matching the banner frame */
.tool{display:block;text-decoration:none;color:#e9eefc;border:1.5px solid transparent;border-radius:18px;padding:22px;
  background:
    linear-gradient(152deg,rgba(59,130,246,.14),rgba(124,92,255,.12) 55%,rgba(56,189,248,.08)) padding-box,
    linear-gradient(rgba(11,20,48,.94),rgba(8,14,36,.94)) padding-box,
    linear-gradient(140deg,var(--frame-a) 0%,var(--frame-m) 40%,var(--frame-b) 100%) border-box;
  box-shadow:inset 0 1px 0 rgba(143,196,255,.16),0 2px 4px rgba(0,0,0,.3),0 18px 34px -18px rgba(59,130,246,.55),0 34px 60px -30px rgba(124,92,255,.5);
  transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1)}
.tool:hover{transform:translateY(-10px) scale(1.02);
  background:
    linear-gradient(152deg,rgba(59,130,246,.22),rgba(124,92,255,.18) 55%,rgba(56,189,248,.13)) padding-box,
    linear-gradient(rgba(14,24,58,.95),rgba(10,17,44,.95)) padding-box,
    linear-gradient(140deg,#5aa2ff 0%,#4f7dff 40%,#8b6cff 100%) border-box;
  box-shadow:inset 0 1px 0 rgba(143,196,255,.26),0 4px 10px rgba(0,0,0,.34),0 26px 48px -18px rgba(59,130,246,.72),0 54px 90px -34px rgba(124,92,255,.66)}
.tool .ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--icon-a),var(--icon-b) 62%,#4f7dff);box-shadow:0 10px 24px -8px rgba(56,189,248,.75),inset 0 1px 0 rgba(255,255,255,.35);margin-bottom:14px;transition:transform .22s ease,box-shadow .22s ease}
.tool:nth-child(2) .ic{background:linear-gradient(135deg,#3b82f6,#4f7dff 60%,#7c5cff)}
.tool:nth-child(3) .ic{background:linear-gradient(135deg,#38bdf8,#3b82f6 60%,#4f8cff)}
.tool:nth-child(4) .ic{background:linear-gradient(135deg,#4f7dff,#6a6cff 55%,#8b5cf6)}
.tool:nth-child(5) .ic{background:linear-gradient(135deg,#22d3ee,#3b82f6 55%,#4f7dff)}
.tool:nth-child(6) .ic{background:linear-gradient(135deg,#7c5cff,#5aa2ff 60%,#38bdf8)}
.tool .ic svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tool:hover .ic{transform:translateY(-2px) scale(1.07) rotate(-3deg);box-shadow:0 16px 32px -8px rgba(56,189,248,.9),inset 0 1px 0 rgba(255,255,255,.5)}
.tool .t{font-family:var(--serif);font-weight:700;color:#f0f5ff;font-size:1.16rem;letter-spacing:-.018em}
.tool .d{font-size:.92rem;color:#b9c6de;margin-top:6px;line-height:1.5}

/* ---------- FAQ ---------- */
details{border-bottom:1px solid var(--line);padding:14px 0}
summary{font-weight:600;cursor:pointer;color:var(--ink-hi);font-size:1.02rem;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";color:var(--link);font-weight:700;margin-right:10px}
details[open] summary::before{content:"–"}

/* ---------- FAT FOOTER ---------- */
footer{background:linear-gradient(180deg,#070c1c,#04060f);color:var(--foot);font-size:.9rem;padding:48px 0 28px;margin-top:48px;border-top:1px solid rgba(90,162,255,.22)}
footer .foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:26px}
@media(max-width:720px){footer .foot{grid-template-columns:1fr 1fr}}
@media(max-width:430px){footer .foot{grid-template-columns:1fr}}
.fcol{display:flex;flex-direction:column;gap:9px}
.fcol h4{font-family:var(--serif);color:#fff;font-size:1rem;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}
.fcol a{color:#a9b8d4;text-decoration:none;font-size:.9rem;transition:color .15s}
.fcol a:hover{color:var(--acc-a)}
.flogo{font-family:var(--serif);font-weight:800;font-size:1.3rem;color:#fff;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:9px}
.flogo::before{content:"";width:26px;height:26px;flex:none;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22a%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%238fd0ff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%234f8cff%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22b%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%234f8cff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%232f5bff%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cg%20stroke-width%3D%224.2%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%20fill%3D%22%230c1838%22%3E%3Cpath%20d%3D%22M8%2014h30v8H25v28h-8V22H8z%22%20stroke%3D%22url%28%23a%29%22%2F%3E%3Cpath%20d%3D%22M24%2024h30v8H41v26h-8V32H24z%22%20stroke%3D%22url%28%23b%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
  filter:drop-shadow(0 0 6px rgba(79,140,255,.85)) drop-shadow(0 0 14px rgba(59,130,246,.45))}
.fbrand p{color:#8798b6;font-size:.9rem;margin:6px 0 0;line-height:1.55}
.fdisc{margin-top:30px;padding-top:18px;border-top:1px solid rgba(143,196,255,.10);color:#7e8da6;font-size:.8rem;line-height:1.5}
footer a{color:var(--acc-a)}
.disc{font-size:.8rem;color:var(--sub);margin-top:10px}

/* ---------- ACCESSIBILITY ---------- */
a:focus-visible,button:focus-visible,.btn:focus-visible,.tool:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--cta);outline-offset:3px;border-radius:8px}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .tool:hover{transform:none}
  .btn:hover{transform:none}
}

/* state ACA marketplace sibling cross-links (SEO interlink block) */
.statelinks{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.statelinks a{display:inline-block;padding:.4rem .8rem;border:1px solid rgba(90,162,255,.28);
  border-radius:999px;font-size:.92rem;text-decoration:none;background:var(--chip-bg);color:var(--chip-ink)}
.statelinks a:hover{border-color:var(--focus);background:rgba(90,162,255,.16);color:#fff}

/* GEO official-sources citation list */
.sources{margin:.6rem 0 1.2rem;padding-left:1.1rem;font-size:.92rem}
.sources li{margin:.3rem 0;color:var(--muted)}
.sources a{color:var(--link)}

/* ===================== LIGHT MODE =====================================
   Dark neon is the brand default. Light is opt-in via the nav toggle
   (data-theme="light"), and is also honoured for readers whose OS asks
   for light *and* who have not chosen a theme on this site.
   Deliberately dark in BOTH modes: the hero band, the footer, .cta
   blocks, .rtop result headers and .tool cards - they carry the neon
   identity and already ship their own dark grounds + light text. */
:root[data-theme="light"]{--bg:#eef2fb;--bg2:#e3eaf9;--paper:#eef2fb; --ink:#0f1c38;--ink-hi:#08122a;--body:#22314f;--sub:#46567a;--muted:#4a5a7d; --navbg:rgba(255,255,255,.88);--navlink:#2c3c63; --label:#1a294a;--field:#ffffff;--ph:#68758f; --panel:#e6ecf9;--rowalt:#f4f6fb;--panel-ink:#0f1c38; --th-a:#23409f;--th-b:#4327bd;--zebra:rgba(37,99,235,.055); --card-a:#ffffff;--card-b:#f6f9ff;--card-inset:rgba(37,99,235,.07); --link:#1749c8;--focus:#2563eb;--stat:#c2490a; --chip-bg:rgba(37,99,235,.07);--chip-ink:#22314f; --line:rgba(37,99,235,.24);--line2:rgba(37,99,235,.13); --gold:#1d4ed8;--gold2:#2563eb; --red:#c2263a;--green:#0f7a52; --glow1:rgba(59,130,246,.10);--glow2:rgba(124,92,255,.09);--glow3:rgba(124,92,255,.06); --grain-blend:multiply;--grain-op:.028;--warn-ink:#7a3d00;--warn-bg:rgba(255,154,60,.16);--track:rgba(37,99,235,.14); --shadow:0 1px 2px rgba(16,30,70,.06),0 8px 24px rgba(16,30,70,.09); --shadow-lg:0 2px 6px rgba(16,30,70,.08),0 18px 50px rgba(16,30,70,.14);}
@media (prefers-color-scheme:light){:root[data-theme="auto"]{--bg:#eef2fb;--bg2:#e3eaf9;--paper:#eef2fb; --ink:#0f1c38;--ink-hi:#08122a;--body:#22314f;--sub:#46567a;--muted:#4a5a7d; --navbg:rgba(255,255,255,.88);--navlink:#2c3c63; --label:#1a294a;--field:#ffffff;--ph:#68758f; --panel:#e6ecf9;--rowalt:#f4f6fb;--panel-ink:#0f1c38; --th-a:#23409f;--th-b:#4327bd;--zebra:rgba(37,99,235,.055); --card-a:#ffffff;--card-b:#f6f9ff;--card-inset:rgba(37,99,235,.07); --link:#1749c8;--focus:#2563eb;--stat:#c2490a; --chip-bg:rgba(37,99,235,.07);--chip-ink:#22314f; --line:rgba(37,99,235,.24);--line2:rgba(37,99,235,.13); --gold:#1d4ed8;--gold2:#2563eb; --red:#c2263a;--green:#0f7a52; --glow1:rgba(59,130,246,.10);--glow2:rgba(124,92,255,.09);--glow3:rgba(124,92,255,.06); --grain-blend:multiply;--grain-op:.028;--warn-ink:#7a3d00;--warn-bg:rgba(255,154,60,.16);--track:rgba(37,99,235,.14); --shadow:0 1px 2px rgba(16,30,70,.06),0 8px 24px rgba(16,30,70,.09); --shadow-lg:0 2px 6px rgba(16,30,70,.08),0 18px 50px rgba(16,30,70,.14);}}

:root[data-theme="light"] .result{border-color:var(--line)}
:root[data-theme="light"] details{border-bottom-color:var(--line)}
:root[data-theme="light"] table{border:1px solid var(--line)}
:root[data-theme="light"] .statelinks a{border-color:rgba(37,99,235,.28)}
:root[data-theme="light"] .statelinks a:hover{background:rgba(37,99,235,.14);color:#0b1730}
@media (prefers-color-scheme:light){
  
  :root[data-theme="auto"] .result{border-color:var(--line)}
  :root[data-theme="auto"] details{border-bottom-color:var(--line)}
  :root[data-theme="auto"] table{border:1px solid var(--line)}
  :root[data-theme="auto"] .statelinks a{border-color:rgba(37,99,235,.28)}
  :root[data-theme="auto"] .statelinks a:hover{background:rgba(37,99,235,.14);color:#0b1730}
}

/* ---------- theme toggle ---------- */
.themetog{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  width:34px;height:34px;padding:0;flex:none;cursor:pointer;
  border:1px solid var(--glassb);border-radius:999px;background:var(--glass);
  color:var(--navlink);font:inherit;line-height:1;
  transition:color .18s,border-color .18s,background .18s,transform .18s}
.themetog:hover{color:var(--acc-a);border-color:var(--acc-b);transform:translateY(-1px)}
.themetog svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;display:block}
.themetog .i-moon{display:none}
:root[data-theme="light"] .themetog .i-moon{display:block}
:root[data-theme="light"] .themetog .i-sun{display:none}
@media (prefers-color-scheme:light){
  :root[data-theme="auto"] .themetog .i-moon{display:block}
  :root[data-theme="auto"] .themetog .i-sun{display:none}
}
@media (prefers-reduced-motion:reduce){.themetog{transition:none}.themetog:hover{transform:none}}

/* footer social row — cross-link block, added 2026-08-21 */
.fsocial{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.fsocial a{color:#a9b8d4;text-decoration:none;font-size:.85rem;font-weight:600;transition:color .15s}
.fsocial a:hover{color:var(--acc-a)}
