/* Deep navy + teal experiment. Kept separate so the previous palette is easy to restore. */
:root{
 --bg:#071522;--surface:#102337;--text:#f2f8fb;--muted:#9cb3c5;
 --accent:#47dcc7;--mint:#79eadb;--line:rgba(164,211,226,.16);
 --accent-bright:#79eadb;--accent-ink:#062b2c;
}
html,body{background:var(--bg);color:var(--text)}
::selection{background:var(--accent);color:var(--accent-ink)}
button:focus-visible,a:focus-visible{outline-color:var(--accent-bright)}
/* Layered, independently drifting light pools, inspired by the reference intro. */
.ambient{position:fixed;inset:0;height:100%;overflow:hidden;pointer-events:none}
/* Static grain is composited above all three glows, behind the actual page content. */
.ambient:before{content:"";position:absolute;inset:0;z-index:1;background:url('assets/background-grain.png') repeat;background-size:256px 256px;opacity:.008;pointer-events:none}
.ambient i{width:clamp(440px,55vw,900px);height:clamp(440px,65vh,760px);top:-8%;right:-5%;left:auto;filter:blur(24px);opacity:1;background:radial-gradient(closest-side,#47dcc766,#00a5bd26 60%,transparent);transform:translate3d(0,0,0)}
.ambient i+i{width:clamp(380px,44vw,740px);height:clamp(400px,60vh,680px);top:24%;left:-12%;right:auto;filter:blur(28px);opacity:1;background:radial-gradient(closest-side,#197bd44d,transparent);transform:translate3d(0,0,0)}
.ambient:after{content:"";position:absolute;width:clamp(360px,48vw,780px);height:clamp(380px,58vh,650px);left:22%;top:14%;filter:blur(26px);background:radial-gradient(closest-side,#5cebd626,transparent)}
@media(prefers-reduced-motion:no-preference){
 .ambient i{animation:lava-primary 12s ease-in-out infinite alternate;animation-delay:-4s;will-change:transform}
 .ambient i+i{animation:lava-secondary 15s ease-in-out infinite alternate;animation-delay:-9s}
 .ambient:after{animation:lava-third 17s ease-in-out infinite alternate;animation-delay:-6s;will-change:transform}
}
@keyframes lava-primary{
 from{transform:translate3d(5vw,-3vh,0) scale(.95,1.05)}
 to{transform:translate3d(-22vw,18vh,0) scale(1.3,1.16)}
}
@keyframes lava-secondary{
 from{transform:translate3d(-5vw,16vh,0) scale(1.15,.95)}
 to{transform:translate3d(26vw,-12vh,0) scale(.95,1.2)}
}
@keyframes lava-third{
 from{transform:translate3d(14vw,-8vh,0) scale(.9,1.1)}
 to{transform:translate3d(-14vw,30vh,0) scale(1.25,.95)}
}
.hero-art:before{background:radial-gradient(ellipse,#47dcc740,transparent 65%)}
.portrait-frame{background:var(--surface);border:0;box-shadow:0 10px 22px -12px #47dcc766}
.hero .eyebrow,.about-dialog .about-dialog-intro .eyebrow,
.about-heading-row #experience-open,.hero-stats strong>span{color:var(--accent)}
.about-heading-row #experience-open:hover,.contact-row .copy-email:hover,
.contact-row .social-links a:hover,.header-contact-links a:hover{color:var(--accent-bright)}
.hero-description,.about-section .about-copy>p{color:#bdcdda}
.hero-stats>div>span,.section-heading p{color:var(--muted)}
.contact-row .copy-email,.contact-row .social-links a,.about-copy .tools>span{color:#d1e0e9}
.contact-section:before{background:radial-gradient(ellipse at 75% 90%,#087f872b,transparent 65%)}
.filter-tabs button{color:var(--muted)}
.filter-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}
.project-cover-shell{box-shadow:0 10px 22px -12px #47dcc766}
.project-cover-shell:before{box-shadow:0 0 40px -6px #47dcc780}
.project-launch,.project-open:hover .project-launch,.project-open:focus-visible .project-launch{
 background:var(--accent);color:var(--accent-ink);
}
.project-version-badge{background:#0b2133ed;border-color:#b4e2e533}
.project-version-badge:before{border-color:var(--accent-bright);box-shadow:3px -3px 0 -1px #123e49,3px -3px 0 0 var(--accent-bright)}
.project-details>span.project-publisher{color:#adc3d3}
.button-primary{background:var(--accent);border-color:var(--accent-bright);color:var(--accent-ink)}
.button-primary:hover{background:var(--accent-bright)}
.about-dialog{background:#0c1e30;border-color:var(--line)}
.about-dialog::backdrop,.player-dialog::backdrop{background:rgba(3,12,23,.73)}
.career-timeline li:before{background:var(--accent)}
.career-timeline li:not(:last-child):after{background:#47dcc74d}
.player-dialog .player-header{background:#0d2032e6;border-color:var(--line)}
.player-dialog .player-toolbar{background:#0d2032ed;border-color:var(--line)}
.player-dialog .player-toolbar .icon-button[aria-pressed=true]{color:var(--accent)}
.player-dialog .player-versions button{background:#10283be8;color:#d7e6ef;border-color:#9bc7d633}
.player-dialog .player-versions button:hover{background:#153c4c;border-color:var(--accent)}
.player-dialog .player-versions button[aria-pressed=true]{background:var(--accent);border-color:var(--accent-bright);color:var(--accent-ink);box-shadow:0 3px 15px #139e9640}
.player-dialog .player-status,.phone-screen iframe{background:var(--bg)}
.player-dialog .player-status{color:#c4d9e7}
.loader{border-color:#47dcc729;border-top-color:var(--accent)}
.toast{background:#0c303b;border-color:#47dcc766;color:var(--text)}
