/* Identidade de cores. Somente propriedades cromáticas; geometria e movimento permanecem no CSS original. */
:root{
 --black:#0D0B0F;--plum:#5B0F29;--wine:#8F1D3D;--red:#EF3B3B;--orange:#F06A3A;
 --white:#F4EEE9;--neutral:#2A2A2E;--card:#151217;
 --text-soft:rgba(244,238,233,.75);--text-dim:rgba(244,238,233,.64);
 --border:rgba(244,238,233,.18);--border-soft:rgba(244,238,233,.1);
 --paper:var(--black);--ink:var(--white);--pen:var(--red);--muted:var(--text-soft);--ember:var(--orange);
}
body{background:var(--black);color:var(--white)}
::selection{background:var(--wine);color:var(--white)}
.hello,.skills-section{background:radial-gradient(ellipse at 50% 42%,var(--neutral),var(--card) 85%)}
.education,.case{background:var(--black);color:var(--white)}
.case.reverse{background:var(--card)}
.dark{background:radial-gradient(ellipse at 90% 0,rgba(91,15,41,.28),transparent 65%),linear-gradient(125deg,var(--card),var(--black));color:var(--white);--pen:var(--red)}
.case h2,.skills-main h2,.education h2{color:var(--white)}
.hand,.dark .hand,.masthead .hand,.masthead.on-dark .hand,.thank-you .hand,.fact-icon{color:var(--red)}
.case::before{background:linear-gradient(90deg,var(--wine),var(--red))}
.portrait-frame{background:var(--black);border-color:var(--wine);box-shadow:14px 20px 40px #0005}
.portrait-frame:has(.hello-portrait) small{background:rgba(13,11,15,.85);color:var(--white)}
.cv-paper{background:var(--card);border-color:var(--border);box-shadow:5px 8px 0 var(--neutral);color:var(--white)}
.cv-paper>span{color:var(--red)}.cv-paper i{background:var(--border)}
.skill-list li{border-color:var(--border)}.tool-icon figcaption{color:var(--text-soft)}
.challenge>p,.case .challenge>p{background:rgba(143,29,61,.08);border-color:var(--wine)}
.case-decision small,.compare-caption span{color:var(--red)}
.capture-stage,.capture-grid figure{background:var(--card);border-color:var(--border);box-shadow:0 20px 45px #0004}
.browser-chrome{background:var(--neutral)}.browser-chrome i{background:var(--text-dim)}.browser-chrome span{color:var(--text-soft)}
.capture-link>span,.case .capture-link>span,.case.reverse .capture-link>span{background:var(--card);color:var(--text-soft);border-color:var(--border-soft)}
.capture-link:hover>span{background:var(--neutral);color:var(--white)}
.capture-collection{border-color:var(--border)}
.project-preview{background:var(--card);border-color:var(--border)}
.project-open{background:var(--red);color:var(--white)}
.project-card-meta,.project-card>p,.gallery-foot,.fact p{color:var(--text-soft)}
.project-card-meta small{color:var(--text-dim)}.project-read{color:var(--red);border-color:var(--border)}
.thank-you{background:radial-gradient(ellipse at 95% 0,rgba(143,29,61,.27),transparent 60%),linear-gradient(125deg,var(--card),var(--black));color:var(--white);--pen:var(--red)}
.thank-you .email,.thank-you .endline{border-color:var(--border)}
.thank-you .endline,.thank-you #copy-status{color:var(--text-soft)}
.thank-you #copy-email{color:var(--white)}.thank-you .email:hover{color:var(--red)}
.visit-project{background:var(--red);border-color:var(--red);color:var(--white)}
.visit-project:hover{background:var(--wine);border-color:var(--wine)}
.masthead,.masthead:not(.on-dark):not(.on-portrait),.masthead.on-dark,.masthead.on-portrait,.masthead.hero-scrolling{background:rgba(13,11,15,.64);color:var(--white);border-color:var(--border-soft);box-shadow:0 4px 24px #0002}
.navigation nav{background:rgba(21,18,23,.94);color:var(--white);border-color:var(--border)}
.navigation nav a:hover{background:rgba(143,29,61,.22);color:var(--white)}
.showcase-sequence{background:radial-gradient(ellipse at 85% 10%,rgba(143,29,61,.34),transparent 70%),linear-gradient(110deg,var(--black),var(--card));color:var(--white)}
.showcase-menu::before{background:var(--border)}
.model-select{color:var(--text-soft)}.model-select::before{background:var(--black);border-color:var(--text-dim)}
.model-select.is-current{color:var(--white)}.model-select.is-current::before{background:var(--red);border-color:var(--red)}
.showcase-screen{background:var(--card);box-shadow:0 20px 45px #0004}.showcase-caption{color:var(--text-soft)}
.compare-caption{color:var(--text-soft)}.compare-images{background:var(--card);box-shadow:0 22px 50px #0005}
.label-dark{background:var(--black);color:var(--white)}.label-light{background:var(--white);color:var(--black)}
.compare-divider{background:var(--white);color:var(--black)}.compare-divider::after{background:var(--white)}
.screen-auto,.detail-screen{background:var(--neutral);color:var(--white)}
.mini-flow span{background:var(--card);border-color:var(--border);color:var(--white)}
.mini-flow span:nth-of-type(2){background:var(--wine);color:var(--white)}
.detail-lines{background:repeating-linear-gradient(0deg,var(--border) 0 2px,transparent 2px 11px)}
.screen-pill{background:var(--white);color:var(--black)}
.portrait-hero{background:radial-gradient(ellipse at 82% 30%,rgba(239,59,59,.45),transparent 60%),radial-gradient(ellipse at 10% 80%,var(--plum),transparent 70%),linear-gradient(125deg,var(--black),var(--wine));color:var(--white)}
a:focus-visible,button:focus-visible,summary:focus-visible,.dark a:focus-visible,.project-card:focus-visible,.visit-project:focus-visible,.model-select:focus-visible{outline-color:var(--red)}
.compare-images:focus-within{outline-color:var(--red)}
.hero-atmosphere{background:radial-gradient(ellipse at 80% 5%,rgba(240,106,58,.18),transparent 52%),radial-gradient(ellipse at 8% 90%,var(--plum),transparent 60%),linear-gradient(115deg,var(--black),var(--plum) 52%,var(--black))}
.hero-eyebrow{color:var(--white)}.hero-scroll{background:rgba(13,11,15,.3);border-color:var(--border)}.hero-caption>a:not(.hero-scroll){border-color:var(--border)}
.masthead.on-portrait::before{background:linear-gradient(rgba(13,11,15,.44),transparent)}
.masthead.on-portrait .header-name{background:var(--white);color:var(--black)}
.hero-sequence{background:var(--black)}
.tool-icon img[src*="openai"],.tool-icon img[src*="nextjs"],.tool-icon img[src*="vercel"],.tool-icon img[src*="github"]{filter:brightness(0) invert(1)}
/* Texto escuro no vermelho vivo mantém contraste de botão em tamanho pequeno. */
.visit-project{color:var(--black)}.visit-project:hover{color:var(--white)}
.tool-icon img[src*="nextjs"]{filter:invert(1)}
/* Duas pausas claras na identidade escura: formação e habilidades. */
.education,.skills-section{
 background:#F4EEE9;color:#0D0B0F;
 --ink:#0D0B0F;--paper:#F4EEE9;--pen:#8F1D3D;--muted:#2A2A2E;
 --text-soft:#2A2A2E;--text-dim:rgba(42,42,46,.75);--border:rgba(42,42,46,.2);
}
.skills-section{background:#F7F3EF}
.education .hand,.skills-section .hand{color:#8F1D3D}
.skills-section .skills-main h2{color:#0D0B0F}
.skills-section .tool-icon figcaption,.skills-section .skills-description{color:#2A2A2E}
.skills-section .skill-list li{border-color:rgba(143,29,61,.22)}
.skills-section .tool-icon img[src*="openai"],.skills-section .tool-icon img[src*="vercel"],.skills-section .tool-icon img[src*="github"],.skills-section .tool-icon img[src*="nextjs"]{filter:none}
.education a:focus-visible,.skills-section a:focus-visible,.education button:focus-visible,.skills-section button:focus-visible{outline-color:#8F1D3D}
.education h2{color:#0D0B0F}.education .cv-paper{color:#F4EEE9}
