    /* ========================================================
       FIXLITH HUB v5 — Ultra-Premium Design System
       Animated gradients · Deep glass · Living UI · Noise
       ======================================================== */

    /* --- TOKENS --- */
    :root {
        --bg:          #080C12;
        --bg-card:     #0F1319;
        --bg-card-h:   #151B25;
        --bg-elevated: #121820;
        --bg-glass:    rgba(12,17,24,.78);
        --bg-glass-h:  rgba(18,24,32,.85);
        --border:      rgba(255,255,255,.06);
        --border-h:    rgba(255,255,255,.12);
        --border-accent: rgba(0,168,232,.28);
        --text:        #E8EDF4;
        --text-dim:    #8B949E;
        --text-muted:  #5D6875;
        --accent:      #00A8E8;
        --accent-l:    #38CFFF;
        --accent-dim:  rgba(0,168,232,.10);
        --accent-glow: rgba(0,168,232,.20);
        --accent2:     #A78BFA;
        --accent2-dim: rgba(167,139,250,.10);
        --green:       #34D058;
        --green-dim:   rgba(52,208,88,.10);
        --yellow:      #E3A600;
        --yellow-dim:  rgba(227,166,0,.10);
        --orange:      #F0883E;
        --orange-dim:  rgba(240,136,62,.10);
        --red:         #F85149;
        --red-dim:     rgba(248,81,73,.10);
        --r:           14px;
        --r-sm:        10px;
        --r-lg:        20px;
        --max-w:       1024px;
        --nav-h:       72px;
        --shadow:      0 4px 20px rgba(0,0,0,.45);
        --shadow-lg:   0 12px 48px rgba(0,0,0,.55);
        --shadow-accent: 0 4px 24px rgba(0,168,232,.12);
        --transition:  .22s cubic-bezier(.4,0,.2,1);
        --spring:      .35s cubic-bezier(.175,.885,.32,1.275);
        /* Theme-specific */
        --noise-opacity: .35;
        --glow-opacity: 1;
        --hero-text-gradient: linear-gradient(135deg,#fff 0%,var(--accent-l) 60%,var(--accent2) 100%);
        --hub-text-gradient: linear-gradient(135deg,#fff,var(--accent-l),var(--accent2),var(--accent));
        --search-bg: var(--bg);
        --list-hover-bg: rgba(255,255,255,.035);
        --list-bg: rgba(255,255,255,.015);
        --scrollbar-thumb: rgba(255,255,255,.08);
        --scrollbar-thumb-h: rgba(255,255,255,.15);
        --selection-bg: rgba(0,168,232,.25);
        --code-color: var(--accent);
        --nav-border-line-opacity: .35;
        --card-gradient-border: linear-gradient(135deg,var(--accent),var(--accent2));
        /* Aliases for stories.css compatibility */
        --glass-bg: var(--bg-glass);
        --glass-border: var(--border);
        --text-primary: var(--text);
        --text-secondary: var(--text-dim);
    }

    /* ============ LIGHT THEME ============ */
    [data-theme="light"] {
        --bg:          #F5F7FA;
        --bg-card:     #FFFFFF;
        --bg-card-h:   #F0F4F8;
        --bg-elevated: #FAFBFC;
        --bg-glass:    rgba(255,255,255,.82);
        --bg-glass-h:  rgba(245,247,250,.92);
        --border:      rgba(0,0,0,.08);
        --border-h:    rgba(0,0,0,.14);
        --border-accent: rgba(0,140,200,.25);
        --text:        #1A2332;
        --text-dim:    #5A6577;
        --text-muted:  #8B95A5;
        --accent:      #0084C7;
        --accent-l:    #0098E0;
        --accent-dim:  rgba(0,132,199,.08);
        --accent-glow: rgba(0,132,199,.12);
        --accent2:     #7C5CCC;
        --accent2-dim: rgba(124,92,204,.07);
        --green:       #1A9D3B;
        --green-dim:   rgba(26,157,59,.08);
        --yellow:      #B88600;
        --yellow-dim:  rgba(184,134,0,.08);
        --orange:      #D06820;
        --orange-dim:  rgba(208,104,32,.08);
        --red:         #D93025;
        --red-dim:     rgba(217,48,37,.08);
        --shadow:      0 2px 12px rgba(0,0,0,.08);
        --shadow-lg:   0 8px 32px rgba(0,0,0,.10);
        --shadow-accent: 0 4px 20px rgba(0,132,199,.10);
        --noise-opacity: 0;
        --glow-opacity: 0;
        --hero-text-gradient: linear-gradient(135deg,#1A2332 0%,var(--accent) 60%,var(--accent2) 100%);
        --hub-text-gradient: linear-gradient(135deg,#1A2332,var(--accent),var(--accent2),var(--accent));
        --search-bg: #fff;
        --list-hover-bg: rgba(0,0,0,.03);
        --list-bg: rgba(0,0,0,.015);
        --scrollbar-thumb: rgba(0,0,0,.12);
        --scrollbar-thumb-h: rgba(0,0,0,.2);
        --selection-bg: rgba(0,132,199,.20);
        --code-color: var(--accent);
        --nav-border-line-opacity: .5;
        --card-gradient-border: linear-gradient(135deg,var(--accent),var(--accent2));
        /* Aliases for stories.css compatibility */
        --glass-bg: rgba(0,0,0,.03);
        --glass-border: rgba(0,0,0,.08);
        --text-primary: #1A2332;
        --text-secondary: #5A6577;
    }
    /* Remove ambient glow & noise in light mode */
    [data-theme="light"] body::before{opacity:var(--glow-opacity)}
    [data-theme="light"] body::after{opacity:var(--noise-opacity)}

    /* --- RESET --- */
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
    body{
        font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
        background:var(--bg);color:var(--text);line-height:1.6;
        -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
        overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}

    /* Custom scrollbar */
    ::-webkit-scrollbar{width:6px}
    ::-webkit-scrollbar-track{background:transparent}
    ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}
    ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-h)}
    ::selection{background:var(--selection-bg);color:var(--text)}

    /* --- AMBIENT: dual glow + noise + grid --- */
    body::before{
        content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
        opacity:var(--glow-opacity);
        background:
            radial-gradient(ellipse 600px 500px at 20% 10%,rgba(0,168,232,.06),transparent),
            radial-gradient(ellipse 500px 400px at 80% 85%,rgba(167,139,250,.04),transparent);
    }
    body::after{
        content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
        opacity:var(--noise-opacity);
        background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
        background-repeat:repeat;background-size:256px 256px;
    }

    /* =============== TOPNAV — glass bar with gradient line =============== */
    .fh-nav{
        position:sticky;top:0;z-index:200;height:var(--nav-h);
        display:flex;align-items:center;justify-content:space-between;
        padding:0 28px;
        background:var(--bg-glass);backdrop-filter:blur(24px) saturate(1.8);
        -webkit-backdrop-filter:blur(24px) saturate(1.8);
        border-bottom:1px solid var(--border);
    }
    .fh-nav::after{
        content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;
        background:linear-gradient(90deg,transparent 5%,var(--accent) 30%,var(--accent2) 70%,transparent 95%);
        opacity:var(--nav-border-line-opacity);
    }
    .fh-nav-brand{
        display:flex;align-items:center;gap:12px;
        text-decoration:none;color:var(--text);font-weight:800;font-size:1.375rem;
        letter-spacing:-.03em;transition:all var(--transition);
    }
    .fh-nav-brand:hover{color:var(--accent-l)}
    .fh-nav-brand img{width:38px;height:38px;border-radius:10px;box-shadow:0 0 12px rgba(0,168,232,.15)}
    .fh-nav-brand .brand-hub{
        font-size:13px;font-weight:600;
        background:linear-gradient(135deg,var(--accent),var(--accent2));
        -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
        padding:1px 0;margin-left:2px;letter-spacing:.5px;text-transform:uppercase;
    }
    .fh-nav-right{display:flex;align-items:center;gap:14px}

    /* Language switcher — hover dropdown (matching landing) */
    .fh-lang-sw{position:relative}
    .fh-lang-btn{
        display:flex;align-items:center;gap:6px;
        padding:8px 14px;background:transparent;
        border:1px solid var(--border);border-radius:999px;
        color:var(--text-dim);font-size:.8125rem;font-weight:600;
        cursor:pointer;transition:all .2s;white-space:nowrap;
    }
    .fh-lang-btn:hover{border-color:var(--accent);color:var(--text)}
    .fh-lang-btn .chevron{font-size:.5rem;margin-left:2px;transition:transform .2s}
    .fh-lang-sw:hover .chevron{transform:rotate(180deg)}
    .fh-lang-dd{
        position:absolute;top:calc(100% + 8px);right:0;
        background:var(--bg-card);border:1px solid var(--border);
        border-radius:var(--r-sm);box-shadow:0 20px 60px rgba(0,0,0,.5);
        min-width:160px;opacity:0;visibility:hidden;
        transform:translateY(-8px);transition:all .2s;overflow:hidden;z-index:300;
    }
    .fh-lang-sw:hover .fh-lang-dd{opacity:1;visibility:visible;transform:translateY(0)}
    .fh-lang-dd a{
        display:block;padding:10px 16px;color:var(--text-dim);
        font-size:.875rem;transition:all .15s;
    }
    .fh-lang-dd a:hover{background:rgba(0,168,232,.08);color:var(--text)}
    .fh-lang-dd a.active{color:var(--accent);font-weight:600}

    /* Download CTA in nav */
    .fh-nav-cta{
        display:none;padding:8px 20px;border-radius:999px;font-size:.875rem;font-weight:600;
        background:linear-gradient(135deg,var(--accent),var(--accent-l));
        color:#fff;transition:all .25s;letter-spacing:.1px;
        box-shadow:0 4px 20px rgba(0,168,232,.3);
    }
    .fh-nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,168,232,.4)}
    @media(min-width:640px){.fh-nav-cta{display:inline-flex}}

    /* =============== LAYOUT =============== */
    .fh-main{padding:28px 20px 100px;position:relative;z-index:1}
    .fh-container{max-width:var(--max-w);margin:0 auto}

    /* =============== BREADCRUMBS =============== */
    .fh-crumbs{
        font-size:.8125rem;color:var(--text-muted);margin-bottom:20px;
        display:flex;align-items:center;gap:6px;flex-wrap:wrap;
    }
    .fh-crumbs a{color:var(--text-muted);transition:color var(--transition)}
    .fh-crumbs a:hover{color:var(--accent)}
    .fh-crumbs .sep{opacity:.3}

    /* =============== HERO — animated gradient border =============== */
    .fh-hero{
        position:relative;overflow:hidden;
        background:var(--bg-card);
        border-radius:var(--r-lg);padding:24px 28px 20px;margin-bottom:16px;
    }
    /* Animated gradient border */
    .fh-hero::before{
        content:'';position:absolute;inset:0;border-radius:var(--r-lg);padding:1px;
        background:linear-gradient(135deg,rgba(0,168,232,.3),rgba(167,139,250,.15),rgba(0,168,232,.05),rgba(167,139,250,.25));
        background-size:300% 300%;
        animation:borderShift 8s ease-in-out infinite;
        -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
        -webkit-mask-composite:xor;mask-composite:exclude;
        pointer-events:none;
    }
    @keyframes borderShift{
        0%,100%{background-position:0% 50%}
        50%{background-position:100% 50%}
    }
    /* Inner glow */
    .fh-hero::after{
        content:'';position:absolute;top:-40%;right:-15%;width:350px;height:350px;
        border-radius:50%;
        background:radial-gradient(circle,rgba(0,168,232,.06),transparent 70%);
        pointer-events:none;
    }
    .fh-hero h1{
        font-size:clamp(1.75rem,3vw,2.25rem);font-weight:900;letter-spacing:-.5px;margin-bottom:10px;
        background:var(--hero-text-gradient);
        -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
        position:relative;
    }
    .fh-short{
        font-size:1.0625rem;color:var(--text-dim);line-height:1.7;
        margin-bottom:14px;max-width:700px;
    }

    /* Fact chips — glass with colored glow */
    .fh-facts{
        display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;
    }
    .fh-fact{
        background:var(--bg-glass);border:1px solid var(--border);
        border-radius:var(--r-sm);padding:9px 12px;text-align:center;
        backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
        transition:all var(--transition);position:relative;
    }
    .fh-fact:hover{border-color:var(--border-h);transform:translateY(-2px);box-shadow:var(--shadow)}
    .fh-fact-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;font-weight:600}
    .fh-fact-val{display:block;font-size:1rem;font-weight:800;letter-spacing:-.2px}
    .sev-low{color:var(--green)}.sev-medium{color:var(--yellow)}.sev-high{color:var(--orange)}.sev-critical{color:var(--red)}
    .safe-yes{color:var(--green)}.safe-caution{color:var(--yellow)}.safe-no{color:var(--red)}
    .val-cost{color:var(--text)}.val-system{color:var(--accent-l)}

    /* Colored glow on fact chips */
    .fh-fact:has(.sev-critical),.fh-fact:has(.safe-no){box-shadow:inset 0 -1px 12px var(--red-dim)}
    .fh-fact:has(.sev-high),.fh-fact:has(.safe-caution){box-shadow:inset 0 -1px 12px var(--orange-dim)}
    .fh-fact:has(.sev-low),.fh-fact:has(.safe-yes){box-shadow:inset 0 -1px 12px var(--green-dim)}

    /* Diagnostic summary above the fold */
    .fh-diagnostic-summary{
        margin:16px 0 12px;padding:14px;
        border:1px solid var(--border);
        border-radius:16px;background:rgba(255,255,255,.035);
        position:relative;z-index:1;
    }
    .fh-summary-main{
        display:flex;align-items:center;justify-content:space-between;gap:14px;
        margin-bottom:10px;color:var(--text-muted);font-size:12px;font-weight:800;
        text-transform:uppercase;letter-spacing:.06em;
    }
    .fh-summary-main strong{
        color:var(--accent);font-family:'JetBrains Mono','SF Mono',monospace;
        font-size:18px;letter-spacing:0;
    }
    .fh-summary-grid{
        display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
    }
    .fh-summary-card{
        min-height:82px;padding:11px 12px;border-radius:12px;
        background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07);
    }
    .fh-summary-card span{
        display:block;margin-bottom:6px;color:var(--text-muted);
        font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
    }
    .fh-summary-card strong{
        display:block;color:var(--text);font-size:13px;line-height:1.42;font-weight:750;
    }
    .fh-summary-card-wide{grid-column:span 2}
    .fh-trust-row{
        display:flex;align-items:center;gap:8px;flex-wrap:wrap;
        margin:10px 0 0;position:relative;z-index:1;
    }
    .fh-trust-row span{
        display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;
        background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
        color:var(--text-dim);font-size:11px;font-weight:700;
    }

    /* Personal DTC flow */
    .fh-personal-card{
        margin:-2px 0 16px;padding:18px;
        border-radius:16px;border:1px solid rgba(0,168,232,.20);
        background:linear-gradient(135deg,rgba(0,168,232,.075),rgba(124,92,255,.04)),var(--bg-card);
        box-shadow:0 10px 32px rgba(0,0,0,.13);
    }
    .fh-personal-head{
        display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;
    }
    .fh-personal-head h2{margin:0 0 4px;font-size:19px;letter-spacing:0}
    .fh-personal-head p{margin:0;color:var(--text-dim);font-size:13px;line-height:1.5}
    .fh-personal-code{
        flex:0 0 auto;padding:8px 11px;border-radius:12px;
        background:var(--accent-dim);border:1px solid var(--border-accent);
        color:var(--accent);font-family:'JetBrains Mono','SF Mono',monospace;font-weight:900;
    }
    .fh-personal-form{
        display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:10px;align-items:end;
    }
    .fh-personal-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
    .fh-personal-form label span{color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
    .fh-personal-form input{
        width:100%;min-width:0;padding:12px 13px;border-radius:12px;
        border:1px solid var(--border);background:var(--bg-card);color:var(--text);
        font:inherit;outline:none;
    }
    .fh-personal-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
    .fh-personal-form button{
        min-height:45px;padding:0 18px;border:0;border-radius:12px;
        background:linear-gradient(135deg,var(--accent),var(--accent-l));color:#fff;
        font:inherit;font-weight:850;cursor:pointer;box-shadow:0 8px 22px rgba(0,168,232,.20);
    }
    .fh-personal-result{
        margin-top:14px;padding:14px;border-radius:14px;
        background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);
    }
    .fh-personal-result strong{display:block;margin-bottom:5px;color:var(--text);font-size:16px}
    .fh-personal-result p{margin:0 0 12px;color:var(--text-dim);font-size:13px}
    .fh-personal-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
    .fh-personal-result-grid div{padding:10px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
    .fh-personal-result-grid span{display:block;margin-bottom:5px;color:var(--text-muted);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}
    .fh-personal-result-grid b{font-size:12px;line-height:1.4}

    /* Hero meta line */
    .fh-meta{
        display:flex;align-items:center;gap:16px;flex-wrap:wrap;
        padding-top:12px;border-top:1px solid rgba(255,255,255,.04);
        font-size:.8125rem;color:var(--text-muted);
    }
    .fh-meta span{display:inline-flex;align-items:center;gap:5px}
    .fh-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);display:inline-block}

    /* Hero CTA row */
    .fh-hero-cta{
        display:flex;align-items:center;justify-content:space-between;gap:16px;
        margin-top:10px;padding-top:10px;
        border-top:1px solid rgba(255,255,255,.04);
    }
    .fh-hero-cta-copy{min-width:0}
    .fh-hero-cta-copy strong{
        display:block;color:var(--text);font-size:15px;font-weight:900;line-height:1.25;
    }
    .fh-hero-cta-copy span{
        display:block;margin-top:3px;color:var(--text-muted);font-size:11px;line-height:1.4;
    }
    .fh-hero-platforms{
        display:flex;align-items:center;gap:8px;flex:0 0 auto;
    }
    .fh-hero-store{
        min-height:42px;display:inline-flex;align-items:center;justify-content:center;
        padding:0 16px;border-radius:999px;color:#fff;font-weight:850;font-size:13px;
        border:1px solid rgba(255,255,255,.12);
        box-shadow:0 8px 22px rgba(0,0,0,.18);
        transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
        white-space:nowrap;
    }
    .fh-hero-store:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.24);border-color:rgba(255,255,255,.24)}
    .fh-hero-store-ios{background:#111827}
    .fh-hero-store-google{background:linear-gradient(135deg,#0693D1,#06B6D4)}

    /* Brand badges */
    .fh-brands{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
    .fh-badge{
        display:inline-flex;align-items:center;gap:4px;padding:3px 10px;
        background:rgba(255,255,255,.03);border:1px solid var(--border);
        border-radius:20px;font-size:11px;color:var(--text-dim);font-weight:500;
        transition:all var(--transition);
    }
    .fh-badge:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}

    /* =============== STICKY TOC — glass bar =============== */
    .fh-toc{
        position:sticky;top:var(--nav-h);z-index:100;
        background:var(--bg-glass);backdrop-filter:blur(18px) saturate(1.4);
        -webkit-backdrop-filter:blur(18px) saturate(1.4);
        border-bottom:1px solid var(--border);
        margin:0 -20px 24px;padding:0 20px;
        overflow-x:auto;-webkit-overflow-scrolling:touch;
    }
    .fh-toc-progress{
        position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;pointer-events:none;
    }
    .fh-toc-progress span{
        display:block;width:0;height:100%;
        background:linear-gradient(90deg,var(--accent),var(--accent2));
        box-shadow:0 0 12px rgba(0,168,232,.35);
    }
    .fh-toc::after{
        content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;
        background:linear-gradient(90deg,transparent 10%,rgba(0,168,232,.15) 50%,transparent 90%);
    }
    .fh-toc::-webkit-scrollbar{height:0}
    .fh-toc-inner{
        display:flex;gap:2px;max-width:var(--max-w);margin:0 auto;padding:7px 0;
    }
    .fh-toc a{
        padding:8px 16px;border-radius:8px;
        font-size:.8125rem;font-weight:600;color:var(--text-dim);
        white-space:nowrap;transition:all var(--transition);
        border:1px solid transparent;position:relative;
    }
    .fh-toc a:hover{color:var(--text);background:rgba(255,255,255,.06)}
    .fh-toc a.toc-active{
        color:#fff;
        background:linear-gradient(135deg,var(--accent-dim),var(--accent2-dim));
        border-color:var(--border-accent);font-weight:700;
        box-shadow:0 0 12px rgba(0,168,232,.15);
    }
    .fh-toc a.toc-active::after{
        content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);
        width:16px;height:2px;border-radius:1px;
        background:linear-gradient(90deg,var(--accent),var(--accent2));
    }

    /* =============== SECTIONS =============== */
    .fh-section{
        border-radius:var(--r);padding:24px;margin-bottom:14px;
        transition:all var(--transition);position:relative;
    }
    .fh-section:hover{transform:translateY(-1px)}
    .fh-section h2{
        font-size:1.25rem;font-weight:700;margin-bottom:16px;
        display:flex;align-items:center;gap:10px;letter-spacing:-.2px;
    }
    .ico{font-size:20px;flex-shrink:0}

    /* Section types */
    .s-info{background:var(--bg-card);border:1px solid var(--border)}
    .s-info p{font-size:1rem;color:var(--text);line-height:1.8}

    .s-warn{
        background:linear-gradient(145deg,rgba(227,166,0,.05),var(--bg-card));
        border:1px solid rgba(227,166,0,.12);
    }
    .s-warn::before{
        content:'';position:absolute;top:0;left:0;width:3px;height:100%;
        background:linear-gradient(180deg,var(--yellow),transparent);border-radius:var(--r) 0 0 var(--r);
    }
    .s-warn h2{color:var(--yellow)}

    .s-danger{
        background:linear-gradient(145deg,rgba(248,81,73,.05),var(--bg-card));
        border:1px solid rgba(248,81,73,.10);
    }
    .s-danger::before{
        content:'';position:absolute;top:0;left:0;width:3px;height:100%;
        background:linear-gradient(180deg,var(--red),transparent);border-radius:var(--r) 0 0 var(--r);
    }
    .s-danger h2{color:var(--red)}

    .s-safe{
        background:linear-gradient(145deg,rgba(52,208,88,.05),var(--bg-card));
        border:1px solid rgba(52,208,88,.10);
    }
    .s-safe::before{
        content:'';position:absolute;top:0;left:0;width:3px;height:100%;
        background:linear-gradient(180deg,var(--green),transparent);border-radius:var(--r) 0 0 var(--r);
    }
    .s-safe h2{color:var(--green)}

    .s-action{
        background:var(--bg-card);border:1px solid var(--border);
        border-left:3px solid var(--accent);
    }
    .s-action h2{color:var(--accent)}

    .s-proof{
        background:var(--bg-elevated);border:1px solid var(--border);
    }
    .s-proof h2{color:var(--text-dim);font-size:1rem}

    .s-commerce{
        background:var(--bg-card);border:1px solid var(--border);
        border-left:3px solid var(--green);
    }
    .s-commerce h2{color:var(--green)}

    /* =============== DRIVE BLOCK =============== */
    .fh-drive{
        display:flex;gap:14px;align-items:flex-start;
        padding:16px;border-radius:var(--r-sm);
    }
    .fh-drive-yes{background:var(--green-dim);border:1px solid rgba(52,208,88,.15)}
    .fh-drive-caution{background:var(--yellow-dim);border:1px solid rgba(227,166,0,.15)}
    .fh-drive-no{background:var(--red-dim);border:1px solid rgba(248,81,73,.15)}
    .fh-drive-icon{font-size:28px;flex-shrink:0;margin-top:2px}
    .fh-drive-body strong{display:block;margin-bottom:4px;font-size:1rem}
    .fh-drive-body p{font-size:.9375rem;color:var(--text-dim);line-height:1.7;margin:0}

    /* =============== LISTS =============== */
    .fh-list{list-style:none;display:flex;flex-direction:column;gap:5px}
    .fh-list li{
        display:flex;align-items:flex-start;gap:10px;
        padding:12px 16px;background:var(--list-bg);
        border:1px solid transparent;
        border-radius:8px;font-size:.9375rem;line-height:1.65;
        transition:all var(--transition);
    }
    .fh-list li:hover{background:var(--list-hover-bg);border-color:var(--border)}
    .li-mark{flex-shrink:0;font-size:12px}
    .li-num{
        flex-shrink:0;width:24px;height:24px;border-radius:50%;
        display:flex;align-items:center;justify-content:center;
        font-size:11px;font-weight:800;
    }
    .li-num-blue{background:var(--accent-dim);color:var(--accent)}
    .li-num-green{background:var(--green-dim);color:var(--green)}

    /* =============== FIRST-PARTY =============== */
    .fp-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
    .fp-stat{
        display:flex;align-items:center;gap:6px;
        font-size:.9375rem;font-weight:600;color:var(--accent);
    }
    .fp-chips{display:flex;gap:5px;flex-wrap:wrap}
    .fp-chip{
        padding:4px 12px;background:rgba(255,255,255,.04);
        border:1px solid var(--border);border-radius:20px;
        font-size:.8125rem;color:var(--text-dim);font-weight:500;
    }

    /* Proof signal rows */
    .fp-signals{display:flex;flex-direction:column;gap:10px;margin-top:14px;
        padding-top:12px;border-top:1px solid var(--border)}
    .fp-signal-row{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--text-dim)}
    .fp-signal-icon{font-size:14px;flex-shrink:0}
    .fp-signal-label{color:var(--text-muted);font-weight:600;flex-shrink:0;min-width:70px}
    .fp-signal-chips{display:flex;gap:4px;flex-wrap:wrap}
    .fp-signal-chip{
        padding:2px 10px;background:rgba(255,255,255,.04);
        border:1px solid var(--border);border-radius:12px;
        font-size:11px;color:var(--text-dim);font-weight:500;
        transition:all var(--transition);
    }
    a.fp-signal-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}
    .fp-signal-value{color:var(--accent);font-weight:600}

    /* =============== COST — shimmer bar =============== */
    .fh-cost-bar{padding:8px 0}
    .cost-track{
        height:10px;background:rgba(255,255,255,.04);border-radius:5px;
        overflow:hidden;margin-bottom:10px;position:relative;
    }
    .cost-fill{
        height:100%;border-radius:5px;
        background:linear-gradient(90deg,var(--green),var(--yellow),var(--orange));
        transition:width .8s cubic-bezier(.4,0,.2,1);
        position:relative;
    }
    .cost-fill::after{
        content:'';position:absolute;inset:0;
        background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);
        animation:shimmer 2s ease-in-out infinite;
    }
    @keyframes shimmer{
        0%{transform:translateX(-100%)}
        100%{transform:translateX(100%)}
    }
    .cost-vals{display:flex;justify-content:space-between;font-size:17px;font-weight:800}
    .cost-vals span:first-child{color:var(--green)}
    .cost-vals span:last-child{color:var(--orange)}

    /* =============== PARTS =============== */
    .fh-parts{display:flex;flex-wrap:wrap;gap:6px}
    .fh-part{
        padding:6px 14px;background:var(--green-dim);
        border:1px solid rgba(52,208,88,.12);border-radius:8px;
        font-size:12px;font-weight:500;transition:all var(--transition);
    }
    .fh-part:hover{border-color:rgba(52,208,88,.25);transform:translateY(-1px)}

    /* =============== FAQ =============== */
    .fh-faq-list{display:flex;flex-direction:column;gap:6px}
    .fh-faq{
        border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;
        transition:all var(--transition);
    }
    .fh-faq:hover{border-color:var(--border-h)}
    .fh-faq[open]{border-color:var(--border-accent);box-shadow:0 0 16px rgba(0,168,232,.06)}
    .fh-faq summary{
        padding:14px 16px;cursor:pointer;font-weight:600;font-size:13px;
        color:var(--text);background:rgba(255,255,255,.015);
        transition:all var(--transition);list-style:none;
        display:flex;align-items:center;gap:10px;
    }
    .fh-faq summary::-webkit-details-marker{display:none}
    .fh-faq summary::before{
        content:'+';font-size:16px;font-weight:800;color:var(--accent);
        width:22px;height:22px;display:flex;align-items:center;justify-content:center;
        border-radius:6px;background:var(--accent-dim);
        transition:all var(--transition);flex-shrink:0;
    }
    .fh-faq[open] summary::before{content:'−';background:rgba(0,168,232,.18);box-shadow:0 0 10px rgba(0,168,232,.1)}
    .fh-faq summary:hover{background:rgba(255,255,255,.035)}
    .fh-faq-ans{
        padding:12px 16px 16px;font-size:13px;color:var(--text-dim);
        line-height:1.65;border-top:1px solid var(--border);
    }

    /* =============== GRIDS =============== */
    .fh-grid{display:grid;gap:10px}
    .fh-grid-codes{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
    .fh-grid-brands{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
    .fh-grid-related{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}

    /* Cards — gradient border on hover */
    .fh-card{
        display:flex;flex-direction:column;
        padding:16px;background:var(--bg-card);border:1px solid var(--border);
        border-radius:var(--r-sm);color:var(--text);
        transition:all var(--transition);position:relative;overflow:hidden;
    }
    .fh-card::before{
        content:'';position:absolute;inset:0;border-radius:var(--r-sm);padding:1px;
        background:linear-gradient(135deg,var(--accent),var(--accent2));
        -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
        -webkit-mask-composite:xor;mask-composite:exclude;
        opacity:0;transition:opacity var(--transition);pointer-events:none;
    }
    .fh-card:hover{
        background:var(--bg-card-h);
        transform:translateY(-3px);box-shadow:var(--shadow-accent);
    }
    .fh-card:hover::before{opacity:1}
    .fh-card-code{
        font-family:'JetBrains Mono','SF Mono',monospace;
        font-weight:700;font-size:15px;color:var(--code-color);margin-bottom:5px;
    }
    .fh-card-desc{font-size:11px;color:var(--text-dim);line-height:1.5}
    .fh-card-views{font-size:10px;color:var(--text-muted);margin-top:6px}
    .fh-card-sev{
        position:absolute;top:14px;right:14px;width:8px;height:8px;
        border-radius:50%;
    }
    .fh-card-sev.high{background:var(--orange);box-shadow:0 0 8px var(--orange);animation:pulse 2s ease infinite}
    .fh-card-sev.critical{background:var(--red);box-shadow:0 0 8px var(--red);animation:pulse 1.5s ease infinite}
    @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}

    /* Card meta row */
    .fh-card-meta{display:flex;gap:5px;margin-top:8px;align-items:center;flex-wrap:wrap}
    .fh-sev-badge{
        display:inline-flex;align-items:center;gap:3px;
        padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;
        text-transform:uppercase;letter-spacing:.3px;
    }
    .fh-sev-badge.sev-low{color:var(--green);background:var(--green-dim)}
    .fh-sev-badge.sev-medium{color:var(--yellow);background:var(--yellow-dim)}
    .fh-sev-badge.sev-high{color:var(--orange);background:var(--orange-dim)}
    .fh-sev-badge.sev-critical{color:var(--red);background:var(--red-dim)}
    .fh-views-badge{
        display:inline-flex;align-items:center;gap:3px;
        padding:2px 8px;border-radius:10px;font-size:10px;
        color:var(--text-muted);background:rgba(255,255,255,.04);font-weight:500;
    }

    .fh-brand-card{
        display:flex;flex-direction:column;align-items:center;justify-content:center;
        padding:14px 10px;background:var(--bg-card);border:1px solid var(--border);
        border-radius:var(--r-sm);font-weight:600;font-size:13px;text-align:center;
        min-height:50px;transition:all var(--transition);
    }
    .fh-brand-card:hover{
        border-color:var(--border-accent);background:var(--bg-card-h);
        transform:translateY(-2px);box-shadow:var(--shadow);
    }
    .fh-brand-cnt{font-size:10px;color:var(--text-muted);margin-top:3px;font-weight:500}

    /* Related cards — gradient hover */
    .fh-related-card{
        display:flex;flex-direction:column;align-items:center;justify-content:center;
        padding:16px;background:var(--bg-card);border:1px solid var(--border);
        border-radius:var(--r-sm);transition:all var(--transition);text-align:center;
        position:relative;overflow:hidden;
    }
    .fh-related-card::before{
        content:'';position:absolute;inset:0;border-radius:var(--r-sm);padding:1px;
        background:linear-gradient(135deg,var(--accent),var(--accent2));
        -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
        -webkit-mask-composite:xor;mask-composite:exclude;
        opacity:0;transition:opacity var(--transition);pointer-events:none;
    }
    .fh-related-card:hover{background:var(--bg-card-h);transform:translateY(-3px);box-shadow:var(--shadow-accent)}
    .fh-related-card:hover::before{opacity:1}
    .fh-related-code{
        font-family:'JetBrains Mono','SF Mono',monospace;
        font-size:15px;font-weight:700;color:var(--code-color);
    }
    .fh-related-desc{font-size:11px;color:var(--text-muted);margin-top:4px;font-family:'Inter',sans-serif;line-height:1.4}
    .fh-related-tag{
        display:inline-block;padding:2px 8px;border-radius:8px;
        background:var(--accent2-dim);border:1px solid rgba(167,139,250,.15);
        font-size:9px;color:var(--accent2);font-weight:600;
        text-transform:uppercase;letter-spacing:.4px;margin-top:6px;
    }

    /* =============== SEARCH =============== */
    .fh-search{max-width:440px;margin:0 auto 16px}
    .fh-search{position:relative}
    .fh-search-form{
        display:flex;background:var(--search-bg);
        border:1px solid var(--border);border-radius:12px;
        overflow:hidden;transition:all var(--transition);
        box-shadow:0 4px 20px rgba(0,0,0,.3);
    }
    .fh-search-form:focus-within{
        border-color:var(--accent);
        box-shadow:0 4px 28px rgba(0,168,232,.15),0 0 0 3px rgba(0,168,232,.06);
    }
    .fh-search-form input{
        flex:1;border:none;background:transparent;color:var(--text);
        padding:13px 18px;font-size:14px;font-family:inherit;outline:none;
    }
    .fh-search-form input::placeholder{color:var(--text-muted)}
    .fh-search-btn{
        background:transparent;border:none;color:var(--text-dim);
        padding:13px 16px;cursor:pointer;transition:color var(--transition);
    }
    .fh-search-btn:hover{color:var(--accent)}
    .fh-search-hint{
        margin-top:7px;color:var(--text-muted);font-size:11px;text-align:left;
    }
    .fh-search-suggestions{
        position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;
        padding:8px;border-radius:14px;background:var(--bg-card);
        border:1px solid var(--border);box-shadow:0 18px 46px rgba(0,0,0,.32);
        text-align:left;
    }
    .fh-search-suggestions-title{
        padding:6px 8px 8px;color:var(--text-muted);
        font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;
    }
    .fh-search-suggestion{
        display:grid;grid-template-columns:minmax(82px,.7fr) minmax(0,1.8fr) auto;
        align-items:center;gap:12px;padding:10px;border-radius:10px;color:var(--text);
    }
    .fh-search-suggestion:hover{background:rgba(255,255,255,.055)}
    .fh-search-suggestion span{display:flex;flex-direction:column;gap:2px}
    .fh-search-suggestion b{font-family:'JetBrains Mono','SF Mono',monospace;color:var(--accent);font-size:15px}
    .fh-search-suggestion small{color:var(--text-muted);font-size:10px;text-transform:uppercase;font-weight:800}
    .fh-search-suggestion em{font-style:normal;color:var(--text-dim);font-size:12px;line-height:1.35}
    .fh-search-suggestion strong{color:var(--accent-l);font-size:11px}
    .fh-search-empty{padding:12px;color:var(--text-dim);font-size:13px}

    /* Quick links pills */
    .fh-quick-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:-2px 0 14px}
    .fh-quick-link{
        padding:5px 14px;background:rgba(255,255,255,.03);
        border:1px solid var(--border);border-radius:20px;
        font-size:11px;color:var(--text-dim);font-weight:500;
        transition:all var(--transition);white-space:nowrap;
    }
    .fh-quick-link:hover{
        border-color:var(--accent);color:var(--accent);
        background:var(--accent-dim);box-shadow:0 0 12px rgba(0,168,232,.08);
    }

    /* =============== HUB STATS =============== */
    .fh-stats{display:flex;gap:24px;justify-content:center;margin-top:10px;margin-bottom:6px}
    .fh-stat{font-size:12px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:5px}
    .fh-stat-num{
        font-weight:900;font-size:16px;
        background:linear-gradient(135deg,var(--accent-l),var(--accent));
        -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    }

    /* =============== HUB QUICK ENTRIES — glass cards =============== */
    .fh-entries-section{margin-bottom:24px}
    .fh-entries{
        display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
        gap:10px;
    }
    .fh-entry{
        background:var(--bg-card);border:1px solid var(--border);
        border-radius:var(--r-sm);padding:14px 12px;
        display:flex;flex-direction:column;align-items:center;gap:5px;
        text-align:center;transition:all var(--transition);
        position:relative;overflow:hidden;
    }
    .fh-entry::before{
        content:'';position:absolute;inset:0;border-radius:var(--r-sm);padding:1px;
        background:linear-gradient(135deg,var(--accent),var(--accent2));
        -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
        -webkit-mask-composite:xor;mask-composite:exclude;
        opacity:0;transition:opacity var(--transition);pointer-events:none;
    }
    .fh-entry:hover{background:var(--bg-card-h);transform:translateY(-3px);box-shadow:var(--shadow)}
    .fh-entry:hover::before{opacity:1}
    .fh-entry-ico{font-size:22px;transition:transform var(--spring)}
    .fh-entry:hover .fh-entry-ico{transform:scale(1.15)}
    .fh-entry-label{font-size:12px;font-weight:700;letter-spacing:-.1px}
    .fh-entry-cnt{font-size:10px;color:var(--text-muted)}

    .code-count{font-size:12px;color:var(--text-muted);font-weight:500}

    /* =============== APP CTA =============== */
    .fh-app-cta{
        position:relative;overflow:hidden;
        display:grid;grid-template-columns:minmax(0,1fr) auto;
        align-items:center;gap:26px;
        margin-top:28px;padding:24px;
        background:
            linear-gradient(135deg,rgba(0,168,232,.08),rgba(124,92,255,.05) 48%,rgba(0,230,118,.06)),
            var(--bg-card);
        border:1px solid rgba(0,168,232,.24);
        border-radius:18px;
        box-shadow:0 14px 44px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.04);
    }
    .fh-app-cta::before{
        content:'';position:absolute;inset:0 0 auto;height:1px;
        background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
        pointer-events:none;
    }
    .fh-app-cta-copy{display:flex;align-items:center;gap:18px;min-width:0}
    .fh-app-cta-icon{
        flex:0 0 auto;width:70px;height:70px;border-radius:18px;
        display:grid;place-items:center;
        background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.03));
        border:1px solid rgba(255,255,255,.10);
        box-shadow:0 16px 30px rgba(0,0,0,.22);
    }
    .fh-app-cta-icon img{width:58px;height:58px;border-radius:15px;display:block}
    .fh-app-cta-text{min-width:0}
    .fh-app-cta-eyebrow{
        display:block;margin-bottom:5px;
        color:var(--accent);font-size:11px;font-weight:800;
        letter-spacing:.08em;text-transform:uppercase;
    }
    .fh-app-cta-text h3{
        margin:0 0 5px;font-size:20px;line-height:1.18;font-weight:900;
        color:var(--text);letter-spacing:0;
    }
    .fh-app-cta-text p{margin:0;color:var(--text-dim);font-size:13px}
    .fh-app-cta-text ul{
        display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;
    }
    .fh-app-cta-text li{
        color:var(--text-dim);font-size:12px;font-weight:650;
        padding:6px 9px;border-radius:999px;
        background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);
        white-space:nowrap;
    }
    .fh-app-cta-text li::before{content:'✓';color:#00E676;margin-right:6px;font-weight:900}
    .fh-app-context-actions{
        display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;
    }
    .fh-app-context-actions span{
        color:var(--accent-l);font-size:11px;font-weight:800;
        padding:5px 8px;border-radius:999px;background:var(--accent-dim);
        border:1px solid rgba(0,168,232,.15);
    }
    .fh-app-cta-actions{display:flex;align-items:center;gap:18px}
    .fh-app-store-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .fh-store-btn{
        min-width:142px;min-height:54px;
        display:flex;align-items:center;gap:10px;
        padding:10px 13px;border-radius:14px;
        color:#fff;border:1px solid rgba(255,255,255,.12);
        background:#111827;
        box-shadow:0 10px 26px rgba(0,0,0,.18);
        transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
    }
    .fh-store-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.25);border-color:rgba(255,255,255,.24)}
    .fh-store-google{background:linear-gradient(135deg,#0693D1,#06B6D4)}
    .fh-store-mark{
        width:25px;display:inline-flex;align-items:center;justify-content:center;
        font-size:22px;line-height:1;font-weight:900;
    }
    .fh-store-btn small{display:block;font-size:9px;line-height:1;color:rgba(255,255,255,.72);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
    .fh-store-btn strong{display:block;font-size:15px;line-height:1.15;color:#fff;font-weight:850;letter-spacing:0}

    /* Cost estimator */
    .fh-cost-estimator{
        margin-top:16px;padding:14px;border-radius:14px;
        background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);
    }
    .fh-cost-estimator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
    .fh-cost-estimator-head strong{font-size:15px}
    .fh-cost-estimator-head span{max-width:520px;color:var(--text-muted);font-size:12px;line-height:1.45;text-align:right}
    .fh-cost-estimator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
    .fh-cost-estimator-grid div{padding:11px 12px;border-radius:12px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07)}
    .fh-cost-estimator-grid span{display:block;margin-bottom:5px;color:var(--text-muted);font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.06em}
    .fh-cost-estimator-grid strong{font-size:15px;color:var(--text)}

    /* Collapsed repair story */
    .fh-story-collapsed{border:0}
    .fh-story-collapsed summary{
        list-style:none;display:flex;align-items:center;gap:14px;cursor:pointer;
        padding:16px;border-radius:14px;background:linear-gradient(135deg,var(--accent-dim),rgba(255,255,255,.03));
        border:1px solid var(--border-accent);
    }
    .fh-story-collapsed summary::-webkit-details-marker{display:none}
    .fh-story-summary-icon{font-size:24px}
    .fh-story-collapsed summary span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
    .fh-story-collapsed summary strong{color:var(--text);font-size:16px}
    .fh-story-collapsed summary small{color:var(--text-dim);font-size:12px;line-height:1.45}
    .fh-story-collapsed summary em{
        flex:0 0 auto;font-style:normal;color:#fff;font-weight:850;font-size:12px;
        padding:9px 12px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-l));
    }
    .fh-story-collapsed[open] summary{margin-bottom:18px}

    /* =============== BACK LINK =============== */
    .fh-back{display:block;margin-top:24px}
    .fh-back a{color:var(--text-muted);font-size:13px;transition:color var(--transition)}
    .fh-back a:hover{color:var(--accent)}

    /* =============== FOOTER =============== */
    .fh-footer{
        border-top:1px solid var(--border);padding:24px 20px;
        text-align:center;font-size:12px;color:var(--text-muted);margin-top:48px;
        position:relative;
    }
    .fh-footer::before{
        content:'';position:absolute;top:-1px;left:0;right:0;height:1px;
        background:linear-gradient(90deg,transparent 5%,rgba(0,168,232,.12) 50%,transparent 95%);
    }
    .fh-footer a{color:var(--accent)}
    .fh-footer a:hover{text-decoration:underline}

    /* =============== HUB HERO — animated text =============== */
    .fh-hero-hub{text-align:center;padding:32px 28px 20px}
    .fh-hero-hub h1{
        font-size:36px;
        background:var(--hub-text-gradient);
        background-size:300% 300%;
        -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
        animation:textGradient 6s ease-in-out infinite;
    }
    @keyframes textGradient{
        0%,100%{background-position:0% 50%}
        50%{background-position:100% 50%}
    }
    .fh-hero-hub .fh-short{margin:8px auto 22px;text-align:center;font-size:1rem}

    /* =============== EMPTY =============== */
    .fh-empty{text-align:center;padding:50px 20px;color:var(--text-dim);font-size:1rem}

    /* =============== RESPONSIVE =============== */
    @media(max-width:640px){
        .fh-hero{padding:20px 16px 16px}
        .fh-hero h1{font-size:1.5rem}
        .fh-hero-hub{padding:24px 16px 16px}
        .fh-hero-hub h1{font-size:27px}
        .fh-facts{grid-template-columns:repeat(2,1fr)}
        .fh-summary-grid{grid-template-columns:1fr}
        .fh-summary-card-wide{grid-column:auto}
        .fh-personal-head{flex-direction:column}
        .fh-personal-form{grid-template-columns:1fr}
        .fh-personal-result-grid{grid-template-columns:1fr}
        .fh-cost-estimator-head{flex-direction:column}
        .fh-cost-estimator-head span{text-align:left}
        .fh-cost-estimator-grid{grid-template-columns:1fr}
        .fh-search-suggestion{grid-template-columns:1fr}
        .fh-section{padding:18px 16px}
        .fh-app-cta{grid-template-columns:1fr;padding:20px;gap:18px;text-align:center}
        .fh-app-cta-copy{flex-direction:column}
        .fh-app-cta-text ul{justify-content:center}
        .fh-app-context-actions{justify-content:center}
        .fh-app-cta-text li{white-space:normal}
        .fh-app-cta-actions{flex-direction:column;align-items:stretch}
        .fh-app-store-row{grid-template-columns:1fr}
        .fh-store-btn{justify-content:center;min-width:0}
        .fh-nav{padding:0 14px}
        .fh-lang-btn{padding:6px 10px;font-size:.75rem}
        .fh-lang-dd{right:-10px}
        .fh-grid-codes{grid-template-columns:1fr}
        .fh-toc{margin:0 -20px 20px}
        .fh-meta{font-size:11px;gap:10px}
        .fh-hero-cta{flex-direction:column;align-items:stretch;text-align:center}
        .fh-hero-platforms{display:grid;grid-template-columns:1fr 1fr}
        .fh-hero-store{padding:0 12px}
        .fh-entries{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}
        .fh-quick-links{gap:5px}
        .fh-quick-link{padding:4px 10px;font-size:10px}
    }

    /* =============== ANIMATIONS =============== */
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
    .fh-section,.fh-hero,.fh-app-cta,.fh-entry{animation:fadeUp .5s ease both}
    .fh-card{animation:fadeUp .4s ease both}
    .fh-section:nth-child(2){animation-delay:.06s}
    .fh-section:nth-child(3){animation-delay:.12s}
    .fh-section:nth-child(4){animation-delay:.18s}
    .fh-section:nth-child(5){animation-delay:.24s}
    .fh-card:nth-child(1){animation-delay:.05s}
    .fh-card:nth-child(2){animation-delay:.1s}
    .fh-card:nth-child(3){animation-delay:.15s}
    .fh-card:nth-child(4){animation-delay:.2s}
    .fh-entry:nth-child(1){animation-delay:.05s}
    .fh-entry:nth-child(2){animation-delay:.1s}
    .fh-entry:nth-child(3){animation-delay:.15s}
    .fh-entry:nth-child(4){animation-delay:.2s}
    .fh-entry:nth-child(5){animation-delay:.25s}

    /* =============== STORY FORM =============== */
    .fh-story-promo{
        display:flex;align-items:center;gap:14px;
        padding:16px 18px;border-radius:var(--r-sm);margin-bottom:20px;
        background:linear-gradient(145deg,var(--accent-dim),var(--bg-card));
        border:1px solid var(--border-accent);
    }
    .fh-story-promo-icon{font-size:28px;flex-shrink:0}
    .fh-story-promo-text{font-size:13px;color:var(--text-dim);line-height:1.5}
    .fh-story-promo-text strong{display:block;color:var(--text);font-size:15px;font-weight:700;margin-bottom:4px}
    .fh-story-promo-text p{margin:0}

    .fh-story-form{position:relative}
    .fh-form-row{display:flex;gap:14px}
    .fh-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .fh-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
    .fh-form-group label{
        font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.1px;
    }
    .req{color:var(--red)}
    .fh-form-group input,
    .fh-form-group textarea,
    .fh-form-group select{
        width:100%;padding:11px 14px;border-radius:var(--r-sm);
        border:1px solid var(--border);background:var(--bg-card);
        color:var(--text);font-family:inherit;font-size:14px;
        transition:all var(--transition);outline:none;
    }
    .fh-form-group input:focus,
    .fh-form-group textarea:focus,
    .fh-form-group select:focus{
        border-color:var(--accent);
        box-shadow:0 0 0 3px var(--accent-dim),0 2px 12px rgba(0,168,232,.08);
    }
    .fh-form-group input::placeholder,
    .fh-form-group textarea::placeholder{color:var(--text-muted)}
    .fh-form-group textarea{resize:vertical;min-height:60px}
    .fh-form-group select{cursor:pointer;-webkit-appearance:none;appearance:none;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238B949E' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
        background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;
    }

    .fh-story-submit{
        width:100%;padding:13px;border:none;border-radius:var(--r-sm);cursor:pointer;
        background:linear-gradient(135deg,var(--accent),var(--accent-l));
        color:#fff;font-size:15px;font-weight:700;font-family:inherit;
        transition:all var(--transition);letter-spacing:.1px;
        box-shadow:0 4px 20px rgba(0,168,232,.25);
        position:relative;overflow:hidden;
    }
    .fh-story-submit:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(0,168,232,.35)}
    .fh-story-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
    .fh-form-note{
        font-size:11px;color:var(--text-muted);line-height:1.5;margin-top:12px;text-align:center;
    }
    @media(max-width:640px){
        .fh-form-row-2{grid-template-columns:1fr}
    }

    /* Smooth scroll */
    html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 50px)}

    /* =============== THEME TOGGLE =============== */
    .fh-theme-toggle{
        position:relative;width:44px;height:24px;border-radius:12px;
        background:var(--bg-card);border:1px solid var(--border);
        cursor:pointer;transition:all var(--transition);
        display:flex;align-items:center;padding:0;
        -webkit-appearance:none;appearance:none;outline:none;
        flex-shrink:0;
    }
    .fh-theme-toggle:hover{border-color:var(--border-h)}
    .fh-theme-toggle::before{
        content:'';position:absolute;
        width:18px;height:18px;border-radius:50%;
        top:2px;left:2px;
        background:linear-gradient(135deg,var(--accent),var(--accent-l));
        box-shadow:0 2px 6px rgba(0,168,232,.3);
        transition:all .3s cubic-bezier(.4,0,.2,1);
    }
    [data-theme="light"] .fh-theme-toggle::before{
        transform:translateX(20px);
        background:linear-gradient(135deg,#F59E0B,#F97316);
        box-shadow:0 2px 6px rgba(245,158,11,.3);
    }
    .fh-theme-toggle .toggle-icon{
        position:absolute;font-size:11px;transition:all .3s;pointer-events:none;
    }
    .fh-theme-toggle .icon-moon{right:5px;opacity:1}
    .fh-theme-toggle .icon-sun{left:5px;opacity:0}
    [data-theme="light"] .fh-theme-toggle .icon-moon{opacity:0}
    [data-theme="light"] .fh-theme-toggle .icon-sun{opacity:1}

    /* Light mode specific polishes */
    [data-theme="light"] .fh-nav{
        box-shadow:0 1px 8px rgba(0,0,0,.06);
    }
    [data-theme="light"] .fh-card{
        box-shadow:0 1px 4px rgba(0,0,0,.05);
    }
    [data-theme="light"] .fh-card:hover{
        box-shadow:0 4px 16px rgba(0,132,199,.10);
    }
    [data-theme="light"] .fh-hero{
        box-shadow:0 1px 6px rgba(0,0,0,.05);
    }
    [data-theme="light"] .fh-section{
        box-shadow:0 1px 4px rgba(0,0,0,.04);
    }
    [data-theme="light"] .fh-app-cta{
        box-shadow:0 2px 12px rgba(0,0,0,.06);
        background:
            linear-gradient(135deg,rgba(0,132,199,.07),rgba(83,109,254,.045) 48%,rgba(0,168,89,.06)),
            var(--bg-card);
        border-color:rgba(0,132,199,.22);
    }
    [data-theme="light"] .fh-entry{
        box-shadow:0 1px 3px rgba(0,0,0,.04);
    }
    [data-theme="light"] .fh-entry:hover{
        box-shadow:0 4px 16px rgba(0,0,0,.08);
    }
    [data-theme="light"] .fh-lang-btn{
        border-color:rgba(0,0,0,.12);color:var(--text-dim);
    }
    [data-theme="light"] .fh-lang-btn:hover{border-color:var(--accent)}
    [data-theme="light"] .fh-lang-dd{
        background:#fff;border-color:rgba(0,0,0,.08);
        box-shadow:0 12px 40px rgba(0,0,0,.12);
    }
    [data-theme="light"] .fh-lang-dd a:hover{
        background:rgba(0,132,199,.06);
    }
    [data-theme="light"] .fh-app-cta-icon,
    [data-theme="light"] .fh-app-cta-text li{
        background:rgba(0,0,0,.035);
        border-color:rgba(0,0,0,.07);
    }
    [data-theme="light"] .fh-diagnostic-summary,
    [data-theme="light"] .fh-personal-card,
    [data-theme="light"] .fh-cost-estimator,
    [data-theme="light"] .fh-story-collapsed summary{
        background:rgba(0,0,0,.025);
        border-color:rgba(0,132,199,.14);
    }
    [data-theme="light"] .fh-summary-card,
    [data-theme="light"] .fh-personal-result,
    [data-theme="light"] .fh-personal-result-grid div,
    [data-theme="light"] .fh-cost-estimator-grid div{
        background:rgba(0,0,0,.025);
        border-color:rgba(0,0,0,.07);
    }
    [data-theme="light"] .fh-search-suggestions{
        background:#fff;border-color:rgba(0,0,0,.10);box-shadow:0 14px 36px rgba(0,0,0,.13);
    }
    [data-theme="light"] .fh-search-suggestion:hover{background:rgba(0,132,199,.055)}
    [data-theme="light"] .fh-store-ios{background:#111827}
    [data-theme="light"] .fh-search-form{
        box-shadow:0 2px 12px rgba(0,0,0,.08);
    }
    [data-theme="light"] .fh-quick-link{
        background:rgba(0,0,0,.03);
    }
    [data-theme="light"] .fh-badge{
        background:rgba(0,0,0,.03);
    }
    [data-theme="light"] .fh-toc{
        box-shadow:0 1px 4px rgba(0,0,0,.05);
    }

    /* Light mode — fix hardcoded rgba(255,255,255,...) backgrounds */
    [data-theme="light"] .fh-lang-btn{
        border-color:rgba(0,0,0,.1);
    }
    [data-theme="light"] .fh-meta{
        border-top-color:rgba(0,0,0,.06);
    }
    [data-theme="light"] .fh-hero-cta{
        border-top-color:rgba(0,0,0,.06);
    }
    [data-theme="light"] .fh-faq summary{
        background:rgba(0,0,0,.015);
    }
    [data-theme="light"] .fh-faq summary:hover{
        background:rgba(0,0,0,.035);
    }
    [data-theme="light"] .fh-faq-ans{
        border-top-color:rgba(0,0,0,.06);
    }
    [data-theme="light"] .fp-chip,
    [data-theme="light"] .fp-signal-chip{
        background:rgba(0,0,0,.04);
    }
    [data-theme="light"] .fh-views-badge{
        background:rgba(0,0,0,.04);
    }
    [data-theme="light"] .cost-track{
        background:rgba(0,0,0,.06);
    }
    [data-theme="light"] .fh-toc a:hover{
        background:rgba(0,0,0,.04);
    }
    [data-theme="light"] .fh-toc a.toc-active{
        color:var(--accent);background:rgba(0,132,199,.06);
    }
    [data-theme="light"] .fh-hero::after{
        background:radial-gradient(circle,rgba(0,132,199,.04),transparent 70%);
    }
    /* Form inputs in light mode */
    [data-theme="light"] .fh-form-group input,
    [data-theme="light"] .fh-form-group textarea,
    [data-theme="light"] .fh-form-group select{
        background:#fff;border-color:rgba(0,0,0,.12);
        box-shadow:0 1px 3px rgba(0,0,0,.04);
    }
    [data-theme="light"] .fh-form-group input:focus,
    [data-theme="light"] .fh-form-group textarea:focus,
    [data-theme="light"] .fh-form-group select:focus{
        border-color:var(--accent);background:#fff;
        box-shadow:0 0 0 3px rgba(0,132,199,.10),0 2px 8px rgba(0,132,199,.06);
    }
    [data-theme="light"] .fh-story-promo{
        background:linear-gradient(145deg,rgba(0,132,199,.05),#fff);
        border-color:rgba(0,132,199,.18);
    }
    [data-theme="light"] .fh-story-submit{
        box-shadow:0 2px 12px rgba(0,132,199,.20);
    }
    [data-theme="light"] .fh-story-submit:hover{
        box-shadow:0 4px 20px rgba(0,132,199,.30);
    }
    /* Drive block light mode */
    [data-theme="light"] .fh-drive-yes{
        background:rgba(26,157,59,.06);border-color:rgba(26,157,59,.15);
    }
    [data-theme="light"] .fh-drive-caution{
        background:rgba(184,134,0,.06);border-color:rgba(184,134,0,.15);
    }
    [data-theme="light"] .fh-drive-no{
        background:rgba(217,48,37,.06);border-color:rgba(217,48,37,.15);
    }
    /* Section type borders for light */
    [data-theme="light"] .s-warn{
        background:linear-gradient(145deg,rgba(184,134,0,.04),#fff);
    }
    [data-theme="light"] .s-danger{
        background:linear-gradient(145deg,rgba(217,48,37,.04),#fff);
    }
    [data-theme="light"] .s-safe{
        background:linear-gradient(145deg,rgba(26,157,59,.04),#fff);
    }
    [data-theme="light"] .fh-part{
        background:rgba(26,157,59,.06);border-color:rgba(26,157,59,.12);
    }
    [data-theme="light"] .fh-brand-card{box-shadow:0 1px 3px rgba(0,0,0,.04)}
    [data-theme="light"] .fh-brand-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
    [data-theme="light"] .fh-related-card{box-shadow:0 1px 3px rgba(0,0,0,.04)}
    [data-theme="light"] .fh-footer::before{
        background:linear-gradient(90deg,transparent 5%,rgba(0,132,199,.15) 50%,transparent 95%);
    }
    [data-theme="light"] .fp-signals{
        border-top-color:rgba(0,0,0,.06);
    }
