/* HOME_THEME=white — the same homepage in premium white: white paper, near-black ink, cool neutral greys, black as
   the accent. Colours only; no layout or type changes. Applies while the homepage is on screen — the moment the
   editor (same page) opens, the selectors stop matching and the app keeps its own palette. */
body.hw:not(:has(#result:not([hidden]))):not(:has(#studio:not([hidden]))) {
  --paper: #ffffff; --cream: #ffffff; --card: #ffffff;
  --ink: #0f0f10; --body: #3f3f46; --muted: #71717a; --faint: #a1a1aa;
  --rule: #e7e7ea;
  --bronze: #18181b; --bronze-soft: #d4d4d8; --bronze-ink: #18181b; --accent: #18181b;
  background: #ffffff;
}
body.hw .hm, body.hw .hm-hero, body.hw #aarav {
  --hm-bg: #ffffff; --hm-surface: #ffffff; --hm-ink: #0f0f10; --hm-body: #3f3f46; --hm-muted: #71717a;
  --hm-bronze: #18181b; --hm-bronze-ink: #18181b; --hm-rule: #e7e7ea; --hm-chip: #f4f4f5; --hm-blob: #f1f1f3;
  --hm-panel: #0c0c0d; --hm-panel-fg: #fafafa; --hm-panel-muted: #a1a1aa; --hm-panel-rule: #27272a;
  --hm-shadow: rgba(15, 15, 16, .10);
}
/* surfaces that were tinted beige by hand */
body.hw .hm-hero, body.hw .hm { background-color: transparent; }
body.hw:not(:has(#result:not([hidden]))) .card, body.hw .up-card { background: #fff; border-color: #e7e7ea;
  box-shadow: 0 1px 2px rgba(15, 15, 16, .04), 0 18px 40px -24px rgba(15, 15, 16, .18); }
body.hw .dropzone { background: #fafafa; border-color: #d4d4d8; }
body.hw .dropzone:hover, body.hw .dropzone.drag { background: #f4f4f5; border-color: #18181b; }
body.hw .try-sample { background: #fafafa; border-color: #e4e4e7; }
body.hw .hero h1 .accent, body.hw .up-body h1 .accent { color: #0f0f10; }
body.hw .hm-swash path { stroke: #0f0f10; }
body.hw .seo-rev, body.hw .seo-faq details { background: #fff; border-color: #e7e7ea; }
body.hw .upload-view { background: #ffffff; }
/* the dark closing band: its accent words sit on black, so they go light; the ink blobs go neutral */
body.hw .hm-cta h2 i, body.hw .hm-cta i { color: #a1a1aa; }
body.hw .hm-cta .hm-btn.primary:hover { background: #e4e4e7; }
body.hw .hm-cta svg.ink circle { fill: rgba(161, 161, 170, .14); }
/* bronze that home_motion.css sets by hand rather than through --hm-bronze */
body.hw .hm-sheet.f .roller, body.hw .hm-page .roller { box-shadow: 0 0 18px 2px rgba(24, 24, 27, .35); }
body.hw .hm-hl { background: rgba(24, 24, 27, .10); }
body.hw .hm-toast .ic, body.hw .hm-pk-ink.b, body.hw #aarav .drop.b { background: #18181b; }
body.hw .hm-ph b { background: radial-gradient(circle at 40% 35%, #a1a1aa, #3f3f46 70%); }
body.hw .hm-pk-ripple { border-color: rgba(24, 24, 27, .55); box-shadow: inset 0 0 14px rgba(24, 24, 27, .15); }
body.hw .hm-dz-hot .hm-ants rect { stroke: #18181b; }
body.hw .hm-thread path.line { stroke: #18181b; opacity: .35; }
body.hw #hm-progress { background: #18181b; }
body.hw #aarav .roller { background: linear-gradient(180deg, #fafafa 0%, #e4e4e7 40%, #a1a1aa 72%, #52525b 100%);
  box-shadow: 0 8px 18px rgba(15, 15, 16, .22), inset 0 1px 0 rgba(255, 255, 255, .8); }
body.hw .hm-pulse { animation-name: hw-pulse; }
@keyframes hw-pulse { 0% { box-shadow: 0 0 0 0 rgba(24, 24, 27, .35) } 100% { box-shadow: 0 0 0 22px rgba(24, 24, 27, 0) } }
/* warm tints home_motion.css sets by hand */
body.hw .hm-wall::before { background: linear-gradient(#fff, rgba(255, 255, 255, 0)); }
body.hw .hm-wall::after { background: linear-gradient(rgba(255, 255, 255, 0), #fff); }
body.hw .hm-glass { background: rgba(255, 255, 255, .88); }
body.hw .hm-ask.think { background-image: linear-gradient(90deg, #f4f4f5 0%, #e4e4e7 50%, #f4f4f5 100%); }
body.hw .hm-term { background: rgba(250, 250, 250, .05); }
body.hw .hm-screen { background: #f4f4f5; }
body.hw .hm-screen .bar { background: #fafafa; border-bottom-color: #e4e4e7; }
body.hw .hm-lcard .shot { border-bottom-color: #f0f0f2; }
body.hw .hm-pe .up { background: #f4f4f5; }
body.hw .hm-pe .up b { box-shadow: inset 0 0 0 1px #e7e7ea; }
body.hw .hm-toast, body.hw #aarav .say { background: #18181b; color: #fafafa; }
/* phone page (style_v2.css): the dashed upload border, its marching ants and the "or" rule */
body.hw .hm-ants rect { stroke: #a1a1aa; }
body.hw .hm-dz-hot .hm-ants rect { stroke: #18181b; }
body.hw .try-sample-sep::before, body.hw .try-sample-sep::after { background: #e7e7ea; }
body.hw .up-card { box-shadow: 0 18px 50px -34px rgba(15, 15, 16, .30); }
/* the black offer box: its badge and small type were bronze on black; now white badge, grey type */
body.hw .promo { color: #fafafa; }
body.hw .promo-badge { background: #ffffff; color: #0f0f10; }
body.hw .promo-title, body.hw .promo-price { color: #a1a1aa; }
body.hw .pc-code { color: #fafafa; }
body.hw .pc-copy:not(.done) { color: #d4d4d8; }
body.hw .draft-banner { background: #fafafa; border-color: #e4e4e7; }
