:root{--color-education:#5c8;--color-work:#4da3ff;--color-other:#b6f}.timeline-item[data-category=education] .content,.filter-button[data-filter=education],.timeline-item[data-category=education]{--category-color:var(--color-education)}.timeline-item[data-category=work] .content,.filter-button[data-filter=work],.timeline-item[data-category=work]{--category-color:var(--color-work)}.timeline-item[data-category=other] .content,.filter-button[data-filter=other],.timeline-item[data-category=other]{--category-color:var(--color-other)}.filter-button[data-filter=all]{--category-color:#8d8d8d}.timeline-header{text-align:center;max-width:1100px;margin:1.2rem auto 1rem;padding:0 1rem}.timeline-filters{position:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding-top:1rem}.filter-button{width:48px;height:48px;fill:var(--icon-color);background:var(--bg-color);cursor:pointer;border:1px solid #ccc;border-radius:50%;place-items:center;transition:all .2s}.filter-button img{opacity:.7;width:20px;height:20px;color:var(--icon-color);transition:opacity .2s,transform .2s}.filter-button:hover{background-color:var(--category-color);border-color:var(--category-color)}.filter-button{position:relative}.filter-button:after{content:attr(aria-label);color:var(--text-color);white-space:nowrap;opacity:0;pointer-events:none;font-size:.75rem;transition:opacity .15s;position:absolute;bottom:-1.8rem;left:50%;transform:translate(-50%)}.filter-button:hover:after{opacity:1}.cv-overview{border-radius:1rem;max-width:1200px;margin:3rem auto 0;padding:1.5rem 2rem}.cv-overview h2{margin:0 0 1rem;font-size:1.4rem;font-weight:600}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;display:grid}.overview-card{box-shadow:0 6px 10px var(--shadow-color);background:var(--card-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:.75rem;padding:1rem;font-size:1rem}.overview-card h3{color:var(--accent);align-items:center;gap:.1rem;margin:0 0 .75rem;font-size:1.05rem;text-decoration:underline;display:flex}.overview-card ul{margin:0;padding:0;text-decoration:none;list-style:circle}.overview-card li{margin-bottom:.2rem}#view-cv-pdf{color:var(--text-color);border:2px solid var(--text-color);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.1em;border-radius:5px;padding:8px;font-size:1.4rem}#view-cv-pdf:hover{color:var(--hover-color);border-color:var(--hover-color)}#timeline-popup-backdrop{background:var(--shadow-color);z-index:1000;place-items:center;display:grid;position:fixed;inset:0}#timeline-popup-backdrop[hidden]{display:none}#timeline-popup{background:var(--bg-color);border-radius:1rem;width:min(90%,720px);max-width:720px;max-height:85vh;padding:1.5rem;position:relative;overflow-y:auto}#timeline-popup img{border-radius:.5rem;max-width:100%;margin-top:1rem}.close-btn{cursor:pointer;color:var(--text-color);background:0 0;border:none;font-size:1.5rem;position:absolute;top:.75rem;right:.75rem}.timeline-wrapper{max-width:90%;margin:0 auto;padding:80px 0}.timeline{width:100%;margin-top:4rem;position:relative}.timeline:before{content:"";background:var(--timeline-line);width:4px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.timeline-item{cursor:pointer;width:50%;margin-bottom:32px;transition:transform .5s;position:relative}.timeline-item.left{left:0}.timeline-item.right{left:50%}.timeline:before{content:"";background:var(--icon-color);width:5px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline-item{box-sizing:border-box;width:50%;padding:20px 12px;position:relative}.timeline-item.left{text-align:right;left:0}.timeline-item.right{text-align:left;left:50%}.timeline-item+.timeline-item{margin-top:-128px}.timeline-item .content{background:var(--category-color)44;border-radius:8px;padding:15px;transition:transform .3s;display:inline-block;position:relative;overflow:hidden}.timeline-item:hover .content{transform:translateY(-6px)}.timeline-item{position:relative}.timeline-item:before{content:"";background:var(--category-color);width:2.5rem;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.timeline-item.left:before{right:0}.timeline-item.right:before{left:0}.timeline-item .content{border:5px solid var(--category-color);background:color-mix(in srgb, var(--category-color), transparent 70%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
