/* Exact requested palette. Colours only: layout, typography and motion live
   in the preceding stylesheets and retain their existing behavior. */
:root{
  --space:#0B1628;--navy:#12233B;--white:#F4F7FC;--preview:#E5EDF8;
  --royal:#2563EB;--royal-hover:#1D4ED8;--accent:#F59A57;
  --slate-light:#B7C6DA;--ink:#172D49;--slate:#50647F;
  --border-dark:#2A4160;--border-light:#CAD7E8;
  --bg:var(--space);--panel:var(--navy);--text:var(--white);
  --muted:var(--slate-light);--line:var(--border-dark);
  --blue:var(--royal);--cyan:var(--accent);--orange:var(--accent);color-scheme:dark;
}
body{background:var(--space);color:var(--white)}
::selection{background:var(--royal);color:var(--white)}
.space-nebula{background:radial-gradient(ellipse at 14% 15%,rgb(37 99 235 / .045),transparent 48%),radial-gradient(ellipse at 88% 75%,rgb(229 237 248 / .025),transparent 42%)}
#particles{opacity:.48}.no-motion #particles{opacity:.42}
.header,.mobile-nav{background:var(--navy);border-color:var(--border-dark);box-shadow:0 5px 22px rgb(11 22 40 / .18)}
.header .monogram,.header .brand-copy,.footer-brand{color:var(--white)}
.header .brand-copy small,.header .resume-link,.desktop-nav a,.mobile-nav a{color:var(--slate-light)}
.monogram{border-left-color:var(--royal)}.monogram>span,.footer-brand span{color:var(--accent)}
.desktop-nav a:hover,.desktop-nav a.active,.mobile-nav a:hover{background:var(--royal);color:var(--white)}
.menu-toggle span{background:var(--white)}
.quick-open{background:var(--navy);color:var(--white);border-color:var(--border-dark)}.quick-open kbd{color:var(--slate-light)}.quick-open:hover{background:var(--royal-hover);border-color:var(--royal)}
.gradient,.hero h1 .gradient{background-image:linear-gradient(105deg,var(--royal) 0%,var(--preview) 58%,var(--white) 100%)}
.build-words>.gradient{background-image:linear-gradient(105deg,var(--preview),var(--white))}
.hero-eyebrow,.hero-description,.hero-foot>span:first-child,.hero-foot a,.build-line,.hero-credentials small{color:var(--slate-light)}
.hero-credentials>span{color:var(--white)}.build-symbol{color:var(--accent)}
.section-label,.section-count{color:var(--slate-light)}.section-label:before{background:var(--accent);box-shadow:none}.label-line,.eyebrow-rule{background:var(--border-dark)}
.availability{background:var(--navy);color:var(--slate-light);border-color:var(--border-dark)}
.status-dot,.lab-note .status-dot{background:var(--accent);box-shadow:none}
.button,.case-button,.chat-form button{background:var(--royal);color:var(--white);border-color:var(--royal);box-shadow:0 4px 14px rgb(11 22 40 / .12)}
.button:hover,.case-button:hover,.chat-form button:hover{background:var(--royal-hover);color:var(--white);border-color:var(--royal-hover);box-shadow:0 6px 18px rgb(11 22 40 / .16)}
.button-secondary{background:var(--navy);color:var(--white);border-color:var(--border-dark);box-shadow:none}.button-secondary:hover{background:var(--royal-hover);border-color:var(--royal);box-shadow:none}
.intro-replay{color:var(--slate-light);border-bottom-color:var(--royal)}.intro-replay span{color:var(--accent)}.intro-replay:hover{color:var(--white)}
.hero-credentials,.projects-section,.project-deck,.project-evidence,.timeline-item,.scholarship-note,.contact-section,.footer{border-color:var(--border-dark)}
.vision-lab{--line:var(--border-dark);background:var(--navy);color:var(--white);border-color:var(--border-dark);box-shadow:0 10px 28px rgb(11 22 40 / .18)}.vision-lab:hover{box-shadow:0 12px 32px rgb(11 22 40 / .22)}
.lab-top,.lab-note,.lab-bottom,.lab-controls{border-color:var(--border-dark)}.lab-top,.lab-coordinate,.lab-note p,.lab-bottom,.lab-live{color:var(--slate-light)}
.lab-preview{background:var(--navy)}.lab-window-dots i,.lab-window-dots i:first-child{background:var(--slate-light)}.lab-window-dots i:last-child,.lab-live i{background:var(--accent);border-color:var(--accent)}
.lab-controls button{background:var(--navy);border-color:var(--border-dark);color:var(--slate-light)}.lab-controls button:hover{background:var(--royal-hover);color:var(--white);border-color:var(--royal)}.lab-controls button.active{background:var(--royal);color:var(--white);border-color:var(--royal)}
.lab-controls button.active:hover{background:var(--royal-hover);border-color:var(--royal-hover)}
.lab-bottom a{color:var(--white);text-decoration:underline;text-decoration-color:var(--royal);text-underline-offset:3px}.lab-bottom a:hover{color:var(--preview)}
.lab-preview .project-photo{background:var(--preview);border-color:var(--border-dark)}.lab-sweep{border-color:var(--border-dark)}.lab-sweep:after{background:var(--royal);box-shadow:none}.lab-sweep:before{background:transparent}
.stack-ribbon{background:var(--navy);border-color:var(--border-dark);color:var(--slate-light)}.stack-label{color:var(--slate-light)}.stack-ribbon a{color:var(--white)}
.about-grid p:not(.large-copy),.about-grid .large-copy,.section-heading p,.milestone-intro p,.timeline-item p,.contact-section>p{color:var(--slate-light)}
.about-links,.text-link,.contact-socials,.email-address{color:var(--white)}.about-links a:hover,.contact-socials a:hover,.email-address:hover{color:var(--preview);background:transparent}.text-link span{color:var(--accent)}
.about-links a,.text-link,.contact-socials a,.email-address{ text-decoration:underline;text-decoration-color:var(--royal);text-underline-offset:5px}
.about-stats strong{color:var(--white)}.about-stats>div:first-child strong{color:var(--royal)}.about-stats small,.about-stats strong span{color:var(--slate-light)}
/* Every light reading surface establishes its own accessible text variables. */
.identity-card,.skill-card,.benchmark-lab,.github-more,.project-card,.featured-shell,.deck-card,.evidence-card,dialog{
  --text:var(--ink);--muted:var(--slate);--line:var(--border-light);--cyan:var(--royal);
  color:var(--ink);background:var(--white);border-color:var(--border-light);color-scheme:light;
  box-shadow:0 5px 18px rgb(11 22 40 / .12);
}
.identity-caption,.profile-lines strong,.identity-card .code-label{color:var(--ink)}.identity-caption small,.profile-lines span{color:var(--slate)}
.identity-avatar{background-image:linear-gradient(120deg,var(--royal),var(--ink));text-shadow:none}
.project-card:hover,.repo-shelf a:hover{border-color:var(--royal);box-shadow:0 8px 22px rgb(11 22 40 / .16)}
.deck-card[data-position=center]{border-color:var(--royal);box-shadow:0 10px 28px rgb(11 22 40 / .18)}.deck-card[data-position=left]:hover,.deck-card[data-position=right]:hover{border-color:var(--royal)}
.card-art,.feature-art,.deck-art,.evidence-image{background:linear-gradient(180deg,var(--preview) 0%,var(--preview) 90%,var(--white) 100%);border-color:var(--border-light)}
.card-art .project-photo,.feature-art .project-photo{background:var(--preview);border-color:var(--border-light)}
.card-content,.feature-copy,.deck-card-copy,.evidence-copy{background:var(--white);color:var(--ink)}
.feature-copy h3,.card-content h3,.deck-card-copy>strong,.evidence-copy strong,.skill-card h3,.benchmark-intro h3,.github-more summary,.repo-shelf strong{color:var(--ink)}
.feature-copy p,.card-content p,.deck-description,.deck-tags,.deck-visual-note,.repo-shelf p,.skill-card p,.benchmark-intro>p{color:var(--slate)}
.project-kicker,.deck-card-copy>.project-kicker,.card-content .project-kicker,.repo-shelf a>span,.evidence-copy>span{color:var(--ink)}
.feature-copy .project-kicker,.card-content .project-kicker,.deck-card-copy>.project-kicker{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.evidence-heading .project-kicker,.deck-header .project-kicker,.evidence-count{color:var(--accent)}.evidence-heading h3{color:var(--white)}
.evidence-heading p,.evidence-footnote,.deck-hint,#deck-status,.toolbar-hint,.collection-footnote{color:var(--slate-light)}
.deck-card-top{background:var(--white);color:var(--slate);border-color:var(--border-light)}.deck-card-top>span:last-child,.evidence-copy i{color:var(--royal)}
.deck-stage:before{background:radial-gradient(ellipse,rgb(37 99 235 / .06),transparent 65%)}
.deck-arrow{background:var(--navy);color:var(--white);border-color:var(--border-dark);box-shadow:none}.deck-arrow:hover{background:var(--royal-hover);border-color:var(--royal);color:var(--white)}
.visual-caption,.visual-footer{color:var(--slate)}.visual-caption:before{background:var(--accent)}.visual-footer a{color:var(--royal)}
.featured-tabs{background:var(--preview);border-color:var(--border-light)}.featured-tabs button,.featured-tabs button span{background:transparent;color:var(--slate);border-color:var(--border-light)}
.featured-tabs button[aria-selected=true]{background:var(--royal);color:var(--white)}.featured-tabs button[aria-selected=true] span{color:var(--white)}.featured-tabs button[aria-selected=true]:after{background:var(--accent)}
.featured-tabs button[aria-selected=true]:hover{background:var(--royal-hover)}
.featured-tabs button:not([aria-selected=true]):hover{background:var(--white);color:var(--royal)}
.feature-metrics{border-color:var(--border-light)}.feature-metrics strong{color:var(--ink)}.feature-metrics>div:first-child strong{color:var(--royal)}.feature-metrics small{color:var(--ink)}
.recorded-visual,.recorded-label{color:var(--ink)}.recorded-visual>strong{color:var(--royal)}.recorded-visual>strong>small,.recorded-metrics>span,.recorded-metrics small{color:var(--ink)}.recorded-note{color:var(--slate)}
.result-orbit,.result-orbit i,.result-orbit i:nth-child(2),.result-orbit i:nth-child(3){border-color:var(--border-light)}.result-orbit i:after{background:var(--accent);border-color:var(--accent)}
.card-bottom,.profile-lines{border-color:var(--border-light)}.card-bottom span{color:var(--slate)}.card-bottom button,.card-bottom .save-project,.demo-link,.repository-link{color:var(--royal)}.card-bottom button:hover,.demo-link:hover{color:var(--royal-hover);background:transparent}.card-bottom .save-project[aria-pressed=true]{color:var(--royal)}
.tags span,.skill-tag{background:var(--preview);border-color:var(--border-light);color:var(--ink)}.skill-tag:hover{background:var(--royal);border-color:var(--royal);color:var(--white)}
.skill-icon{color:var(--royal)}.card-index,.skill-card:after{color:var(--slate)}.section-heading>.code-label{color:var(--slate-light)}
.filters button,.saved-controls button,.filters button:hover{background:var(--navy);color:var(--slate-light);border-color:var(--border-dark)}.filters button.active,.saved-controls button[aria-pressed=true]{background:var(--royal);color:var(--white);border-color:var(--royal)}.filters button.active:hover{background:var(--royal-hover)}
.saved-controls button:not(:disabled):hover{color:var(--white)}.saved-controls #saved-count{background:var(--navy);color:var(--white);border-color:var(--border-dark)}
.project-search,.quick-search-label input,.chat-form input{background:var(--white);border-color:var(--border-light);color:var(--ink);color-scheme:light;box-shadow:none}.project-search input{background:transparent;color:var(--ink)}
.project-search input::placeholder,.quick-search-label input::placeholder,.chat-form input::placeholder{color:var(--slate)}.project-search>span:first-child{color:var(--royal)}.project-search:focus-within{border-color:var(--royal)}
.projects-toolbar h3 span{background:var(--navy);color:var(--slate-light);border-color:var(--border-dark)}
#project-empty{background:var(--white);color:var(--slate);border-color:var(--border-light)}#project-empty button{color:var(--royal)}
.repo-shelf a{background:var(--preview);border-color:var(--border-light)}.github-more summary>span{color:var(--slate)}
.metric-label,.benchmark-row>div:first-child,.benchmark-axis,.benchmark-intro p.benchmark-source{color:var(--slate)}.metric-label select{background:var(--white);color:var(--ink);border-color:var(--border-light)}
.benchmark-row strong{color:var(--ink)}.benchmark-row:nth-child(2) strong{color:var(--royal)}.bar-track{background:var(--preview);border-color:var(--border-light)}.bar-baseline{background:var(--ink)}.bar-proposed{background:var(--royal)}
#benchmark-insight{color:var(--slate)}.benchmark-details{color:var(--royal)}
.timeline{border-left-color:var(--border-dark)}.timeline-date,.role-label,.scholarship-note small{color:var(--slate-light)}.timeline-item:before{background:var(--accent);border-color:var(--accent);box-shadow:none}.scholarship-note>span{color:var(--accent)}
.contact-section{background:transparent}.contact-section p strong{color:var(--white)}.contact-orbit,.contact-orbit:before,.contact-orbit:after{border-color:var(--border-dark)}.contact-orbit:before{background:radial-gradient(circle at 15% 15%,var(--accent) 0 3px,transparent 4px)}.contact-orbit:after{background:radial-gradient(circle at 85% 15%,var(--royal) 0 3px,transparent 4px)}
.footer,.footer a:last-child{color:var(--slate-light)}.section-dots a{background:var(--slate-light);border-color:var(--border-dark)}.section-dots a.active{background:var(--royal);border-color:var(--royal)}.section-dots a span{color:var(--white)}
.motion-toggle{background:var(--navy);color:var(--slate-light);border-color:var(--border-dark)}.toast{background:var(--navy);color:var(--white);border-color:var(--border-dark)}.skip-link{background:var(--royal);color:var(--white)}
dialog::backdrop{background:rgb(11 22 40 / .8)}.dialog-close{background:var(--preview);color:var(--ink);border-color:var(--border-light)}.dialog-close:hover{background:var(--royal);color:var(--white);border-color:var(--royal)}
.dialog-body h2,.dialog-body h3,.quick-header h2,.quick-result>span:nth-child(2),.recruiter-facts strong{color:var(--ink)}.dialog-body p,.dialog-body li,.dialog-table,.dialog-table th,.quick-result small,.quick-footer,.command-empty,.recruiter-facts small{color:var(--slate)}
.dialog-note,.recruiter-facts>div,.recruiter-projects button{background:var(--preview);border-color:var(--border-light);color:var(--ink)}.recruiter-projects span{color:var(--slate)}.recruiter-projects button:hover{border-color:var(--royal)}.dialog-table th,.dialog-table td{border-color:var(--border-light)}.dialog-table tr:last-child td{color:var(--royal)}
.quick-header button,.quick-result>span:last-child,.command-symbol{color:var(--royal)}.quick-result:hover,.quick-result:focus-visible{background:var(--preview)}.quick-footer{border-color:var(--border-light)}
.dialog-media,.dialog-media img,#media-content{background:var(--preview);border-color:var(--border-light)}.dialog-media figcaption,#media-caption,#media-position{color:var(--slate)}.dialog-media figcaption{border-color:var(--border-light)}.dialog-media a,.media-controls .demo-link{color:var(--royal)}
.media-placeholder{background:var(--preview);color:var(--slate);border-color:var(--border-light)}.evidence-gallery{scrollbar-color:var(--border-light) var(--navy)}
/* The assistant belongs to the same navy family as the navigation. */
.assistant-panel{--text:var(--white);--muted:var(--slate-light);--line:var(--border-dark);--cyan:var(--accent);background:var(--navy);color:var(--white);border-color:var(--border-dark);color-scheme:dark;box-shadow:0 10px 32px rgb(11 22 40 / .22)}
.assistant-launch,.assistant-header,.assistant-foot,.chat-form{background:var(--navy);color:var(--white);border-color:var(--border-dark)}.assistant-launch,.assistant-launch:hover{box-shadow:0 5px 18px rgb(11 22 40 / .16)}.assistant-launch:hover{background:var(--royal-hover)}
.assistant-launch>span:first-child,.assistant-emblem{color:var(--accent);border-color:var(--border-dark)}.assistant-launch>i{background:var(--accent);border-color:var(--accent)}.assistant-header h2{color:var(--white)}.assistant-header p,.assistant-foot,.chat-message>small,.chat-message.user>small{color:var(--slate-light)}
.assistant-close{background:var(--navy);color:var(--white);border-color:var(--border-dark)}.assistant-close:hover{background:var(--royal-hover);border-color:var(--royal)}
.assistant-thread{background:var(--navy);scrollbar-color:var(--border-dark) var(--navy)}.chat-bubble{background:var(--space);color:var(--white);border-color:var(--border-dark)}.chat-message.user .chat-bubble{background:var(--royal);color:var(--white);border-color:var(--royal)}
.chat-links a,.chat-links button,.chat-suggestions button{background:var(--navy);color:var(--white);border-color:var(--border-dark)}.chat-links a:hover,.chat-links button:hover,.chat-suggestions button:hover{background:var(--royal-hover);color:var(--white);border-color:var(--royal)}
.chat-reset{color:var(--slate-light)}.chat-reset:hover{color:var(--white)}.assistant-panel :focus-visible,.assistant-header :focus-visible{outline-color:var(--accent)}
.detection-intro,.detection-intro::backdrop{background:var(--space);color:var(--white)}.intro-mark,.intro-title{color:var(--white)}.intro-mark span,.intro-title span{color:var(--accent)}.intro-subtitle,.intro-footer,.intro-footer span:last-child{color:var(--slate-light)}
.intro-scene{background:var(--navy);border-color:var(--border-dark)}.intro-scene-label,.intro-skip{background:var(--navy);border-color:var(--border-dark);color:var(--white)}.intro-skip:hover{background:var(--royal-hover);border-color:var(--royal)}.intro-progress{background:var(--border-dark)}.intro-progress i{background:var(--royal)}
button:disabled,.saved-controls button:disabled{background:var(--navy);color:var(--slate-light);border-color:var(--border-dark);opacity:1;box-shadow:none;cursor:default}
button:disabled:hover{background:var(--navy);color:var(--slate-light);border-color:var(--border-dark);box-shadow:none;transform:none}
@media(prefers-reduced-motion:reduce){#particles{opacity:.42}}
