/* Mountain scene on desktop; a separate, compact icon button on mobile. */
body #dark-mode-toggle-container { flex: none; margin: 0; line-height: 0; }
body #mobile-dark-mode-toggle-container { flex: none; margin-left: 0; line-height: 0; }
body .lf-theme-toggle { box-sizing: border-box; position: relative; padding: 0; margin: 0; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
html:not(.lf-toggle-ready) .lf-theme-toggle { visibility: hidden; }
body .lf-theme-toggle:focus-visible { outline: 2px solid var(--lf-primary-color); outline-offset: 4px; }
body .lf-theme-toggle--desktop { display: block; width: 104px; height: 52px; border-radius: 28px; background: transparent; isolation: isolate; box-shadow: 0 3px 7px #12243d25, 0 1px 2px #12243d22; }
body .lf-toggle-scene { display: block; position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; background: linear-gradient(145deg,#f1b493,#f5d3a4 55%,#ffe9ba); box-shadow: inset 0 2px 4px #56422830, inset 0 -1px 2px #fff9; }
body .lf-toggle-scene::after { content: ""; position: absolute; z-index: 9; inset: 0; border-radius: inherit; box-shadow: inset 0 1px 1px #ffffff90, inset 0 0 0 1px #ffffff25, inset 0 -2px 3px #20374e20; }
body .lf-toggle-night { position: absolute; inset: 0; opacity: 0; background: linear-gradient(145deg,#092254,#17487e 64%,#3568a2); }
body .lf-toggle-orb { position: absolute; z-index: 4; top: 5px; left: 10px; width: 29px; height: 29px; border-radius: 50%; transform: translateX(56px); }
/* Approved solar-flare artwork: fading light outside the disc; no idle motion. */
body .lf-toggle-sun { position: absolute; inset: 0; border-radius: 50%; background:radial-gradient(circle at 43% 41%,#fffff4 0%,#fffdda 45%,#ffe79f 77%,#ffd779 100%); box-shadow:0 0 4px #fffae9ee,0 0 12px #fff4cc9c,0 0 22px #ffe3a459; }
body .lf-toggle-sun::before { content: ""; position: absolute; pointer-events: none; border-radius: 50%;
      width:87px; height:65px; left:-29px; top:-18px;
      background:radial-gradient(ellipse 50% 3.2% at 50% 50%,#fffef3dc 0%,#fff8d876 30%,#fff0b523 61%,transparent 100%),radial-gradient(ellipse 3.1% 48% at 50% 50%,#fffce3a0 0%,#fff2c259 31%,#ffe8a51a 63%,transparent 100%);
      -webkit-mask-image:radial-gradient(circle,transparent 13px,#000 17px);
      mask-image:radial-gradient(circle,transparent 13px,#000 17px);
      transform:rotate(-7deg);
    }
body .lf-toggle-sun::after { content: ""; position: absolute; pointer-events: none; border-radius: 50%;
      inset:-18px;
      background:radial-gradient(ellipse 42% 2% at 50% 50%,#fffad674 0%,#fff0bd37 38%,transparent 100%),radial-gradient(ellipse 2% 45% at 50% 50%,#fffce263 0%,#fff1c32e 34%,transparent 100%);
      -webkit-mask-image:radial-gradient(circle,transparent 13px,#000 17px);
      mask-image:radial-gradient(circle,transparent 13px,#000 17px);
      transform:rotate(34deg);
    }
body .lf-toggle-moon { position: absolute; inset: 0; border-radius: 50%; opacity: 0; transform: scale(.8) rotate(20deg); background: radial-gradient(circle at 30% 25%,#fffef5 0,#e4ecf5 50%,#b0c4e1 100%); box-shadow: inset 0 1px 2px white,inset -2px -2px 4px #718bb070,0 0 10px #c2dcff50; }
body .lf-toggle-moon span { position: absolute; border-radius: 50%; background: #9cafc845; box-shadow: inset 1px 1px 2px #738cad50,0 1px 1px #ffffffc0; }
body .lf-toggle-moon span:nth-child(1) { width: 9px; height: 9px; top: 6px; left: 5px; }
body .lf-toggle-moon span:nth-child(2) { width: 6px; height: 6px; top: 18px; left: 14px; }
body .lf-toggle-moon span:nth-child(3) { width: 4px; height: 4px; top: 8px; left: 21px; }
body .lf-toggle-stars { position: absolute; z-index: 3; inset: 0; opacity: 0; transform: translateY(-6px); }
body .lf-toggle-stars span { position: absolute; width: 2px; height: 2px; border-radius: 50%; background: #f2f3ff; box-shadow: 0 0 3px #f2f3ff80; }
body .lf-toggle-stars span:nth-child(1) { left: 56px; top: 10px; width: 3px; height: 3px; }
body .lf-toggle-stars span:nth-child(2) { left: 85px; top: 16px; }
body .lf-toggle-stars span:nth-child(3) { left: 94px; top: 28px; }
body .lf-toggle-stars span:nth-child(4) { left: 73px; top: 24px; width: 5px; height: 5px; border-radius: 0; clip-path: polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); }
body .lf-toggle-stars span:nth-child(5) { left: 70px; top: 6px; }
body .lf-toggle-ridge { position: absolute; z-index: 5; left: -7px; bottom: -3px; width: 118px; height: 34px; background: linear-gradient(130deg,#91aaa4,#b5b7a0); clip-path: polygon(0 80%,23% 14%,35% 53%,57% 0,78% 53%,91% 25%,100% 70%,100% 100%,0 100%); }
body .lf-toggle-ridge::after { content: ""; position: absolute; inset: 0; background: #ffffffad; clip-path: polygon(42% 30%,57% 0,70% 32%,60% 21%,56% 27%,52% 19%); }
body .lf-toggle-ridge-near { z-index: 6; height: 20px; bottom: -5px; background: linear-gradient(135deg,#648c83,#456f72); clip-path: polygon(0 60%,26% 10%,48% 70%,77% 0,100% 55%,100% 100%,0 100%); }
body .lf-toggle-ridge-near::after { display: none; }
body .lf-toggle-meteor { position: absolute; z-index: 7; width: 26px; height: 1px; top: 12px; right: 12px; background: linear-gradient(90deg,transparent,#fff); opacity: 0; }
body.dark-mode .lf-toggle-night,body.dark-mode .lf-toggle-stars { opacity: 1; }
body.dark-mode .lf-toggle-stars { transform: translateY(0); }
body.dark-mode .lf-toggle-orb { transform: translateX(0) rotate(-12deg); }
body.dark-mode .lf-toggle-sun { opacity: 0; transform: scale(.85); }
body.dark-mode .lf-toggle-moon { opacity: 1; transform: scale(1); }
body.dark-mode .lf-toggle-ridge { background: linear-gradient(130deg,#375e8c,#557d9e); transform: translateX(3px); }
body.dark-mode .lf-toggle-ridge-near { background: linear-gradient(135deg,#1a395c,#183048); transform: translateX(-3px); }
/* No animation at first render, on mobile, or when reduced motion is requested. */
@media (min-width:769px) and (prefers-reduced-motion:no-preference) {
    body .lf-theme-toggle--desktop.lf-toggle-animated .lf-toggle-orb { transition: transform .65s cubic-bezier(.22,.9,.28,1); }
    body .lf-theme-toggle--desktop.lf-toggle-animated .lf-toggle-night,
    body .lf-theme-toggle--desktop.lf-toggle-animated .lf-toggle-sun,
    body .lf-theme-toggle--desktop.lf-toggle-animated .lf-toggle-moon,
    body .lf-theme-toggle--desktop.lf-toggle-animated .lf-toggle-stars { transition: transform .65s ease,opacity .55s ease; }
    body .lf-theme-toggle--desktop.lf-toggle-animated .lf-toggle-ridge { transition: transform .65s ease; }
    body.dark-mode .lf-theme-toggle--desktop.lf-toggle-animated .lf-toggle-meteor { animation: lf-toggle-meteor .7s .1s ease-out both; }
}
@keyframes lf-toggle-meteor { 0% { opacity:0; transform:translate(12px,-6px) rotate(-28deg); } 18% { opacity:1; } 100% { opacity:0; transform:translate(-42px,22px) rotate(-28deg); } }
body .lf-theme-toggle--mobile { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(var(--lf-primary-rgb),.12); color: var(--lf-primary-color); box-shadow: none; }
body .lf-theme-toggle--mobile svg { width: 22px; height: 22px; pointer-events: none; }
body .lf-theme-toggle--mobile .lf-toggle-mobile-moon { display: none; }
body.dark-mode .lf-theme-toggle--mobile .lf-toggle-mobile-sun { display: none; }
body.dark-mode .lf-theme-toggle--mobile .lf-toggle-mobile-moon { display: block; }
@media (max-width:768px) { body #dark-mode-toggle-container,body .lf-toggle-scene { display:none!important; } }
@media (min-width:769px) { body #mobile-dark-mode-toggle-container { display:none!important; } }
