:root{--bg-color:#0a0a0f;--card-bg:#ffffff08;--text-primary:#fff;--text-secondary:#a0a0b0;--neon-blue:#00f3ff;--neon-red:#f05;--neon-purple:#b500ff;--neon-green:#00ff73;--neon-orange:#fa0;--neon-yellow:#ffea00;--border-color:#ffffff14;--font-family:"Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-family);background-image:radial-gradient(circle at 50% 0%, #1a1a2e 0%, var(--bg-color) 70%);min-height:100vh}.dashboard-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem}header{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}h1{letter-spacing:-1px;background:linear-gradient(90deg,#fff,#a0a0b0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem;font-weight:800}.neon-btn{color:var(--neon-blue);border:1px solid var(--neon-blue);font-family:var(--font-family);cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:0 0;border-radius:8px;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 0 10px #00f3ff33,inset 0 0 10px #00f3ff1a}.neon-btn:hover{background:var(--neon-blue);color:#000;box-shadow:0 0 20px #00f3ff99,inset 0 0 10px #00f3ff66}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:2rem;display:grid}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);border:1px solid #ffffff0d;border-radius:16px;min-width:0;padding:1.5rem;transition:transform .3s,box-shadow .3s}.glass-card:hover{transform:translateY(-5px)}.neon-border-blue:hover{border-color:#00f3ff4d;box-shadow:0 10px 30px #00f3ff26}.neon-border-red:hover{border-color:#ff00554d;box-shadow:0 10px 30px #ff005526}.neon-border-purple:hover{border-color:#b500ff4d;box-shadow:0 10px 30px #b500ff26}.neon-border-green:hover{border-color:#00ff734d;box-shadow:0 10px 30px #00ff7326}.neon-border-orange:hover{border-color:#ffaa004d;box-shadow:0 10px 30px #ffaa0026}.neon-border-yellow:hover{border-color:#ffea004d;box-shadow:0 10px 30px #ffea0026}.card-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.card-header h2{color:var(--text-secondary);font-size:1.2rem;font-weight:600}.icon{font-size:1.5rem}.data-display{text-align:left}.data-value{margin-bottom:.5rem;font-size:2.5rem;font-weight:800}.neon-border-blue .data-value{color:var(--neon-blue)}.neon-border-red .data-value{color:var(--neon-red)}.neon-border-purple .data-value{color:var(--neon-purple)}.neon-border-green .data-value{color:var(--neon-green)}.neon-border-orange .data-value{color:var(--neon-orange)}.neon-border-yellow .data-value{color:var(--neon-yellow)}.data-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.hidden{display:none!important}#loading{color:var(--neon-blue);letter-spacing:1px;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;margin-top:4rem;font-weight:600;display:flex}#loading.hidden{display:none!important}.spinner{border:3px solid #00f3ff1a;border-top-color:var(--neon-blue);border-radius:50%;width:50px;height:50px;animation:1s cubic-bezier(.4,0,.2,1) infinite spin;box-shadow:0 0 15px #00f3ff33}@keyframes spin{to{transform:rotate(360deg)}}.text-danger{color:var(--neon-red);text-align:center;margin-top:1rem}.chart-container{width:100%;height:180px;margin-top:1.5rem;position:relative}.run-hr-chart-container canvas{width:100%!important;height:100%!important}.runs-calendar-container{background:var(--card-bg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin-bottom:2rem;padding:1.5rem}.calendar-header{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;display:flex}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.calendar-day-name{color:var(--text-secondary);margin-bottom:.5rem;font-size:.8rem;font-weight:500}.calendar-day{aspect-ratio:1;color:var(--text-primary);cursor:default;background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:all .3s;display:flex;position:relative}.calendar-day.has-run{color:var(--neon-red);cursor:pointer;background:#ff005526;border:1px solid #ff005559;font-weight:700}.calendar-day.has-run:hover{background:var(--neon-red);color:var(--bg-color);transform:scale(1.1);box-shadow:0 0 15px #f056}.calendar-day.empty{background:0 0}@keyframes pulse-highlight{0%{background:#ff00551a;border-color:#f05;box-shadow:0 0 #ff0055b3}70%{border-color:var(--border-color);background:var(--card-bg);box-shadow:0 0 0 15px #f050}to{border-color:var(--border-color);background:var(--card-bg);box-shadow:0 0 #f050}}.run-item.highlight-pulse{animation:2s ease-out pulse-highlight}.chart-container canvas{max-width:100%;width:100%!important}@media (width<=768px){.dashboard-container{padding:1rem}header{text-align:center;flex-direction:column;gap:1.5rem;margin-bottom:2rem}h1{font-size:2rem}.card-grid{gap:1rem}}.tabs{justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.tab-btn{color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:30px;padding:.8rem 2rem;font-size:1rem;transition:all .3s}.tab-btn:hover{color:var(--text-primary);background:#ffffff1a}.tab-btn.active{background:var(--neon-blue);color:#000;border-color:var(--neon-blue);font-weight:600;box-shadow:0 0 15px #00f3ff66}.tab-content{animation:.4s forwards fadeIn;display:none}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.full-width{width:100%}.runs-container{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.run-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:1.2rem 1.2rem 1.2rem 1.45rem;transition:background .25s,border-color .25s,transform .25s;display:flex;position:relative;overflow:hidden}.run-item:before{content:"";background:var(--neon-blue);opacity:0;width:3px;transition:opacity .25s;position:absolute;top:0;bottom:0;left:0}.run-item:hover{background:#ffffff0d;transform:translate(4px)}.run-item:hover:before,.run-item.expanded:before{opacity:1}.run-date{color:var(--text-primary);margin-bottom:.3rem;font-size:1.1rem;font-weight:600}.run-duration{color:var(--text-secondary);font-size:.9rem}.run-stats{text-align:right;gap:1.75rem;display:flex}.run-stat{flex-direction:column;gap:.15rem;display:flex}.run-stat-val{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700;line-height:1.1}.run-stat:first-child .run-stat-val{color:var(--neon-blue);font-size:1.4rem;font-weight:800}.run-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.runs-summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.small-card{flex-direction:column;justify-content:space-between;height:auto;padding:1.2rem;display:flex;position:relative;overflow:hidden}.small-card:after{content:"";opacity:.6;height:2px;position:absolute;inset:0 0 auto}.neon-border-blue.small-card:after{background:linear-gradient(90deg, var(--neon-blue), transparent)}.neon-border-red.small-card:after{background:linear-gradient(90deg, var(--neon-red), transparent)}.neon-border-green.small-card:after{background:linear-gradient(90deg, var(--neon-green), transparent)}.neon-border-purple.small-card:after{background:linear-gradient(90deg, var(--neon-purple), transparent)}.neon-border-orange.small-card:after{background:linear-gradient(90deg, var(--neon-orange), transparent)}.neon-border-yellow.small-card:after{background:linear-gradient(90deg, var(--neon-yellow), transparent)}.small-card h3{color:var(--text-secondary);letter-spacing:.02em;font-size:.9rem;font-weight:400}.small-val{font-variant-numeric:tabular-nums;margin:.5rem 0;font-size:2.2rem;line-height:1}.chart-card{margin-bottom:2rem}.chart-card .chart-container{height:300px;position:relative}@media (width<=768px){.runs-summary-grid{grid-template-columns:1fr 1fr;gap:1rem}.small-val{font-size:1.8rem}}.run-item-header{cursor:pointer;justify-content:space-between;align-items:center;width:100%;display:flex}@media (width<=768px){.run-item-header{flex-direction:column;align-items:flex-start;gap:1rem;padding-right:2.5rem}.run-stats{width:100%;justify-content:space-between!important}.run-expand-toggle{margin-left:0;position:absolute;top:1.1rem;right:1.1rem}}.run-item-details{border-top:1px solid #ffffff0d;width:100%;margin-top:1rem;padding-top:1rem;animation:.3s fadeIn;display:none}.run-item.expanded .run-item-details{display:block}.run-item.expanded:hover{transform:none}.run-detail-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.run-detail-note{color:var(--neon-blue);font-size:.85rem}.run-splits-container{flex-direction:column;gap:.35rem;margin-top:1rem;display:flex}.run-split-row{background:#ffffff08;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem .7rem;font-size:.9rem;display:flex;position:relative;overflow:hidden}.run-split-bar{background:linear-gradient(90deg,#00f3ff38,#00f3ff0d);border-radius:6px;position:absolute;top:0;bottom:0;left:0}.run-split-row.fastest .run-split-bar{background:linear-gradient(90deg,#00ff7340,#00ff730d)}.run-split-label,.run-split-pace{white-space:nowrap;position:relative}.run-split-pace{color:var(--neon-blue);font-variant-numeric:tabular-nums;font-weight:600}.run-split-row.fastest .run-split-pace{color:var(--neon-green)}.run-hr-chart-container{width:100%;height:200px;margin-top:1rem;position:relative}.run-hr-chart-container canvas{max-width:100%;width:100%!important}.calendar-loading .calendar-scroller{opacity:.5;pointer-events:none;animation:1.5s ease-in-out infinite calendar-pulse}@keyframes calendar-pulse{0%,to{opacity:.5}50%{opacity:.25}}.run-select-checkbox{cursor:pointer;justify-content:center;align-items:center;padding:.35rem .75rem .35rem 0;display:flex}.run-select-checkbox input[type=checkbox]{appearance:none;cursor:pointer;background:#ffffff0a;border:1.5px solid #ffffff38;border-radius:6px;width:20px;height:20px;margin:0;transition:all .2s;position:relative}.run-select-checkbox:hover input[type=checkbox]{background:#00f3ff14;border-color:#00f3ff8c}.run-select-checkbox input[type=checkbox]:after{content:"";border:solid var(--bg-color);border-width:0 2px 2px 0;width:5px;height:9px;transition:transform .18s cubic-bezier(.34,1.56,.64,1);position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)rotate(45deg)scale(0)}.run-select-checkbox input[type=checkbox]:checked{background:var(--neon-blue);border-color:var(--neon-blue);box-shadow:0 0 12px #00f3ff73}.run-select-checkbox input[type=checkbox]:checked:after{transform:translate(-50%,-50%)rotate(45deg)scale(1)}.run-select-checkbox input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #00f3ffcc}.run-item.selected{background:#00f3ff0b;border-color:#00f3ff59}.run-expand-toggle{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:1rem;padding:0;transition:all .2s;display:inline-flex}.run-expand-toggle:hover{color:var(--neon-blue);background:#00f3ff1a;border-color:#00f3ff73}.run-expand-toggle:focus-visible{outline-offset:2px;outline:2px solid #00f3ffcc}.run-expand-toggle svg{width:15px;height:15px;transition:transform .25s}.run-item.expanded .run-expand-toggle{color:var(--neon-blue);border-color:#00f3ff59}.run-item.expanded .run-expand-toggle svg{transform:rotate(180deg)}.run-filter-pills{flex-wrap:wrap;gap:.8rem;margin-bottom:1.5rem;display:flex}.filter-pill{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .2s}.filter-pill:hover{color:#fff;background:#ffffff14}.filter-pill.active{border-color:var(--neon-blue);color:var(--neon-blue);background:#00f3ff26;box-shadow:0 0 15px #00f3ff33}.calendar-scroller{-ms-overflow-style:none;scrollbar-width:none}.compare-toolbar{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.compare-count{color:var(--text-secondary);white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;padding:.35rem .8rem;font-size:.85rem;transition:all .2s}.compare-count.ready{color:var(--neon-blue);background:#00f3ff1a;border-color:#00f3ff59;font-weight:600}.btn-action{color:var(--neon-blue);cursor:pointer;background:linear-gradient(135deg,#00f3ff2e,#00f3ff0f);border:1px solid #00f3ff73;border-radius:20px;align-items:center;gap:.45rem;padding:.5rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 0 14px #00f3ff26}.btn-action:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#00f3ff52,#00f3ff1f);transform:translateY(-1px);box-shadow:0 0 22px #00f3ff59}.btn-action:active:not(:disabled){transform:translateY(0);box-shadow:0 0 10px #00f3ff40}.btn-action:disabled{color:var(--text-secondary);box-shadow:none;cursor:not-allowed;background:#ffffff08;border-color:#ffffff1a}.btn-action:focus-visible{outline-offset:2px;outline:2px solid #00f3ffcc}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;background:#05050cd9;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1.5rem;animation:.25s fadeIn;display:flex;position:fixed;top:0;left:0}.comparison-modal{color:#fff;background:#12121cf2;border:1px solid #ffffff1f;border-radius:20px;width:100%;max-width:950px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 50px #000c,0 0 30px #00f3ff1a}.modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.close-btn{color:#a0a0b0;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:all .2s;display:flex}.close-btn:hover{color:#fff;background:#ff00554d}.comparison-selectors{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}@media (width<=768px){.comparison-selectors{flex-direction:column}}.selector-box{flex-direction:column;flex:1;gap:.4rem;width:100%;display:flex}.selector-box label{font-size:.85rem;font-weight:700}.selector-a label{color:#00f3ff}.selector-b label{color:#f05}.selector-box select{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:10px;outline:none;padding:.6rem .8rem;font-size:.9rem}.selector-box select option{color:#fff;background:#12121c}.vs-badge{color:var(--text-secondary);background:#ffffff0a;border-radius:8px;margin-top:1.2rem;padding:.4rem .8rem;font-size:1.1rem;font-weight:900}.comparison-insights{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (width<=600px){.comparison-insights{grid-template-columns:1fr}}.insight-chip{background:#00f3ff0d;border:1px solid #00f3ff26;border-radius:12px;flex-direction:column;gap:.2rem;padding:.8rem 1.2rem;display:flex}.chip-label{text-transform:uppercase;color:var(--text-secondary);font-size:.75rem;font-weight:600}.chip-val{color:var(--neon-blue);font-size:.95rem;font-weight:700}.comparison-grid{background:#00000040;border:1px solid #ffffff0d;border-radius:14px;flex-direction:column;gap:.4rem;margin-bottom:2rem;padding:.8rem;display:flex}.metric-row{border-radius:8px;grid-template-columns:1.2fr 1fr 1fr;padding:.5rem .8rem;font-size:.9rem;display:grid}.metric-row:nth-child(2n){background:#ffffff05}.header-row{text-transform:uppercase;border-bottom:1px solid #ffffff1a;margin-bottom:.3rem;font-size:.85rem;font-weight:700}.comparison-chart-wrapper{background:#0003;border:1px solid #ffffff0d;border-radius:12px;width:100%;height:220px;padding:.8rem;position:relative}.calendar-scroller::-webkit-scrollbar{display:none}
