/* Shared controls keep the original light composition intact. */
.hero-controls{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.theme-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:11px;letter-spacing:0;white-space:nowrap;padding:0 2px}
.theme-track{display:block;width:38px;height:22px;border:1px solid #68799b;border-radius:20px;padding:3px;background:#bfcfe8}
.theme-track>span{display:block;width:14px;height:14px;border-radius:50%;background:#263454;transition:transform .2s,background .2s}
.theme-toggle[aria-checked=true] .theme-track{background:#333b71;border-color:#92adff}
.theme-toggle[aria-checked=true] .theme-track>span{transform:translateX(16px);background:#d4f4ff;box-shadow:0 0 9px #9bd9ff88}
[data-theme=dark]{color-scheme:dark;--ink:#f2f5ff;--muted:#c3cee5;--line:#95a9dd55;--blue:#101831}
[data-theme=light]{color-scheme:light}
[data-theme=dark] body{background:#080e25}
[data-theme=dark] .page-background{background-image:url('assets/precision-background-dark.png');background-color:#080e25}
/* A veil keeps the brightest refractions behind readable foreground copy. */
[data-theme=dark] .page-background::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#080d2599,#10133420 75%,#120c282e)}
[data-theme=dark] ::selection{background:#6555a5;color:#fff}
[data-theme=dark] .site-header,[data-theme=dark] footer,[data-theme=dark] .about-contact>section:first-child{border-color:#97b4ee42}
[data-theme=dark] .hero-meta,[data-theme=dark] footer,[data-theme=dark] .media-note,[data-theme=dark] .design-grid figcaption>span{color:#bfcee8}
[data-theme=dark] .site-header nav a:hover,[data-theme=dark] .text-button:hover,[data-theme=dark] .social-links a:hover{color:#b3edff;border-color:#a5dfff}
[data-theme=dark] .motion-toggle::before,[data-theme=dark] .section-title>span{background:#a6c3ef66}
[data-theme=dark] .glass-project{border-color:#9dbdff70;background:linear-gradient(135deg,#18264cb8,#171c3b99 48%,#292043a8);backdrop-filter:blur(22px) saturate(1.35);box-shadow:inset 0 1px 1px #d3eaff55,inset 0 -1px 3px #a08cff33,0 18px 40px #01061955,0 0 25px #626ee610}
[data-theme=dark] .glass-project::before{background:linear-gradient(130deg,#b1f0ffcc,#5b7be233 22%,#d4a4ff88 44%,#7384ca22 62%,#67d9ffb3 85%,#b1a0ff88);opacity:.8}
[data-theme=dark] .glass-project::after{border-color:#b0d5ff22}
[data-theme=dark] .glass-project:hover{box-shadow:inset 0 1px 2px #d9f2ff80,inset 0 -1px 5px #b491ff55,0 22px 45px #01061977,0 0 30px #7e8dff2b;border-color:#b2eaffb3}
[data-theme=dark] .project-symbol{border-color:#a7c4ef44}
[data-theme=dark] .project-symbol img{filter:drop-shadow(0 0 12px #92d4ff44)}
[data-theme=dark] .jm-symbol img{filter:drop-shadow(0 0 5px #b6d6ff66)}
[data-theme=dark] .project-info>span{color:#c7d4ed}
[data-theme=dark] .hero-subtitle,[data-theme=dark] .section-subline>p,[data-theme=dark] .about-contact p{color:#d8e2f6}
[data-theme=dark] .photo-frame,[data-theme=dark] .design-image{border-color:#a9c6ff55;background-color:#101a32;box-shadow:0 12px 30px #0206144d}
[data-theme=dark] .design-image>span{color:#1b2847}
[data-theme=dark] .wordmark-image{background:linear-gradient(140deg,#e7efff,#bfcbea)}
[data-theme=dark] .social-links a{border-color:#a2bee066}
[data-theme=dark] a:focus-visible,[data-theme=dark] button:focus-visible{outline-color:#9fe6ff}
[data-theme=dark] dialog{background:#10182d;color:#f2f5ff;border-color:#a1b7eb55;box-shadow:0 30px 120px #0009}
[data-theme=dark] dialog::backdrop{background:#03071bcc}
[data-theme=dark] .detail-hero{background:linear-gradient(120deg,#142541,#251c41);border-color:#9ab6e633}
[data-theme=dark] .detail-hero>p:last-child,[data-theme=dark] .detail-main p,[data-theme=dark] .detail-main li,[data-theme=dark] .detail-sidebar strong{color:#c7d3e9}
[data-theme=dark] .eyebrow,[data-theme=dark] .small-label{color:#adbfdf}
[data-theme=dark] .detail-sidebar,[data-theme=dark] .detail-film{border-color:#a2b4da33}
[data-theme=dark] .inline-link,[data-theme=dark] .detail-film{color:#ade5ff}
[data-theme=dark] .close-button{background:#263451;color:#f3f7ff;border-color:#b1ceff66}
@media(max-width:800px){.hero-controls{gap:12px}.theme-toggle{font-size:10px}}
@media(max-width:560px){.hero-meta{flex-wrap:wrap;gap:8px;margin-bottom:18px}.hero-meta>span{max-width:none;width:100%;font-size:7px}.hero-controls{width:100%;justify-content:space-between;gap:14px}.theme-toggle{font-size:11px}.motion-toggle{font-size:10px;min-height:44px}}
