/* LAB changes are opt-in; the main page layout stays intact. */
.site-settings-menu {
  width: min(310px, calc(100vw - 36px)); max-height: calc(100dvh - 110px); overflow-y: auto;
  padding: 20px; background: #222226; color: #f4f2eb; border: 1px solid #ffffff24; white-space: normal;
  box-shadow: 0 18px 55px #0005, inset 0 1px #ffffff0a;
  backdrop-filter: none; -webkit-backdrop-filter: none; color-scheme: dark;
  scrollbar-width: thin; scrollbar-color: #5c5c62 transparent;
}
.site-settings-menu .site-settings-title { color: #aaaab4; }
.site-settings-menu .site-settings-switch { color: #f4f2eb; border-color: #ffffff14; padding-block: 13px; }
.site-settings-menu .site-settings-switch small, .site-settings-menu .site-settings-switch:disabled small { color: #a0a0aa; line-height: 1.45; }
.site-settings-menu .site-settings-track { background: #515159; }
.site-settings-menu .site-settings-switch[aria-checked="true"] .site-settings-track { background: #f26a21; }
.lab-settings { margin-top: 14px; padding-top: 15px; border-top: 1px solid #ffffff20; }
.lab-settings summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; padding: 4px 0; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.lab-settings summary::-webkit-details-marker { display: none; }
.lab-settings summary>span:first-child { display: inline-flex; align-items: center; gap: 9px; color: #f4aa76; }
.lab-settings summary svg { width: 19px; height: 22px; }
.lab-settings summary:focus-visible { outline: 2px solid #f26a21; outline-offset: 4px; border-radius: 4px; }
.lab-chevron { color: #b0b0b9; font-size: 18px; transition: transform .2s ease; }
.lab-settings[open] .lab-chevron { transform: rotate(180deg); }
.lab-note { color: #93939e; font-size: 11px; line-height: 1.5; margin: 12px 0 10px; }
.lab-settings .site-settings-switch strong { font-size: 13px; }

/* Spotlight casts a stronger stationary pool of light and a moving ground shadow. */
body.spotlight-mode { background-image: radial-gradient(ellipse 80% 65svh at 50% 260px, #ffedc423, transparent 80%); }
.spotlight-mode .focus-stage { background: radial-gradient(ellipse at 50% 45%, #ffedc41e, transparent 73%); }
.spotlight-mode .photo-list img { box-shadow: 0 0 75px #ffedc425, 0 24px 55px #0009; }
.spotlight-mode .focus-photo { box-shadow: 0 0 70px #ffedc420, 0 22px 55px #0008; }
.spotlight-floor-shadow { position: absolute; z-index: 0; left: 16%; bottom: -28px; width: 68%; height: 22px; background: #000b; border-radius: 50%; filter: blur(15px); pointer-events: none; }
body:not(.spotlight-mode) .spotlight-floor-shadow { display: none; }

/* The glow sits around the photograph, preserving its own colour. */
.lab-ambient .photo-list img { box-shadow: 0 0 65px rgb(var(--ambient-rgb, 190 167 129) / .2), 0 15px 35px #00000014; }
.lab-ambient .focus-stage { background: radial-gradient(ellipse at 50% 45%, rgb(var(--ambient-rgb, 190 167 129) / .2), transparent 74%); }
.lab-ambient .focus-photo[data-depth="0"] { box-shadow: 0 0 65px rgb(var(--ambient-rgb, 190 167 129) / .23), 0 20px 45px #0000002a; }
.lab-ambient .moment-hero-cards { background: radial-gradient(ellipse at 50% 45%, rgb(var(--ambient-rgb, 190 167 129) / .15), transparent 72%); }
.lab-ambient .about-portrait { box-shadow: 0 0 70px rgb(var(--ambient-rgb, 190 167 129) / .18); }
.lab-shutter .photo-list[data-view="portfolio"] figure { animation: none; }
@media (hover: hover) and (pointer: fine) {
  .magnetic-target { transition-property: translate, transform, background, border-color, color, box-shadow; transition-duration: 140ms, 220ms, 220ms, 220ms, 220ms, 220ms; transition-timing-function: ease-out; }
}

/* Pure-black surfaces, with text and orange accents preserved. */
.lab-oled .site-header, .lab-oled .site-footer, .lab-oled .social-preview,
.lab-oled .bento-social, .lab-oled .custom-callout,
.lab-oled .site-settings-menu, .lab-oled .site-settings-track { background: #000; background-image: none; }
.lab-oled .site-settings-trigger svg circle { fill: #000; }
.lab-oled .site-settings-track { box-shadow: inset 0 0 0 1px #ffffff30; }
.lab-oled .site-settings-trigger:hover, .lab-oled .site-settings-trigger[aria-expanded="true"] { background: #000; }
.lab-oled body.spotlight-mode { background-color: #000; background-image: none; }
.lab-oled .spotlight-mode .focus-photo, .lab-oled .spotlight-mode .focus-photo img,
.lab-oled .spotlight-mode .photo-list img,
.lab-oled .spotlight-mode .theme-switcher, .lab-oled .spotlight-mode .theme-switcher button,
.lab-oled .spotlight-mode .focus-controls, .lab-oled .spotlight-mode .focus-controls button,
.lab-oled .spotlight-mode .view-options, .lab-oled .spotlight-mode .view-options::before,
.lab-oled .spotlight-mode .spotlight-toggle { background: #000; backdrop-filter: none; -webkit-backdrop-filter: none; }
.lab-oled .spotlight-mode .view-options::before { border-color: #ffffff55; }
.lab-oled .site-settings-menu .site-settings-switch[aria-checked="true"] .site-settings-track { background: #f26a21; }
@media (max-width: 480px) {
  .site-settings-menu { max-height: calc(100dvh - 115px); padding: 18px; }
}
@media (max-width: 600px) {
  .site-settings-menu {
    position: fixed; top: calc(var(--header-h, 54px) + 10px); left: 18px; right: 18px;
    width: auto; max-width: 360px; margin-left: auto;
    max-height: calc(100dvh - var(--header-h, 54px) - 28px);
  }
}
@media (prefers-reduced-motion: reduce) { .lab-chevron, .magnetic-target { transition: none; } }
