/* ============================================================
   ELEMENTAL THEMES — Earth (default), Water, Air, Fire
   ============================================================ */

/* ─── Hero wave fade overlay per theme ─── */
html.earth { --hero-fade: rgba(10,42,30,0.85); }
html.water { --hero-fade: rgba(10,21,37,0.85); }
html.air   { --hero-fade: rgba(232,236,242,0.85); }
html.fire  { --hero-fade: rgba(26,10,8,0.85); }

/* ─── Hero image darkness ─── */
html.earth #earth-bg    { filter: brightness(0.65) contrast(1.4) !important; }
html.water #water-bg-hero { filter: brightness(0.4) contrast(1.4) !important; }
html.fire  #fire-bg-hero  { filter: brightness(0.65) contrast(1.4) !important; }

/* ─── Hero text shadow for readability ─── */
html.earth #hero-heading, html.water #hero-heading, html.fire #hero-heading {
  text-shadow: 0 1px 4px rgba(0,0,0,0.9), 0 0px 8px rgba(0,0,0,0.8);
}
html.earth #hero-heading + p, html.water #hero-heading + p, html.fire #hero-heading + p {
  text-shadow: 0 1px 4px rgba(0,0,0,0.9), 0 0px 6px rgba(0,0,0,0.7);
}

/* ─── Fire mode: hide cursor only over hero ─── */
html.fire #about { cursor: none !important; }

/* ─── Hero smoke canvas ─── */
#hero-wave-canvas { image-rendering: auto; }
html.air #hero-wave-canvas { opacity: 0.6 !important; }

/* ─── EARTH (default) ─── dark forest greens, gold accents ─── */
/* Earth is the base/default styling in the HTML, no overrides needed */
html.earth body {
  background-color: #0a2a1e;
  color: #caeadb;
}

