/* Theme controls share the same preference on the portfolio and web résumé. */
:root{color-scheme:light}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d9e1ee;border-radius:5px;background:#f5f7fb;color:#425575;padding:9px 11px;min-width:67px;min-height:36px;font:500 10px var(--font,system-ui);flex-shrink:0;transition:background .2s,border-color .2s}
.theme-toggle:hover{background:#eaf0fc;border-color:#9ab5eb}.theme-toggle [data-theme-icon]{font-size:16px;line-height:1}
.theme-toggle:focus-visible{outline:3px solid #80a9ff;outline-offset:4px}
.header-inner{gap:22px}.header-inner .theme-toggle{margin-left:-10px}
html[data-theme=dark]{color-scheme:dark;--paper:#0b0f17;--ink:#e8edf6;--muted:#9ba9bf;--line:#263146;--blue:#80aaff;--soft:#111827}
html[data-theme=dark] body{background:var(--paper);color:var(--ink)}
html[data-theme=dark] .site-header{background:#0b0f17f2;border-color:#263146}
html[data-theme=dark] .header-inner nav{color:#a8b6cc}
html[data-theme=dark] .header-email{color:#a9c6ff;border-color:#364b70}
html[data-theme=dark] .header-email:hover{background:#1a2942}
html[data-theme=dark] .monogram{background:#3268e5;color:white}
html[data-theme=dark] .theme-toggle{background:#182235;border-color:#35445f;color:#d4e2fc}
html[data-theme=dark] .theme-toggle:hover{background:#243653;border-color:#6994e5}
html[data-theme=dark] .menu-toggle>span{background:#b8cef3}
html[data-theme=dark] .profile-title{color:#c0ccdf}
html[data-theme=dark] :is(.profile-summary,.section-aside p,.section-heading>p,.experience-row>p,.role-details li,.project-copy>p,.project-capabilities,.contribution-grid>article>p,.background-description,.education-notes li,.early-work p){color:#a8b6cc}
html[data-theme=dark] :is(.profile-location,.profile-location>a,.career-strip span,.role-heading>span,.experience-company,.project-meta,.education-block>div>span){color:#95a7c2}
html[data-theme=dark] .profile-location>a:hover{color:#c8daff}
html[data-theme=dark] .profile-panel{background:#131d30;border:1px solid #2a3d60;box-shadow:0 12px 40px #0002}
html[data-theme=dark] .current-position>p{color:#a1b6d8}
html[data-theme=dark] .profile-focus small{color:#97accd}
html[data-theme=dark] .panel-top{color:#a0b8df}
html[data-theme=dark] .profile-focus>div>span{color:#8daee8}
html[data-theme=dark] .button-blue{background:#3268e5;color:white}
html[data-theme=dark] .button-blue:hover{background:#457cf5}
html[data-theme=dark] .button-outline{background:#151e2e;color:#d7e3f7;border-color:#34435e}
html[data-theme=dark] .button-outline:hover{background:#20304b;border-color:#638bce}
html[data-theme=dark] .career-strip strong{color:#bac9e1}
html[data-theme=dark] .experience-list{border-color:#33425d}
html[data-theme=dark] .experience-row.current{background:#14223b;border-bottom-color:#304568}
html[data-theme=dark] .experience-company>span:first-child{color:#adc6ee}
html[data-theme=dark] .current-badge{background:#223e69;border-color:#3a5e94;color:#b5ceff}
html[data-theme=dark] .projects-section{background:#0e1420}
html[data-theme=dark] :is(.featured-project,.contribution-grid>article){background:#141d2b;border-color:#2b3950}
html[data-theme=dark] .project-copy>.project-lead{color:#d0dcf1}
html[data-theme=dark] .tech-tags>span{background:#1a2940;border-color:#334766;color:#b0c7ed}
html[data-theme=dark] :is(.budget-build-details,.budget-build-details dl>div,.contribution-footer,.early-work,.early-work>article){border-color:#2c3a52}
html[data-theme=dark] .budget-build-details dt{color:#b4cdf7}
html[data-theme=dark] .budget-build-details dd{color:#a6b6d0}
html[data-theme=dark] .playground-steps{border-color:#2d405e}
html[data-theme=dark] .playground-steps>button{color:#b7c9e8;border-color:#2d405e}
html[data-theme=dark] .playground-steps>button:hover{background:#1d2d49}
html[data-theme=dark] .playground-steps>button[aria-pressed=true]{background:#203659;color:#c2d7ff}
html[data-theme=dark] :is(.playground-steps small,.questra-project .playground-steps small,.questra-project .demo-note){color:#99adc9}
html[data-theme=dark] :is(.questra-project .phone-stage,.budget-screenshots,.transcriber-screenshots){background:linear-gradient(145deg,#172943,#111c2e);border-color:#2e405e}
html[data-theme=dark] .questra-project .phone-stage{background:radial-gradient(ellipse at 50% 35%,#223b65,#111c2e 80%)}
/* The simulated product and original screenshots retain their own interface colors. */
.questra-app{color-scheme:light}
html[data-theme=dark] :is(.budget-screen-grid figcaption,.transcriber-screenshots figcaption strong){color:#c2d5f5}
html[data-theme=dark] :is(.budget-gallery-heading>span:last-child,.transcriber-gallery-heading>span:last-child,.budget-screen-grid figcaption span,.transcriber-screenshots figcaption>span,.budget-screenshots>p,.transcriber-screenshots>p){color:#9db2d2}
html[data-theme=dark] :is(.budget-screenshots>p,.transcriber-screenshots>p){border-color:#304463}
html[data-theme=dark] .transcriber-screenshots figure>a{border-color:#435b7e}
html[data-theme=dark] .voice-feature blockquote{color:#c6d9f9}
html[data-theme=dark] .voice-feature>p{color:#a2b5d1}
html[data-theme=dark] .contribution-footer>span:first-child{color:#9ebff8}
html[data-theme=dark] .contribution-footer>span:last-child{color:#a0b1cb}
html[data-theme=dark] .skills-section{background:#0a101b;border-top:1px solid #23324a;border-bottom:1px solid #23324a}
html[data-theme=dark] :is(.ai-work-grid p,.skills-matrix p,.skills-section .section-heading>p){color:#a5b6d0}
html[data-theme=dark] .skills-matrix h3{color:#c2d5f3}
html[data-theme=dark] .education-symbol{background:#1b2d4c;border-color:#34517d}
html[data-theme=dark] .education-block p{color:#acbcd5}
html[data-theme=dark] .early-work h4{color:#c1d2ed}
html[data-theme=dark] .contact-section{background:#101c30;border-color:#2c405f}
html[data-theme=dark] .contact-layout h2{color:#deE8f9}
html[data-theme=dark] :is(.contact-links>a,.contact-section footer>a:last-child,.contact-email){color:#b7cfff;border-color:#33496c}
html[data-theme=dark] .contact-section footer{color:#97abc9;border-color:#33496c}
html[data-theme=dark] .footer-name{color:#c6d9fa}
/* Web résumé follows the site theme, with a white print layout. */
html[data-theme=dark] .page{background:#131c2b;border-color:#2b3c56}
html[data-theme=dark] .page :is(h1,h3){color:#deE9fc}
html[data-theme=dark] .page :is(p,li,.skill-row){color:#a9bad4}
html[data-theme=dark] .page :is(a,h2,.role){color:#9fc0ff}
html[data-theme=dark] .page :is(nav,h2,.note){border-color:#33496c}
html[data-theme=dark] .page .current{background:#1b2b46}
html[data-theme=dark] .page .skill-row strong{color:#c1d5f7}
html[data-theme=dark] .page :is(.meta,.contact){color:#9ab0d1}
@media(max-width:1100px){.header-inner{gap:16px}.header-inner nav{gap:18px}.theme-toggle{min-width:35px;padding:8px}.header-inner .theme-toggle{margin-left:0}.header-inner .theme-toggle [data-theme-label]{display:none}}
@media(max-width:760px){.header-inner{gap:13px}.header-email{gap:9px}.theme-toggle{min-height:33px}.header-inner .theme-toggle{margin-left:0}html[data-theme=dark] .header-inner nav{background:#101a2b;border-color:#2e405f}.page nav{flex-wrap:wrap}.page nav>div{flex-wrap:wrap}}
@media(max-width:370px){.header-inner{gap:10px}.header-email{font-size:7px;padding:8px}.theme-toggle{min-width:30px;padding:6px}.identity{gap:6px}}
@media print{html[data-theme]{color-scheme:light}html[data-theme] body,html[data-theme] .page{background:white;color:#1b2230}html[data-theme] .page :is(h1,h3){color:#223355}html[data-theme] .page :is(p,li,.skill-row){color:#475569}html[data-theme] .page .current{background:#f4f7fe}.theme-toggle{display:none}}
html[data-theme=dark] .voice-feature>span{color:#99bdff}
@media print{html[data-theme] .page :is(a,h2,.role){color:#245bdb}html[data-theme] .page :is(.meta,.contact,.skill-row strong){color:#405b87}}
