/* Dark theme, loaded only when the device requests a dark colour scheme. */
:root{color-scheme:dark;--bg:#101114;--ink:#f1f3f7;--muted:#969eac;--line:#2a2e37;--blue:#6ba3ff;--title-gradient:linear-gradient(110deg,#709df0 8%,#a1c6ff 100%);--hero-title-gradient:linear-gradient(108deg,#739cff 4%,#82b9ff 48%,#92dddd 100%)}
body{background:var(--bg);color:var(--ink)}
::selection{background:#315491;color:#fff}
header,body.scrolled header{background:#1b1e25bb;border-color:#ffffff12;box-shadow:0 8px 35px #0003}
header nav a,header nav a.current,header nav a.current:hover{color:#d4d9e2}
header nav a.current:after{background:var(--blue)}
.hero{--hero-wash:rgba(49,97,200,.36);--hero-light:rgba(56,157,185,.18)}

.hero-description,.hero-platform-line,.section-heading>p,.about-description>p,.signature span{color:#a0a8b6}
.hero-actions .hero-about-link,.hero-actions .hero-about-link:hover,.project-filters .filter:not(.active),.project-filters .filter:hover:not(.active){background:#20242c;border-color:#353b48;color:#e3e8f0}
.hero-actions .hero-project-link,.hero-actions .hero-project-link:hover,.project-filters .filter.active{background:#317def;border-color:#317def;color:white}
.about>.eyebrow.left,.projects>.section-heading .eyebrow.left,.assembly-section .section-heading .eyebrow.left{color:#d9dfe8}
.eyebrow.left em{color:var(--blue)}
.about h2>span{color:#8d98a9}
.project-info p,.tags span{color:#99a4b5}.tags span{border-color:#333b49}
.project-open,.project-card:hover .project-open{border-color:#3d4655;color:#b1bdce}
.project-card:hover .project-art{box-shadow:0 12px 40px #0003}
.design-manifesto,.method{background:var(--bg)}
.design-manifesto:before{background:radial-gradient(ellipse,#21417455,transparent 70%)}
.manifesto-text>span{color:#404957}.manifesto-text>span.lit{color:#eef2f8}
.manifesto-kicker,.manifesto-note,.abstract-caption{color:#a3aec0}
.method-copy h3{color:#eef2f8}.method-copy>p{color:#a3aec0}

.abstract-tile[data-face="0"],.abstract-idea .abstract-tile{background:linear-gradient(145deg,#2c3442,#202632);color:#e7edf6;border-color:#ffffff12;box-shadow:0 22px 60px #0003,inset 0 1px #ffffff0d}
.abstract-tile[data-face="1"].tile-one,.abstract-design .tile-one{background:#252c38;color:#e8edf6;border-color:#ffffff12}
.abstract-tile[data-face="1"].tile-two,.abstract-design .tile-two{background:#292b3b;border-color:#ffffff12}
.abstract-tile[data-face="2"].tile-one,.abstract-code .tile-one{background:linear-gradient(145deg,#2c3442,#202632);border-color:#ffffff12}
.assembly-dock{background:linear-gradient(160deg,#2b303bc9,#1c2029c9);border-color:#ffffff18;box-shadow:0 18px 45px #0003,inset 0 0 0 1px #ffffff05}
.assembly-details .tool.active{background:#25477835}
.assembly-details .tool h3{color:#e0e6f0}.assembly-details .tool.active h3{color:var(--blue)}
.assembly-details .tool p,.assembly-details .tool>span{color:#9ba6b7}
.footer-identity,.footer-signature{color:#e2e8f2}.footer-identity small,.footer-up,.footer-linkedin,.footer-bottom,.footer-legal a{color:#939eaf}
.footer-up svg{background:#252c36}.footer-linkedin svg{color:var(--blue)}
.reading-progress{background:#414b5b80}
dialog{background:#191d25;border-color:#353d4a;color:#eef2f8}.dialog-intro,.dialog-columns p,.dialog-detail>span{color:#a0acbe}.dialog-close{background:#2b3340;color:#e1e8f2}
@media(max-width:700px){.assembly-details .tool.active{background:transparent}.assembly-details .tool h3{color:#e0e6f0}.assembly-details .tool.active h3{color:var(--blue)}}

.legal-page{background:var(--bg);color:var(--ink)}
.legal-page h1,.legal-page h2{color:var(--ink)}
.legal-page section{background:#1a1e26;box-shadow:none}
.legal-page p,.legal-page .intro{color:#a0aabc}
.legal-page a{color:var(--blue)}
.legal-page .back{background:#222833b3;border-color:#ffffff12;color:#e2e8f2;box-shadow:0 4px 20px #0002}
.legal-page .draft{background:#232e41;color:#b4bfd1}
.legal-page footer a{color:#a0adbf}

.method-sticky{--process-glow-blue:rgba(49,97,200,.26);--process-glow-ice:rgba(56,157,185,.14);background:none}


.hero-actions .hero-project-link,.hero-actions .hero-project-link:hover,.contact-email,.project-filters .filter.active,.project-filters .filter.active:hover{background:var(--action-blue);border-color:var(--action-blue);color:#fff}

.project-card .tags span{background:#1b2028;color:#b6c0cf;border:0;box-shadow:inset 0 1px #ffffff05}
.project-tag-icon{color:#91a5bf}

#project-dialog{background:#191d25;border-color:#ffffff12;color:var(--ink)}
.project-dialog-heading{background:radial-gradient(ellipse at 95% 0%,#24457755,transparent 70%),#1e2531}
#project-dialog .dialog-close{background:#2b3340bb;border-color:#ffffff0c;color:#d4deed}
#project-dialog .tags span{background:#2b3340;color:#b6c0cf}

#project-dialog{background:var(--bg);border-color:var(--line)}
.project-dialog-heading{background:none}
#project-dialog .dialog-close{background:transparent;border:0;color:var(--muted)}

#project-dialog .dialog-close{background:var(--bg);color:var(--muted)}

#project-dialog .dialog-close{background:#202735c9;color:#edf2fa;box-shadow:0 2px 12px #0003}

/* Project pages inherit the same dark palette as the portfolio. */
#project-dialog{background:var(--bg);color:var(--ink);border-color:var(--line)}
#project-dialog .project-dialog-heading{background:none}
#project-dialog .dialog-close{background:#1b2028e6;color:var(--ink);box-shadow:0 3px 15px #0002}
#project-dialog .tags span{background:#1b2028;color:#b6c0cf;box-shadow:inset 0 1px #ffffff05}

#project-dialog .dialog-close{background:transparent;color:var(--muted);box-shadow:none}

#project-dialog .dialog-close{background:#1b2028;color:#b6c0cf}

#project-dialog{background:#191d25}

#project-dialog .dialog-close{background:#2b3340;color:#e1e8f2}

/* A restrained blue-to-ice atmosphere behind the closing invitation. */
.contact-section{--contact-glow-blue:rgba(49,97,200,.21);--contact-glow-ice:rgba(56,157,185,.12)}