/* ─── WATER ─── deep ocean navy, cyan accents ─── */
html.water body {
  background-color: #0a1525 !important;
  color: #c8e0ef !important;
  background-image: url('water-bg.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  background-repeat: no-repeat !important;
  background-blend-mode: overlay !important;
}
html.water #water-bg { display: block !important; }

html.water nav,
html.water header.fixed { background: #060e1c !important; backdrop-filter: none !important; }
html.water nav a, html.water header.fixed a,
html.water nav a[class*="text-"], html.water header.fixed a[class*="text-"] { color: #b0d4ef !important; }
html.water nav a:hover, html.water header.fixed a:hover { color: #38d4ff !important; }
html.water nav a[style*="background-color"], html.water header.fixed a[style*="background-color"] { background-color: #38d4ff !important; color: #041020 !important; }
html.water nav a[style*="background-color"]:hover, html.water header.fixed a[style*="background-color"]:hover { background-color: #6ae4ff !important; }
html.water header:not(.fixed) { background: #0a1525 !important; }
html.water .forest-gradient { background: radial-gradient(circle at center, #071320 0%, #0a1525 100%) !important; }
html.water .hero-gradient { background: none !important; }
html.water .glass-panel { backdrop-filter: blur(20px) !important; background: rgba(8,20,42,0.75) !important; border: 1px solid rgba(56,212,255,0.1) !important; }
html.water .text-on-surface, html.water .text-\[\#caeadb\] { color: #c8e0ef !important; }
html.water .text-on-surface-variant { color: #8ab0cc !important; }
html.water .text-on-surface-variant\/80 { color: #7aa3bf !important; }
html.water .text-on-surface-variant\/40 { color: #5a8099 !important; }
html.water .text-primary { color: #38d4ff !important; }
html.water .text-tertiary { color: #5bc0de !important; }
html.water .text-secondary { color: #66b2cf !important; }
html.water .text-\[\#caeadb\]\/60 { color: rgba(200,224,239,0.6) !important; }
html.water .text-\[\#caeadb\]\/30 { color: rgba(200,224,239,0.3) !important; }
html.water .text-\[\#caeadb\]\/25 { color: rgba(200,224,239,0.25) !important; }
html.water .bg-surface, html.water .bg-surface-dim { background-color: #0a1525 !important; }
html.water .bg-surface-variant { background-color: #132840 !important; }
html.water .bg-surface-container { background-color: #0f2035 !important; }
html.water .bg-surface-container-lowest { background-color: #06101e !important; }
html.water .bg-surface-container-low, html.water .bg-surface-container-low\/60 { background-color: #0c1a2d !important; }
html.water .bg-surface-container-high { background-color: #15304a !important; }
html.water .bg-surface-container-highest, html.water .bg-surface-container-highest\/50 { background-color: #1a3855 !important; }
html.water .bg-background { background-color: #0a1525 !important; }
html.water .bg-\[\#0a2a1e\], html.water .bg-\[\#0a2a1e\]\/70, html.water .bg-\[\#0a2a1e\]\/80, html.water .bg-\[\#0a2a1e\]\/95 { background-color: #0a1525 !important; }
html.water .bg-\[\#061f15\] { background-color: #06101e !important; }
html.water .bg-\[\#0e3325\] { background-color: #0c1a2d !important; }
html.water .bg-\[\#13382b\] { background-color: #0f2035 !important; }
html.water .bg-\[\#13382b\]\/95 { background-color: rgba(15,32,53,0.95) !important; }
html.water .bg-\[\#1e4536\] { background-color: #15304a !important; }
html.water .bg-\[\#2a4d3f\] { background-color: #1a3855 !important; }
html.water .bg-\[\#052219\] { background-color: #081320 !important; }
html.water .bg-\[\#000d08\]\/90 { background-color: rgba(6,14,28,0.92) !important; }
html.water .border-\[\#424845\]\/15, html.water .border-\[\#424845\]\/30, html.water .border-\[\#424845\]\/40 { border-color: rgba(56,212,255,0.15) !important; }
html.water .border-outline-variant\/10, html.water .border-outline-variant\/15, html.water .border-outline-variant\/20 { border-color: rgba(56,212,255,0.12) !important; }
html.water .border-primary\/10, html.water .border-primary\/20, html.water .border-primary\/30 { border-color: rgba(56,212,255,0.15) !important; }
html.water .border-\[\#ffba38\]\/10 { border-color: rgba(56,212,255,0.1) !important; }
html.water .hover\:border-primary\/30:hover, html.water .hover\:border-primary\/40:hover { border-color: rgba(56,212,255,0.3) !important; }
html.water .from-\[\#0a2a1e\] { --tw-gradient-from: #0a1525 !important; }
html.water .to-\[\#0a2a1e\] { --tw-gradient-to: transparent !important; }
html.water .from-\[\#052219\] { --tw-gradient-from: #081320 !important; }
html.water .to-\[\#052219\] { --tw-gradient-to: #081320 !important; }
html.water .from-background { --tw-gradient-from: #0a1525 !important; }
html.water .from-surface-container-low { --tw-gradient-from: #0c1a2d !important; }
html.water .to-surface-container-low { --tw-gradient-to: #0c1a2d !important; }
html.water .via-surface-container-low { --tw-gradient-via: #0c1a2d !important; }
html.water .from-surface-container-high { --tw-gradient-from: #15304a !important; }
html.water .to-surface-container-high { --tw-gradient-to: #15304a !important; }
html.water .from-surface-container { --tw-gradient-from: #0f2035 !important; }
html.water .to-surface-container { --tw-gradient-to: #0f2035 !important; }
html.water .from-surface { --tw-gradient-from: #0a1525 !important; }
html.water .to-surface { --tw-gradient-to: #0a1525 !important; }
html.water .bg-gradient-to-t.from-\[\#0a2a1e\] { --tw-gradient-from: rgba(10,21,37,0.9) !important; }
html.water .bg-gradient-to-t.from-background { --tw-gradient-from: rgba(10,21,37,0.7) !important; }
html.water .hover\:bg-surface-container:hover { background-color: #0f2035 !important; }
html.water .hover\:bg-surface-container-highest:hover { background-color: #1a3855 !important; }
html.water .hover\:bg-surface-container-high:hover { background-color: #15304a !important; }
html.water .bg-primary { background-color: #38d4ff !important; }
html.water .text-on-primary { color: #041020 !important; }
html.water .bg-primary\/5 { background-color: rgba(56,212,255,0.05) !important; }
html.water .bg-primary\/20 { background-color: rgba(56,212,255,0.2) !important; }
html.water .bg-secondary { background-color: #2a8ab5 !important; }
html.water .bg-tertiary\/20 { background-color: rgba(56,212,255,0.12) !important; }
html.water .text-\[\#ffba38\] { color: #38d4ff !important; }
html.water .hover\:text-\[\#ffba38\]:hover { color: #6ae4ff !important; }
html.water .bg-\[\#ffba38\] { background-color: #38d4ff !important; }
html.water .border-\[\#ffba38\] { border-color: #38d4ff !important; }
html.water .text-surface-tint { color: #38d4ff !important; }
html.water .bg-surface-tint { background-color: #38d4ff !important; }
html.water .editorial-glow { text-shadow: 0 0 15px rgba(56,212,255,0.3) !important; }
html.water .shadow-\[0_0_48px_rgba\(255\,186\,56\,0\.05\)\] { box-shadow: 0 0 48px rgba(56,212,255,0.05) !important; }
html.water .shadow-\[0_0_60px_rgba\(255\,186\,56\,0\.4\)\] { box-shadow: 0 0 60px rgba(56,212,255,0.3) !important; }
html.water .shadow-\[0_0_20px_rgba\(255\,186\,56\,0\.3\)\] { box-shadow: 0 0 20px rgba(56,212,255,0.25) !important; }
html.water .shadow-\[0_0_30px_rgba\(255\,186\,56\,0\.2\)\] { box-shadow: 0 0 30px rgba(56,212,255,0.15) !important; }
html.water .shadow-\[0_0_10px_rgba\(255\,186\,56\,0\.5\)\] { box-shadow: 0 0 10px rgba(56,212,255,0.4) !important; }
html.water [style*="color: #432c00"], html.water [style*="color:#432c00"] { color: #041020 !important; }
html.water [style*="color: #ffba38"], html.water [style*="color:#ffba38"] { color: #38d4ff !important; }
html.water [style*="background-color: #ffba38"], html.water [style*="background-color:#ffba38"] { background-color: #38d4ff !important; }
html.water footer { background: #06101e !important; border-color: rgba(56,212,255,0.1) !important; }
html.water ::selection { background-color: #38d4ff !important; color: #041020 !important; }
html.water ::-webkit-scrollbar-thumb { background: #1a3855 !important; }
html.water ::-webkit-scrollbar-track { background: #0a1525 !important; }
html.water #mobile-menu { background-color: rgba(10,21,37,0.95) !important; border-color: rgba(56,212,255,0.1) !important; }
html.water .patent-grid {
  background-image:
    linear-gradient(rgba(100,180,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,180,255,0.04) 1px, transparent 1px),
    linear-gradient(rgba(100,180,255,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,180,255,0.08) 1px, transparent 1px) !important;
  background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px !important;
}
html.water .blueprint-annotation { fill: rgba(200,224,239,0.25) !important; }
html.water .blueprint-line { stroke: rgba(100,180,255,0.08) !important; }
html.water .blueprint-line-accent { stroke: rgba(56,212,255,0.12) !important; }
html.water .blueprint-node { fill: rgba(56,212,255,0.15) !important; }
html.water .blueprint-node-outline { stroke: rgba(56,212,255,0.12) !important; }
html.water #theme-toggle { border-color: rgba(56,212,255,0.3) !important; }
html.water #theme-toggle span { color: #38d4ff !important; }
html.water .home-feed-card { background-color: #15304a !important; border-color: rgba(56,212,255,0.1) !important; }
html.water .mix-blend-luminosity { mix-blend-mode: luminosity !important; }
html.water .bg-green-400\/20 { background-color: rgba(56,212,255,0.15) !important; }

/* ─── AIR ─── light sky, soft lavender accents ─── */
html.air body {
  background-color: #e8ecf2 !important;
  color: #2c3040 !important;
  background-image:
    linear-gradient(rgba(100,120,160,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,120,160,0.06) 1px, transparent 1px),
    linear-gradient(rgba(100,120,160,0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,120,160,0.1) 1px, transparent 1px) !important;
  background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px !important;
}

html.air nav,
html.air header.fixed { background: #2c3050 !important; backdrop-filter: none !important; background-image: none !important; }
html.air nav a, html.air header.fixed a,
html.air nav a[class*="text-"], html.air header.fixed a[class*="text-"] { color: #dde0ea !important; }
html.air nav a:hover, html.air header.fixed a:hover { color: #ffffff !important; }
html.air nav a[style*="background-color"], html.air header.fixed a[style*="background-color"] { background-color: #8b7ec8 !important; color: #ffffff !important; }
html.air nav a[style*="background-color"]:hover, html.air header.fixed a[style*="background-color"]:hover { background-color: #a99de0 !important; }
html.air header:not(.fixed) { background: #e8ecf2 !important; }
html.air .forest-gradient { background: #e8ecf2 !important; }
html.air .hero-gradient { background: none !important; }
html.air .glass-panel { backdrop-filter: blur(12px) !important; background: rgba(255,255,255,0.6) !important; border: 1px solid rgba(139,126,200,0.15) !important; box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important; }
html.air .text-on-surface, html.air .text-\[\#caeadb\] { color: #2c3040 !important; }
html.air .text-on-surface-variant { color: #555a6e !important; }
html.air .text-on-surface-variant\/80 { color: #666b80 !important; }
html.air .text-on-surface-variant\/40 { color: #9095a5 !important; }
html.air .text-primary { color: #6b5ca8 !important; }
html.air .text-tertiary { color: #7b6eb8 !important; }
html.air .text-secondary { color: #8888b0 !important; }
html.air .text-\[\#caeadb\]\/60 { color: rgba(44,48,64,0.6) !important; }
html.air .text-\[\#caeadb\]\/30 { color: rgba(44,48,64,0.3) !important; }
html.air .text-\[\#caeadb\]\/25 { color: rgba(44,48,64,0.25) !important; }
html.air .opacity-80 { opacity: 1 !important; }
html.air .bg-surface, html.air .bg-surface-dim { background-color: #e8ecf2 !important; }
html.air .bg-surface-variant { background-color: #dfe3eb !important; }
html.air .bg-surface-container { background-color: #f0f2f7 !important; }
html.air .bg-surface-container-lowest { background-color: #d8dce5 !important; }
html.air .bg-surface-container-low, html.air .bg-surface-container-low\/60 { background-color: #e2e6ee !important; }
html.air .bg-surface-container-high { background-color: #f4f5fa !important; }
html.air .bg-surface-container-highest, html.air .bg-surface-container-highest\/50 { background-color: #f8f9fc !important; }
html.air .bg-background { background-color: #e8ecf2 !important; }
html.air .bg-\[\#0a2a1e\], html.air .bg-\[\#0a2a1e\]\/70, html.air .bg-\[\#0a2a1e\]\/80, html.air .bg-\[\#0a2a1e\]\/95 { background-color: #2c3050 !important; }
html.air .bg-\[\#061f15\] { background-color: #d8dce5 !important; }
html.air .bg-\[\#0e3325\] { background-color: #e2e6ee !important; }
html.air .bg-\[\#13382b\] { background-color: #f0f2f7 !important; }
html.air .bg-\[\#13382b\]\/95 { background-color: rgba(240,242,247,0.95) !important; }
html.air .bg-\[\#1e4536\] { background-color: #f4f5fa !important; }
html.air .bg-\[\#2a4d3f\] { background-color: #f8f9fc !important; }
html.air .bg-\[\#052219\] { background-color: #dde1ea !important; }
html.air .bg-\[\#000d08\]\/90 { background-color: rgba(44,48,80,0.92) !important; }
html.air .border-\[\#424845\]\/15, html.air .border-\[\#424845\]\/30, html.air .border-\[\#424845\]\/40 { border-color: rgba(139,126,200,0.2) !important; }
html.air .border-outline-variant\/10, html.air .border-outline-variant\/15, html.air .border-outline-variant\/20 { border-color: rgba(139,126,200,0.15) !important; }
html.air .border-primary\/10, html.air .border-primary\/20, html.air .border-primary\/30 { border-color: rgba(139,126,200,0.2) !important; }
html.air .border-\[\#ffba38\]\/10 { border-color: rgba(139,126,200,0.1) !important; }
html.air .hover\:border-primary\/30:hover, html.air .hover\:border-primary\/40:hover { border-color: rgba(139,126,200,0.35) !important; }
html.air .from-\[\#0a2a1e\] { --tw-gradient-from: #2c3050 !important; }
html.air .to-\[\#0a2a1e\] { --tw-gradient-to: transparent !important; }
html.air .from-\[\#052219\] { --tw-gradient-from: #dde1ea !important; }
html.air .to-\[\#052219\] { --tw-gradient-to: #dde1ea !important; }
html.air .from-background { --tw-gradient-from: #e8ecf2 !important; }
html.air .from-surface-container-low { --tw-gradient-from: #e2e6ee !important; }
html.air .to-surface-container-low { --tw-gradient-to: #e2e6ee !important; }
html.air .via-surface-container-low { --tw-gradient-via: #e2e6ee !important; }
html.air .from-surface-container-high { --tw-gradient-from: #f4f5fa !important; }
html.air .to-surface-container-high { --tw-gradient-to: #f4f5fa !important; }
html.air .from-surface-container { --tw-gradient-from: #f0f2f7 !important; }
html.air .to-surface-container { --tw-gradient-to: #f0f2f7 !important; }
html.air .from-surface { --tw-gradient-from: #e8ecf2 !important; }
html.air .to-surface { --tw-gradient-to: #e8ecf2 !important; }
html.air .from-transparent { --tw-gradient-from: transparent !important; }
html.air .to-transparent { --tw-gradient-to: transparent !important; }
html.air .bg-gradient-to-t.from-\[\#0a2a1e\] { --tw-gradient-from: rgba(232,236,242,0.7) !important; }
html.air .bg-gradient-to-t.from-background { --tw-gradient-from: rgba(232,236,242,0.5) !important; }
html.air .bg-gradient-to-b.to-surface-container-low { --tw-gradient-to: rgba(226,230,238,0.8) !important; }
html.air .hover\:bg-surface-container:hover { background-color: #f0f2f7 !important; }
html.air .hover\:bg-surface-container-highest:hover { background-color: #f8f9fc !important; }
html.air .hover\:bg-surface-container-high:hover { background-color: #f4f5fa !important; }
html.air .bg-primary { background-color: #2c3050 !important; }
html.air .text-on-primary { color: #ffffff !important; }
html.air .bg-primary\/5 { background-color: rgba(139,126,200,0.06) !important; }
html.air .bg-primary\/20 { background-color: rgba(139,126,200,0.15) !important; }
html.air .bg-secondary { background-color: #8888b0 !important; }
html.air .bg-tertiary\/20 { background-color: rgba(139,126,200,0.12) !important; }
html.air .bg-green-400\/20 { background-color: rgba(72,187,120,0.12) !important; }
html.air .text-\[\#ffba38\] { color: #6b5ca8 !important; }
html.air .hover\:text-\[\#ffba38\]:hover { color: #8b7ec8 !important; }
html.air .bg-\[\#ffba38\] { background-color: #8b7ec8 !important; }
html.air .border-\[\#ffba38\] { border-color: #8b7ec8 !important; }
html.air .text-surface-tint { color: #6b5ca8 !important; }
html.air .bg-surface-tint { background-color: #8b7ec8 !important; }
html.air .editorial-glow, html.air .text-glow { text-shadow: none !important; }
html.air .shadow-\[0_0_48px_rgba\(255\,186\,56\,0\.05\)\] { box-shadow: none !important; }
html.air .shadow-\[0_0_60px_rgba\(255\,186\,56\,0\.4\)\] { box-shadow: 0 0 40px rgba(139,126,200,0.15) !important; }
html.air .shadow-\[0_0_20px_rgba\(255\,186\,56\,0\.3\)\] { box-shadow: 0 0 20px rgba(139,126,200,0.15) !important; }
html.air .shadow-\[0_0_30px_rgba\(255\,186\,56\,0\.2\)\] { box-shadow: 0 0 20px rgba(139,126,200,0.1) !important; }
html.air .shadow-\[0_0_10px_rgba\(255\,186\,56\,0\.5\)\] { box-shadow: 0 0 8px rgba(139,126,200,0.25) !important; }
html.air [style*="color: #432c00"], html.air [style*="color:#432c00"] { color: #ffffff !important; }
html.air [style*="color: #ffba38"], html.air [style*="color:#ffba38"] { color: #6b5ca8 !important; }
html.air [style*="background-color: #ffba38"], html.air [style*="background-color:#ffba38"] { background-color: #8b7ec8 !important; }
html.air footer { background: #d8dce5 !important; background-image: none !important; border-color: rgba(139,126,200,0.15) !important; }
html.air ::selection { background-color: #8b7ec8 !important; color: #ffffff !important; }
html.air ::-webkit-scrollbar-thumb { background: #b5b8c8 !important; }
html.air ::-webkit-scrollbar-track { background: #e8ecf2 !important; }
html.air #mobile-menu { background-color: rgba(44,48,80,0.95) !important; border-color: rgba(139,126,200,0.15) !important; }
html.air #theme-toggle { border-color: rgba(139,126,200,0.3) !important; background: #ffffff !important; }
html.air #theme-toggle span { color: #6b5ca8 !important; }
html.air .patent-grid {
  background-image:
    linear-gradient(rgba(100,120,160,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,120,160,0.07) 1px, transparent 1px),
    linear-gradient(rgba(100,120,160,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100,120,160,0.12) 1px, transparent 1px) !important;
  background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px !important;
}
html.air .blueprint-annotation { fill: rgba(44,48,64,0.2) !important; }
html.air .blueprint-line { stroke: rgba(100,120,160,0.1) !important; }
html.air .blueprint-line-accent { stroke: rgba(139,126,200,0.12) !important; }
html.air .blueprint-node { fill: rgba(139,126,200,0.1) !important; }
html.air .blueprint-node-outline { stroke: rgba(139,126,200,0.12) !important; }
html.air .home-feed-card { background-color: #f4f5fa !important; border-color: rgba(139,126,200,0.12) !important; }
html.air .home-feed-card img { opacity: 0.8 !important; }
html.air .home-feed-card:hover img { opacity: 0.95 !important; }
html.air .mix-blend-luminosity { mix-blend-mode: normal !important; opacity: 0.85 !important; }
html.air section a[href*="mailto"][style],
html.air a.font-body[style*="background"] {
  background-color: #8b7ec8 !important;
  color: #ffffff !important;
  box-shadow: 0 0 30px rgba(139,126,200,0.15) !important;
}
html.air .bg-primary.shadow-\[0_0_48px_rgba\(255\,186\,56\,0\.15\)\] { box-shadow: 0 4px 12px rgba(44,48,80,0.15) !important; }

/* ─── FIRE ─── volcanic dark, orange-red accents ─── */
html.fire body {
  background-color: #1a0a08 !important;
  color: #ead8ca !important;
  background-image:
    linear-gradient(rgba(255,100,50,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,100,50,0.03) 1px, transparent 1px),
    linear-gradient(rgba(255,100,50,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,100,50,0.06) 1px, transparent 1px) !important;
  background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px !important;
}

html.fire nav,
html.fire header.fixed { background: #140604 !important; backdrop-filter: none !important; }
html.fire nav a, html.fire header.fixed a,
html.fire nav a[class*="text-"], html.fire header.fixed a[class*="text-"] { color: #e0c4b0 !important; }
html.fire nav a:hover, html.fire header.fixed a:hover { color: #ff6b35 !important; }
html.fire nav a[style*="background-color"], html.fire header.fixed a[style*="background-color"] { background-color: #ff6b35 !important; color: #1a0a08 !important; }
html.fire nav a[style*="background-color"]:hover, html.fire header.fixed a[style*="background-color"]:hover { background-color: #ff8c5a !important; }
html.fire header:not(.fixed) { background: #1a0a08 !important; }
html.fire .forest-gradient { background: radial-gradient(circle at center, #200c08 0%, #1a0a08 100%) !important; }
html.fire .hero-gradient { background: none !important; }
html.fire .glass-panel { backdrop-filter: blur(20px) !important; background: rgba(30,10,8,0.75) !important; border: 1px solid rgba(255,107,53,0.1) !important; }
html.fire .text-on-surface, html.fire .text-\[\#caeadb\] { color: #ead8ca !important; }
html.fire .text-on-surface-variant { color: #b89a85 !important; }
html.fire .text-on-surface-variant\/80 { color: #a88a75 !important; }
html.fire .text-on-surface-variant\/40 { color: #7a6555 !important; }
html.fire .text-primary { color: #ff6b35 !important; }
html.fire .text-tertiary { color: #e05a2a !important; }
html.fire .text-secondary { color: #cc7744 !important; }
html.fire .text-\[\#caeadb\]\/60 { color: rgba(234,216,202,0.6) !important; }
html.fire .text-\[\#caeadb\]\/30 { color: rgba(234,216,202,0.3) !important; }
html.fire .text-\[\#caeadb\]\/25 { color: rgba(234,216,202,0.25) !important; }
html.fire .bg-surface, html.fire .bg-surface-dim { background-color: #1a0a08 !important; }
html.fire .bg-surface-variant { background-color: #2d1510 !important; }
html.fire .bg-surface-container { background-color: #25100c !important; }
html.fire .bg-surface-container-lowest { background-color: #120604 !important; }
html.fire .bg-surface-container-low, html.fire .bg-surface-container-low\/60 { background-color: #1e0c08 !important; }
html.fire .bg-surface-container-high { background-color: #351a14 !important; }
html.fire .bg-surface-container-highest, html.fire .bg-surface-container-highest\/50 { background-color: #3d2018 !important; }
html.fire .bg-background { background-color: #1a0a08 !important; }
html.fire .bg-\[\#0a2a1e\], html.fire .bg-\[\#0a2a1e\]\/70, html.fire .bg-\[\#0a2a1e\]\/80, html.fire .bg-\[\#0a2a1e\]\/95 { background-color: #1a0a08 !important; }
html.fire .bg-\[\#061f15\] { background-color: #120604 !important; }
html.fire .bg-\[\#0e3325\] { background-color: #1e0c08 !important; }
html.fire .bg-\[\#13382b\] { background-color: #25100c !important; }
html.fire .bg-\[\#13382b\]\/95 { background-color: rgba(37,16,12,0.95) !important; }
html.fire .bg-\[\#1e4536\] { background-color: #351a14 !important; }
html.fire .bg-\[\#2a4d3f\] { background-color: #3d2018 !important; }
html.fire .bg-\[\#052219\] { background-color: #160805 !important; }
html.fire .bg-\[\#000d08\]\/90 { background-color: rgba(20,6,4,0.92) !important; }
html.fire .border-\[\#424845\]\/15, html.fire .border-\[\#424845\]\/30, html.fire .border-\[\#424845\]\/40 { border-color: rgba(255,107,53,0.15) !important; }
html.fire .border-outline-variant\/10, html.fire .border-outline-variant\/15, html.fire .border-outline-variant\/20 { border-color: rgba(255,107,53,0.12) !important; }
html.fire .border-primary\/10, html.fire .border-primary\/20, html.fire .border-primary\/30 { border-color: rgba(255,107,53,0.15) !important; }
html.fire .border-\[\#ffba38\]\/10 { border-color: rgba(255,107,53,0.1) !important; }
html.fire .hover\:border-primary\/30:hover, html.fire .hover\:border-primary\/40:hover { border-color: rgba(255,107,53,0.3) !important; }
html.fire .from-\[\#0a2a1e\] { --tw-gradient-from: #1a0a08 !important; }
html.fire .to-\[\#0a2a1e\] { --tw-gradient-to: transparent !important; }
html.fire .from-\[\#052219\] { --tw-gradient-from: #160805 !important; }
html.fire .to-\[\#052219\] { --tw-gradient-to: #160805 !important; }
html.fire .from-background { --tw-gradient-from: #1a0a08 !important; }
html.fire .from-surface-container-low { --tw-gradient-from: #1e0c08 !important; }
html.fire .to-surface-container-low { --tw-gradient-to: #1e0c08 !important; }
html.fire .via-surface-container-low { --tw-gradient-via: #1e0c08 !important; }
html.fire .from-surface-container-high { --tw-gradient-from: #351a14 !important; }
html.fire .to-surface-container-high { --tw-gradient-to: #351a14 !important; }
html.fire .from-surface-container { --tw-gradient-from: #25100c !important; }
html.fire .to-surface-container { --tw-gradient-to: #25100c !important; }
html.fire .from-surface { --tw-gradient-from: #1a0a08 !important; }
html.fire .to-surface { --tw-gradient-to: #1a0a08 !important; }
html.fire .from-transparent { --tw-gradient-from: transparent !important; }
html.fire .to-transparent { --tw-gradient-to: transparent !important; }
html.fire .bg-gradient-to-t.from-\[\#0a2a1e\] { --tw-gradient-from: rgba(26,10,8,0.9) !important; }
html.fire .bg-gradient-to-t.from-background { --tw-gradient-from: rgba(26,10,8,0.7) !important; }
html.fire .bg-gradient-to-b.to-surface-container-low { --tw-gradient-to: rgba(30,12,8,0.8) !important; }
html.fire .hover\:bg-surface-container:hover { background-color: #25100c !important; }
html.fire .hover\:bg-surface-container-highest:hover { background-color: #3d2018 !important; }
html.fire .hover\:bg-surface-container-high:hover { background-color: #351a14 !important; }
html.fire .bg-primary { background-color: #ff6b35 !important; }
html.fire .text-on-primary { color: #1a0a08 !important; }
html.fire .bg-primary\/5 { background-color: rgba(255,107,53,0.05) !important; }
html.fire .bg-primary\/20 { background-color: rgba(255,107,53,0.2) !important; }
html.fire .bg-secondary { background-color: #b5522a !important; }
html.fire .bg-tertiary\/20 { background-color: rgba(255,107,53,0.12) !important; }
html.fire .bg-green-400\/20 { background-color: rgba(255,107,53,0.15) !important; }
html.fire .text-\[\#ffba38\] { color: #ff6b35 !important; }
html.fire .hover\:text-\[\#ffba38\]:hover { color: #ff8c5a !important; }
html.fire .bg-\[\#ffba38\] { background-color: #ff6b35 !important; }
html.fire .border-\[\#ffba38\] { border-color: #ff6b35 !important; }
html.fire .text-surface-tint { color: #ff6b35 !important; }
html.fire .bg-surface-tint { background-color: #ff6b35 !important; }
html.fire .editorial-glow { text-shadow: 0 0 15px rgba(255,107,53,0.4) !important; }
html.fire .shadow-\[0_0_48px_rgba\(255\,186\,56\,0\.05\)\] { box-shadow: 0 0 48px rgba(255,107,53,0.06) !important; }
html.fire .shadow-\[0_0_60px_rgba\(255\,186\,56\,0\.4\)\] { box-shadow: 0 0 60px rgba(255,107,53,0.35) !important; }
html.fire .shadow-\[0_0_20px_rgba\(255\,186\,56\,0\.3\)\] { box-shadow: 0 0 20px rgba(255,107,53,0.3) !important; }
html.fire .shadow-\[0_0_30px_rgba\(255\,186\,56\,0\.2\)\] { box-shadow: 0 0 30px rgba(255,107,53,0.2) !important; }
html.fire .shadow-\[0_0_10px_rgba\(255\,186\,56\,0\.5\)\] { box-shadow: 0 0 10px rgba(255,107,53,0.5) !important; }
html.fire [style*="color: #432c00"], html.fire [style*="color:#432c00"] { color: #1a0a08 !important; }
html.fire [style*="color: #ffba38"], html.fire [style*="color:#ffba38"] { color: #ff6b35 !important; }
html.fire [style*="background-color: #ffba38"], html.fire [style*="background-color:#ffba38"] { background-color: #ff6b35 !important; }
html.fire footer { background: #120604 !important; border-color: rgba(255,107,53,0.1) !important; }
html.fire ::selection { background-color: #ff6b35 !important; color: #1a0a08 !important; }
html.fire ::-webkit-scrollbar-thumb { background: #3d2018 !important; }
html.fire ::-webkit-scrollbar-track { background: #1a0a08 !important; }
html.fire #mobile-menu { background-color: rgba(26,10,8,0.95) !important; border-color: rgba(255,107,53,0.1) !important; }
html.fire #theme-toggle { border-color: rgba(255,107,53,0.3) !important; }
html.fire #theme-toggle span { color: #ff6b35 !important; }
html.fire .patent-grid {
  background-image:
    linear-gradient(rgba(255,100,50,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,100,50,0.04) 1px, transparent 1px),
    linear-gradient(rgba(255,100,50,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,100,50,0.08) 1px, transparent 1px) !important;
  background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px !important;
}
html.fire .blueprint-annotation { fill: rgba(234,216,202,0.25) !important; }
html.fire .blueprint-line { stroke: rgba(255,100,50,0.08) !important; }
html.fire .blueprint-line-accent { stroke: rgba(255,107,53,0.15) !important; }
html.fire .blueprint-node { fill: rgba(255,107,53,0.18) !important; }
html.fire .blueprint-node-outline { stroke: rgba(255,107,53,0.15) !important; }
html.fire .home-feed-card { background-color: #351a14 !important; border-color: rgba(255,107,53,0.1) !important; }
html.fire .mix-blend-luminosity { mix-blend-mode: luminosity !important; }
html.fire section a[href*="mailto"][style],
html.fire a.font-body[style*="background"] {
  background-color: #ff6b35 !important;
  color: #1a0a08 !important;
  box-shadow: 0 0 30px rgba(255,107,53,0.25) !important;
}
html.fire .bg-primary.shadow-\[0_0_48px_rgba\(255\,186\,56\,0\.15\)\] { box-shadow: 0 0 48px rgba(255,107,53,0.15) !important; }



/* ─── Theme toggle transition ─── */
body, .glass-panel, nav, footer, #mobile-menu {
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
