@import "https://fonts.googleapis.com/css2?family=Bangers&family=Orbitron:wght@400;700;900&family=Press+Start+2P&display=swap";
:root{--void:#0a0a12;--deep:#12121f;--surface:#1a1a2e;--neon-pink:#ff2d95;--neon-cyan:#00fff7;--neon-lime:#39ff14;--neon-yellow:#fff01f;--neon-orange:#ff6b00;--neon-purple:#bf00ff;--glow-pink:0 0 20px #ff2d95,0 0 40px #ff2d95,0 0 60px #ff2d9580;--glow-cyan:0 0 20px #00fff7,0 0 40px #00fff7,0 0 60px #00fff780;--glow-lime:0 0 20px #39ff14,0 0 40px #39ff14,0 0 60px #39ff1480;--glow-yellow:0 0 20px #fff01f,0 0 40px #fff01f;--text:#fff;--text-dim:#88a;--font-display:"Bangers",cursive;--font-tech:"Orbitron",sans-serif;--font-pixel:"Press Start 2P",monospace;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-tech);background:var(--void);color:var(--text);min-height:100vh;overflow-x:hidden}body:before{content:"";background:linear-gradient(var(--neon-cyan)1px,transparent 1px),linear-gradient(90deg,var(--neon-cyan)1px,transparent 1px);opacity:.06;pointer-events:none;background-size:50px 50px;animation:20s linear infinite gridScroll;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#00000026,#00000026 1px,#0000 1px 2px);position:fixed;inset:0}@keyframes gridScroll{to{transform:translate(50px,50px)}}.container{max-width:800px;padding:var(--space-6);margin:0 auto;position:relative}.container:before,.container:after{content:"";filter:blur(80px);opacity:.4;pointer-events:none;border-radius:50%;animation:8s ease-in-out infinite floatOrb;position:fixed}.container:before{background:var(--neon-pink);width:300px;height:300px;top:10%;left:-10%}.container:after{background:var(--neon-cyan);width:250px;height:250px;animation-delay:-4s;bottom:10%;right:-10%}@keyframes floatOrb{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-30px)scale(1.1)}}header{text-align:center;margin-bottom:var(--space-8)}h1{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:clamp(4rem,18vw,8rem);animation:3s ease-in-out infinite flickerText;display:inline-block;position:relative;transform:skew(-5deg)}.logo-go,.logo-ride{display:inline-block;position:relative}.logo-go{color:var(--neon-pink);text-shadow:var(--glow-pink)}.logo-go:before{content:"Go";color:var(--neon-cyan);text-shadow:var(--glow-cyan);z-index:-1;animation:.3s ease-in-out infinite glitchShift;position:absolute;top:3px;left:3px}.logo-ride{color:var(--neon-cyan);text-shadow:var(--glow-cyan)}.logo-ride:before{content:"Ride";color:var(--neon-pink);text-shadow:var(--glow-pink);z-index:-1;animation:.3s ease-in-out infinite glitchShift;position:absolute;top:3px;left:3px}@keyframes flickerText{0%,92%,94%,97%,to{opacity:1}93%,96%{opacity:.8}}@keyframes glitchShift{0%,to{transform:translate(0)}25%{transform:translate(-5px,3px)}50%{transform:translate(3px,-2px)}75%{transform:translate(5px,-3px)}}.subtitle{font-family:var(--font-pixel);color:var(--neon-lime);text-transform:uppercase;letter-spacing:.3em;margin-top:var(--space-4);text-shadow:var(--glow-lime);font-size:.6rem;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.connection-section{margin-bottom:var(--space-8)}.status-indicator{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-5);background:linear-gradient(135deg,var(--deep),var(--surface));border:3px solid var(--neon-purple);margin-bottom:var(--space-4);border-radius:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 30px #bf00ff4d,inset 0 0 30px #00000080}.status-indicator.status-connecting{border-color:var(--neon-yellow);box-shadow:0 0 30px #fff01f4d}.status-indicator.status-connected{border-color:var(--neon-lime);box-shadow:0 0 30px #39ff144d}.status-dot{background:var(--text-dim);border-radius:50%;width:20px;height:20px}.status-connecting .status-dot{background:var(--neon-yellow);box-shadow:var(--glow-yellow);animation:.5s ease-in-out infinite pulseDot}.status-connected .status-dot{background:var(--neon-lime);box-shadow:var(--glow-lime)}@keyframes pulseDot{50%{transform:scale(1.3)}}.status-text{font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.update-rate{font-family:var(--font-pixel);color:var(--primary);background:#00fff71a;border-radius:4px;margin-left:.5rem;padding:.2rem .5rem;font-size:.6rem}.connection-buttons{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.btn{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:var(--space-4)var(--space-5);cursor:pointer;border:none;border-radius:15px;font-size:1.2rem;transition:all .2s}.btn-primary{background:linear-gradient(180deg,var(--neon-pink),#cc2477);color:#fff;box-shadow:0 6px #905,0 8px 20px #ff2d9580}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px #905,0 12px 30px #ff2d9599}.btn-primary:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #905}.btn-secondary{background:linear-gradient(180deg,var(--surface),var(--deep));color:var(--neon-cyan);border:2px solid var(--neon-cyan);box-shadow:0 4px #066,0 0 20px #00fff733}.btn-secondary:hover:not(:disabled){background:var(--neon-cyan);color:var(--void)}.btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.data-section{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:1fr;display:grid}.data-card{background:linear-gradient(135deg,var(--deep),var(--surface));padding:var(--space-5)var(--space-6);border:3px solid var(--neon-cyan);border-radius:20px;transition:all .3s;animation:4s ease-in-out infinite cardFloat;box-shadow:0 0 30px #00fff733,inset 0 0 50px #00000080}.data-card:hover{border-color:var(--neon-pink);transform:scale(1.02)}.data-card:first-child{border-color:var(--neon-pink);box-shadow:0 0 40px #ff2d954d}.data-card:first-child .data-value{color:var(--neon-pink);text-shadow:var(--glow-pink);font-size:clamp(5rem,20vw,10rem);animation:2s ease-in-out infinite powerPulse}.data-card:first-child .data-value.sass-text{font-size:clamp(1.5rem,5vw,2.5rem);animation:none}@keyframes cardFloat{50%{transform:translateY(-5px)}}@keyframes powerPulse{50%{filter:brightness(1.2);transform:scale(1.02)}}.power-card{flex-direction:column;height:280px;min-height:280px;display:flex;position:relative;overflow:hidden}.power-graph-underlay{opacity:.6;z-index:0;position:absolute;inset:0}.power-graph-underlay .power-graph-container{box-shadow:none;background:0 0;border:none;height:100%;padding:0}.power-graph-underlay .power-graph-canvas{height:100%!important}.power-card .data-label,.power-card .data-value,.power-card .data-unit{z-index:1;position:relative}.data-label{font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:.2em;color:var(--neon-lime);text-shadow:var(--glow-lime);margin-bottom:var(--space-2);font-size:.5rem;display:block}.data-value{font-family:var(--font-display);color:var(--neon-cyan);text-shadow:var(--glow-cyan);font-size:clamp(3rem,12vw,5rem);line-height:1}.data-unit{font-family:var(--font-tech);color:var(--neon-yellow);text-shadow:var(--glow-yellow);margin-left:var(--space-2);font-size:1rem;font-weight:700}.control-section{background:linear-gradient(180deg,var(--surface),var(--deep));padding:var(--space-6);border:4px solid var(--neon-orange);border-radius:30px;position:relative;box-shadow:0 0 40px #ff6b004d,inset 0 0 60px #0009}.control-section:before{content:"★ CONTROL PANEL ★";font-family:var(--font-display);letter-spacing:.15em;color:var(--neon-orange);text-shadow:var(--glow-yellow);background:var(--deep);padding:0 var(--space-4);font-size:1.2rem;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.mode-toggle{gap:var(--space-2);margin-bottom:var(--space-5);background:var(--void);padding:var(--space-2);border:2px solid var(--text-dim);border-radius:15px;grid-template-columns:repeat(4,1fr);display:grid}.btn-mode{font-family:var(--font-display);letter-spacing:.1em;padding:var(--space-3)var(--space-4);color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:10px;font-size:1.1rem;transition:all .2s}.btn-mode:hover{color:var(--text)}.btn-mode.active{background:linear-gradient(180deg,var(--neon-lime),#2ecc10);color:var(--void);box-shadow:0 0 20px #39ff1480}.mode-controls{animation:.3s slideIn}.mode-controls label{font-family:var(--font-pixel);text-transform:uppercase;letter-spacing:.15em;color:var(--neon-yellow);text-shadow:var(--glow-yellow);margin-bottom:var(--space-4);text-align:center;font-size:.5rem;display:block}.slider-container{align-items:center;gap:var(--space-5);display:flex}input[type=range]{-webkit-appearance:none;background:var(--void);border:3px solid var(--neon-purple);cursor:pointer;border-radius:10px;flex:1;height:20px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 30% 30%,var(--neon-pink),#cc2477);width:40px;height:40px;box-shadow:var(--glow-pink);cursor:pointer;border:4px solid #fff;border-radius:50%;transition:transform .2s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}input[type=range]:disabled{opacity:.3}input[type=range]:disabled::-webkit-slider-thumb{background:var(--text-dim);box-shadow:none}.resistance-display{font-family:var(--font-display);color:var(--neon-pink);text-shadow:var(--glow-pink);text-align:right;min-width:100px;font-size:3rem}.power-input-container{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}input[type=number]{font-family:var(--font-display);width:150px;padding:var(--space-3)var(--space-4);background:var(--void);border:3px solid var(--neon-cyan);color:var(--neon-cyan);text-align:center;text-shadow:var(--glow-cyan);border-radius:15px;font-size:2.5rem}input[type=number]:focus{border-color:var(--neon-pink);color:var(--neon-pink);text-shadow:var(--glow-pink);outline:none}input[type=number]:disabled{opacity:.3}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.power-unit{font-family:var(--font-display);color:var(--neon-yellow);text-shadow:var(--glow-yellow);font-size:1.5rem}.error-message{font-family:var(--font-pixel);padding:var(--space-4);border:3px solid var(--neon-pink);color:var(--neon-pink);text-shadow:var(--glow-pink);margin-top:var(--space-4);text-align:center;background:#ff2d9533;border-radius:15px;font-size:.6rem;animation:.5s errorShake}@keyframes errorShake{20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)scale(.9)}}.btn:focus-visible,input:focus-visible{outline:3px solid var(--neon-lime);outline-offset:3px}.power-graph-container{background:linear-gradient(135deg,var(--deep),var(--surface));border:3px solid var(--neon-cyan);padding:var(--space-4);border-radius:20px;position:relative;overflow:hidden;box-shadow:0 0 30px #00fff733,0 0 60px #ff2d951a,inset 0 0 50px #00000080}.power-graph-container:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00fff708 2px 4px);position:absolute;inset:0}.power-graph-canvas{border-radius:10px;width:100%;display:block}@media (min-width:640px){.data-section{grid-template-columns:repeat(3,1fr)}.data-card:first-child{grid-column:span 3}.connection-buttons{max-width:400px;margin:0 auto}}@media (max-width:639px){h1{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:none}.logo-go{text-shadow:0 0 10px var(--neon-pink)}.logo-go:before{text-shadow:0 0 10px var(--neon-cyan);animation:none;top:2px;left:2px}.logo-ride{text-shadow:0 0 10px var(--neon-cyan)}.logo-ride:before{text-shadow:0 0 10px var(--neon-pink);animation:none;top:2px;left:2px}.subtitle{text-shadow:0 0 8px var(--neon-lime)}}.connect-screen{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;min-height:50vh;display:flex}.btn-connect-big{padding:var(--space-6)var(--space-8);border-radius:25px;font-size:1.8rem;animation:2s ease-in-out infinite megaPulse;box-shadow:0 8px #905,0 0 40px #ff2d9580,0 0 80px #ff2d954d}.btn-connect-big:hover:not(:disabled){transform:translateY(-4px)scale(1.05);box-shadow:0 12px #905,0 0 60px #ff2d95b3,0 0 100px #ff2d9566}@keyframes megaPulse{0%,to{box-shadow:0 8px #905,0 0 40px #ff2d9580,0 0 80px #ff2d954d}50%{box-shadow:0 8px #905,0 0 60px #ff2d95b3,0 0 120px #ff2d9580}}.support-warning{font-family:var(--font-pixel);color:var(--neon-yellow);text-shadow:var(--glow-yellow);text-align:center;max-width:300px;font-size:.5rem}.connecting-screen{justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;min-height:50vh;display:flex}.connecting-spinner{border:6px solid var(--deep);border-top-color:var(--neon-cyan);border-right-color:var(--neon-pink);border-radius:50%;width:80px;height:80px;animation:1s linear infinite spinnerRotate;box-shadow:0 0 30px #00fff766,inset 0 0 20px #ff2d9533}@keyframes spinnerRotate{to{transform:rotate(360deg)}}.connecting-text{font-family:var(--font-pixel);color:var(--neon-cyan);text-shadow:var(--glow-cyan);font-size:.6rem;animation:1s step-end infinite blink}.connected-bar{margin-bottom:var(--space-6)}.connected-bar .status-indicator{justify-content:flex-start;margin-bottom:0}.btn-disconnect-x{border:2px solid var(--neon-pink);width:32px;height:32px;color:var(--neon-pink);cursor:pointer;text-shadow:var(--glow-pink);background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-size:1rem;transition:all .2s;display:flex}.btn-disconnect-x:hover{background:var(--neon-pink);color:var(--void);text-shadow:none;box-shadow:0 0 20px #ff2d9580}.fade-in{animation:.5s ease-out forwards fadeInUp}.fade-in-delay{opacity:0;animation:.5s ease-out .2s forwards fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.workout-panel{width:100%}.ftp-setting{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--text-dim);background:#00fff70d;border-radius:10px}.ftp-display{align-items:center;gap:var(--space-3);display:flex}.ftp-label{font-family:var(--font-pixel);color:var(--text-dim);font-size:.5rem}.ftp-value{font-family:var(--font-display);color:var(--neon-cyan);text-shadow:var(--glow-cyan);font-size:1.5rem}.btn-ftp-edit{font-family:var(--font-pixel);padding:var(--space-1)var(--space-2);border:1px solid var(--text-dim);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:5px;font-size:.4rem;transition:all .2s}.btn-ftp-edit:hover{border-color:var(--neon-cyan);color:var(--neon-cyan)}.ftp-edit{align-items:center;gap:var(--space-2);display:flex}.ftp-edit input{width:100px;padding:var(--space-2);font-family:var(--font-tech);background:var(--void);border:2px solid var(--neon-cyan);color:var(--text);border-radius:8px;font-size:1rem}.btn-ftp-save,.btn-ftp-cancel{font-family:var(--font-pixel);padding:var(--space-2)var(--space-3);cursor:pointer;border-radius:5px;font-size:.4rem;transition:all .2s}.btn-ftp-save{background:var(--neon-lime);color:var(--void);border:none}.btn-ftp-cancel{border:1px solid var(--text-dim);color:var(--text-dim);background:0 0}.interval-percent{font-family:var(--font-pixel);color:var(--text-dim);margin-left:var(--space-1);font-size:.5rem}.workout-list{gap:var(--space-3);flex-direction:column;display:flex}.workout-card{gap:var(--space-2);padding:var(--space-4);background:linear-gradient(135deg,var(--deep),var(--surface));border:2px solid var(--neon-cyan);cursor:pointer;text-align:left;border-radius:15px;flex-direction:column;transition:all .2s;display:flex}.workout-card:hover{border-color:var(--neon-pink);transform:translateY(-2px);box-shadow:0 0 20px #ff2d954d}.workout-name{font-family:var(--font-display);color:var(--neon-pink);text-shadow:var(--glow-pink);font-size:1.5rem}.workout-desc{font-family:var(--font-tech);color:var(--text-dim);font-size:.9rem}.workout-duration{font-family:var(--font-pixel);color:var(--neon-lime);text-shadow:var(--glow-lime);font-size:.6rem}.workout-active{gap:var(--space-4);flex-direction:column;display:flex}.workout-header{justify-content:space-between;align-items:center;display:flex}.workout-title{font-family:var(--font-display);color:var(--neon-cyan);text-shadow:var(--glow-cyan);font-size:1.3rem}.btn-stop{font-family:var(--font-pixel);padding:var(--space-2)var(--space-3);border:2px solid var(--neon-orange);color:var(--neon-orange);cursor:pointer;background:0 0;border-radius:8px;font-size:.5rem;transition:all .2s}.btn-stop:hover{background:var(--neon-orange);color:var(--void)}.workout-progress-bar{background:var(--void);border:1px solid var(--text-dim);border-radius:4px;height:8px;overflow:hidden}.workout-progress-fill{background:linear-gradient(90deg,var(--neon-cyan),var(--neon-pink));height:100%;transition:width .3s;box-shadow:0 0 10px #00fff780}.workout-current{padding:var(--space-4);border:2px solid var(--neon-pink);background:#ff2d951a;border-radius:15px;justify-content:space-between;align-items:center;display:flex}.interval-info{gap:var(--space-1);flex-direction:column;display:flex}.interval-name{font-family:var(--font-display);color:var(--neon-pink);text-shadow:var(--glow-pink);font-size:1.2rem}.interval-power{font-family:var(--font-tech);color:var(--neon-yellow);text-shadow:var(--glow-yellow);font-size:1.5rem}.interval-time{font-family:var(--font-display);color:var(--neon-cyan);text-shadow:var(--glow-cyan);font-size:3rem}.workout-next{gap:var(--space-2);font-family:var(--font-tech);color:var(--text-dim);align-items:center;font-size:.9rem;display:flex}.next-label{color:var(--text-dim)}.next-name{color:var(--neon-cyan)}.next-power{color:var(--neon-lime)}.workout-total{font-family:var(--font-pixel);color:var(--text-dim);text-align:center;font-size:.5rem}.workout-controls{justify-content:center;gap:var(--space-3);display:flex}.btn-secondary{border:3px solid var(--neon-cyan);color:var(--neon-cyan);background:0 0}.btn-secondary:hover{background:var(--neon-cyan);color:var(--void)}.workout-recording{font-family:var(--font-pixel);color:var(--neon-pink);text-shadow:var(--glow-pink);align-items:center;gap:var(--space-2);font-size:.5rem;animation:1s ease-in-out infinite recordPulse;display:flex}.workout-recording:before{content:"";background:var(--neon-pink);width:10px;height:10px;box-shadow:var(--glow-pink);border-radius:50%;animation:1s ease-in-out infinite recordDot}@keyframes recordPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes recordDot{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.workout-complete{align-items:center;gap:var(--space-5);padding:var(--space-5)0;flex-direction:column;display:flex}.complete-header{font-family:var(--font-display);color:var(--neon-lime);text-shadow:var(--glow-lime);text-transform:uppercase;letter-spacing:.1em;font-size:2.5rem;animation:2s ease-in-out infinite completeGlow}@keyframes completeGlow{0%,to{text-shadow:var(--glow-lime);transform:scale(1)}50%{text-shadow:0 0 30px var(--neon-lime),0 0 60px var(--neon-lime),0 0 90px var(--neon-lime);transform:scale(1.02)}}.complete-stats{justify-content:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.complete-stats .stat{align-items:center;gap:var(--space-2);padding:var(--space-4);border:2px solid var(--neon-cyan);background:#00fff70d;border-radius:15px;flex-direction:column;min-width:120px;display:flex}.complete-stats .stat-label{font-family:var(--font-pixel);color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;font-size:.4rem}.complete-stats .stat-value{font-family:var(--font-display);color:var(--neon-cyan);text-shadow:var(--glow-cyan);font-size:2rem}.complete-actions{gap:var(--space-3);flex-direction:column;width:100%;max-width:250px;display:flex}.complete-actions .btn{width:100%}.complete-actions .btn-primary{animation:2s ease-in-out infinite downloadPulse}@keyframes downloadPulse{0%,to{box-shadow:0 6px #905,0 8px 20px #ff2d9580}50%{box-shadow:0 6px #905,0 8px 30px #ff2d95b3}}.workout-preview{gap:var(--space-4);flex-direction:column;display:flex}.preview-header{align-items:center;gap:var(--space-3);display:flex}.btn-back{font-family:var(--font-pixel);padding:var(--space-2)var(--space-3);border:1px solid var(--text-dim);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;font-size:.5rem;transition:all .2s}.btn-back:hover{border-color:var(--neon-cyan);color:var(--neon-cyan)}.preview-title{font-family:var(--font-display);color:var(--neon-pink);text-shadow:var(--glow-pink);font-size:1.8rem}.preview-meta{gap:var(--space-4);align-items:center;display:flex}.preview-duration{font-family:var(--font-display);color:var(--neon-lime);text-shadow:var(--glow-lime);font-size:1.5rem}.preview-desc{font-family:var(--font-tech);color:var(--text-dim);font-size:.9rem}.preview-intervals{border:1px solid var(--text-dim);padding:var(--space-4);background:#00fff70d;border-radius:15px;max-height:250px;overflow-y:auto}.preview-intervals-label{font-family:var(--font-pixel);color:var(--neon-cyan);text-shadow:var(--glow-cyan);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.1em;font-size:.5rem}.preview-intervals-list{gap:var(--space-2);flex-direction:column;display:flex}.preview-interval{padding:var(--space-2)var(--space-3);border-left:3px solid var(--neon-purple);background:#0000004d;border-radius:8px;justify-content:space-between;align-items:center;display:flex}.preview-interval-name{font-family:var(--font-tech);color:var(--text);font-size:.85rem}.preview-interval-details{font-family:var(--font-pixel);color:var(--neon-yellow);text-shadow:var(--glow-yellow);font-size:.4rem}.preview-ftp{font-family:var(--font-tech);color:var(--text-dim);align-items:center;gap:var(--space-3);font-size:.9rem;display:flex}.ftp-edit-overlay{z-index:100;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ftp-edit-overlay .ftp-edit{background:var(--surface);padding:var(--space-5);border:2px solid var(--neon-cyan);border-radius:15px;box-shadow:0 0 40px #00fff74d}.btn-start-workout{padding:var(--space-5)var(--space-6);margin-top:var(--space-4);font-size:1.5rem;animation:2s ease-in-out infinite megaPulse}.chase-game{align-items:center;gap:var(--space-4);flex-direction:column;width:100%;display:flex}.chase-game-canvas{border:3px solid var(--neon-pink);width:100%;max-width:400px;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:15px;box-shadow:0 0 30px #ff2d954d,inset 0 0 60px #000c}.game-controls{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.btn-start-game{padding:var(--space-4)var(--space-6);font-size:1.3rem;animation:2s ease-in-out infinite megaPulse}.btn-quit{padding:var(--space-3)var(--space-4);font-size:.9rem}@media (max-width:500px){.mode-toggle{grid-template-columns:repeat(2,1fr)}.btn-mode{padding:var(--space-2)var(--space-3);font-size:.9rem}}.chase-game{position:relative}.btn-fullscreen{border:2px solid var(--neon-cyan);width:36px;height:36px;color:var(--neon-cyan);cursor:pointer;z-index:10;background:#0009;border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.btn-fullscreen:hover{background:var(--neon-cyan);color:var(--void);box-shadow:0 0 15px #00fff780}.chase-game.fullscreen{background:var(--void);width:100vw;height:100vh;padding:var(--space-4);z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chase-game.fullscreen .chase-game-canvas{object-fit:contain;flex:1;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 120px)}.chase-game.fullscreen .game-controls{margin-top:var(--space-4);flex-shrink:0}.chase-game.fullscreen .btn-fullscreen{position:fixed;top:20px;right:20px}.game-section{width:100%}.game-selector{gap:var(--space-2);margin-bottom:var(--space-4);background:var(--void);padding:var(--space-2);border:2px solid var(--text-dim);border-radius:12px;display:flex}.btn-game-select{font-family:var(--font-pixel);letter-spacing:.05em;padding:var(--space-3)var(--space-2);color:var(--text-dim);cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-radius:8px;flex:1;font-size:.5rem;transition:all .2s}.btn-game-select:hover{color:var(--text)}.btn-game-select.active{background:linear-gradient(180deg,var(--neon-purple),#90c);color:#fff;box-shadow:0 0 15px #bf00ff80}.hover-power-setting{align-items:center;gap:var(--space-2);width:100%;max-width:250px;margin-bottom:var(--space-3);flex-direction:column;display:flex}.hover-power-setting label{font-family:var(--font-pixel);color:var(--neon-yellow);text-shadow:var(--glow-yellow);text-transform:uppercase;letter-spacing:.1em;font-size:.5rem}.hover-power-setting input[type=range]{background:var(--void);border:2px solid var(--neon-yellow);border-radius:6px;width:100%;height:12px}.hover-power-setting input[type=range]::-webkit-slider-thumb{background:radial-gradient(circle at 30% 30%,var(--neon-yellow),#c90);width:24px;height:24px;box-shadow:var(--glow-yellow)}.site-footer{padding:var(--space-6)var(--space-4);text-align:center;color:var(--text-dim);border-top:1px solid #ffffff1a;margin-top:auto;font-size:.75rem}.site-footer p{margin-bottom:var(--space-3);opacity:.7}.footer-links{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.footer-links a{color:var(--text-dim);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--neon-cyan)}.footer-links .separator{opacity:.4}.legal-page{max-width:700px;padding:var(--space-6)}.legal-page h1{font-family:var(--font-display);color:var(--neon-cyan);margin-bottom:var(--space-6);font-size:2.5rem}.legal-page h2{font-family:var(--font-tech);color:var(--neon-pink);margin-bottom:var(--space-3);margin-top:var(--space-5);font-size:1.1rem}.legal-page p{color:var(--text-dim);margin-bottom:var(--space-4);line-height:1.7}.legal-page section{margin-bottom:var(--space-5)}.legal-page .btn{margin-top:var(--space-6)}
