/* Quiet interactions and clearer navigation for the selected Minimal CV. */
.cv-section-nav { display: none; }
.view-options { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: .35rem; }
.view-options .btn { min-height: 2.75rem; height: auto; padding: .5rem .35rem; font-size: .66rem; border: 1px solid var(--color-base-300); border-radius: .4rem; font-weight: 400; }
.view-options [aria-current="page"] { background: var(--color-base-200); border-color: var(--color-primary); color: var(--color-primary); }
.nav-links a { position: relative; padding-block: .9rem; }
.nav-links a::after { content: ""; position: absolute; left: 0; right: 0; bottom: .35rem; height: 2px; background: var(--color-primary); transform: scaleX(0); transform-origin: left; transition: transform 160ms ease; }
.nav-links a[aria-current="location"] { color: var(--color-primary); }
.nav-links a[aria-current="location"]::after { transform: scaleX(1); }
[data-layout="cv"] .resume-document { padding-top: 3.5rem; padding-bottom: calc(6rem + env(safe-area-inset-bottom)); }
.resume-timeline { position: relative; }
.resume-timeline::before { content: ""; position: absolute; left: 11.5rem; top: .65rem; bottom: 1.65rem; width: 1px; background: var(--color-base-300); }
.resume-job { position: relative; }
.resume-job::before { content: ""; position: absolute; left: calc(11.5rem - 3px); top: 1.5rem; height: 7px; width: 7px; border-radius: 50%; border: 1px solid var(--color-primary); background: var(--color-base-100); }
.resume-current::before { top: .65rem; background: var(--color-primary); }
.resume-project { position: relative; color: inherit; text-decoration: none; border-radius: .4rem; transition: background 160ms ease; }
.resume-project:hover, .resume-project:focus-visible { background: var(--color-base-200); }
.resume-project:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.resume-project .icon { transition: transform 160ms ease; }
.resume-project:hover .icon, .resume-project:focus-visible .icon { transform: translate(2px, -2px); }
.resume-project-link { pointer-events: none; }
.resume-download .icon, .resume-contact .icon { transition: transform 160ms ease; }
.resume-download:hover .icon { transform: translateY(2px); }
.resume-contact a:hover .icon { transform: translate(1px, -1px); }
[data-layout] .assistant-launcher { display: inline-flex; align-items: center; gap: .6rem; width: auto; min-height: 3rem; height: 3rem; padding: .65rem 1rem; right: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom)); border-radius: 999px; background: var(--color-base-content); color: var(--color-base-100); border-color: var(--color-base-300); box-shadow: 0 6px 24px rgb(0 0 0 / .12); }
[data-layout] .assistant-launcher .icon { width: 1.15rem; height: 1.15rem; }
[data-layout] .assistant-launcher-label { display: inline; position: static; padding: 0; border: 0; background: transparent; color: inherit; box-shadow: none; border-radius: 0; font-size: .76rem; line-height: 1.4; }
[data-layout] .assistant-launcher:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgb(0 0 0 / .16); }
@media (max-width: 767px) {
 [data-layout="cv"] body { --nav-height: 7.25rem; }
 :root[data-layout="cv"] { scroll-padding-top: calc(8.25rem + env(safe-area-inset-top)); }
 [data-layout="cv"] .agent-background { top: calc(7.25rem + env(safe-area-inset-top)); }
 [data-layout="cv"] .cv-section-nav { display: flex; align-items: center; justify-content: center; gap: .35rem; border-top: 1px solid var(--color-base-300); padding: 0 1rem; height: 2.75rem; }
 .cv-section-nav a { display: flex; justify-content: center; align-items: center; flex: 1; min-height: 2.75rem; font-size: .72rem; color: var(--resume-muted); border-bottom: 2px solid transparent; padding: .6rem .5rem; }
 .cv-section-nav a[aria-current="location"] { color: var(--color-primary); border-bottom-color: var(--color-primary); }
 [data-layout="cv"] .resume-document { padding-top: 2rem; }
 [data-layout="cv"] .appearance-panel { top: calc(7.75rem + env(safe-area-inset-top)); }
 .resume-timeline::before { left: 9rem; }
 .resume-job::before { left: calc(9rem - 3px); }
}
@media (max-width: 540px) {
 .resume-timeline::before { left: 3px; top: .65rem; bottom: 2rem; }
 .resume-job { padding-left: 1.2rem; }
 .resume-job::before { left: 0; top: 1.4rem; }
 .resume-current::before { top: .55rem; }
 [data-layout] .assistant-launcher { min-height: 2.85rem; height: 2.85rem; right: .8rem; bottom: calc(.8rem + env(safe-area-inset-bottom)); }
}
@media print {
 .cv-section-nav, .resume-timeline::before, .resume-job::before, .assistant-launcher { display: none !important; }
 [data-layout="cv"] .resume-document { padding: 0; }
 .resume-project { color: var(--color-base-content); }
}
