body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-family:SF Pro;font-style:normal;font-weight:400;src:url(https://sf.abarba.me/SF-Pro-Display-Regular.otf)}@font-face{font-family:SF Pro;font-style:normal;font-weight:700;src:url(https://sf.abarba.me/SF-Pro-Display-Bold.otf)}@font-face{font-family:SF Pro Text;font-style:normal;font-weight:400;src:url(https://sf.abarba.me/SF-Pro-Text-Regular.otf)}@font-face{font-family:SF Pro Text;font-style:normal;font-weight:700;src:url(https://sf.abarba.me/SF-Pro-Text-Bold.otf)}:root{--off-white:#f2ebdc;--dark-charcoal:#2e2e2e;--gold:#d4a142;--silver:silver;--bronze:#b77e44;--background:#b1885e;--dark-background:#856a51;--muted-navy:#2c3e50;--light-gray:#e0e0e0;--dark-transparent-background:#2e2e2e3a;--transparent-background:#f2ebdc28;--transparent-gold:#d4a14276;--bg-primary:var(--off-white);--text-primary:#2e2e2e;--text-secondary:#4d3922;--bg-secondary:var(--background)}[data-theme=dark]{--bg-primary:var(--dark-charcoal);--text-primary:#f2ebdc;--text-secondary:#e0d0c0;--bg-secondary:var(--dark-background)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{height:100%}body{color:#2e2e2e;color:var(--text-primary);font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden;transition:color .3s ease}.theme-toggle{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:none;background-color:#ffffff26;border:none;border-radius:50%;box-shadow:0 2px 10px #0003;cursor:pointer;display:flex;height:40px;justify-content:center;position:fixed;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:9999}.theme-toggle:hover{background-color:#ffffff40;transform:scale(1.1)}.theme-toggle svg{fill:#2e2e2e;fill:var(--text-primary);height:24px;transition:fill .3s ease;width:24px}.snap-container{-webkit-overflow-scrolling:touch;box-shadow:none;height:100vh;-webkit-mask-image:linear-gradient(180deg,#000 0,#000);mask-image:linear-gradient(180deg,#000 0,#000);overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth;scroll-snap-stop:always;scroll-snap-type:y mandatory}.snap-section{height:100vh;overflow:visible;position:relative;scroll-snap-align:start;width:100%}body.transition-complete .snap-container{height:100vh;overflow-y:scroll!important;scroll-snap-type:y mandatory}body.transition-complete{overflow:hidden!important}.container{margin:0 auto;width:70%}.container,.content{align-items:center;display:flex;height:100%;justify-content:center;position:relative}.content{border-radius:0;flex-direction:column;overflow:visible;padding:30px;transition:all .3s ease;width:100%}.content,[data-theme=dark] .content{background-color:initial;border:none;box-shadow:none}.logo-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:10px;position:relative}#mSvg,.m-svg{filter:none;height:15rem;margin-bottom:.5rem;opacity:1;position:relative;transition:all .8s ease;width:auto;z-index:2}[data-theme=dark] #mSvg,[data-theme=dark] .m-svg{filter:none}.logo-text{color:#2e2e2e;color:var(--text-primary);font-size:5rem;font-weight:700;letter-spacing:1px}.logo-text,.tagline{transition:opacity .5s ease}.tagline{color:silver;color:var(--silver);font-size:1.2rem;margin-top:1rem}.full-svg{height:auto;left:0;object-fit:contain;top:0;width:70%;z-index:1}.full-svg,.olympics-text{opacity:0;position:absolute;transition:opacity 1.2s ease}.olympics-text{bottom:10%;color:#2e2e2e;color:var(--dark-charcoal);font-size:2.5rem;font-weight:700;text-align:center;z-index:3}.olympics-text,.scroll-indicator{left:50%;transform:translateX(-50%)}.scroll-indicator{align-items:center;animation:pulse 2s infinite;bottom:20px;color:#2e2e2e;color:var(--text-primary);display:flex;flex-direction:column;font-size:14px;position:fixed;transition:color .3s ease}.scroll-arrow{font-size:24px;margin-top:5px}@keyframes pulse{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.chart-container{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:0;color:#2e2e2e;color:var(--text-primary);margin:0 auto;max-height:80vh;max-width:1200px;overflow-y:auto;padding:25px;transition:all .3s ease;width:90%}.chart-container,[data-theme=dark] .chart-container{background-color:initial;border:none;box-shadow:none}.chart-title,.map-title,h2,h3{color:#2e2e2e;color:var(--text-primary);font-weight:600;text-shadow:0 1px 3px #0000001a}.chart-observations{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:0}.chart-observations,[data-theme=dark] .chart-observations{background-color:initial;border:none}@media (max-width:768px){.container{width:90%}.logo-text{font-size:2.5rem}.m-svg{height:4rem}.tagline{font-size:1rem}.full-svg{width:90%}.logo-svg,.olympics-svg{max-width:1300px!important;width:1400%!important}}.page-indicator{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#b1885e33;border:1px solid #fff3;border-radius:30px;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;padding:15px 10px;position:fixed;right:20px;top:50%;transform:translateY(-50%);transition:background-color .3s ease;z-index:1000}[data-theme=dark] .page-indicator{background-color:#2e2e2e4d;border:1px solid #ffffff1a}.page-indicator .indicator-line{background-color:#2e2e2e;background-color:var(--text-primary);bottom:15px;height:auto;position:absolute;top:15px;transition:background-color .3s ease;width:2px;z-index:-1}.page-indicator .dot-container{align-items:center;display:flex;flex-direction:column;gap:20px}.page-indicator .dot{border-radius:50%;cursor:pointer;height:8px;transition:all .3s ease;width:8px}.page-indicator .dot,.page-indicator .dot.active{background-color:#2e2e2e;background-color:var(--text-primary)}.page-indicator .dot.active{height:13px;width:13px}.page-indicator .dot:hover{transform:scale(1.2)}@media (max-width:768px){.page-indicator{padding:12px 8px;right:10px}.page-indicator .dot{height:6px;width:6px}.page-indicator .dot.active{height:10px;width:10px}}.explanation-page{position:relative}.explanation-page,.fixed-logo-container{align-items:center;display:flex;height:100%;justify-content:center;overflow:visible}.fixed-logo-container{left:0;position:absolute;top:0;width:100%;z-index:1}.logo-svg,.olympics-svg{height:60vh!important;max-width:none!important;min-width:auto;object-fit:contain;transition:opacity 0s;width:60vw!important}.explanation-content-wrapper{align-items:center;max-width:100%;width:auto;z-index:10}.explanation-content,.explanation-content-wrapper{display:flex;justify-content:center;position:relative}.explanation-content{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#fff0;border-radius:2rem;box-shadow:0 4px 20px #0000;flex-direction:column;height:600px;max-width:90%;padding:2rem;text-align:center;width:1200px}[data-theme=dark] .explanation-content{background-color:#2e2e2e00}.explanation-content h1{color:#2e2e2e;color:var(--text-primary);font-size:2.5rem;margin-bottom:1.5rem}.explanation-content p{color:#2e2e2e;color:var(--text-primary);font-size:1.5rem;font-weight:400;line-height:1.6;margin-bottom:1rem}@media (max-width:768px){.explanation-content{padding:1.5rem;width:90%}.explanation-content h1{font-size:2rem}.explanation-content p{font-size:1rem}.logo-svg,.olympics-svg{height:60vh!important;width:60vw!important}}.credits-page{align-items:center;color:#2e2e2e;color:var(--text-primary);display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1000px;padding:2rem;text-align:center;width:100%}.credits-page h2{font-size:2.5rem;margin-bottom:1.5rem;position:relative}.credits-page h2:after{background-color:var(--accent-color);bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.credits-page p{font-size:1.3rem;margin-bottom:2rem}.team-members{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:2rem 0}.team-member{align-items:center;background-color:#ffffff0d;border-radius:10px;display:flex;flex-direction:column;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease;width:250px}.team-member:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.team-member h3{font-size:18px;font-weight:600;margin-bottom:1rem}.team-member a{align-items:center;border:1px solid var(--accent-color);border-radius:5px;color:#2e2e2e;color:var(--text-primary);display:flex;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s ease}.team-member a:hover{background-color:var(--accent-color);color:#fff}.credits-footer{font-size:1rem;margin-top:3rem;opacity:.7}@media (max-width:768px){.credits-page h2{font-size:2rem}.credits-page p{font-size:1.1rem}.team-members{flex-direction:column;gap:1.5rem}.team-member{max-width:300px;width:100%}}.license-section{margin-top:2rem}.license-link{align-items:center;background-color:#ffffff0d;border:1px solid var(--accent-color);border-radius:100px;color:#2e2e2e;color:var(--text-primary);display:flex;font-size:medium;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.license-link:hover{background-color:#2e2e2e3a;background-color:var(--dark-transparent-background);box-shadow:0 4px 10px #00000026;color:#fff;transform:translateY(-2px)}.license-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.license-modal{background-color:#f2ebdc;background-color:var(--bg-primary);border:1px solid #ffffff1a;border-radius:10px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:800px;overflow-y:auto;padding:2rem;position:relative;width:90%}.license-modal h3{border-bottom:2px solid var(--accent-color);font-size:20px;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;text-align:center}.license-text{color:#2e2e2e;color:var(--text-primary);font-size:1rem;line-height:1.6}.license-text p{font-size:1em;margin-bottom:1.2rem}.close-modal{align-items:center;background:none;border:none;border-radius:50%;color:#2e2e2e;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.8rem;height:30px;justify-content:center;position:absolute;right:15px;top:10px;transition:all .2s ease;width:30px}.close-modal:hover{background-color:#ffffff1a;transform:scale(1.1)}@media (max-width:768px){.license-modal{padding:1.5rem;width:95%}.license-modal h3{font-size:18px}.license-text{font-size:.9rem}}:root{--bg-light-bronze:#b1885e;--bg-light-bronze-dark:#9a7650;--bg-dark-bronze:#8a6b4a;--bg-dark-bronze-dark:#604b35;--light-bronze:177,136,94;--light-silver:192,192,192;--light-gold:212,175,55;--light-bronze-alt:183,126,68;--light-gold-alt:225,193,110;--light-interactive:212,161,66;--dark-bronze:130,105,78;--dark-silver:140,140,150;--dark-gold:165,140,42;--dark-bronze-alt:110,80,50;--dark-gold-alt:170,150,90;--dark-interactive:200,140,50;--circle-size:60%;--light-blending:overlay;--dark-blending:screen}@keyframes moveCircle1{0%{transform:translate(-45%,-45%) scale(.9)}20%{transform:translate(15%,-40%) scale(1.1)}40%{transform:translate(30%,-10%) scale(.95)}60%{transform:translate(5%,25%) scale(1.05)}80%{transform:translate(-35%,15%) scale(.9)}to{transform:translate(-45%,-45%) scale(.9)}}@keyframes moveCircle2{0%{transform:translate(30%,20%) rotate(0deg) scale(1)}25%{transform:translateY(-15%) rotate(90deg) scale(1.1)}50%{transform:translate(-20%,-25%) rotate(180deg) scale(.9)}75%{transform:translate(-5%,10%) rotate(270deg) scale(1.05)}to{transform:translate(30%,20%) rotate(1turn) scale(1)}}@keyframes moveCircle3{0%{transform:translate(-25%,25%) rotate(0deg) scale(1)}20%{transform:translate(10%,15%) rotate(72deg) scale(.9)}40%{transform:translate(30%,-5%) rotate(144deg) scale(1.1)}60%{transform:translateY(-30%) rotate(216deg) scale(1)}80%{transform:translate(-20%,-10%) rotate(288deg) scale(.95)}to{transform:translate(-25%,25%) rotate(1turn) scale(1)}}@keyframes moveCircle4{0%{transform:translate(35%,-20%) scale(.9)}16%{transform:translate(20%,10%) scale(1)}32%{transform:translate(-5%,30%) scale(1.1)}48%{transform:translate(-25%,15%) scale(.95)}64%{transform:translate(-30%,-10%) scale(1)}80%{transform:translate(-15%,-25%) scale(1.05)}to{transform:translate(35%,-20%) scale(.9)}}@keyframes moveCircle5{0%{transform:translate(-15%,-35%) rotate(0deg) scale(.95)}33%{transform:translate(10%) rotate(120deg) scale(1.05)}66%{transform:translate(25%,20%) rotate(240deg) scale(.9)}to{transform:translate(-15%,-35%) rotate(1turn) scale(.95)}}body,html{background-color:#b1885e;background-color:var(--bg-light-bronze);margin:0;overflow-x:hidden;padding:0}[data-theme=dark] body{background-color:#8a6b4a;background-color:var(--bg-dark-bronze)}.animated-background{background:linear-gradient(40deg,#b1885e,#9a7650);background:linear-gradient(40deg,var(--bg-light-bronze),var(--bg-light-bronze-dark));bottom:0;height:100vh;left:0;overflow:hidden;position:fixed;right:0;top:0;width:100vw;z-index:-1}.animated-background-extension,.animated-background:before,body:before{display:none}[data-theme=dark] .animated-background{background:linear-gradient(40deg,#8a6b4a,#604b35);background:linear-gradient(40deg,var(--bg-dark-bronze),var(--bg-dark-bronze-dark))}.animated-background svg{height:0;left:0;position:fixed;top:0;width:0}.gradients-container{filter:url(#goo) blur(20px);height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.gradient{opacity:1}.g1,.g2,.g3,.g4,.g5,.gradient{mix-blend-mode:overlay;mix-blend-mode:var(--light-blending);position:absolute}.g1,.g2,.g3,.g4,.g5{left:50%;top:50%}.g1{animation:moveCircle1 42s ease-in-out infinite;background:radial-gradient(circle at center,#b1885eb3 0,#b1885e00 50%) no-repeat;background:radial-gradient(circle at center,rgba(var(--light-bronze),.7) 0,rgba(var(--light-bronze),0) 50%) no-repeat;height:60%;height:var(--circle-size);width:60%;width:var(--circle-size)}.g2{animation:moveCircle2 35s ease-in-out infinite;background:radial-gradient(circle at center,#c0c0c0cc 0,#c0c0c000 50%) no-repeat;background:radial-gradient(circle at center,rgba(var(--light-silver),.8) 0,rgba(var(--light-silver),0) 50%) no-repeat;height:54%;height:calc(var(--circle-size)*.9);opacity:.9;width:54%;width:calc(var(--circle-size)*.9)}.g3{animation:moveCircle3 48s ease-in-out infinite;background:radial-gradient(circle at center,#d4af37cc 0,#d4af3700 55%) no-repeat;background:radial-gradient(circle at center,rgba(var(--light-gold),.8) 0,rgba(var(--light-gold),0) 55%) no-repeat;height:51%;height:calc(var(--circle-size)*.85);opacity:.85;width:51%;width:calc(var(--circle-size)*.85)}.g4{animation:moveCircle4 39s ease-in-out infinite;background:radial-gradient(circle at center,#b77e44b3 0,#b77e4400 50%) no-repeat;background:radial-gradient(circle at center,rgba(var(--light-bronze-alt),.7) 0,rgba(var(--light-bronze-alt),0) 50%) no-repeat;height:42%;height:calc(var(--circle-size)*.7);opacity:.6;width:42%;width:calc(var(--circle-size)*.7)}.g5{animation:moveCircle5 37s ease-in-out infinite;background:radial-gradient(circle at center,#e1c16ebf 0,#e1c16e00 60%) no-repeat;background:radial-gradient(circle at center,rgba(var(--light-gold-alt),.75) 0,rgba(var(--light-gold-alt),0) 60%) no-repeat;height:63%;height:calc(var(--circle-size)*1.05);opacity:.8;width:63%;width:calc(var(--circle-size)*1.05)}.interactive-bubble{background:radial-gradient(circle at center,#d4a142d9 0,#d4a14200 65%) no-repeat;background:radial-gradient(circle at center,rgba(var(--light-interactive),.85) 0,rgba(var(--light-interactive),0) 65%) no-repeat;height:200%;left:-100%;mix-blend-mode:overlay;mix-blend-mode:var(--light-blending);opacity:.85;pointer-events:none;position:absolute;top:-100%;width:200%}[data-theme=dark]{--color-bg1:var(--bg-dark-bronze);--color-bg2:var(--bg-dark-bronze-dark)}[data-theme=dark] .g1,[data-theme=dark] .g2,[data-theme=dark] .g3,[data-theme=dark] .g4,[data-theme=dark] .g5{mix-blend-mode:screen;mix-blend-mode:var(--dark-blending)}[data-theme=dark] .g1{background:radial-gradient(circle at center,#82694e99 0,#82694e00 45%) no-repeat;background:radial-gradient(circle at center,rgba(var(--dark-bronze),.6) 0,rgba(var(--dark-bronze),0) 45%) no-repeat;opacity:.6}[data-theme=dark] .g2{background:radial-gradient(circle at center,#8c8c96a6 0,#8c8c9600 45%) no-repeat;background:radial-gradient(circle at center,rgba(var(--dark-silver),.65) 0,rgba(var(--dark-silver),0) 45%) no-repeat;opacity:.65}[data-theme=dark] .g3{background:radial-gradient(circle at center,#a58c2ab3 0,#a58c2a00 50%) no-repeat;background:radial-gradient(circle at center,rgba(var(--dark-gold),.7) 0,rgba(var(--dark-gold),0) 50%) no-repeat;opacity:.7}[data-theme=dark] .g4{background:radial-gradient(circle at center,#6e503280 0,#6e503200 45%) no-repeat;background:radial-gradient(circle at center,rgba(var(--dark-bronze-alt),.5) 0,rgba(var(--dark-bronze-alt),0) 45%) no-repeat;opacity:.5}[data-theme=dark] .g5{background:radial-gradient(circle at center,#aa965aa6 0,#aa965a00 55%) no-repeat;background:radial-gradient(circle at center,rgba(var(--dark-gold-alt),.65) 0,rgba(var(--dark-gold-alt),0) 55%) no-repeat;opacity:.65}[data-theme=dark] .interactive-bubble{background:radial-gradient(circle at center,#c88c32b3 0,#c88c3200 60%) no-repeat;background:radial-gradient(circle at center,rgba(var(--dark-interactive),.7) 0,rgba(var(--dark-interactive),0) 60%) no-repeat;mix-blend-mode:screen;mix-blend-mode:var(--dark-blending);opacity:.7}#root>*{position:relative;z-index:1}.animated-background-extension,[data-theme=dark] .animated-background-extension{display:none}.background-solid{background-color:#b1885e;background-color:var(--bg-light-bronze);bottom:0;height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;width:100vw;z-index:-2}[data-theme=dark] .background-solid{background-color:#8a6b4a;background-color:var(--bg-dark-bronze)}#root>div{position:relative;z-index:1}.gender-evolution-container{background-color:var(--bg-primary);border-radius:2em;box-shadow:0 8px 30px #0000001f;font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;margin:20px auto;max-width:1400px;padding:25px;position:relative;transition:background-color .3s ease,color .3s ease;width:100%}.chart-title{color:var(--gold);font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:24px!important;font-weight:600!important;margin-bottom:15px;text-align:center}.chart-controls{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.chart-button{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 15px;transition:all .2s ease}.chart-button:hover{background-color:var(--light-gray);color:var(--muted-navy)}.chart-button.active{background-color:var(--gold);border-color:var(--silver);color:var(--bg-primary)}.chart-container{margin-bottom:20px}.recharts-cartesian-grid-cursor,.recharts-tooltip-cursor{fill-opacity:.4!important;opacity:.4!important}.chart-observations{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:8px;margin-top:20px;padding:15px 20px;transition:background-color .3s ease,color .3s ease}.chart-observations h3{color:var(--gold);font-size:18px;font-weight:600;margin-bottom:10px}.chart-observations ul{margin:0;padding-left:20px}.chart-observations li{color:var(--text-primary);line-height:1.5;margin-bottom:8px}.custom-tooltip{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;box-shadow:0 2px 12px #0000001a;padding:10px;transition:background-color .3s ease,color .3s ease}.custom-tooltip p{color:var(--text-primary);margin:5px 0}.custom-tooltip .year{color:var(--gold);font-weight:700;margin-bottom:8px}.error-container{background-color:#fdfbf7;border-left:4px solid #cd7f32;color:#2e2e2e}@media (max-width:768px){.chart-controls{align-items:center;flex-direction:column;gap:10px}.chart-button{max-width:250px;width:100%}}.world-map-container{align-items:center;background-color:var(--bg-primary);border-radius:2em;box-shadow:0 8px 30px #0000001f;display:flex;flex-direction:column;font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;margin:40px auto;max-width:1800px;min-height:800px;overflow:hidden;padding:35px;position:relative;transition:background-color .3s ease,color .3s ease,max-width .4s ease;width:100%}.world-map-container.with-side-window{max-width:2200px;min-height:800px;overflow-x:hidden}.map-wrapper{align-items:stretch;display:flex;height:700px;justify-content:space-between;margin-bottom:20px;position:relative;transition:width .4s ease;width:100%}.map-title{color:var(--gold);font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:24px!important;font-weight:600!important;margin-bottom:15px;text-align:center}.map-controls{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.map-button{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 15px;transition:all .2s ease}.map-button:hover{background-color:var(--light-gray);color:var(--text-primary)}.map-button.active{background-color:var(--gold);border-color:var(--silver);color:var(--bg-primary)}.map-container{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:8px;flex-grow:1;height:700px;overflow:hidden;position:relative;transition:width .4s ease,background-color .3s ease}.map-svg{color:var(--text-primary);display:block;height:100%;left:0;position:absolute;top:0;width:100%}.country{cursor:pointer;transition:fill .2s ease}.country:hover{fill:var(--silver)}.country.selected{fill:var(--gold)}.map-tooltip{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;box-shadow:0 2px 12px #0000001a;color:var(--text-primary);font-size:14px;padding:10px;pointer-events:none;position:absolute;transition:opacity .3s ease,background-color .3s ease,color .3s ease;z-index:1000}.map-legend{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:15px}.legend-item{align-items:center;color:var(--text-primary);display:flex;font-size:14px}.legend-color{border-radius:4px;height:20px;margin-right:8px;width:20px}.map-info-panel{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:8px;margin-top:20px;padding:15px 20px;transition:background-color .3s ease}.map-info-panel h3{color:var(--gold);font-size:18px;font-weight:600;margin-bottom:10px}.map-info-panel p{color:var(--text-primary);line-height:1.5;margin-bottom:8px}.map-data-details{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.data-item{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;box-shadow:0 2px 8px #0000000d;flex:1 1;min-width:150px;padding:10px 15px;transition:background-color .3s ease}.data-item h4{color:var(--text-primary);font-size:14px;margin:0 0 5px}.data-value{color:var(--bronze);font-size:20px;font-weight:600}.loading-container{align-items:center;color:var(--text-primary);display:flex;flex-direction:column;height:400px;justify-content:center}.loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #2e2e2e1a;border-top:3px solid var(--gold);height:40px;margin-bottom:15px;width:40px}.error-container{background-color:var(--bg-primary);border-left:4px solid var(--bronze);border-radius:4px;color:var(--text-primary);padding:20px;transition:background-color .3s ease,color .3s ease}.map-zoom-controls{display:flex;flex-direction:column;gap:5px;position:absolute;right:10px;top:10px;z-index:10}.zoom-button{align-items:center;background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:4px;box-shadow:0 2px 5px #0000001a;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:700;height:30px;justify-content:center;transition:all .2s ease;width:30px}.zoom-button:hover{background-color:var(--light-gray);color:var(--text-primary)}.country-side-window{background-color:var(--bg-primary);border:1px solid #0000;border-radius:8px;box-shadow:-5px 0 15px #0000001a;display:flex;flex-direction:column;flex-shrink:0;margin-left:15px;opacity:0;overflow-x:hidden;overflow-y:auto;padding-left:0;padding-right:0;transform:translateX(100%);transition:transform .4s ease,opacity .4s ease,visibility .4s,width .4s ease,padding .4s ease,border-color .4s ease;visibility:hidden;width:0}.country-side-window.open{border-color:var(--light-gray);height:700px;opacity:1;padding:25px 25px 15px;transform:translateX(0);visibility:visible;width:400px}.side-window-header{align-items:center;border-bottom:1px solid var(--light-gray);display:flex;justify-content:flex-start;margin-bottom:20px;padding-bottom:15px;position:relative}.side-window-header h3{color:var(--gold);font-size:20px;font-weight:600;margin:-10px 0 0;padding-right:40px}.close-button{background:none;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;font-size:28px;height:40px;line-height:1;padding:0;position:absolute;right:0;top:-15px;transition:all .2s ease;width:40px;z-index:1010}.close-button,.close-button i,.close-button span,.close-button svg{align-items:center;display:flex;justify-content:center;text-align:center}.close-button i,.close-button span,.close-button svg{height:24px;line-height:0;width:24px}.close-button:before{content:"×";display:block;line-height:0;position:relative;text-align:center;top:-1px}.close-button:hover{background-color:var(--light-gray);color:var(--gold)}.close-button:focus{outline:2px solid var(--gold);outline-offset:2px}.side-window-controls{margin-bottom:25px}.side-window-controls label{color:var(--text-primary);display:block;font-size:16px;margin-bottom:10px}.year-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23AAA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--light-gray);border-radius:6px;color:var(--text-primary);font-size:16px;margin-bottom:-15px;outline:none;padding:12px 40px 12px 12px;transition:border-color .2s ease,background-color .3s ease,color .3s ease;width:100%}.year-select:focus{border-color:var(--gold)}.medal-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:10px}.medal-stat-item.athletes,.medal-stat-item.bronze{grid-column:span 2;margin:0 auto;max-width:400px}.medal-stat-item{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:20px;transition:transform .2s ease,box-shadow .2s ease,background-color .3s ease}.medal-stat-item:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.medal-stat-item h4{color:var(--text-primary);font-size:14px;margin:0 0 10px;text-align:center}.medal-value{font-size:36px;font-weight:700;margin-top:10px;text-align:center}.gold .medal-value{color:var(--gold)}.silver .medal-value{color:var(--silver)}.bronze .medal-value{color:var(--bronze)}.total .medal-value{background:linear-gradient(90deg,var(--gold),var(--silver),var(--bronze));-webkit-background-clip:text;background-clip:text;color:#0000}.athletes .medal-value{color:var(--text-primary)}.medal-stat-item.total,.no-data-message{grid-column:span 2}.no-data-message{border:1px dashed var(--light-gray);border-radius:8px;padding:20px;text-align:center}@media (max-width:992px) and (min-width:769px){.world-map-container.with-side-window{max-width:2000px}.map-container.map-shifted{transform:translateX(-180px);width:calc(100% - 150px)}.country-side-window{max-height:550px;width:320px}.country-side-window.open{right:15px}.medal-value{font-size:32px}}@media (max-width:768px){.world-map-container{margin-bottom:120px;max-width:100%;padding:20px}.map-wrapper{flex-direction:column;overflow:visible}.map-container{height:450px;transition:margin-bottom .4s ease,transform .4s ease,background-color .3s ease}.map-container.map-shifted{margin-bottom:0;transform:translateY(0);width:100%}.map-data-details{flex-direction:column}.country-side-window{border-left:none;border-radius:0;border-top:1px solid var(--light-gray);border-top-left-radius:15px;border-top-right-radius:15px;height:600px;left:0;max-height:600px;padding:20px;position:absolute;right:0;top:100%;transform:translateY(0);transition:top .4s ease,background-color .3s ease;width:100%}.country-side-window.open{right:0;top:calc(100% - 500px)}.medal-stats{gap:15px;grid-template-columns:1fr}.medal-stat-item.total{grid-column:1}.medal-value{font-size:30px}.map-controls{align-items:center;flex-direction:column;gap:10px}.map-button{max-width:250px;width:100%}}.treemap-container{background-color:var(--bg-primary);border-radius:2em;box-shadow:0 8px 30px #00000014;font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;margin:20px auto;max-width:1400px;padding:25px;position:relative;transition:background-color .3s ease,color .3s ease;width:95%}.treemap-title{color:var(--gold);font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:24px!important;font-weight:600!important;margin-bottom:5px;text-align:center}.treemap-subtitle{color:var(--text-primary);font-size:14px;margin-bottom:20px;text-align:center}.treemap-wrapper{border-radius:8px;height:500px;margin:20px 0;overflow:hidden;position:relative;width:100%}.treemap-footer{color:var(--text-primary);font-size:12px;font-style:italic;margin-top:20px;text-align:center}.treemap-note{color:var(--silver);margin-top:5px}.year-slider-container{align-items:center;background-color:#00000008;border-radius:10px;box-shadow:inset 0 1px 3px #00000014;display:flex;flex-direction:column;margin:20px 0;padding:15px}.year-slider{-webkit-appearance:none;background:var(--light-gray);border-radius:5px;height:5px;margin-bottom:10px;max-width:600px;outline:none;width:80%}.year-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--gold);border-radius:50%;box-shadow:0 1px 3px #0000004d;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.year-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.year-slider::-moz-range-thumb{background:var(--gold);border:none;border-radius:50%;box-shadow:0 1px 3px #0000004d;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.year-slider::-moz-range-thumb:hover{transform:scale(1.1)}.year-label{color:var(--text-primary);font-size:18px;font-weight:700;margin-top:5px}.treemap-rect{stroke:#fff;stroke-width:1;stroke-opacity:.7}.treemap-name-text{font-size:12px;font-weight:400}.treemap-name-text,.treemap-size-text{fill:#fff;text-anchor:middle;letter-spacing:.5px;pointer-events:none}.treemap-size-text{font-size:10px;font-weight:lighter}.custom-treemap-tooltip{background-color:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;box-shadow:0 2px 12px #0000001a;padding:10px;transition:background-color .3s ease,color .3s ease}.sport-name{color:var(--text-primary);font-weight:600;margin:0 0 5px}.athlete-count{color:var(--gold);font-size:18px;font-weight:600;margin:0}.treemap-loading-container{align-items:center;background-color:var(--bg-primary);border-radius:12px;box-shadow:0 8px 30px #00000014;color:var(--text-primary);display:flex;flex-direction:column;height:400px;justify-content:center;margin:20px auto;max-width:1400px;width:95%}.treemap-loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #2e2e2e1a;border-radius:50%;border-top:3px solid var(--gold);height:40px;margin-bottom:15px;width:40px}.treemap-error-container{background-color:var(--bg-primary);border-left:4px solid var(--bronze);border-radius:4px;color:var(--text-primary);margin:20px auto;max-width:1400px;padding:20px;transition:background-color .3s ease,color .3s ease;width:95%}.no-data-message{align-items:center;color:var(--text-primary);display:flex;font-size:18px;font-style:italic;height:100%;justify-content:center}@media (max-width:768px){.treemap-container{padding:15px}.treemap-title{font-size:20px}.treemap-wrapper{height:400px}.year-slider{width:90%}}.olympic-podium-wrapper{font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 auto;max-width:1400px;padding:0;position:relative;width:95%}.olympic-podium-main-container{background-color:var(--bg-primary);border:1px solid #ffffff1a;border-radius:2em;box-shadow:0 8px 30px #0003;height:800px;margin:20px auto;overflow:hidden;padding:25px;width:100%}.olympic-podium-main-container h2{color:var(--gold);font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:24px!important;font-weight:600!important;margin-bottom:2rem;margin-top:1rem;position:relative;text-align:center;z-index:2}.all-athletes-view,.athlete-details-page,.medal-details-page,.podium-view-container{height:800px;opacity:0;overflow-y:auto;pointer-events:none;position:relative;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;width:100%}.all-athletes-view.active,.athlete-details-page.active,.medal-details-page.active,.podium-view-container.active{opacity:1;pointer-events:all;transform:translateY(0)}.country-selector{align-items:center;display:flex;flex-direction:column;margin-bottom:30px;max-width:400px;width:100%}.country-selector label{display:block;margin-bottom:10px}.country-select,.country-selector label{color:var(--text-primary);font-size:16px;text-align:center}.country-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23AAA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--light-gray);border-radius:6px;cursor:pointer;max-width:400px;outline:none;padding:12px;text-align-last:center;-webkit-text-align-last:center;-moz-text-align-last:center;transition:border-color .2s ease,background-color .3s ease,color .3s ease;width:80%}.country-select:after{display:none}.country-select:focus{border-color:var(--gold);box-shadow:0 0 0 2px #ffd7004d;outline:none}.podium-display{height:550px;overflow:hidden;position:relative;width:100%}.podium-container{align-items:flex-end;display:flex;height:450px;justify-content:center;margin:0 auto;max-width:800px;position:relative;width:90%}.podium-position{align-items:center;cursor:pointer;display:flex;flex-direction:column;margin:0 1rem;position:relative;transition:transform .3s ease;width:200px}.podium-position:hover{transform:translateY(-10px)}.athlete-image-container{align-items:center;animation-fill-mode:forwards;background-color:#333;border:3px solid var(--bg-secondary);border-radius:50%;display:flex;height:120px;justify-content:center;margin-bottom:10px;opacity:0;overflow:hidden;transform:translateY(50px);width:120px}.athlete-image{height:100%;object-fit:cover;object-position:top;width:100%}.athlete-name{color:var(--text-primary);font-weight:700;height:40px;margin-bottom:1rem;max-width:150px;text-align:center;transform:translateY(30px)}.athlete-name,.podium-block{align-items:center;animation-fill-mode:forwards;display:flex;justify-content:center;opacity:0}.podium-block{border-radius:8px 8px 0 0;position:relative;transform:translateY(100%);transition:all .3s ease;width:100%}.position-number{color:#00000080;font-size:2rem;font-weight:700}@keyframes riseUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeRiseUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.position-1 .athlete-image-container{animation:fadeRiseUp .8s ease-out forwards}.position-1 .athlete-name{animation:fadeRiseUp .8s ease-out .05s forwards}.podium-1{animation:riseUp .8s ease-out .1s forwards;background:linear-gradient(to bottom,var(--gold),#e6c200);height:200px}.position-2 .athlete-image-container{animation:fadeRiseUp .8s ease-out .2s forwards}.position-2 .athlete-name{animation:fadeRiseUp .8s ease-out .25s forwards}.podium-2{animation:riseUp .8s ease-out .3s forwards;background:linear-gradient(to bottom,var(--silver),silver);height:150px}.position-3 .athlete-image-container{animation:fadeRiseUp .8s ease-out .4s forwards}.position-3 .athlete-name{animation:fadeRiseUp .8s ease-out .45s forwards}.podium-3{animation:riseUp .8s ease-out .5s forwards;background:linear-gradient(to bottom,var(--bronze),#cd7f32);height:100px}.position-1{order:2;z-index:3}.position-2{order:1;z-index:2}.position-3{order:3;z-index:1}.see-more-container{bottom:0;margin-top:2rem;padding-bottom:1rem;position:relative;text-align:center;width:100%}.see-more-button{background-color:#666;border:1px solid #ffffff1a;border-radius:50px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.see-more-button:hover{background-color:#888;color:#fff}.loading-container,.no-athletes-message,.no-selection-message{color:var(--text-primary);font-size:1rem;padding:0;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-left:4px solid var(--gold);border-radius:50%;height:36px;margin:0 auto 1rem;width:36px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.athlete-details-page{color:var(--text-primary);height:700px;margin:0 auto;overflow-y:auto;width:100%}.athlete-details-header{align-items:center;display:flex;margin-bottom:1.5rem;position:relative;z-index:100}.athlete-details-header h2{color:var(--gold);flex:1 1;font-size:20px;font-weight:600;margin:20px 0 0;text-align:center}.back-button{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;left:0;padding:.5rem 1rem;position:absolute;transition:all .3s ease;z-index:100}.back-button:hover{color:var(--gold)}.athlete-details-content{display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;padding-right:10px;width:100%}.athlete-profile{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:90%}.athlete-image-large{align-items:center;background-color:#444;border:3px solid var(--gold);border-radius:50%;display:flex;height:120px;justify-content:center;margin-bottom:1.5rem;overflow:hidden;width:120px}.athlete-image-large img{height:100%;object-fit:cover;object-position:center top;width:100%}.athlete-info{color:var(--text-primary);width:100%}.athlete-info-header{align-items:center;display:flex;flex-direction:column;margin-top:-15px}.athlete-info p{font-size:1rem;margin:.5rem 0;text-align:center}.athlete-info h3{border-bottom:1px solid #ffffff1a;color:var(--gold);font-size:18px;font-weight:600;margin:1.2rem 0 1.5rem;padding-bottom:.5rem;text-align:center}.medal-counts{display:flex;gap:2.5rem;justify-content:center;margin:1.2rem 0 2.5rem}.medal{flex-direction:column;gap:.5rem}.medal,.medal-icon-wrapper{align-items:center;display:flex}.medal-icon-wrapper{background-color:#444;border-radius:8px;height:80px;justify-content:center;overflow:hidden;position:relative;width:80px}.medal-count{font-size:2.5rem;font-weight:700;line-height:1}.medal.gold .medal-icon-wrapper{background-color:#ffd70033;border:1px solid #ffd7004d}.medal.silver .medal-icon-wrapper{background-color:#c0c0c033;border:1px solid #c0c0c04d}.medal.bronze .medal-icon-wrapper{background-color:#cd7f3233;border:1px solid #cd7f324d}.medal-label{color:var(--text-primary);font-size:.85rem;letter-spacing:1px;text-transform:uppercase}.medal-mini-icon{display:none}.medal-mini-label{color:var(--text-secondary);font-size:.9rem;font-weight:700}.medal-mini.gold .medal-mini-label{color:var(--gold)}.medal-mini.silver .medal-mini-label{color:var(--silver)}.medal-mini.bronze .medal-mini-label{color:var(--bronze)}.athlete-stats{margin-top:0;width:100%}.stats-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(4,1fr);width:100%}.stat-item{background-color:#ffffff0d;border-radius:8px;padding:1rem;text-align:center}.stat-label{font-size:.8rem;letter-spacing:1px;margin-bottom:.5rem!important;opacity:.7;text-transform:uppercase}.stat-value{font-size:1.4rem!important;font-weight:700;margin:0!important}@media (max-width:768px){.podium-container{align-items:center;flex-direction:column;height:auto}.podium-position{margin:1rem 0;max-width:300px;width:100%}.position-1,.position-2,.position-3{order:0}.country-select{min-width:0;min-width:auto;width:90%}.medal-counts{align-items:center;flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr}.athlete-info{padding:0}}.all-athletes-container{color:var(--text-primary);height:100%;overflow-y:auto;width:100%}.all-athletes-header{align-items:center;display:flex;margin-bottom:2rem;position:relative;z-index:100}.all-athletes-header h2{color:var(--gold);flex:1 1;font-size:20px;font-weight:600;margin:1.5rem 0 0;text-align:center}.athletes-list{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:800px;padding:0 1rem 2rem}.athlete-list-item{align-items:center;background-color:#ffffff0d;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;min-height:82px;padding:16px;transition:all .2s ease}.athlete-list-item:hover{background-color:#ffffff1a;transform:translateY(-2px)}.athlete-list-rank{align-items:center;color:var(--text-secondary);display:flex;font-size:1.1rem;font-weight:700;justify-content:center;width:60px}.athlete-list-image{border:2px solid var(--bg-secondary);border-radius:50%;height:50px;margin-right:16px;overflow:hidden;width:50px}.athlete-list-image img{height:100%;object-fit:cover;object-position:center top;width:100%}.athlete-list-name{flex:1 1;font-size:1.1rem;font-weight:500}.athlete-list-medals{display:flex;gap:12px}.medal-mini{align-items:center;display:flex;gap:4px}.medal-mini-count{font-size:1.1rem;font-weight:700}.medal-mini-icon{font-size:1rem}.view-medals-button-container{margin:1.5rem 0;text-align:center}.view-medals-button{background-color:var(--bg-secondary);border:1px solid #ffffff1a;border-radius:50px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:-30px;padding:10px 20px;transition:all .3s ease}.view-medals-button:hover{background-color:var(--gold);color:#000}.medal-details-page{color:var(--text-primary);height:800px;margin:0 auto;overflow-y:auto;width:100%}.medal-details-header{align-items:center;display:flex;margin-bottom:1.5rem;position:relative;z-index:100}.medal-details-header h2{color:var(--gold);flex:1 1;font-size:20px;font-weight:600;margin:20px 0 0;text-align:center}.medal-details-content{margin:0 auto;max-width:900px;padding:0 1rem 2rem}.no-medals-message{color:var(--text-secondary);font-size:1.1rem;padding:30px;text-align:center}.medals-list{display:flex;flex-direction:column;gap:15px}.medal-detail-item{background-color:#ffffff0d;border-radius:8px;display:flex;gap:20px;padding:15px;transition:transform .2s ease}.medal-detail-item:hover{background-color:#ffffff14;transform:translateY(-2px)}.medal-detail-item.with-medal{background-color:#ffd7001a;border:1px solid #ffd70033}.medal-detail-year{align-items:center;color:var(--gold);display:flex;font-size:1.4rem;font-weight:700;justify-content:center;min-width:70px}.medal-detail-info{flex:1 1;line-height:1.6}.medal-detail-discipline,.medal-detail-event,.medal-detail-position{margin-bottom:8px}.medal-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:.9rem;font-weight:700;margin-left:10px;padding:3px 8px}.medal-badge.gold{background-color:#ffd70033;color:var(--gold)}.medal-badge.silver{background-color:#c0c0c033;color:var(--silver)}.medal-badge.bronze{background-color:#cd7f3233;color:var(--bronze)}.athlete-details-page::-webkit-scrollbar,.medal-details-page::-webkit-scrollbar,.podium-view-container::-webkit-scrollbar{width:8px}.athlete-details-page::-webkit-scrollbar-track,.medal-details-page::-webkit-scrollbar-track,.podium-view-container::-webkit-scrollbar-track{background:#0000}.athlete-details-page::-webkit-scrollbar-thumb,.medal-details-page::-webkit-scrollbar-thumb,.podium-view-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.athlete-details-page::-webkit-scrollbar-thumb:hover,.medal-details-page::-webkit-scrollbar-thumb:hover,.podium-view-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width:768px){.medal-detail-item{flex-direction:column;gap:10px}.medal-detail-year{justify-content:flex-start}.medal-badge{display:block;margin-left:0;margin-top:5px;width:max-content}}.search-and-filter-container{align-items:center;display:flex;justify-content:center;margin-bottom:30px;position:relative;width:100%}.search-container{height:45px;overflow:visible;position:absolute;right:25px;top:15px;transition:width .3s ease;width:45px;z-index:20}.search-container.expanded{background-color:var(--bg-secondary);border:1px solid #ffd7004d;border-radius:25px;overflow:hidden;width:250px}.search-icon-button{align-items:center;background-color:var(--bg-secondary);border:1px solid #ffd70033;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:45px;justify-content:center;position:absolute;right:0;top:0;transition:background-color .3s ease;width:45px;z-index:10}.search-container:not(.expanded) .search-icon-button{box-shadow:none}.search-container.expanded .search-icon-button{background-color:var(--bg-tertiary);border:1px solid #ffd70033}.search-container.expanded .search-icon-button:hover{background-color:#ffd7001a;color:var(--gold)}.search-icon{align-items:center;display:flex;height:20px;justify-content:center;width:20px}.search-input{background-color:initial;border:none;border-radius:25px;color:var(--text-primary);font-size:14px;height:45px;padding:12px 45px 12px 15px;transition:all .3s ease;width:100%}.search-input:focus{outline:none}.clear-search-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;opacity:.7;position:absolute;right:45px;top:50%;transform:translateY(-50%);transition:opacity .2s ease}.clear-search-button:hover{opacity:1}.global-search-results{margin:0 auto;max-width:800px;width:100%}.global-search-results h3{color:var(--gold);font-size:18px;font-weight:600;margin-bottom:20px;text-align:center}.no-search-results{color:var(--text-secondary);font-size:1.1rem;padding:30px;text-align:center}.athlete-list-details{display:flex;flex:1 1;flex-direction:column}.athlete-list-country{color:var(--text-secondary);font-size:.9rem;margin-top:4px}.more-results-message{color:var(--text-secondary);font-size:.9rem;font-style:italic;margin-top:20px;padding:10px;text-align:center}.all-athletes-view .search-container{position:absolute;right:25px;top:25px;z-index:10}@media (max-width:768px){.search-and-filter-container{flex-direction:column;gap:15px}.search-container{right:10px;top:-35px}.all-athletes-view .search-container{position:absolute;right:10px;top:15px}.all-athletes-header h2{font-size:18px;margin-top:10px;padding:0 10px}}.olympic-podium-main-container{position:relative}.podium-view-container{padding-top:0}.search-icon-button:hover{background-color:var(--bg-tertiary);color:var(--gold)}.search-container.expanded .search-icon-button{background-color:initial;box-shadow:none}.search-icon svg{fill:currentColor;height:100%;width:100%}.no-selection-message{align-items:center;border:2px dashed #88888871;border-radius:8px;color:var(--text-secondary);display:flex;font-size:1.2rem;height:300px;justify-content:center;line-height:1.5;margin:60px auto 20px;max-width:900px;text-align:center;width:100%}.search-input::placeholder{color:var(--text-secondary);opacity:.7}.medal-race-container{background-color:var(--bg-primary);border-radius:2em;box-shadow:0 4px 15px #0000000d;color:var(--text-primary);font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;height:auto;justify-content:flex-start;min-height:min-content;overflow-x:hidden;padding:25px 20px;position:relative}.medal-race-container,.medal-race-header{align-items:center;display:flex;flex-direction:column;width:100%}.medal-race-header{margin-bottom:10px}.medal-race-title{color:var(--gold);font-family:SF Pro,SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:24px!important;font-weight:600!important;margin-bottom:40px;text-align:center}.medal-race-subtitle{color:var(--text-secondary);font-size:1rem;font-weight:400;margin-bottom:10px;margin-top:5px;max-width:700px;text-align:center}.medal-race-controls{align-items:center;display:flex;flex-direction:column;margin-bottom:40px;width:100%}.medal-race-dropdown-container{margin-bottom:20px;max-width:600px;width:100%}.medal-race-dropdown-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.medal-race-dropdown-label{color:var(--text-primary);font-size:1rem;font-weight:600}.medal-race-dropdown-actions{display:flex;gap:10px}.medal-race-dropdown-action{background-color:#6666668a;border:1px solid #ffffff1a;border-radius:50px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:10px;padding:5px 16px;transition:all .3s ease}.medal-race-dropdown-action:hover{background-color:#888;color:#fff}.medal-race-dropdown{position:relative;width:100%}.medal-race-dropdown-select{align-items:center;background:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;justify-content:space-between;padding:12px 15px;transition:border-color .2s ease,background-color .3s ease,color .3s ease;width:100%}.medal-race-dropdown-select:active,.medal-race-dropdown-select:focus{border-color:var(--gold);box-shadow:0 0 0 2px #ffd7004d;outline:none}.medal-race-dropdown-menu{background:var(--bg-primary);border:1px solid var(--light-gray);border-radius:6px;box-shadow:0 8px 16px #0003;display:none;left:0;margin-top:5px;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:100%;z-index:10}.medal-race-dropdown-menu.open{display:block}.medal-race-dropdown-option{align-items:center;cursor:pointer;display:flex;font-size:.9rem;padding:12px 15px;transition:background-color .2s ease}.medal-race-dropdown-option:hover{background:#ffffff0d}.medal-race-dropdown-checkbox{align-items:center;appearance:none;-webkit-appearance:none;border:2px solid var(--gold);border-radius:4px;cursor:pointer;display:flex;height:18px;justify-content:center;margin-right:10px;outline:none;position:relative;transition:all .2s ease;width:18px}.medal-race-dropdown-checkbox:checked{background-color:var(--gold)}.medal-race-dropdown-checkbox:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:5px}.medal-race-dropdown-checkbox:hover{border-color:var(--gold);box-shadow:0 0 0 2px var(--transparent-gold)}.medal-race-timeline-container{display:flex;flex-direction:column;margin-bottom:-10px;max-width:800px;padding-top:5px;width:100%}.medal-race-timeline-label{display:flex;font-size:1rem;font-weight:600;justify-content:space-between;margin-bottom:10px}.medal-race-year-display{color:var(--gold);font-size:1.8rem;font-weight:700;transition:color .2s ease-out}.medal-race-timeline{background:#88888871;border-radius:15px;box-sizing:border-box;height:15px;overflow:visible;padding:0;position:relative;width:100%}.medal-race-timeline-progress{background-color:var(--gold);border-radius:15px;height:100%;left:0;max-width:100%;position:absolute;top:0;transition:width .3s ease-in-out}.medal-race-timeline-progress.dragging{transition:none}.medal-race-timeline-thumb{align-items:center;background-color:var(--gold);border-radius:50%;color:var(--text-inverse);cursor:grab;display:flex;font-size:1.2rem;font-weight:700;height:30px;justify-content:center;position:absolute;top:50%;transform:translate(-50%,-50%);transition:left .3s ease-out,transform .2s ease-out,box-shadow .2s ease-out;white-space:nowrap;width:30px;will-change:left,transform;z-index:2}.medal-race-timeline-thumb.dragging,.medal-race-timeline-thumb:hover{transform:translate(-50%,-50%) scale(1.1)}.medal-race-timeline-thumb.dragging{cursor:grabbing;transition:none}.medal-race-timeline-thumb.at-start{left:0!important}.medal-race-timeline-thumb.at-end{left:100%!important}.medal-race-play-controls{align-items:center!important;display:flex;gap:15px;justify-content:center;margin-bottom:-15px;margin-top:30px}.medal-race-control-button{background:#0000;border:none;border-radius:50%;color:var(--gold);cursor:pointer;font-size:1rem;height:40px;outline:none;padding:0;transition:all .3s ease-in-out;width:40px}.medal-race-control-button:hover{transform:scale(1.15)}.medal-race-control-button.play-pause{background-color:initial;border:none;color:var(--gold);font-size:1.3rem;height:60px;transition:all .3s ease-in-out;width:60px}.control-icon{display:flex;height:32px;width:32px}.control-icon,.control-icon path{fill:var(--gold);stroke:var(--gold)}.play-pause .control-icon{height:36px;width:36px}.replay-icon{color:var(--gold);display:block;font-size:28px;font-weight:700}.medal-race-control-button.disabled,.medal-race-control-button.disabled:hover{background-color:initial;border:none;color:#88888860;cursor:not-allowed;opacity:.5;transform:none}.medal-race-control-button.disabled .control-icon path,.medal-race-control-button.disabled:hover .control-icon path{fill:#88888860;stroke:#88888860}.medal-race-control-button.disabled .replay-icon{color:#88888860}.medal-race-chart-container{display:flex;flex-direction:column;flex-grow:0;gap:10px;height:400px;justify-content:flex-start;margin-bottom:20px;max-width:1200px;overflow:hidden;padding:0;position:relative;width:100%}.medal-race-bar{align-items:center;display:flex;flex:1 1;left:0;margin-bottom:0;min-height:25px;position:relative;right:0;transition:all .5s ease;width:100%;z-index:1}.medal-race-bar:last-child{margin-bottom:0}.medal-race-bar-label{color:var(--text-primary);flex-shrink:0;font-size:1rem;font-weight:600;min-width:120px;overflow:hidden;padding-right:15px;position:relative;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:120px;z-index:2}.medal-race-bar-value{align-items:center;border-radius:7px;color:var(--text-inverse);display:flex;font-weight:600;height:100%;min-width:50px;opacity:1;padding:0 15px;position:relative;transition:width .5s ease-in-out;z-index:2}.medal-race-bar-count{color:var(--text-inverse);font-size:1.2rem;font-weight:700;margin-left:10px;position:absolute;right:15px}.medal-race-footer{color:var(--text-secondary);font-size:.8rem;margin-top:15px;padding-bottom:5px;text-align:center}@media (max-width:768px){.medal-race-container{padding:20px 15px}.medal-race-title{font-size:20px;margin-bottom:20px}.medal-race-chart-container{height:350px;margin-bottom:15px}.medal-race-bar-label{font-size:.9rem;width:100px}.medal-race-controls{margin-bottom:20px}.medal-race-play-controls{margin-bottom:0;margin-top:15px}}@media (max-width:576px){.medal-race-container{padding:15px 10px}.medal-race-title{font-size:18px;margin-bottom:15px}.medal-race-chart-container{height:300px;margin-bottom:10px}.medal-race-bar-label{font-size:.8rem;padding-right:10px;width:80px}.medal-race-dropdown-actions{flex-direction:column;gap:5px}.medal-race-controls{margin-bottom:15px}.medal-race-play-controls{margin-bottom:0;margin-top:10px}}.medal-race-chart-container .medal-race-bar-value.level1{background-color:#cd7f32!important;box-shadow:0 2px 8px #cd7f3280}.medal-race-chart-container .medal-race-bar-value.level2{background-color:#d89f64!important;box-shadow:0 2px 8px #d89f6480}.medal-race-chart-container .medal-race-bar-value.level3{background-color:#e0b778!important;box-shadow:0 2px 8px #e0b77880}.medal-race-chart-container .medal-race-bar-value.level4{background-color:#e6c88c!important;box-shadow:0 2px 8px #e8cf8c80}.medal-race-chart-container .medal-race-bar-value.level5{background-color:#e8cf8c!important;box-shadow:0 2px 8px #e8cf8c80}.medal-race-chart-container .medal-race-bar-value.level6{background-color:silver!important;box-shadow:0 2px 8px #c0c0c080}.medal-race-chart-container .medal-race-bar-value.level7{background-color:#cabd82!important;box-shadow:0 2px 8px #cabd8280}.medal-race-chart-container .medal-race-bar-value.level8{background-color:#cfbc6a!important;box-shadow:0 2px 8px #cfbc6a80}.medal-race-chart-container .medal-race-bar-value.level9{background-color:#d2a546!important;box-shadow:0 2px 8px #d2a54680}.medal-race-chart-container .medal-race-bar-value.level10{background-color:#d4af37!important;box-shadow:0 2px 8px #d4af3780}@keyframes increaseWidth{0%{width:0}to{width:100%}}.medal-race-bar-value.animate{animation:increaseWidth .5s ease-in-out forwards}.medal-race-empty-state{align-items:center;border:2px dashed #88888871;border-radius:8px;display:flex;height:300px;justify-content:center;margin:60px auto 20px;max-width:900px;width:100%}.medal-race-empty-state p{color:var(--text-secondary);font-size:1.2rem;line-height:1.5;max-width:80%;text-align:center}svg.control-icon{height:32px!important;width:32px!important}svg.control-icon,svg.control-icon path{fill:var(--gold)!important;stroke:var(--gold)!important}.medal-race-control-button.disabled svg.control-icon,.medal-race-control-button.disabled svg.control-icon path{fill:#88888860!important;stroke:#88888860!important}.medal-race-control-button,.medal-race-control-button.play-pause{align-items:center!important;display:flex!important;justify-content:center!important}.medal-race-control-button.play-pause svg.control-icon{height:36px!important;width:36px!important}
/*# sourceMappingURL=main.9ca438f6.css.map*/