/* IceCreamVibes neon palette. Screen only; existing print layouts remain paper-friendly. */
@media screen {
  :root {
    --background:#12081F;
    --surface:#1A0B2E;
    --surface-raised:#241138;
    --pink:#FF2E9A;
    --purple:#A855F7;
    --cyan:#22D3EE;
    --body-text:#E5E5E5;
    --navy:#12081F;
    --ink:#FFFFFF;
    --red:#FF2E9A;
    --cream:#12081F;
    --paper:#1A0B2E;
    --yellow:#A855F7;
    --blue:#241138;
    --mint:#1A0B2E;
    --line:#573574;
    --muted:#E5E5E5;
    color-scheme:dark;
  }

  body { background:var(--background); color:var(--body-text); }
  h1,h2,h3,h4,summary { color:#FFFFFF; }
  h1 em,h2 em { color:var(--pink); text-shadow:0 0 26px #FF2E9A1A; }
  a { color:var(--cyan); }
  .wordmark { color:var(--pink); }
  .wordmark-vibes,.wordmark-dot { color:var(--cyan); }
  .topline { background:var(--surface); color:var(--body-text); }
  .topline span { color:var(--cyan); }
  .site-header { background:var(--background); border-color:var(--line); box-shadow:0 2px 18px #A855F714; }
  .site-header nav a { color:var(--body-text); }
  .site-header nav a:hover { color:var(--cyan); }
  .skip-link { background:var(--surface-raised); color:var(--cyan); }
  .hero,.article-hero { background:radial-gradient(ellipse at 28% 18%,#A855F71F,transparent 65%),linear-gradient(135deg,var(--background),var(--surface)); }
  .hero-intro,.article-intro { color:var(--body-text); }
  .eyebrow,.kicker,.guide-meta { color:var(--cyan); }
  .eyebrow-line { background:var(--cyan); }
  .hero-note,.byline,.section-heading>p { color:var(--body-text); }
  .hero-visual { background:var(--surface); }
  .visual-caption { background:#12081FEF; color:var(--cyan); box-shadow:0 0 0 1px #A855F755; }
  .photo-sticker { background:linear-gradient(140deg,var(--pink),var(--purple)); color:var(--background); box-shadow:0 0 28px #FF2E9A33; }
  .ribbon { background:var(--surface); color:var(--body-text); box-shadow:inset 0 1px #A855F74D,inset 0 -1px #A855F74D; }
  .ribbon b { color:var(--cyan); }

  .button-red,.button-yellow,.header-cta {
    background:var(--pink); color:var(--background);
    box-shadow:0 0 22px #FF2E9A26;
  }
  .button-red:hover,.button-yellow:hover,.header-cta:hover {
    background:var(--pink); color:var(--background); box-shadow:0 0 30px #FF2E9A44;
  }
  .button-navy,.menu-toggle { background:var(--surface-raised); color:#FFFFFF; box-shadow:inset 0 0 0 1px var(--purple); }
  .button-navy:hover { background:#321448; color:#FFFFFF; }
  .text-link,.article-body a,.breadcrumb,.guide-link,.footer-right a { color:var(--cyan); }
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,
  .plan-actions button:focus-visible,.shopping-list input:focus-visible,
  .site-footer a:focus-visible,.filter-option input:focus-visible+span,
  .vibe-option:has(input:focus-visible) { outline-color:var(--cyan); }

  .planner,.collection,.faq,.library-section,.printables-section { background:var(--background); }
  .guides { background:var(--surface); }
  .planner-step-heading>span { border-color:var(--purple); color:var(--cyan); }
  .planner-step-heading h3,.planner-inputs label,.printable-controls label,.search-label { color:#FFFFFF; }
  .planner-inputs input,.search-label input,.printable-controls input,.printable-controls select {
    background:var(--surface); color:#FFFFFF; border-color:var(--purple);
  }
  input::placeholder { color:#C6B9D6; opacity:1; }
  .money-input>span { color:#FFFFFF; }
  .field-note,.preset-status,.planner-tip,.printable-controls .field-note { color:var(--body-text); }
  .planner-tip>span { color:var(--cyan); }
  .party-preset { background:var(--surface); color:var(--body-text); border-color:var(--purple); }
  .party-preset:hover { background:var(--surface-raised); color:var(--cyan); border-color:var(--cyan); }
  .vibe-option { background:var(--surface); color:#FFFFFF; border-color:var(--line); }
  .vibe-option:hover { background:var(--surface-raised); }
  .vibe-option:has(input:checked) { background:#27103F; border-color:var(--pink); box-shadow:inset 4px 0 var(--pink); }
  .vibe-option input { accent-color:var(--pink); }
  .vibe-desc { color:var(--body-text); }
  .planner-result { background:var(--surface); color:#FFFFFF; box-shadow:10px 10px 0 #A855F733; }
  .plan-topline .kicker,.plan-numbers strong { color:var(--cyan); }
  .plan-topline>span:last-child,.plan-numbers span,.checklist-heading>span,.estimate-note { color:var(--body-text); }
  .plan-numbers { border-color:var(--line); }
  .shopping-list li { border-color:#A855F73D; }
  .shopping-list input { accent-color:var(--pink); }
  .shopping-list input:checked+span { color:#C6B9D6; }
  .plan-actions .text-link,.download-status,.printable-controls .download-status { color:var(--cyan); }

  .guide-card,.product-card,.gift-link-box { background:var(--surface); color:#FFFFFF; border-color:var(--line); }
  .guide-card:hover { border-color:var(--purple); box-shadow:0 0 22px #A855F712; }
  .guide-card p,.product-details p,.gift-link-box p { color:var(--body-text); }
  .guide-art { color:#FFFFFF; }
  .guide-art-cream { background:radial-gradient(ellipse at 85% 80%,#A855F744,transparent 70%),#231036; }
  .guide-art-red { background:radial-gradient(ellipse at 85% 80%,#FF2E9A33,transparent 70%),#251034; color:#FFFFFF; }
  .guide-art-blue { background:radial-gradient(ellipse at 85% 80%,#22D3EE26,transparent 70%),#18102F; }
  .guide-art:before { border-color:#A855F726; }
  .guide-art>span,.guide-art>b { color:var(--cyan); }
  .pill { color:var(--cyan); border-color:var(--purple); }
  .status-line { color:var(--cyan); }
  .concept-art .concept-label { background:#12081FEF; color:var(--cyan); border-color:var(--purple); }
  .collection .product-details .text-link { color:var(--cyan); }
  .filter-option span { background:var(--surface); color:var(--body-text); border-color:var(--purple); }
  .filter-option input:checked+span { background:#321448; color:#FFFFFF; border-color:var(--purple); }
  .filter-option:hover span { border-color:var(--cyan); }
  .guide-results { color:var(--body-text); }

  .printable-feature,.about { background:radial-gradient(ellipse at 75% 35%,#A855F724,transparent 65%),var(--surface); }
  .printable-feature p,.about-copy p { color:var(--body-text); }
  .mini-printable { background:var(--surface-raised); border-color:var(--purple); box-shadow:12px 14px 0 #A855F726; }
  .mini-printable-inner { border-color:var(--purple); color:#FFFFFF; }
  .mini-printable-inner>span,.mini-printable-inner>p { color:var(--body-text); }
  .mini-printable-inner>strong { color:var(--pink); }
  .mini-labels { border-color:var(--purple); }
  .mini-labels span { color:var(--cyan); background:var(--surface); border-color:var(--purple); }
  .print-sheet { background:var(--surface-raised); }
  .print-sheet img { box-shadow:0 0 0 1px #A855F755; }
  .print-preview-note { color:var(--body-text); }
  .printable-actions .text-link { color:var(--cyan); }

  .faq-inner>div:first-child>p:last-child,details p { color:var(--body-text); }
  .faq-list,details { border-color:var(--line); }
  summary span { color:var(--cyan); }
  .article-body p,.article-body li,.article-body td,.article-sidebar p { color:var(--body-text); }
  .article-body th { background:var(--surface-raised); color:#FFFFFF; }
  .article-body td { border-color:var(--line); }
  .article-callout { background:var(--surface-raised); border-color:var(--pink); }
  .article-sidebar { border-color:var(--purple); }
  .article-next { background:var(--surface); color:#FFFFFF; }
  .article-next p { color:var(--body-text); }
  .notice { background:var(--surface-raised); color:var(--body-text); box-shadow:inset 0 0 0 1px var(--purple); }
  .site-footer { background:var(--background); color:#FFFFFF; }
  .footer-inner p,.footer-right,.footer-bottom { color:var(--body-text); }
  .footer-bottom { border-color:var(--line); }

  @media(max-width:760px) {
    .planner-result { box-shadow:6px 6px 0 #A855F733; }
    .article-sidebar { background:var(--surface); }
  }
}
