/* Reversible visual layer. Existing application selectors and behavior retained. */
:root{--brand:#d62683;--ink:#20252d;--quiet:#5c626d;--glass:rgba(255,255,255,.84);--edge:rgba(75,82,97,.24);--canvas:#fff;--bg-image:url('../img/Background/particles-light.webp');--font-heading:Inter,Arial,sans-serif}
html[data-theme=dark]{--ink:#f5f5f7;--quiet:#b9bdc6;--glass:rgba(28,30,35,.87);--edge:rgba(255,255,255,.23);--canvas:#121416;--bg-image:url('../img/Background/particles-dark.webp');--text:var(--ink);--surface:var(--glass)}
@media screen{
body{margin:0!important;padding:32px 24px 0!important;border-radius:0;background:var(--canvas) var(--bg-image) center/cover fixed no-repeat!important;color:var(--ink);cursor:auto;font-family:Inter,Arial,sans-serif;line-height:1.65}
a,button,select{cursor:pointer}a{color:var(--brand)}button,input,textarea,select{font:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.wrapper{width:min(1180px,100%);border:1px solid var(--edge);border-radius:24px;background:var(--glass)!important;backdrop-filter:blur(18px);box-shadow:0 16px 50px #0000000c;overflow:hidden;gap:0}
.main-content{padding:40px!important;color:var(--ink)!important;background:transparent!important}.sidebar{flex:0 0 320px;width:320px;max-width:320px;padding:30px 24px!important;background:transparent!important;border-right:1px solid var(--edge);box-shadow:none}.sidebar-content{padding:0!important}
.my-name{font-family:Inter,Arial,sans-serif!important;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;color:var(--ink)!important;line-height:1.15}.my-education-title{font-family:inherit!important;color:var(--quiet)!important;font-size:14px!important}.my-descr{color:var(--quiet)!important}.main-content h3,.main-content h4,.sidebar h3,.skills-title{font-family:inherit!important;color:var(--ink)!important}.icon{color:var(--brand)}.centered-hr{border:0;border-top:1px solid var(--edge);margin:24px 0}.linkedin-custom-badge,.skills-container{background:transparent!important;box-shadow:none!important}.cv-download-button,.modal-form-btn,.banderogus-launch{background:linear-gradient(115deg,#e52b91,#b70c6b)!important;color:#fff!important;border:1px solid #e95ca6!important;border-radius:12px!important;box-shadow:0 6px 24px #d626831a!important;animation:none!important;transition:filter .2s,transform .2s}.cv-download-button:hover,.modal-form-btn:hover,.banderogus-launch:hover{filter:brightness(1.08);transform:translateY(-1px)}
.footer,.login-footer{position:relative!important;margin:32px -24px 0!important;padding:8px 28px!important;min-height:48px!important;background:var(--glass)!important;color:var(--ink)!important;border-top:1px solid var(--edge);backdrop-filter:blur(14px);box-sizing:border-box}.footer .divSelectUIlanguage{display:flex!important;justify-content:flex-end!important;align-items:center;gap:16px!important;min-height:30px!important;height:auto!important;padding:0!important}.footer .divSelectUIlanguage>label,.theme-toggle>[lang]{display:none!important}.footer-credit{order:3}.footer .logout-form{position:static!important;order:5}.footer-copyright{position:absolute;left:28px;top:50%;transform:translateY(-50%);font-size:12px}.theme-toggle,.logout-button,#langs{color:var(--ink)!important;background:transparent!important;border:0!important;box-shadow:none!important;width:auto!important;padding:4px!important;font-size:14px}.theme-toggle-icon{font-size:22px}.footer .progress{display:none}.info-icon{color:var(--ink)!important;background:transparent!important}.footer-dev-note{margin:0}.back-to-top{border-radius:50%;background:var(--glass)!important;color:var(--ink)!important;border:1px solid var(--edge);box-shadow:none}.back-to-top [lang]{display:none!important}
.modal-bgd{background:#0a0c1266;backdrop-filter:blur(7px);padding:24px;box-sizing:border-box;z-index:100}.modal-bgd.modal-active{opacity:1;visibility:visible;pointer-events:auto}.modal-form-container{width:min(560px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border-radius:22px}.modal-form,.privacy-modal-content{background:var(--glass)!important;color:var(--ink)!important;border:1px solid var(--edge);border-radius:22px;box-shadow:0 24px 80px #0003;padding:32px!important;width:100%;backdrop-filter:blur(20px)}.modal-form>img{display:none}.modal-form-title{color:var(--ink)!important;margin:8px 0 12px!important;line-height:1.3}.modal-form-description,.modal-description,.modal-field-name,.privacy-modal-content p,.form-privacy-note{color:var(--quiet)!important}.modal-field-input,.modal-field-message{background:transparent!important;border:1px solid var(--edge)!important;border-radius:10px!important;color:var(--ink)!important;padding:12px!important;width:100%}.modal-field-message{min-height:140px}.modal-form-btn{min-height:48px}.close-btn{top:12px;right:14px;color:var(--quiet)!important;background:transparent!important;font-size:20px;z-index:2}.privacy-modal-content{padding-top:46px!important}#privacy-modal{z-index:110}
.login-page{padding:0!important;min-height:100dvh;display:flex;flex-direction:column}.login-stage{flex:1;display:grid;place-items:center;padding:40px 20px}.access-card{box-sizing:border-box;width:min(480px,100%);padding:48px 40px;border:1px solid var(--edge);border-radius:22px;background:var(--glass);backdrop-filter:blur(18px);box-shadow:0 16px 48px #0000000e}.access-card h1{text-align:center;font-size:32px;font-weight:650;line-height:1.15;margin:0 0 14px;letter-spacing:-.035em}.access-card .intro{text-align:center;color:var(--ink);font-size:17px;font-weight:500;line-height:1.5;max-width:400px;margin:0 auto 14px}.access-card .password-source{display:block;box-sizing:border-box;width:100%;max-width:400px;text-align:center;color:var(--quiet);font-size:12px;line-height:1.6;margin:18px auto 28px;padding:12px 16px;border:1px solid #d6268333;border-radius:12px;background:#d626830a}.access-card .password-source[hidden]{display:none!important}.access-card .password-source strong{color:var(--brand);font-weight:600}.access-card label{display:block;margin:0 0 8px}.password-wrap{position:relative}.password-wrap input{box-sizing:border-box;width:100%;min-height:50px;padding:12px 48px 12px 14px;border-radius:11px;border:1px solid var(--edge);background:transparent;color:var(--ink)}.password-eye{position:absolute;right:8px;top:7px;border:0;background:none;color:var(--quiet);padding:8px}.access-primary{width:100%;min-height:50px;margin-top:22px;border-radius:11px;border:1px solid #e95ca6;background:linear-gradient(115deg,#e52b91,#b70c6b);color:#fff}.access-social{display:flex;justify-content:center;gap:28px;margin-top:28px}.access-social a,.access-social button{border:0;background:transparent;color:var(--quiet);padding:6px;text-decoration:none;display:flex;align-items:center}.access-social svg{width:25px;height:25px}.login-page>.footer{margin:0!important;width:100%}.preview-note{font-size:12px;line-height:1.5;color:var(--quiet);margin-top:20px}.preview-note a{color:var(--brand)}
@media(max-width:760px){body{padding:16px 12px 0!important;background-attachment:scroll!important}.wrapper{display:flex;flex-direction:column}.main-content{padding:24px!important}.sidebar{width:100%;max-width:none;flex:auto;border:0;border-top:1px solid var(--edge);padding:24px!important}.footer{margin:24px -12px 0!important;padding:8px 14px!important}.footer-copyright{left:14px;font-size:10px}.footer .divSelectUIlanguage{gap:10px!important}.access-card{padding:36px 24px}.modal-bgd{padding:12px}.modal-form-container{max-height:calc(100dvh - 24px)}.modal-form{padding:24px!important}.login-stage{padding:24px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
}
@media print{.footer,.preview-note{display:none!important}body{background:#fff!important}.wrapper{border:0!important;border-radius:0!important;backdrop-filter:none!important}html[data-theme=dark] body,html[data-theme=dark] .main-content,html[data-theme=dark] .sidebar{color:#000!important;background:#fff!important}.panel{max-height:none!important;overflow:visible!important}.skills-container.is-collapsed>*{display:block!important}}

@media screen{.footer{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.footer-copyright{position:static;transform:none;white-space:nowrap}.footer .divSelectUIlanguage{margin-left:auto;width:auto!important}.footer .footer-credit{margin:0!important} .footer #langs{min-width:40px!important;appearance:auto!important}.footer .theme-toggle{margin:0!important}}

@media screen{.footer .divSelectUIlanguage{gap:16px!important;flex-wrap:nowrap!important}.footer .theme-toggle,.footer .info-icon{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-width:36px;min-height:36px;line-height:1!important;border:1px solid var(--edge)!important;border-radius:50%;padding:6px!important;text-decoration:none}.footer .info-icon{font-size:19px!important}.footer .footer-credit{flex:0 0 36px!important;width:36px}.footer #langs{height:36px;min-width:52px!important}.footer .footer-dev-note[hidden]{display:none!important}.footer .logout-form{margin:0!important}@media(max-width:480px){.footer .divSelectUIlanguage{gap:8px!important}.footer{padding-inline:12px!important;gap:8px}}}

/* Review refinements: contained release tooltip, readable privacy, tactile controls. */
@media screen {
.footer .info-icon{margin:0!important}
.footer .info-icon::after{left:auto!important;right:0!important;transform:translateY(4px)!important;width:260px;max-width:calc(100vw - 40px);box-sizing:border-box;padding:16px 18px;border:1px solid var(--edge);background:var(--canvas);color:var(--ink);font:400 13px/1.6 Inter,Arial,sans-serif;text-align:left;box-shadow:0 12px 32px #0003;transition:opacity .18s,transform .18s}
.footer .info-icon:hover::after,.footer .info-icon:focus-visible::after{transform:translateY(0)!important}
#privacy-modal .privacy-modal-content{box-sizing:border-box;width:min(600px,100%);max-width:600px!important;padding:34px!important;text-align:left}
#privacy-modal .modal-form-title{padding-right:24px;margin:0 0 24px!important;font-size:25px}
.privacy-section{padding:18px 0;border-top:1px solid var(--edge)}
.privacy-section h5{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink)}
#privacy-modal .privacy-section p{margin:0!important;font-size:14px;line-height:1.75!important;color:var(--quiet)}
.access-primary,.access-social a,.access-social button,.footer .theme-toggle,.footer .info-icon,.footer #langs,.close-btn,.password-eye,.logout-button{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,filter .2s ease}
.access-primary:hover,.access-primary:focus-visible{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 24px #d6268340}
.access-social a:hover,.access-social button:hover,.access-social a:focus-visible,.access-social button:focus-visible{color:var(--brand);background:#d6268312;border-radius:10px;transform:translateY(-3px)}
.footer .theme-toggle:hover,.footer .info-icon:hover,.footer #langs:hover,.close-btn:hover,.password-eye:hover,.logout-button:hover{color:var(--brand)!important;background:#d626831a!important;box-shadow:0 0 0 3px #d6268310}
#open-form-modal-btn svg,#open-form-modal-btn img{transform-origin:50% 60%;animation:wiggle 2s linear infinite}
#open-form-modal-btn:hover svg,#open-form-modal-btn:hover img{animation-duration:1s}
@media(max-width:480px){#privacy-modal .privacy-modal-content{padding:28px 22px!important}.privacy-section{padding:16px 0}}
}
@media(prefers-reduced-motion:reduce){#open-form-modal-btn svg,#open-form-modal-btn img{animation:none!important}.access-primary,.access-social a,.access-social button,.footer .info-icon::after{transition:none!important;transform:none!important}}

/* Contact dialog: same proportions and spacing as the approved Privacy card. */
@media screen {
#form-modal.modal-active{align-items:center!important;justify-items:center!important;padding:24px!important;overflow:hidden!important}
#form-modal.modal-active .modal-form-container{align-self:center!important;width:560px!important;max-width:100%!important;max-height:calc(100dvh - 48px)!important;margin:0!important;border-radius:22px}
#form-modal .modal-form{box-sizing:border-box;padding:34px!important;box-shadow:none;backdrop-filter:none}
#form-modal .modal-form-title{margin:0 28px 10px 0!important;font-size:25px;line-height:1.3}
#form-modal .modal-form-description{font-size:14px;line-height:1.65;margin:0 0 24px!important;padding-bottom:22px;border-bottom:1px solid var(--edge)}
#form-modal .modal-form-field{margin:0 0 18px!important}
#form-modal .modal-field-name{font-size:13px;font-weight:500;line-height:1.5;margin-bottom:8px}
#form-modal .modal-field-input{height:46px;min-height:46px;background:color-mix(in srgb,var(--canvas) 50%,transparent)!important}
#form-modal .modal-field-message{height:120px;min-height:100px;max-height:240px;background:color-mix(in srgb,var(--canvas) 50%,transparent)!important;resize:vertical}
#form-modal .form-privacy-note{text-align:left;font-size:12px;line-height:1.65;margin:0!important}
#form-modal .modal-form-btn{margin-top:20px!important;min-height:48px;font-weight:500;font-size:14px}
#form-modal .close-btn{top:14px;right:14px;width:36px;height:36px}
@media(max-width:480px){#form-modal.modal-active{padding:12px!important}#form-modal.modal-active .modal-form-container{max-height:calc(100dvh - 24px)!important}#form-modal .modal-form{padding:28px 22px!important}#form-modal .modal-form-title{font-size:23px}}
}

@media screen{
.footer #langs.language-select-enhanced{display:none!important}
.language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--edge);border-radius:999px;background:color-mix(in srgb,var(--canvas) 65%,transparent)}
.language-switch button{display:inline-flex;align-items:center;justify-content:center;width:33px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--quiet);font:500 11px/1 Inter,Arial,sans-serif;letter-spacing:.04em;transition:background-color .18s,color .18s,box-shadow .18s}
.language-switch button:hover{color:var(--brand);background:#d6268315}
.language-switch button[aria-pressed=true]{color:var(--ink);background:var(--glass);box-shadow:0 1px 5px #0002,inset 0 0 0 1px var(--edge)}
.language-switch button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:380px){.language-switch button{width:28px}.footer-copyright{font-size:9px}.footer .divSelectUIlanguage{gap:6px!important}}
}

@media screen{
body{padding-bottom:84px!important}.login-page{box-sizing:border-box;padding-bottom:64px!important}
body .footer,.login-page>.footer{position:fixed!important;inset:auto 0 0!important;width:100%!important;margin:0!important;min-height:56px!important;padding:8px 24px!important;z-index:80;box-shadow:0 -8px 24px #0000000c}
.footer .divSelectUIlanguage{margin-left:auto!important}.back-to-top{bottom:76px!important}
.cv-contact-section{box-sizing:border-box;width:min(800px,100%);margin:32px auto;padding:28px;border:1px solid var(--edge);border-radius:22px;background:var(--glass);backdrop-filter:blur(18px);color:var(--ink)!important;text-align:center}
.cv-contact-section .wanttoconnect,.cv-contact-section .message-count,.cv-contact-section #messages-count{color:var(--ink)!important}
.cv-contact-section .message-count{margin-top:20px;color:var(--quiet)!important}
[data-hint]{position:relative}
[data-hint]::after{content:attr(data-hint);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,4px);width:max-content;max-width:min(230px,calc(100vw - 40px));padding:8px 12px;border:1px solid var(--edge);border-radius:9px;background:var(--canvas);color:var(--ink);box-shadow:0 8px 24px #0003;font:400 12px/1.5 Inter,Arial,sans-serif;white-space:normal;text-align:center;opacity:0;visibility:hidden;pointer-events:none;z-index:90;transition:opacity .18s,transform .18s}
[data-hint]:hover::after,[data-hint]:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.password-eye[data-hint]::after{left:auto;right:0;transform:translateY(4px)}.password-eye[data-hint]:hover::after,.password-eye[data-hint]:focus-visible::after{transform:translateY(0)}
@media(max-width:480px){body .footer{padding-inline:14px!important}.cv-contact-section{padding:24px 18px}}
}

/* Revision hint follows pointer hover, without remaining open after a click. */
@media screen{
.footer .info-icon:not(:hover)::after{opacity:0!important;visibility:hidden!important;transform:translateY(4px)!important}
.footer .info-icon:hover::after{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
}

@media screen{.language-switch button[aria-pressed=true],.language-switch button[aria-pressed=true]:hover{background:var(--brand);color:#fff;box-shadow:0 2px 8px #d6268330}}

/* Ambient motion is decorative and never intercepts interaction. */
@media screen{
.ambient-particles{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
body{isolation:isolate}
.ambient-particles i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#d62683;box-shadow:0 0 5px #d62683,0 0 12px #d6268350;opacity:0;animation:ambient-drift var(--duration) ease-in-out var(--delay) infinite}
.ambient-particles i:nth-child(3n){background:#c4c9d2;box-shadow:0 0 6px #d3d9e1,0 0 12px #d3d9e150}
@keyframes ambient-drift{0%,100%{opacity:.08;transform:translate3d(0,0,0) scale(.7)}35%{opacity:.65}50%{transform:translate3d(var(--drift),-14px,0) scale(1.1);opacity:.28}70%{opacity:.8}}
@media(max-width:600px){.ambient-particles i:nth-child(2n){display:none}}
@media(prefers-reduced-motion:reduce){.ambient-particles{display:none}}
}
@media print{.ambient-particles{display:none}}

/* Animate the complete particle image beneath the stationary interface. */
@media screen{
body{background:var(--canvas)!important}
body::before{content:"";position:fixed;inset:-3%;z-index:-2;pointer-events:none;background:var(--canvas) var(--bg-image) center/cover no-repeat;transform-origin:25% 75%;animation:current-flow 26s ease-in-out infinite;will-change:transform}
body::after{content:"";position:fixed;inset:-4%;z-index:-1;pointer-events:none;background:var(--bg-image) center/cover no-repeat;mix-blend-mode:screen;opacity:0;filter:brightness(1.65) contrast(1.15);mask-image:linear-gradient(115deg,transparent 28%,#000 43%,transparent 58%);mask-size:280% 100%;animation:current-glint 17s ease-in-out infinite;will-change:mask-position,opacity}
html:not([data-theme=dark]) body::after{mix-blend-mode:multiply;filter:saturate(1.4);opacity:.12}
@keyframes current-flow{0%,100%{transform:translate3d(-.6%,.4%,0) scale(1.015) rotate(-.25deg)}50%{transform:translate3d(.7%,-.6%,0) scale(1.045) rotate(.3deg)}}
@keyframes current-glint{0%{mask-position:160% 0;opacity:0;transform:translate3d(-.5%,.3%,0)}20%{opacity:.26}50%{opacity:.4}80%{opacity:.22}100%{mask-position:-100% 0;opacity:0;transform:translate3d(.5%,-.3%,0)}}
.ambient-particles i{animation-duration:calc(var(--duration)*.8);box-shadow:0 0 6px #d62683,0 0 16px #d6268370}
@media(prefers-reduced-motion:reduce){body::before{animation:none;transform:none}body::after{display:none}}
}
@media print{body::before,body::after{display:none!important}}

/* A short, soft mist smooths the contrast shift when the user changes themes. */
@media screen{
html.theme-changing body,html.theme-changing body *,html.theme-changing body *::before,html.theme-changing body *::after{
  transition:color 320ms ease,background-color 320ms ease,border-color 320ms ease,box-shadow 320ms ease,fill 320ms ease,stroke 320ms ease!important
}
.theme-transition-fog{
  position:fixed;inset:-2%;z-index:99999;pointer-events:none;
  background-color:var(--mist-from,#f5eff4);
  background-image:radial-gradient(ellipse at 50% 48%,#d6268310 0%,#d6268305 42%,transparent 76%);
  backdrop-filter:blur(2px) saturate(.96);
  animation:theme-transition-mist 320ms ease-out forwards
}
@keyframes theme-transition-mist{
  0%{opacity:0;background-color:var(--mist-from,#f5eff4)}
  28%{opacity:.42;background-color:var(--mist-from,#f5eff4)}
  70%{opacity:.32;background-color:var(--mist-to,#24232a)}
  100%{opacity:0;background-color:var(--mist-to,#24232a)}
}
}
@media(prefers-reduced-motion:reduce){.theme-transition-fog{display:none!important}html.theme-changing body,html.theme-changing body *,html.theme-changing body *::before,html.theme-changing body *::after{transition:none!important}}
@media screen{.password-wrap .password-eye[data-hint]{position:absolute}}

/* Seamless loops: identical endpoint transforms and a soft return for the glint. */
@media screen{
body::before{animation:current-flow-seamless 28s ease-in-out infinite}
body::after{animation:current-glint-seamless 21s ease-in-out infinite}
@keyframes current-flow-seamless{
0%,100%{transform:translate3d(-.6%,.4%,0) scale(1.015) rotate(-.25deg)}
50%{transform:translate3d(.7%,-.6%,0) scale(1.045) rotate(.3deg)}
}
@keyframes current-glint-seamless{
0%,100%{mask-position:140% 0;opacity:0;transform:translate3d(-.5%,.3%,0)}
15%{opacity:.12}
40%{opacity:.32}
50%{mask-position:-80% 0;opacity:0;transform:translate3d(.5%,-.3%,0)}
60%{opacity:.08}
85%{opacity:.24}
}
.ambient-particles i{animation-name:ambient-drift-seamless}
@keyframes ambient-drift-seamless{
0%,100%{opacity:.08;transform:translate3d(0,0,0) scale(.7)}
35%{opacity:.65}
50%{transform:translate3d(var(--drift),-14px,0) scale(1.1);opacity:.28}
70%{opacity:.8}
}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none!important}}
}

/* Sliding selected segment, shared by all three language choices. */
@media screen{
.language-switch{position:relative;isolation:isolate;--language-width:33px;--language-gap:2px}
.language-switch::before{content:'';position:absolute;left:3px;top:3px;width:var(--language-width);height:28px;border-radius:999px;background:var(--brand);box-shadow:0 2px 8px #d6268330;transform:translateX(calc(var(--language-index,0) * (var(--language-width) + var(--language-gap))));transition:transform .32s cubic-bezier(.22,.8,.25,1);pointer-events:none;z-index:0}
.language-switch button{position:relative;z-index:1;transition:color .2s ease,background-color .2s ease}
.language-switch button[aria-pressed=true],.language-switch button[aria-pressed=true]:hover{background:transparent!important;box-shadow:none!important;color:#fff!important}
.language-switch button:active{transform:scale(.92)}
@media(max-width:380px){.language-switch{--language-width:28px}}
@media(prefers-reduced-motion:reduce){.language-switch::before,.language-switch button{transition:none!important}.language-switch button:active{transform:none}}
}

/* Contact actions: clear hover, keyboard focus and pressed feedback. */
@media screen{
#open-form-modal-btn,#form-modal #launch-btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,filter .2s ease}
#form-modal #launch-btn:hover,#form-modal #launch-btn:focus-visible{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 8px 24px #d6268340!important}
#open-form-modal-btn:active,#form-modal #launch-btn:active{transform:translateY(0) scale(.98)!important}
@media(prefers-reduced-motion:reduce){#open-form-modal-btn,#form-modal #launch-btn{transition:none!important;transform:none!important}}
}

/* Shared interaction feedback for action controls. */
@media screen{
:is(.access-primary,.access-social a,.access-social button,.cv-download-button,.linkedin-custom-action,.copy-linkedin-btn,.logout-button,.back-to-top,.password-eye,.close-btn,.theme-toggle){transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,filter .2s ease}
:is(.access-primary,.cv-download-button):is(:hover,:focus-visible){transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 8px 24px #d6268340!important}
:is(.access-social a,.access-social button,.linkedin-custom-action,.copy-linkedin-btn,.logout-button,.back-to-top,.password-eye,.close-btn,.theme-toggle):is(:hover,:focus-visible){transform:translateY(-2px);color:var(--brand)!important;background-color:#d626831a!important;border-color:var(--brand)!important;box-shadow:0 6px 18px #d6268325!important}
:is(.access-primary,.access-social a,.access-social button,.cv-download-button,.linkedin-custom-action,.copy-linkedin-btn,.logout-button,.back-to-top,.password-eye,.close-btn,.theme-toggle):active{transform:translateY(0) scale(.97)!important}
@media(prefers-reduced-motion:reduce){:is(.access-primary,.access-social a,.access-social button,.cv-download-button,.linkedin-custom-action,.copy-linkedin-btn,.logout-button,.back-to-top,.password-eye,.close-btn,.theme-toggle){transition:none!important;transform:none!important}}
}

/* One text-link interaction style across both themes. Filled actions retain contrast. */
@media screen{
:root body a:is(:hover,:focus-visible):not(.cv-download-button){color:var(--brand)!important;text-decoration:none!important;text-shadow:none!important}
:root body a:is(:hover,:focus-visible) :is(span,strong,em){color:inherit!important;text-decoration:none!important}
:root body a,.copy-linkedin-btn{text-decoration:none!important}
:root body .copy-linkedin-btn:is(:hover,:focus-visible){color:var(--brand)!important;text-decoration:none!important}
}

/* Standard pointer on interactive controls, including their nested icons/text. */
@media screen{
:root body :is(a[href],button,select,summary,[role="button"],.accordion,.skills-title[tabindex],.info-icon,.tooltip[tabindex],label[for="theme-toggle"]),
:root body :is(a[href],button,summary,[role="button"],.accordion,.skills-title[tabindex],.info-icon,.tooltip[tabindex]) *{cursor:pointer!important}
:root body :is(input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),textarea){cursor:text!important}
:root body :is(button:disabled,input:disabled,select:disabled){cursor:not-allowed!important}
}
