/* Starlit Magic website theme: light (Oct 2026) */
    /* ═══ LIGHT THEME (Oct 2026) ═══════════════════════════════════════
       Matches the app's light theme: cream #FBF5E8, ink #2A1A4F, purple #4B2E83,
       secondary #6B5E86, gold #F6CC30 for decoration only (never small text on cream).
       The hero and footer stay a night sky, like the app's trip card.
       Shared by every page: /theme.css, linked after each page's own <style>. */
    :root{
      --bg-void:#FBF5E8;--bg-card:#FFFFFF;--bg-card-h:#FFFFFF;
      --purple:#4B2E83;--purple-light:#7B5CBB;
      --gold:#F6CC30;--gold-dark:#B8720A;
      --pink:#7B5CBB;--pink-light:#7B5CBB;
      --text:#2A1A4F;--muted:#6B5E86;--dim:rgba(42,26,79,.45);
      --border:rgba(75,46,131,.14);--border-mid:rgba(75,46,131,.28);--border-bright:rgba(75,46,131,.55);
      --accent-text:#4B2E83;--card-oracle:#F3ECFA;
      --night:#1A1A40;--night-2:#3B2470;
      --shadow:0 10px 30px rgba(75,46,131,.08);--shadow-h:0 18px 44px rgba(75,46,131,.16);
    }
    /* Night surfaces keep the original dark palette */
    .hero,footer,.lightbox{
      --text:#FFFFFF;--muted:rgba(255,255,255,.72);--dim:rgba(255,255,255,.42);
      --accent-text:#F6CC30;--purple-light:#B880F0;
      --border:rgba(246,204,48,.18);--border-mid:rgba(246,204,48,.38);--border-bright:rgba(246,204,48,.65);
    }
    /* Starfield: a night sky behind the hero on pages that have one; hidden elsewhere */
    #starfield{display:none}
    body:has(.hero) #starfield{display:block;position:absolute;top:0;left:0;width:100%;z-index:0;
      background:radial-gradient(ellipse at 50% 35%,var(--night-2) 0%,var(--night) 62%,#110F2E 100%)}
    .hero{color:var(--text)}
    footer{background:radial-gradient(ellipse at 50% 0%,var(--night-2) 0%,var(--night) 70%);border-top:none;color:var(--text)}

    /* Nav: cream glass */
    nav{background:rgba(251,245,232,.92);border-bottom:1px solid var(--border)}
    .nav-name{color:var(--accent-text)}
    .nav-links a{color:var(--muted)}
    .nav-links a:hover{color:var(--accent-text)}
    .nav-cta,.btn-primary,.f-sub{background:linear-gradient(135deg,#4B2E83,#7B5CBB);box-shadow:0 6px 18px rgba(75,46,131,.25)}
    .nav-cta:hover,.btn-primary:hover,.f-sub:hover{box-shadow:0 10px 28px rgba(75,46,131,.35)!important}

    /* Headings and labels: purple text, gold stays decoration */
    .sec-eye,.fc-name,.ic-title,.pricing-banner-eye,.pc.premium .pc-name,.pc-ann,.f-g label,.faq-arr{color:var(--accent-text)}
    .faq-q:hover{color:var(--accent-text)}
    .beta-box a[href^="mailto"]{color:var(--accent-text)!important}

    /* Marquee */
    .mq-wrap{background:#FFFFFF;border-color:var(--border)}
    .mq-pill{background:var(--card-oracle);border-color:var(--border);color:var(--accent-text)}

    /* Screenshots: tabs and arrows on cream, phone frames stay dark like a real phone */
    .s-tab{background:#FFFFFF;border-color:var(--border-mid);color:var(--muted)}
    .s-tab:hover{border-color:var(--border-bright);color:var(--accent-text)}
    .s-tab.active{background:var(--card-oracle);border-color:var(--accent-text);color:var(--accent-text)}
    .s-arrow{background:#FFFFFF;border-color:var(--border-mid);color:var(--accent-text)}
    .s-arrow:hover{background:var(--card-oracle);border-color:var(--border-bright)}
    .s-row{scrollbar-color:rgba(75,46,131,.3) transparent}
    .s-row::-webkit-scrollbar-thumb{background:rgba(75,46,131,.3)}
    .pf{background:var(--night);border-color:rgba(246,204,48,.55);box-shadow:var(--shadow)}
    .pf:hover{border-color:#F6CC30;box-shadow:var(--shadow-h)}
    .pf.ft{border-color:#F6CC30;box-shadow:var(--shadow-h)}
    .pf-lbl{color:#F6CC30}

    /* Cards: white, soft purple shadow */
    .fc,.pc,.ic,.rm,.faq-item,.fan-card,.beta-box{background:#FFFFFF;border-color:var(--border);box-shadow:var(--shadow)}
    .fc:hover,.ic:hover,.rm:hover{background:#FFFFFF;border-color:var(--border-mid);box-shadow:var(--shadow-h)}
    .fc::after{background:linear-gradient(90deg,transparent,#F6CC30,transparent)}
    .fc-ico img{mix-blend-mode:normal}
    .fc-badge{background:rgba(246,204,48,.22);border-color:rgba(184,114,10,.35);color:#5C3D00}
    .fc-badge.free{background:var(--card-oracle);border-color:rgba(75,46,131,.25);color:var(--accent-text)}
    .rm-phase{color:var(--purple-light)}
    .rm-ico{opacity:.45}

    /* Pricing */
    .pricing-banner{background:linear-gradient(135deg,#FFF6D8,var(--card-oracle));border-color:rgba(246,204,48,.7);box-shadow:var(--shadow)}
    .pricing-banner-body strong{color:var(--accent-text)}
    .pc.premium{background:linear-gradient(160deg,var(--card-oracle),#FFFFFF 70%);border-color:#F6CC30;box-shadow:var(--shadow-h)}
    .pc-rib{color:#1A1A40}
    .pc-compare{color:var(--purple-light)}
    .pc-list li{color:var(--muted)}
    .pc-list li.on{color:var(--text)}

    /* Form */
    .f-g input{background:#FBF5E8;border-color:var(--border-mid);color:var(--text)}
    .f-g input:focus{border-color:var(--accent-text);background:#FFFFFF;box-shadow:0 0 0 3px rgba(75,46,131,.12)}
    .f-msg.ok{background:var(--card-oracle);border-color:var(--border-mid);color:var(--accent-text)}
    .f-msg.err{background:#FBEAF2;border-color:rgba(217,70,160,.35);color:#8A1F5C}

    /* Footer links on night */
    .ft-logo{color:#F6CC30}
    .ft-social a:hover,.ft-contact a:hover,.ft-links a:hover,.ft-meta a:hover{color:#F6CC30}

    /* ═══ MONTHLY SPOTLIGHT ARTICLES ═══ */
    .nav-links a.active{color:var(--accent-text)}
    .article-cat{background:var(--card-oracle);border-color:rgba(75,46,131,.25);color:var(--accent-text)}
    .article-back:hover{color:var(--accent-text)}
    .article-body h2,.article-cta h3,.bridge-badge,.bridge-value strong{color:var(--accent-text)}
    .article-body blockquote{border-left-color:var(--gold)}
    .bridge-callout{background:linear-gradient(135deg,var(--card-oracle),#FFFFFF);border-color:var(--border);border-left:3px solid var(--gold);box-shadow:var(--shadow)}
    .bridge-btn{background:linear-gradient(135deg,#4B2E83,#7B5CBB);box-shadow:0 6px 18px rgba(75,46,131,.25)}
    .bridge-btn:hover{box-shadow:0 10px 28px rgba(75,46,131,.35)}
    .article-cta{background:#FFFFFF;border-color:rgba(246,204,48,.7);box-shadow:var(--shadow)}
    .btn-outline{color:var(--accent-text);border-color:var(--border-bright)}
    .btn-outline:hover{background:var(--card-oracle);border-color:var(--accent-text)}
    .hero .btn-outline{color:#F6CC30;border-color:rgba(246,204,48,.45)}
    .hero .btn-outline:hover{background:rgba(246,204,48,.08);border-color:#F6CC30}
    .article-hero{box-shadow:var(--shadow)}

    /* ═══ NEWS, SPOTLIGHT INDEX, PRINTABLES, HISTORY ═══ */
    .article-body{color:var(--text)}
    .article-body h3{color:var(--text)}
    .article-body a{color:var(--accent-text);border-bottom-color:rgba(75,46,131,.35)}
    .article-body a:hover{color:#7B5CBB;border-color:#7B5CBB}
    .article-body li strong{color:var(--accent-text)}
    .article-photo{background:#FFFFFF;box-shadow:var(--shadow)}
    .app-cta{background:#FFFFFF;border-color:rgba(246,204,48,.7);box-shadow:var(--shadow)}
    .app-cta h3,.group-head{color:var(--accent-text)}
    .unconfirmed-banner{background:#FFF6D8;border-color:rgba(246,204,48,.7);color:#5C3D00}
    .page-glow,.hero-glow{opacity:.5}
    body:has(.hero) .hero-glow{opacity:1}

    /* List rows (Spotlight index, News index, Printables) */
    .guide-item,.news-item,.print-item{background:#FFFFFF;border-bottom-color:var(--border)}
    .guide-item:hover,.news-item:hover,.print-item:hover{background:var(--card-oracle)}

    /* Filter pills */
    .cat-pill{background:#FFFFFF;border-color:var(--border-mid);color:var(--muted)}
    .cat-pill:hover{border-color:var(--border-bright);color:var(--accent-text)}
    .cat-pill.active{background:var(--card-oracle);border-color:var(--accent-text);color:var(--accent-text)}

    /* Category tags: three light families instead of glowing pink/purple/gold */
    .guide-cat-tag.events-festivals,.guide-cat-tag.hidden-fun,.guide-cat-tag.park-strategy,
    .news-tag.attractions,.news-tag.resorts,.guide-type-tag.evergreen{
      background:var(--card-oracle);border:1px solid rgba(75,46,131,.25);color:var(--accent-text)}
    .guide-cat-tag.entertainment,.guide-cat-tag.families-accessibility,.guide-cat-tag.food-drink,
    .news-tag.app-update,.news-tag.events,.guide-type-tag.seasonal{
      background:#FBEAF2;border:1px solid rgba(217,70,160,.3);color:#8A1F5C}
    .guide-cat-tag.photos-instagram,.guide-cat-tag.resorts,.news-tag.dining,.news-tag.transportation,
    .guide-type-tag.of-the-month,.print-tag{
      background:rgba(246,204,48,.22);border:1px solid rgba(184,114,10,.35);color:#5C3D00}

    /* Spotlight index rows: let long teasers wrap instead of running past the row */
    .guide-teaser{white-space:normal}
    .guide-item{min-width:0}

    /* ═══ /links (social bio page) ═══
       The icon, wordmark and tagline sit on a night card, like the app's trip card;
       the buttons sit on cream. */
    .links-night{position:relative;width:100%;border-radius:28px;padding:2.6rem 1.5rem 2rem;margin-bottom:1.8rem;
      background:radial-gradient(ellipse at 50% 30%,var(--night-2) 0%,var(--night) 75%);
      box-shadow:0 18px 44px rgba(26,26,64,.28);overflow:hidden;
      --text:#FFFFFF;--muted:rgba(255,255,255,.72);--dim:rgba(255,255,255,.42)}
    .links-night::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.9;
      background-image:radial-gradient(1.2px 1.2px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 78% 12%,#fff 50%,transparent 51%),
        radial-gradient(1.4px 1.4px at 88% 46%,#F6CC30 50%,transparent 51%),radial-gradient(1px 1px at 22% 72%,#fff 50%,transparent 51%),
        radial-gradient(1.2px 1.2px at 63% 84%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 40% 8%,#F6CC30 50%,transparent 51%),
        radial-gradient(1px 1px at 6% 52%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 94% 80%,#fff 50%,transparent 51%)}
    .links-night>*{position:relative}
    .links-night .tagline{margin-bottom:0}
    body:has(.links-night) .hero-glow{display:none}
    body:has(.links-night) footer{background:none;--dim:rgba(42,26,79,.45);color:rgba(42,26,79,.45)}
    .btn-testflight{background:linear-gradient(135deg,#4B2E83,#7B5CBB);box-shadow:0 8px 22px rgba(75,46,131,.28)}
    .btn-testflight:hover{box-shadow:0 12px 30px rgba(75,46,131,.38)}
    .btn-link{background:#FFFFFF;color:var(--accent-text);border-color:var(--border-mid);box-shadow:var(--shadow)}
    .btn-link:hover{background:var(--card-oracle);border-color:var(--accent-text)}
    .btn-link img[src*="x-logo"]{filter:invert(1)}
    .links-stack{background:none;border-bottom:none}
