/* Theme switch extension: independent of original hardcoded site styles. */
.theme-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;position:relative;z-index:5;transition:transform .25s,background .35s,border-color .35s}
.theme-toggle:active{transform:scale(.94)}
.theme-toggle .theme-icon{font-size:1.15rem;transition:transform .55s}
html[data-portfolio-theme="violet"]{--theme-accent:#6c63ff;--theme-secondary:#00e5ff}
html[data-portfolio-theme="violet"] body{background:#050816;color:#f7f7ff}
html[data-portfolio-theme="violet"] .pill,html[data-portfolio-theme="violet"] .card,html[data-portfolio-theme="violet"] .contact-panel{border-color:rgba(108,99,255,.35)}
html[data-portfolio-theme="violet"] .big,html[data-portfolio-theme="violet"] h2{text-shadow:0 0 22px rgba(108,99,255,.12)}
html[data-portfolio-theme="light"]{--theme-accent:#514ac7;--theme-secondary:#008eaa}
html[data-portfolio-theme="light"] body{background:#f5f6fb;color:#171827}
html[data-portfolio-theme="light"] .nav{background:rgba(245,246,251,.86);border-color:#d9dced}
html[data-portfolio-theme="light"] .pill,html[data-portfolio-theme="light"] .card,html[data-portfolio-theme="light"] .contact-panel,html[data-portfolio-theme="light"] .pcard,html[data-portfolio-theme="light"] .stat{background:rgba(255,255,255,.78);border-color:#dce0ef;color:#171827}
html[data-portfolio-theme="light"] p,html[data-portfolio-theme="light"] .sub,html[data-portfolio-theme="light"] li{color:#505368}
html[data-portfolio-theme="light"] a{color:#514ac7}
html[data-portfolio-theme="light"] .btn,html[data-portfolio-theme="light"] .solid{color:white}
html[data-portfolio-theme="light"] footer{color:#55596d}
.theme-build-overlay{position:fixed;inset:0;z-index:9998;pointer-events:none;overflow:hidden;background:rgba(5,8,22,.10)}
.theme-build-overlay:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(108,99,255,.12) 23px),repeating-linear-gradient(90deg,transparent 0 22px,rgba(0,229,255,.10) 23px);clip-path:inset(0 100% 0 0);animation:theme-grid-build .72s cubic-bezier(.2,.8,.2,1) forwards}
.theme-build-overlay:after{content:"";position:absolute;width:18px;height:18px;border:2px solid #00e5ff;border-radius:3px;box-shadow:0 0 18px #00e5ff;left:var(--cursor-x,50%);top:var(--cursor-y,50%);animation:theme-cursor-build .72s ease-in-out forwards}
@keyframes theme-grid-build{to{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes theme-cursor-build{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}45%{transform:translate(35vw,20vh) scale(1.2)}100%{transform:translate(70vw,-30vh) scale(.2);opacity:0}}
@media(prefers-reduced-motion:reduce){.theme-build-overlay:before,.theme-build-overlay:after{animation-duration:.01ms}}

/* Reference theme light-mode companion styles */
html[data-portfolio-theme="violet"] body{background-color:#050816!important}
html[data-portfolio-theme="light"] body{background:#f5f6fb!important;background-image:radial-gradient(ellipse at 15% 8%,rgba(108,99,255,.10),transparent 38%),radial-gradient(ellipse at 85% 28%,rgba(0,145,170,.06),transparent 36%)!important}
html[data-portfolio-theme="light"] .nav .pill{background:rgba(245,246,251,.82)!important;box-shadow:0 10px 40px rgba(20,25,50,.08)}
html[data-portfolio-theme="light"] .nav li a:hover,html[data-portfolio-theme="light"] .nav li a[aria-current="true"]{background:rgba(108,99,255,.09);color:#24233a}
html[data-portfolio-theme="light"] h1 .grad{background:linear-gradient(100deg,#514ac7,#008eaa,#c23c85)!important;-webkit-background-clip:text!important;background-clip:text!important}
html[data-portfolio-theme="light"] h2.big{background:linear-gradient(100deg,#24233a,#514ac7,#008eaa);-webkit-background-clip:text;background-clip:text;color:transparent}
