*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#12100e;color:#f5f0e8;display:flex;flex-direction:column}#root,.app{display:flex;flex-direction:column;flex:1;min-height:0}header{min-height:15vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:1rem}.logo-wordmark{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-bottom:.2rem}.logo-wordmark-text{display:flex;align-items:baseline}.logo-glide{font-size:1rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#f5f0e8}.logo-hub{font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f0b450}.logo-wordmark-line{width:110%;height:1.5px;background:linear-gradient(90deg,transparent,#f0b450,transparent)}.transponder-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:3.5rem}.transponder-label{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:#f0b4508c}.transponder-id{font-size:clamp(1rem,6vw,1.8rem);font-weight:700;letter-spacing:.05em;color:#f5f0e8;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location{font-size:.75rem;color:#f0b4508c}.season-hero{display:none}.date-nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.4rem}.date-nav-center{display:flex;flex-direction:column;align-items:center;gap:.15rem}#activity-date{font-size:.85rem;font-weight:600;color:#f5f0e8;letter-spacing:.03em}#activity-time{font-size:.7rem;color:#f0b4508c}.nav-btn{background:none;border:none;color:#f0b450;font-size:1.4rem;line-height:1;cursor:pointer;padding:.2rem .5rem;-webkit-tap-highlight-color:transparent}.nav-btn:disabled{opacity:.2;cursor:default}.stat-grid{min-height:clamp(24px,-8.4rem + 28.8vh,12vh);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:.75rem;padding:0 2rem}.stat-card{background-color:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:clamp(.4rem,-.37rem + 2.24vh,.75rem)}.stat-label{font-size:clamp(.5rem,.17rem + .96vh,.65rem);letter-spacing:.1em;text-transform:uppercase;color:#f0b4508c}.stat-value{font-size:clamp(1rem,.12rem + 2.56vh,1.4rem);font-weight:700;color:#f5f0e8}.stat-value-stacked{display:flex;flex-direction:column;align-items:center;gap:.1rem}.stat-value-stacked span{font-size:clamp(1rem,.12rem + 2.56vh,1.4rem);font-weight:700;color:#f5f0e8;line-height:1.2}.hero{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}@media(orientation:portrait){.hero{container-type:size}}.ad-strip{margin:0 1rem .4rem;padding:8px 10px;border-radius:10px;background:#f0b4500f;border:1px solid rgba(240,180,80,.22);display:flex;align-items:center;gap:9px}.ad-strip .sq{width:24px;height:24px;border-radius:6px;background:#f0b45026;border:1px solid rgba(240,180,80,.4);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;color:#f0b450;flex:none}.ad-strip .txt{flex:1;min-width:0}.ad-strip .txt .name{font-size:.76rem;font-weight:600}.ad-strip .txt .sub{font-size:.66rem;color:#f5f0e880}.ad-strip .chevron{color:#f0b45080;font-size:.8rem}.tab-bar{height:72px;display:flex;align-items:stretch;border-top:1px solid rgba(245,240,232,.08)}.tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;color:#f0b450cc;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s ease,opacity .15s ease;opacity:.65}.tab-bar-item svg{width:22px;height:22px}.tab-bar-label{font-size:.55rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1}.tab-bar-item--active{color:#f0b450;opacity:1}.tab-bar-item:focus-visible{outline:none;background:#f0b4501f;border-radius:12px}.tab-bar-item:disabled{color:#f0b4504d;cursor:default}.ring-container{position:relative;width:280px;height:280px;width:min(280px,calc(100cqh - 76px));height:min(280px,calc(100cqh - 76px));margin-top:-1rem;container-type:size}.ring-container.clickable{cursor:pointer}.ring-container>svg{display:block;width:100%;height:100%;overflow:visible}.overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;font-size:1rem;font-size:min(1rem,calc(100cqmin / 17.5));gap:.4em}.overlay-label{font-size:.6em;letter-spacing:.2em;text-transform:uppercase;color:#f0b4508c}.overlay-lap-nr{font-size:.65em;font-weight:600;color:#f5f0e8;letter-spacing:.05em}.overlay-value{font-size:3em;font-weight:700;color:#f5f0e8}.overlay-value--xl{font-size:3em}.overlay-value--lg{font-size:2.2em}.overlay-value--md{font-size:1.7em}.overlay-value--sm{font-size:1.3em}.overlay-line{width:2.5em;height:1px;background-color:#f0b450;margin:.2em 0}.overlay-unit,.overlay-speed{font-size:.7em;color:#f0b4508c}.overlay-badges{display:flex;gap:6px;justify-content:center;margin-top:.25em}.badge-pill{display:inline-flex;align-items:center;justify-content:center;background:#f0b450;color:#12100e;font-size:.6rem;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:999px}.heart-badge{font-size:.65rem;color:#ef4444;opacity:.8;line-height:1}.clickable{cursor:pointer}.clickable:active{opacity:.75}.lap-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:#0000008c;opacity:0;pointer-events:none;transition:opacity .3s ease}.has-tab-bar .lap-backdrop{bottom:72px}.lap-backdrop.open{opacity:1;pointer-events:all}.lap-sheet{position:absolute;bottom:0;left:0;right:0;max-height:80vh;background:#1c1916;border-radius:16px 16px 0 0;border-top:1px solid rgba(245,240,232,.1);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1)}.lap-backdrop.open .lap-sheet{transform:translateY(0)}.lap-handle{width:32px;height:4px;background:#f5f0e838;border-radius:2px;margin:.75rem auto 0;flex-shrink:0;cursor:pointer}.lap-sheet-header{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 1rem .6rem;flex-shrink:0;cursor:pointer}.lap-sheet-title{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#f0b450;font-weight:700}.lap-sheet-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.lap-sheet-count{font-size:.7rem;color:#f0b4508c;letter-spacing:.05em}.lap-sheet-hr{font-size:.7rem;color:#ef4444;opacity:.8;letter-spacing:.03em}.lap-sheet-excluded{display:flex;align-items:center;gap:3px;font-size:.65rem;color:#f0b45073}.lap-sheet-excluded svg{width:10px;height:10px;stroke:#f0b45073;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.lap-list{overflow-y:auto;flex:1;padding-bottom:2rem;-webkit-overflow-scrolling:touch}.config-sheet-body{overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch;padding-bottom:2rem}.lap-chart{width:100%;height:72px;padding:6px 1rem;border-bottom:1px solid rgba(240,180,80,.1)}.lap-chart svg{width:100%;height:60px;display:block}.lap-row{display:flex;align-items:center;padding:.45rem 1rem;border-bottom:1px solid rgba(240,180,80,.07)}.lap-row.fastest{background:#f0b45014}.lap-nr{font-size:.7rem;color:#f0b4508c;width:2.2rem;flex-shrink:0}.lap-time{flex:1;font-size:.85rem;font-weight:600;color:#f5f0e8;font-variant-numeric:tabular-nums}.lap-time.fastest-time{color:#f0b450}.lap-trash{width:28px;height:28px;display:flex;align-items:center;justify-content:center;opacity:.45;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.lap-trash:active{opacity:.8}.lap-trash svg{width:16px;height:16px;stroke:#f0b450;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.lap-hr{font-size:.7rem;color:#f0b450;opacity:.6;min-width:28px;text-align:right;margin-left:auto}.lap-divider{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;margin-top:.25rem}.lap-divider:before,.lap-divider:after{content:"";flex:1;height:1px;background:#f0b4501f}.lap-divider span{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#f0b4504d}.lap-row-excluded{opacity:.4}.lap-time-muted{text-decoration:line-through;text-decoration-color:#f0b4504d}.lap-restore{width:28px;height:28px;display:flex;align-items:center;justify-content:center;opacity:.7;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.lap-restore:active{opacity:1}.lap-restore svg{width:15px;height:15px;stroke:#f0b450;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}@media(min-width:768px){body{max-width:420px;margin:0 auto}.lap-sheet{max-width:420px;left:50%;right:auto;width:100%;transform:translate(-50%) translateY(100%)}.lap-backdrop.open .lap-sheet{transform:translate(-50%) translateY(0)}}#activity-season{display:inline-flex;align-items:center;justify-content:center;background:#f0b45026;color:#f0b450cc;font-size:.6rem;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:999px;margin-bottom:4px}.cal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:100}.cal-backdrop.open{display:flex}.cal-modal{background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;padding:24px 20px;width:300px;max-width:calc(100vw - 32px)}.cal-title{color:#f0b450b3;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;text-align:center}.cal-selectors{display:flex;gap:8px}.cal-col{flex:1;display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto;scrollbar-width:none}.cal-col::-webkit-scrollbar{display:none}.cal-item{padding:8px 4px;border-radius:8px;text-align:center;cursor:pointer;color:#f5f0e8;font-size:.88rem;transition:background .15s;-webkit-user-select:none;user-select:none}.cal-item:hover{background:#f0b4501a}.cal-item.selected{background:#f0b4502e;color:#f0b450;font-weight:600}.cal-item.disabled{color:#f5f0e833;cursor:default;pointer-events:none}.date-nav-center{cursor:pointer}.overlay-avg{font-size:.7em;letter-spacing:.08em;color:#f0b45073;margin-top:.36em;min-height:1.43em}.view-dots{display:flex;gap:4px;justify-content:center;align-items:center;margin-top:10px}.view-dot-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:5px;cursor:pointer;-webkit-tap-highlight-color:transparent}.view-dot{width:5px;height:5px;border-radius:50%;background:#f0b45033;transition:background .2s;flex-shrink:0}.view-dot.active{background:#f0b450}.view-dot-wrap.has-record svg{color:#f0b45073;display:block}.view-dot-wrap.has-record.active svg{color:#f0b450}@keyframes record-dot-pulse{0%{transform:scale(.3);opacity:0;color:#f0b450}55%{transform:scale(1.8);opacity:1;color:#f0b450}to{transform:scale(1);opacity:1;color:#f0b450}}.view-dot-wrap.pulse-once svg{animation:record-dot-pulse .75s ease-out forwards}.celebration-overlay{display:flex;flex-direction:column;align-items:center;gap:.4rem}.celebration-text{display:flex;flex-direction:column;align-items:center;font-family:Anton,sans-serif;font-size:2.2rem;font-weight:400;line-height:.95;color:#f0b450;text-transform:uppercase;letter-spacing:.03em;text-shadow:0 2px 14px rgba(240,180,80,.35);animation:celebration-rise .4s ease-out both;animation-delay:50ms}.celebration-icon{width:48px;height:57px;color:#f0b450;fill:none;stroke:currentColor;stroke-width:.6;stroke-linejoin:round;stroke-linecap:round;overflow:visible;margin-bottom:.4rem;animation:celebration-pop .45s ease-out both;animation-delay:.15s}.celebration-medal{width:44px;height:57px;stroke-width:.7}@keyframes celebration-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes celebration-rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.confetti-piece{position:absolute;left:50%;top:50%;width:7px;height:10px;border-radius:1px;opacity:0;animation:confetti-burst .6s ease-out 3 forwards}.confetti-piece:nth-child(3n+1){background:#f0b450}.confetti-piece:nth-child(3n+2){background:#f5f0e8}.confetti-piece:nth-child(3n){background:#e08a3c}.confetti-piece:nth-child(1){--tx: 128px;--ty: 0px;animation-delay:0ms}.confetti-piece:nth-child(2){--tx: 124px;--ty: 33px;animation-delay:20ms}.confetti-piece:nth-child(3){--tx: 111px;--ty: 64px;animation-delay:40ms}.confetti-piece:nth-child(4){--tx: 91px;--ty: 91px;animation-delay:60ms}.confetti-piece:nth-child(5){--tx: 64px;--ty: 111px;animation-delay:80ms}.confetti-piece:nth-child(6){--tx: 33px;--ty: 124px;animation-delay:.1s}.confetti-piece:nth-child(7){--tx: 0px;--ty: 128px;animation-delay:0ms}.confetti-piece:nth-child(8){--tx: -33px;--ty: 124px;animation-delay:30ms}.confetti-piece:nth-child(9){--tx: -64px;--ty: 111px;animation-delay:50ms}.confetti-piece:nth-child(10){--tx: -91px;--ty: 91px;animation-delay:70ms}.confetti-piece:nth-child(11){--tx: -111px;--ty: 64px;animation-delay:90ms}.confetti-piece:nth-child(12){--tx: -124px;--ty: 33px;animation-delay:.11s}.confetti-piece:nth-child(13){--tx: -128px;--ty: 0px;animation-delay:0ms}.confetti-piece:nth-child(14){--tx: -124px;--ty: -33px;animation-delay:25ms}.confetti-piece:nth-child(15){--tx: -111px;--ty: -64px;animation-delay:45ms}.confetti-piece:nth-child(16){--tx: -91px;--ty: -91px;animation-delay:65ms}.confetti-piece:nth-child(17){--tx: -64px;--ty: -111px;animation-delay:85ms}.confetti-piece:nth-child(18){--tx: -33px;--ty: -124px;animation-delay:105ms}.confetti-piece:nth-child(19){--tx: 0px;--ty: -128px;animation-delay:0ms}.confetti-piece:nth-child(20){--tx: 33px;--ty: -124px;animation-delay:35ms}.confetti-piece:nth-child(21){--tx: 64px;--ty: -111px;animation-delay:55ms}.confetti-piece:nth-child(22){--tx: 91px;--ty: -91px;animation-delay:75ms}.confetti-piece:nth-child(23){--tx: 111px;--ty: -64px;animation-delay:95ms}.confetti-piece:nth-child(24){--tx: 124px;--ty: -33px;animation-delay:115ms}.confetti-piece:nth-child(25){--tx: 91px;--ty: 12px;animation-delay:10ms}.confetti-piece:nth-child(26){--tx: 85px;--ty: 35px;animation-delay:35ms}.confetti-piece:nth-child(27){--tx: 73px;--ty: 56px;animation-delay:60ms}.confetti-piece:nth-child(28){--tx: 56px;--ty: 73px;animation-delay:85ms}.confetti-piece:nth-child(29){--tx: 35px;--ty: 85px;animation-delay:.11s}.confetti-piece:nth-child(30){--tx: 12px;--ty: 91px;animation-delay:15ms}.confetti-piece:nth-child(31){--tx: -12px;--ty: 91px;animation-delay:40ms}.confetti-piece:nth-child(32){--tx: -35px;--ty: 85px;animation-delay:65ms}.confetti-piece:nth-child(33){--tx: -56px;--ty: 73px;animation-delay:90ms}.confetti-piece:nth-child(34){--tx: -73px;--ty: 56px;animation-delay:115ms}.confetti-piece:nth-child(35){--tx: -85px;--ty: 35px;animation-delay:20ms}.confetti-piece:nth-child(36){--tx: -91px;--ty: 12px;animation-delay:45ms}.confetti-piece:nth-child(37){--tx: -91px;--ty: -12px;animation-delay:70ms}.confetti-piece:nth-child(38){--tx: -85px;--ty: -35px;animation-delay:95ms}.confetti-piece:nth-child(39){--tx: -73px;--ty: -56px;animation-delay:.12s}.confetti-piece:nth-child(40){--tx: -56px;--ty: -73px;animation-delay:25ms}.confetti-piece:nth-child(41){--tx: -35px;--ty: -85px;animation-delay:50ms}.confetti-piece:nth-child(42){--tx: -12px;--ty: -91px;animation-delay:75ms}.confetti-piece:nth-child(43){--tx: 12px;--ty: -91px;animation-delay:.1s}.confetti-piece:nth-child(44){--tx: 35px;--ty: -85px;animation-delay:125ms}.confetti-piece:nth-child(45){--tx: 56px;--ty: -73px;animation-delay:30ms}.confetti-piece:nth-child(46){--tx: 73px;--ty: -56px;animation-delay:55ms}.confetti-piece:nth-child(47){--tx: 85px;--ty: -35px;animation-delay:80ms}.confetti-piece:nth-child(48){--tx: 91px;--ty: -12px;animation-delay:105ms}@keyframes confetti-burst{0%{transform:translate(-50%,-50%) scale(.4) rotate(0);opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1) rotate(180deg);opacity:0}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.celebration-icon,.celebration-text{animation:none;opacity:1;transform:none}.view-dot-wrap.pulse-once svg{animation:none}.conn-action.is-loading svg{animation:none}}.app-loading{position:fixed;top:0;right:0;bottom:0;left:0;background:#12100e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.spinner-label{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#f0b45066}.loading-skater-wrap{perspective:500px}.loading-skater{width:140px;height:140px;object-fit:contain;filter:brightness(0) saturate(100%) invert(76%) sepia(40%) saturate(450%) hue-rotate(349deg) brightness(.9) opacity(.6);animation:coin-spin 1.8s linear infinite}@keyframes coin-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.transponder-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;animation:modal-fade-in .3s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.transponder-modal-card{background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;padding:32px 24px;width:340px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;align-items:center;gap:16px}.transponder-modal-logo{color:#f0b450;font-size:1.1rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;margin-bottom:8px}.transponder-modal-title{color:#f5f0e8;font-size:1.1rem;font-weight:700;text-align:center;line-height:1.3}.transponder-modal-subtitle{color:#f0b4508c;font-size:.75rem;text-align:center;line-height:1.4;margin-top:-8px}.transponder-modal-notice{font-size:.75rem;color:#f0b450b3;background:#f0b45014;border:1px solid rgba(240,180,80,.2);border-radius:8px;padding:10px 14px;text-align:center;line-height:1.5;margin:4px 0 0}.transponder-modal-card form{width:100%;display:flex;flex-direction:column;gap:20px;margin-top:8px}.transponder-modal-input{width:100%;background:transparent;border:none;border-bottom:2px solid rgba(240,180,80,.2);color:#f5f0e8;font-size:1rem;font-family:inherit;padding:12px 8px;text-align:center;letter-spacing:.05em;transition:border-color .2s;outline:none}.transponder-modal-input::placeholder{color:#f5f0e84d;text-transform:none}.transponder-modal-input:focus{border-bottom-color:#f0b450}.transponder-modal-actions{display:flex;flex-direction:column;gap:12px;width:100%}.transponder-modal-btn-primary{width:100%;background:#f0b450;color:#12100e;border:none;border-radius:10px;padding:14px 20px;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .2s;-webkit-tap-highlight-color:transparent}.transponder-modal-btn-primary:active{opacity:.85}.transponder-modal-btn-primary:disabled{opacity:.3;cursor:not-allowed}.transponder-modal-btn-secondary{width:100%;background:transparent;color:#f0b450;border:1px solid rgba(240,180,80,.4);border-radius:10px;padding:14px 20px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.transponder-modal-btn-secondary:active{background:#f0b45014;border-color:#f0b450}.claimed-message-container{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.claimed-message-card{background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;padding:32px 24px;max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.claimed-message-icon{font-size:2.5rem;margin-bottom:8px;opacity:.8}.claimed-message-title{color:#f5f0e8;font-size:1.2rem;font-weight:700;line-height:1.3}.claimed-message-text{color:#f5f0e8;font-size:.9rem;line-height:1.6;opacity:.85}.claimed-message-text strong{color:#f0b450;font-weight:600;letter-spacing:.02em}.claimed-message-notice{font-size:.75rem;color:#f0b450b3;background:#f0b45014;border:1px solid rgba(240,180,80,.2);border-radius:8px;padding:10px 14px;line-height:1.5;margin-top:4px}.claimed-message-btn{width:100%;background:#f0b450;color:#12100e;border:none;border-radius:10px;padding:14px 20px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;margin-top:8px;-webkit-tap-highlight-color:transparent}.claimed-message-btn:active{background:#e0a040}.claimed-message-btn--secondary{background:transparent;color:#f5f0e8bf;border:1px solid rgba(240,180,80,.35)}.claimed-message-btn--secondary:active{background:#f0b4501f}.no-lapdata-container{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.no-lapdata-card{background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;padding:32px 24px;max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.no-lapdata-icon{font-size:2rem;opacity:.6}.no-lapdata-text{color:#f5f0e8;font-size:.9rem;line-height:1.6;opacity:.75}.config-menu-title{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#f0b450;font-weight:700}.settings-tabs{display:flex;gap:5px;padding:0 12px 14px;flex-shrink:0}.settings-tab{flex:1;text-align:center;font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#f5f0e873;background:transparent;border:1px solid rgba(245,240,232,.1);border-radius:8px;padding:8px 2px;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s ease,background .15s ease,border-color .15s ease}.settings-tab--active{color:#f0b450;background:transparent;border-color:#f0b450}.settings-login-hint{font-size:.8rem;color:#f5f0e88c;line-height:1.5;padding:8px 0}div.settings-logout-section{border-top:1px solid rgba(245,240,232,.1);padding-top:2rem}.settings-version{font-size:.75rem;color:#f5f0e866;text-align:right;padding:1rem 1rem 0}.config-section{padding:0 1rem 1.5rem}.config-section-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#f5f0e880;margin-bottom:.75rem}.transponder-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.transponder-empty{font-size:.7rem;color:#ffffff40;text-align:left;padding:.5rem 0}.transponder-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid rgba(240,180,80,.06)}.transponder-item:last-child{border-bottom:none}.transponder-code{color:#f0b45073;font-size:.75rem;font-weight:400;letter-spacing:.02em}.transponder-delete{background:none;border:none;color:#f0b45059;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.5;-webkit-tap-highlight-color:transparent;transition:opacity .2s}.transponder-delete:active{opacity:1}.transponder-delete svg{width:14px;height:14px}.transponder-input-row{display:flex;gap:.5rem;align-items:center}.transponder-input-row--spaced{margin-bottom:.5rem}.auto-delete-label{font-size:.75rem;color:#f0b45073;flex:0 0 110px}.auto-delete-input{min-width:0}.auto-delete-scan-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f0b45026;border:1px solid rgba(240,180,80,.4);border-radius:8px;color:#f0b450;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.auto-delete-scan-btn:active{background:#f0b45040}.auto-delete-scan-btn svg{width:18px;height:18px}.auto-delete-scan-btn--done{background:#22c55e26;border-color:#22c55e66;color:#22c55e;cursor:default;pointer-events:none}.auto-delete-scan-btn--inactive{opacity:.4;cursor:default;pointer-events:none}.auto-delete-clear-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ef44441a;border:1px solid rgba(239,68,68,.4);border-radius:8px;color:#ef4444;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.auto-delete-clear-btn:active{background:#ef444433}.auto-delete-clear-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.auto-delete-clear-btn svg{width:18px;height:18px}.info-modal-overlay{padding:40px 24px;box-sizing:border-box;align-items:flex-start;overflow-y:auto}.info-modal-box{background:#1c1916;border:1px solid rgba(240,180,80,.2);border-radius:12px;padding:24px 20px;width:100%;max-width:480px;margin:auto;display:flex;flex-direction:column;gap:12px}.auto-delete-info-btn{background:none;border:none;padding:0 0 0 6px;cursor:pointer;color:#f0b45099;display:inline-flex;align-items:center;vertical-align:middle;-webkit-tap-highlight-color:transparent}.auto-delete-info-btn svg{width:14px;height:14px}.transponder-input{flex:1;background:#f0b4500d;border:none;border-bottom:1px solid rgba(240,180,80,.4);color:#f5f0e8;padding:.7rem .5rem;font-size:.85rem;border-radius:0;outline:none}.transponder-input::placeholder{color:#ffffff59}.transponder-input:focus{border-bottom-color:#f0b450}.transponder-add-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f0b45026;border:1px solid rgba(240,180,80,.4);border-radius:8px;color:#f0b450;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.transponder-add-btn:active{background:#f0b45040}.transponder-add-btn svg{width:20px;height:20px}.connection-list{display:flex;flex-direction:column;gap:.5rem}.connection-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;background:#f0b45008;border:1px solid rgba(240,180,80,.1);border-radius:8px}.connection-icon{width:24px;height:24px;background:#f0b45033;border-radius:4px;flex-shrink:0}.connection-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.connection-dot--on{background:#3fb950}.connection-dot--off{background:#c846468c}.connection-name{flex:1;font-size:.85rem;color:#f5f0e8;font-weight:500}.connection-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f0b450;background:#f0b45026;padding:3px 8px;border-radius:999px}.connection-btn{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f0b450;background:#f0b45026;padding:3px 8px;border-radius:999px;border:none;outline:none;cursor:pointer;flex-shrink:0;transition:background .15s ease}.connection-btn:hover:not(:disabled){background:#f0b45038}.connection-btn:disabled{opacity:.45;cursor:not-allowed}.connection-btn--danger{color:#e05c5ccc;background:#e05c5c17}.connection-btn--danger:hover:not(:disabled){background:#e05c5c26}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300;animation:modal-fade-in .2s ease}.delete-confirm-box{background:#1c1916;border:1px solid rgba(240,180,80,.2);border-radius:12px;padding:24px 20px;width:280px;max-width:calc(100vw - 48px);display:flex;flex-direction:column;align-items:center;gap:12px}.upload-details-box{width:320px}.upload-details-textarea{min-height:90px}.delete-confirm-title{font-size:.85rem;font-weight:600;color:#f5f0e8;text-align:center}.delete-confirm-code{font-size:.75rem;color:#f0b45099;padding:8px 12px;background:#f0b45014;border-radius:6px;letter-spacing:.02em}.delete-confirm-actions{display:flex;gap:8px;width:100%;margin-top:8px}.delete-confirm-cancel,.delete-confirm-delete{flex:1;padding:10px 16px;border-radius:8px;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s}.delete-confirm-cancel{background:transparent;border:1px solid rgba(240,180,80,.3);color:#f0b450b3}.delete-confirm-cancel:active{background:#f0b4500d}.delete-confirm-delete{background:#f0b45026;border:1px solid rgba(240,180,80,.4);color:#f0b450}.delete-confirm-delete:active{background:#f0b45040}.dist-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;animation:modal-fade-in .25s ease;padding:16px}.dist-modal-card{background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;padding:20px 16px 16px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.dist-modal-header{position:relative;display:flex;align-items:center;justify-content:center}.dist-modal-header-left{display:flex;align-items:center;gap:8px}.dist-modal-title{font-size:.85rem;font-weight:700;color:#f5f0e8;letter-spacing:.04em}.dist-modal-close{position:absolute;right:0;background:none;border:none;color:#f0b45080;font-size:1.3rem;line-height:1;cursor:pointer;padding:4px 6px;-webkit-tap-highlight-color:transparent}.dist-modal-close:active{color:#f0b450}.dist-modal-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dist-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.dist-stat-label{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#f0b4508c}.dist-stat-value{font-size:1.05rem;font-weight:700;color:#f5f0e8;font-variant-numeric:tabular-nums}.dist-stat-prev-value{font-size:.72rem;color:#f5f0e84d;font-variant-numeric:tabular-nums;margin-top:1px}.dist-chart-wrap{display:flex;flex-direction:column;gap:8px}.dist-chart-svg{width:100%;height:auto;display:block;overflow:visible}.dist-chart-loading,.dist-chart-error{display:flex;align-items:center;justify-content:center;height:120px;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#f0b45059}.dist-chart-legend{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:-4px}.dist-legend-curr,.dist-legend-prev{display:flex;align-items:center;gap:5px;font-size:.62rem;letter-spacing:.06em;color:#f0b4508c}.dist-legend-curr{color:#f0b450cc}.dist-modal-note{font-size:.62rem;color:#f0b45061;text-align:center;line-height:1.4}@keyframes dist-draw{0%{stroke-dashoffset:var(--path-length, 2000)}to{stroke-dashoffset:0}}@keyframes dist-fade{0%{opacity:0}to{opacity:1}}.dist-stroke-path{stroke-dasharray:var(--path-length, 2000);stroke-dashoffset:var(--path-length, 2000);animation:dist-draw .9s ease-out forwards;animation-delay:.05s}.dist-area-path{opacity:0;animation:dist-fade .7s ease-out forwards;animation-delay:.05s}.donate-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;animation:modal-fade-in .25s ease;padding:16px}.donate-card{background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;max-width:360px;width:100%;padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;position:relative}.donate-close{position:absolute;top:12px;right:12px;background:none;border:none;color:#f0b45080;font-size:1.3rem;line-height:1;cursor:pointer;padding:4px 6px;-webkit-tap-highlight-color:transparent}.donate-close:active{color:#f0b450}.donate-skater{width:64px;height:64px;object-fit:contain;filter:brightness(0) saturate(100%) invert(76%) sepia(40%) saturate(450%) hue-rotate(349deg) brightness(.95)}.donate-title{font-size:1.1rem;font-weight:700;color:#f5f0e8;letter-spacing:.02em;margin:0}.donate-text{font-size:.78rem;color:#f5f0e899;line-height:1.5;margin:0;max-width:280px}.donate-cta{background:#f0b450;color:#1c1916;border:none;border-radius:999px;padding:10px 22px;font-size:.82rem;font-weight:700;letter-spacing:.03em;cursor:pointer;margin-top:4px;transition:background .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.donate-cta:hover{background:#f5c163}.donate-cta:active{transform:scale(.97)}.connections-fetch-status{margin-top:.5rem;font-size:.72rem;text-align:center}.connections-fetch-status--matched{color:#3fb950d9}.connections-fetch-status--no-match,.connections-fetch-status--pending-sync{color:#f5f0e873}.connections-fetch-status--error{color:#f85149d9}.connection-status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;flex-shrink:0}.connection-status-dot--connected{background:#4caf50}.connection-status-dot--disconnected{background:#666}.connection-status-text{font-size:.85rem;color:#f5f0e8b3}.connection-row--link{margin-top:8px}.connection-link-input{flex:1;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:6px 10px;font-size:.8rem;color:#fff;min-width:0}.connection-link-input::placeholder{color:#555}.connection-btn--small{padding:6px 10px;font-size:.8rem;white-space:nowrap}@media(orientation:landscape)and (max-height:500px){body{max-width:unset;margin:0}.app{display:grid;grid-template-rows:auto 30px 1fr 48px;grid-template-columns:1fr auto 1fr;grid-template-areas:"datebar datebar datebar" "name    season  loc" "stat-l  hero    stat-r" "actions actions actions"}header{display:contents!important}.logo-wordmark{grid-area:datebar;justify-self:start;align-self:center;z-index:1;flex-direction:row;align-items:center;gap:.5rem;margin:0;padding:5px 0 5px .75rem}.logo-wordmark-text{flex-direction:row;gap:.25rem}.logo-glide,.logo-hub{font-size:.75rem}.logo-wordmark-line{display:none}.date-nav{grid-area:datebar;display:flex;flex-direction:row;align-items:center;justify-content:center;margin-top:0;padding:5px .75rem;gap:.5rem;border-bottom:1.5px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(240,180,80,.55),transparent) 1}.date-nav-center{flex-direction:row;gap:.4rem;align-items:center}#activity-season{display:none}#activity-date{font-size:.75rem}#activity-time{display:none}.transponder-toggle{grid-area:name;grid-row:2 / 4;display:flex;flex-direction:row;align-items:center;justify-content:center;align-self:end;height:30px;padding:0 10px;gap:.4rem;overflow:hidden;margin-bottom:171px;position:relative;z-index:1}.transponder-label{display:none}.transponder-id{font-size:.8rem;line-height:1}.location{grid-area:loc;grid-row:2 / 4;display:flex;align-self:end;align-items:center;justify-content:center;font-size:.6rem;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:171px;position:relative;z-index:1}.season-hero{grid-area:season;display:inline-flex;align-items:center;justify-content:center;align-self:center;justify-self:center;background:#f0b45026;color:#f0b450cc;font-size:.6rem;font-weight:700;letter-spacing:.08em;padding:2px 10px;border-radius:999px;white-space:nowrap}.stat-grid{display:contents}.stat-card:nth-child(1){grid-area:stat-l;align-self:end;justify-self:center;width:min(120px,70%);margin:0 8px 69px;padding:.55rem .7rem}.stat-card:nth-child(2){grid-area:stat-r;align-self:end;justify-self:center;width:min(120px,70%);margin:0 8px 69px;padding:.55rem .7rem}.stat-label{font-size:.5rem;letter-spacing:.06em}.stat-value,.stat-value-stacked span{font-size:1rem}.hero{grid-area:hero;padding:0 .5rem;justify-content:center}.tab-bar{grid-area:actions;height:48px}.tab-bar-item{gap:2px}.tab-bar-item svg{width:18px;height:18px}.tab-bar-label{font-size:.45rem}.has-tab-bar .lap-backdrop{bottom:48px}.ring-container{width:min(185px,48vh);height:min(185px,48vh)}.overlay{transform:translate(-50%,-50%) scale(.65)}.lap-sheet{max-height:65vh}#config-sheet{left:max(4vw,calc(50% - 300px));right:max(4vw,calc(50% - 300px));width:auto;max-width:unset;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(100%)}.lap-backdrop.open #config-sheet{transform:translateY(0)}#lap-sheet{left:max(4vw,calc(50% - 300px));right:max(4vw,calc(50% - 300px));width:auto;max-width:unset;max-height:90vh;border-radius:16px;transform:translateY(100%)}.lap-backdrop.open #lap-sheet{transform:translateY(0)}#records-overview-sheet{left:max(4vw,calc(50% - 300px));right:max(4vw,calc(50% - 300px));width:auto;max-width:unset;max-height:90vh;border-radius:16px;transform:translateY(100%)}.lap-backdrop.open #records-overview-sheet{transform:translateY(0)}.lap-chart{height:min(40vh,180px)}.cal-col{max-height:140px}.dist-modal-backdrop{padding:12px}.dist-modal-card{max-width:min(90vw,600px);flex-direction:row;flex-wrap:wrap;padding:14px;gap:10px;align-items:flex-start}.dist-modal-header{flex:0 0 100%}.dist-modal-stats{flex:0 0 110px;grid-template-columns:1fr;gap:6px}.dist-chart-wrap{flex:1;min-width:0}}@media(orientation:landscape)and (min-height:381px)and (max-height:400px){.ring-container{width:min(215px,55vh);height:min(215px,55vh)}.overlay{transform:translate(-50%,-50%) scale(.77)}.stat-card:nth-child(1),.stat-card:nth-child(2){margin-bottom:59px}.transponder-toggle,.location{margin-bottom:184px}}@media(orientation:landscape)and (min-height:401px)and (max-height:500px){.ring-container{width:min(230px,55vh);height:min(230px,55vh)}.overlay{transform:translate(-50%,-50%) scale(.82)}.stat-card:nth-child(1),.stat-card:nth-child(2){margin-bottom:72px}.transponder-toggle,.location{margin-bottom:201px}}.config-section-label{display:flex;align-items:center;gap:6px}.info-icon-btn{background:none;border:none;cursor:pointer;color:#f0b45080;font-size:.85rem;padding:6px;margin:-6px;line-height:0;display:inline-flex;align-items:center;-webkit-tap-highlight-color:transparent;transition:color .15s}.info-icon-btn:hover{color:#f0b450d9}.info-icon-btn svg{width:16px;height:16px}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:400;animation:modal-fade-in .15s ease}.info-modal-box{background:#1c1916;border:1px solid rgba(240,180,80,.2);border-radius:12px;padding:20px;width:calc(100% - 40px);max-width:320px;display:flex;flex-direction:column;gap:10px}.info-modal-title{font-size:.85rem;font-weight:600;color:#f0b450;margin-bottom:2px}.info-modal-text{font-size:.82rem;color:#f5f0e8cc;line-height:1.55}.info-modal-text strong{color:#f5f0e8e6}.info-modal-divider{border-top:1px solid rgba(240,180,80,.12);margin:2px 0}.info-modal-close{align-self:flex-end;margin-top:4px;background:#f0b4501f;border:1px solid rgba(240,180,80,.3);border-radius:8px;color:#f0b450d9;font-size:.78rem;font-weight:600;font-family:inherit;padding:7px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.info-modal-close:active{background:#f0b45033}@media(orientation:landscape)and (max-height:500px){.info-modal-box{max-width:520px;max-height:85vh;overflow-y:auto;padding:16px;gap:8px}}.modal-form{display:flex;flex-direction:column;gap:.75rem}.modal-field{display:flex;flex-direction:column;gap:.25rem}.modal-field-label{font-size:.75rem;color:#f0b450a6}.modal-error{font-size:.75rem;color:#f85149;margin-bottom:.75rem}.modal-desc{font-size:.85rem;color:#f5f0e8b3;margin-top:.5rem;margin-bottom:1rem}.modal-desc--center{text-align:center}.row-trailing{margin-left:auto;flex-shrink:0}.spinner-row{display:flex;justify-content:center;margin-bottom:1rem}.loading-spinner{width:24px;height:24px;border:3px solid rgba(240,180,80,.2);border-top-color:#f0b450;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.init-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;padding:40px 20px}.init-loading .loading-spinner{width:36px;height:36px;border-width:4px}.init-loading-title{font-size:1rem;color:var(--text-primary, #f0f0f0);margin:0;text-align:center}.init-loading-sub{font-size:.85rem;color:var(--text-secondary, #888);margin:0;text-align:center}.user-icon-btn{position:absolute;top:.5rem;right:1rem;width:36px;height:36px;border:none;background:transparent;color:#f0b450cc;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s;padding:0;display:flex;align-items:center;justify-content:center}.user-icon-btn:active{color:#f0b450}.user-icon-btn svg{width:24px;height:24px}.help-icon-btn{position:absolute;top:.5rem;right:1rem;width:36px;height:36px;border:none;background:transparent;color:#f0b450cc;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s;padding:0;display:flex;align-items:center;justify-content:center}.help-icon-btn:active{color:#f0b450}.help-icon-btn svg{width:24px;height:24px}header:has(.user-icon-btn) .help-icon-btn{right:calc(1rem + 40px)}@media(orientation:landscape)and (max-height:500px){.user-icon-btn,.help-icon-btn{top:.3rem;right:.6rem}header:has(.user-icon-btn) .help-icon-btn{right:calc(.6rem + 40px)}}.user-icon-indicator{position:absolute;top:6px;right:6px;width:8px;height:8px;background:#f0b450;border-radius:50%;border:1.5px solid #12100e}.auth-modal-box{max-width:320px}.auth-modal-form{display:flex;flex-direction:column;gap:12px;width:100%}.auth-modal-input{width:100%;padding:10px 12px;background:#f0b4500d;border:1px solid rgba(240,180,80,.2);border-radius:8px;font-size:.85rem;font-family:inherit;color:#f5f0e8}.auth-modal-input::placeholder{color:#f5f0e866}.auth-modal-input:focus{outline:none;border-color:#f0b45080;background:#f0b45014}.auth-modal-submit{width:100%;margin-top:4px}.auth-remember{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#f5f0e899;cursor:pointer;margin-top:.25rem}.auth-remember input[type=checkbox]{accent-color:#f0b450;width:1rem;height:1rem;cursor:pointer}.auth-modal-divider{display:flex;align-items:center;width:100%;margin:8px 0;color:#f5f0e84d;font-size:.75rem}.auth-modal-divider:before,.auth-modal-divider:after{content:"";flex:1;height:1px;background:#f0b45026}.auth-modal-divider span{padding:0 12px}.auth-modal-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;background:#4285f41f;border:1px solid rgba(66,133,244,.3);border-radius:8px;font-size:.85rem;font-weight:600;font-family:inherit;color:#f5f0e8;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s}.auth-modal-google-btn:active{background:#4285f433}.auth-modal-toggle{font-size:.75rem;color:#f5f0e899;text-align:center;margin-top:8px}.auth-modal-toggle-btn{background:none;border:none;color:#f0b450;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:underline;padding:0}.auth-modal-toggle-btn:active{color:#f0b450b3}.auth-forgot-link{align-self:center;margin-top:2px}.user-menu-email-pill{display:inline-flex;align-items:center;width:fit-content;font-size:.85rem;font-weight:600;color:#f5f0e8;background:#f0b45014;border:1px solid rgba(240,180,80,.25);border-radius:999px;padding:8px 16px;margin:6px 0}.user-menu-no-transponders{font-size:.8rem;color:#f5f0e880;padding:12px 0;text-align:center}.user-menu-transponder-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.user-menu-transponder-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f0b4500d;border:1px solid rgba(240,180,80,.15);border-radius:8px}.user-menu-transponder-info{display:flex;flex-direction:column;gap:2px;flex:1}.user-menu-transponder-code{font-size:.85rem;font-weight:600;color:#f5f0e8;letter-spacing:.02em}.user-menu-transponder-label{font-size:.7rem;color:#f5f0e899}.user-menu-transponder-visibility{font-size:.7rem;color:#f0b450b3;text-transform:uppercase;letter-spacing:.05em}.user-menu-unclaim-btn{padding:6px 12px;background:transparent;border:1px solid rgba(240,180,80,.3);border-radius:6px;font-size:.7rem;font-weight:600;font-family:inherit;color:#f0b450b3;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s;flex-shrink:0}.user-menu-unclaim-btn:active{background:#f0b45014}.user-menu-unclaim-btn:disabled{opacity:.4;cursor:not-allowed}.sheet-btn{display:inline-block;background:#f0b450;color:#1a1308;border:none;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:filter .15s ease,opacity .15s ease}.sheet-btn:hover:not(:disabled){filter:brightness(1.06)}.sheet-btn:disabled{opacity:.55;cursor:not-allowed}.sheet-btn--sm{padding:7px 14px;font-size:.8rem;white-space:nowrap}.sheet-btn--outline{display:inline-block;background:transparent;color:#f0b450;border:1px solid #f0b450;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:.65;transition:background .15s ease,opacity .15s ease}.sheet-btn--outline:hover:not(:disabled){opacity:.85;background:#f0b45014}.sheet-btn--outline:disabled{opacity:.4;cursor:not-allowed}.settings-donate-btn{display:flex;align-items:center;justify-content:center;gap:8px}.settings-donate-btn svg{width:18px;height:18px;flex-shrink:0}.sheet-btn--logout{display:block;margin:0 auto;width:auto;background:transparent;color:#f5f0e8b3;border:1px solid rgba(245,240,232,.14);border-radius:8px;padding:8px 22px;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease}.sheet-btn--logout:hover{background:#f5f0e80f}.connection-action-row{display:flex;align-items:center;gap:10px}.connection-action-label{font-size:.85rem;color:#f5f0e8;flex:1}.provider-login-hint{font-size:.78rem;color:#f5f0e88c;line-height:1.5;padding:4px 2px 12px}.provider-login-hint--link{background:none;border:none;font-family:inherit;text-align:left;width:100%;cursor:pointer;text-decoration:underline;text-decoration-color:#f0b45066;text-underline-offset:3px;-webkit-tap-highlight-color:transparent}.connections-body{overflow-y:auto;padding:.6rem 1rem 1.4rem}.brand-logo{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;line-height:1}.brand-logo svg{width:17px;height:17px}.brand-logo--garmin{background:#007cc3}.brand-logo--garmin svg{width:23px;height:23px}.brand-logo--strava{background:#fc4c02}.brand-logo--polar{background:#e2001a;font-size:.95rem}.brand-logo--tp{background:#1f7fc2;font-size:.72rem;letter-spacing:-.01em}.admin-connection-icons{display:flex;gap:4px}.admin-connection-icons .brand-logo{width:20px;height:20px;border-radius:5px}.admin-connection-icons .brand-logo svg{width:12px;height:12px}.admin-connection-icons .brand-logo--garmin svg{width:15px;height:15px}.admin-connection-icon--off{opacity:.22;filter:grayscale(1)}.conn-list{border:1px solid rgba(240,180,80,.35);border-radius:10px;overflow:hidden}.conn-item{display:flex;align-items:center;gap:12px;padding:14px 13px;background:transparent}.conn-item+.conn-item,.conn-actions+.conn-item,.conn-link+.conn-item,.connections-fetch-status+.conn-item{border-top:1px solid rgba(245,240,232,.1)}.conn-item svg{flex-shrink:0}.conn-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.conn-name{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:600;color:#f5f0e8}.conn-dot{width:6px;height:6px;border-radius:50%;background:#3fb950;flex-shrink:0}.conn-meta{font-size:.8rem;color:#f5f0e89e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conn-meta--off{color:#f5f0e866}.conn-connect{position:relative;flex-shrink:0;font-family:inherit;font-size:.72rem;font-weight:600;color:#f0b450;background:transparent;border:1px solid rgba(240,180,80,.4);border-radius:999px;padding:8px 15px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease}.conn-connect:hover:not(:disabled){background:#f0b4501a}.conn-connect:disabled{opacity:.4;cursor:not-allowed}.conn-connect:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.conn-actions{display:flex;align-items:center;gap:8px;padding:0 13px 12px;background:transparent}.conn-action{position:relative;display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:.72rem;color:#f5f0e8b8;background:transparent;border:1px solid rgba(245,240,232,.14);border-radius:999px;padding:8px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease}.conn-action:hover:not(:disabled){color:#f5f0e8;background:#f5f0e81a}.conn-action:disabled{opacity:.4;cursor:not-allowed}.conn-action:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.conn-action svg{width:14px;height:14px;flex-shrink:0}.conn-action--end{margin-left:auto}.conn-action.is-loading svg{animation:spin .9s linear infinite}.conn-link{display:flex;align-items:center;gap:8px;padding:0 13px 13px;background:transparent}.conn-load{flex-shrink:0;font-family:inherit;font-size:.75rem;font-weight:600;color:#f0b450;background:transparent;border:1px solid rgba(240,180,80,.4);border-radius:9px;padding:9px 13px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s ease}.conn-load:hover:not(:disabled){background:#f0b4501a}.conn-load:disabled{opacity:.4;cursor:not-allowed}.connections-fetch-status+.conn-actions,.connections-fetch-status+.conn-link{padding-top:0}.upload-list{border:1px solid rgba(240,180,80,.35);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.upload-provider{display:flex;align-items:center;gap:12px;padding:14px 12px;border-bottom:1px solid rgba(245,240,232,.1)}.upload-provider:last-child{border-bottom:none}.upload-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.upload-name-row{display:flex;align-items:center;gap:6px}.upload-name{font-size:.94rem;font-weight:600;color:#f5f0e8}.upload-status-icon{width:16px;height:16px;border-radius:50%;background:#3fb950;display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;color:#fff}.upload-meta{font-size:.75rem;color:#f5f0e880}.upload-action{width:36px;height:36px;border-radius:8px;background:transparent;border:1px solid rgba(240,180,80,.4);color:#f0b450;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background .15s ease}.upload-action svg{width:16px;height:16px}.upload-action:hover:not(:disabled){background:#f0b4501a}.upload-action:disabled{opacity:.4;cursor:not-allowed}.upload-action.is-loading svg{animation:spin .9s linear infinite}.upload-all-action{width:32px;height:32px;border-radius:8px;background:transparent;border:1px solid rgba(240,180,80,.4);color:#f0b450;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background .15s ease;position:relative}.upload-all-action svg{width:14px;height:14px}.upload-all-action:hover:not(:disabled){background:#f0b4501a}.upload-all-action:disabled{opacity:.4;cursor:not-allowed}.upload-all-action.is-loading svg{animation:spin .9s linear infinite}.upload-all-action.is-done{color:#3fb950;border-color:#3fb95066}.upload-all-action.has-partial-error:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#f85149;border:1.5px solid #1c1916}.welcome-modal-card{background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;padding:44px 24px;width:340px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;align-items:center;gap:16px}.welcome-modal-title{color:#f5f0e8;font-size:1.1rem;font-weight:700;text-align:center;line-height:1.3}.welcome-modal-subtitle{color:#f5f0e88c;font-size:.78rem;text-align:center;line-height:1.5;margin-top:-4px}.welcome-modal-options{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.welcome-modal-option{background:#f0b4500a;border:1px solid rgba(240,180,80,.15);border-radius:12px;padding:14px 16px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;font-family:inherit;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.welcome-modal-option:active{background:#f0b4501f;border-color:#f0b45059}.welcome-modal-option--primary{border-color:#f0b4504d;background:#f0b45012}.welcome-modal-option--primary:active{background:#f0b45026}.welcome-modal-option-title{font-size:.88rem;font-weight:600;color:#f5f0e8}.welcome-modal-option--primary .welcome-modal-option-title{color:#f0b450}.welcome-modal-option-row{position:relative;width:100%}.welcome-modal-option-row .welcome-modal-option{width:100%;padding-right:44px}.welcome-modal-info-btn{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:1px solid currentColor;background:transparent;color:#f5f0e8;opacity:.7;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:.78rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s,background .15s;-webkit-tap-highlight-color:transparent;z-index:2}.welcome-modal-info-btn:hover,.welcome-modal-info-btn:active{opacity:1;background:#f5f0e81f}.welcome-modal-info-btn--primary{color:#f0b450}.welcome-modal-info-btn--primary:hover,.welcome-modal-info-btn--primary:active{background:#f0b45026}.welcome-modal-info-popover{margin-top:6px;width:100%;background:#100e0c;border:1px solid rgba(240,180,80,.25);border-radius:10px;padding:10px 12px;font-size:.72rem;line-height:1.45;color:#f5f0e8cc;box-shadow:0 8px 24px #00000080}.records-section{margin-bottom:.5rem}.records-section-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#f0b4508c;font-weight:700;padding:.9rem 1rem .4rem}.records-card{margin:0 1rem;background:transparent;border:1px solid rgba(240,180,80,.35);border-radius:10px;overflow:hidden}.records-row{width:100%;background:none;border:none;border-bottom:1px solid rgba(245,240,232,.1);text-align:left;font-family:inherit;cursor:pointer;display:flex;align-items:center}.records-card .records-row:last-child{border-bottom:none}.records-row:active{background:#f0b4501f}.records-row--empty{cursor:default}.records-label{flex:1;font-size:.8rem;color:#f5f0e8}.records-value{font-size:.85rem;font-weight:600;color:#f0b450;font-variant-numeric:tabular-nums}.records-value--season{font-size:.8rem;font-weight:500;color:#f0b450c7}.records-value--empty{color:#f5f0e84d;font-weight:400}.records-season-dropdown{position:relative;max-width:60%}.records-season-select{display:flex;align-items:center;gap:6px;font-family:inherit;font-size:.78rem;font-weight:600;line-height:1.2;color:#f0b450;background-color:#f0b45014;border:1px solid rgba(240,180,80,.35);border-radius:999px;padding:5px 12px;max-width:100%;cursor:pointer}.records-season-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-season-select:after{content:"";flex-shrink:0;width:9px;height:6px;background-color:#f0b450;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") no-repeat center}.records-season-select:focus-visible{outline:none;border-color:#f0b450b3;box-shadow:0 0 0 2px #f0b45040}.records-season-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:180px;max-height:60vh;overflow-y:auto;margin:0;padding:6px;list-style:none;background:#1a160f;border:1px solid rgba(240,180,80,.3);border-radius:14px;box-shadow:0 12px 32px #00000073}.records-season-option{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:.85rem;font-weight:500;color:#f5f0e8;background:none;border:none;border-radius:8px;text-align:left;white-space:nowrap;cursor:pointer}.records-season-option:hover,.records-season-option:focus-visible{background:#f0b4501f;outline:none}.records-season-option--active{color:#f0b450;font-weight:600}.records-season-option-check{flex-shrink:0;font-size:.75rem}.records-value-group{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.records-value-line{display:inline-flex;align-items:center;gap:5px}.records-icon{flex-shrink:0;color:#f0b45080}.records-icon--pb{color:#f0b450;fill:none;stroke:currentColor;stroke-width:.7;stroke-linejoin:round}.records-delta{font-size:.6rem;color:#f5f0e873;font-variant-numeric:tabular-nums;line-height:1.3}.claim-contact-btn{display:block;width:100%;box-sizing:border-box;text-align:center;padding:10px 14px;background:#f0b4501a;border:1px solid rgba(240,180,80,.35);border-radius:8px;color:#f0b450;font-weight:600;font-size:.9rem;font-family:inherit;text-decoration:none;cursor:pointer}.claim-contact-btn:active{background:#f0b4502e}.note-fab{position:absolute;right:20px;top:80%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:8px;background:none;border:none;color:#f0b450cc;cursor:pointer;z-index:50;transition:color .2s ease,transform .1s ease}.note-fab:hover{color:#f0b450}.note-fab:active{transform:translateY(-50%) scale(.9)}.note-fab svg{width:19px;height:19px}.upload-status-badges{position:absolute;left:20px;top:80%;transform:translateY(-50%);display:flex;flex-direction:row;gap:6px;z-index:50}.upload-status-badge{display:flex;align-items:center;justify-content:center}.upload-status-badge .brand-logo{width:19px;height:19px;border-radius:4px;font-size:.55rem;background:transparent;border:1.5px solid rgba(240,180,80,.6);color:#f0b450cc}.note-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;animation:modal-fade-in .25s ease}.note-modal-card{width:100%;max-width:440px;background:#1c1916;border:1px solid rgba(240,180,80,.15);border-radius:16px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px}.note-modal-header{display:flex;align-items:center;justify-content:space-between}.note-modal-title{display:flex;align-items:center;gap:8px;color:#f0b450;font-weight:600;font-size:1.05rem}.note-modal-title-icon{width:18px;height:18px}.note-modal-close{background:none;border:none;color:#f0b45099;font-size:1.5rem;line-height:1;cursor:pointer}.note-modal-close:active{color:#f0b450}.note-modal-date{color:#f2e9d8;font-size:.7rem;font-weight:400;margin:0}.note-textarea{width:100%;min-height:180px;resize:vertical;background:#f0b4500f;border:1px solid rgba(240,180,80,.25);border-radius:10px;color:#f2e9d8;padding:12px;font:inherit;font-size:.85rem;line-height:1.5}.note-textarea:focus{outline:none;border-color:#f0b450}.note-ice-label{color:#f0b4508c;font-size:.8rem}.note-ice-select{width:100%;background:#f0b4500f;border:1px solid rgba(240,180,80,.25);border-radius:10px;color:#f2e9d8;padding:10px 12px;font:inherit}.note-ice-select:focus{outline:none;border-color:#f0b450}.ice-dropdown-container{position:relative;width:fit-content;max-width:calc(100% - 8px)}.ice-dropdown-control{display:flex;align-items:center;gap:8px;background:#f0b4500f;border:1px solid rgba(240,180,80,.25);border-radius:10px;color:#f2e9d8;padding:10px 12px;font:inherit;font-size:.8rem;font-weight:400;cursor:pointer;min-width:140px}.ice-dropdown-control:hover{border-color:#f0b45066}.ice-dropdown-control:focus{outline:none;border-color:#f0b450}.ice-dropdown-label{flex:1;text-align:left}.ice-dropdown-chevron{display:inline-flex;align-items:center;font-size:.65rem;color:#f0b45099}.ice-dropdown-popup{position:absolute;top:100%;left:0;margin-top:4px;background:#2a2520;border:1px solid rgba(240,180,80,.25);border-radius:10px;box-shadow:0 4px 12px #0006;z-index:1000;min-width:100%;max-height:min(260px,60vh);overflow-y:auto}.ice-dropdown-option{display:flex;align-items:center;gap:8px;padding:10px 12px;color:#f2e9d8;font-size:.8rem;font-weight:400;cursor:pointer;white-space:nowrap}.ice-dropdown-option:hover,.ice-dropdown-option.selected{background:#f0b45026;color:#f0b450}.ice-dropdown-check{display:inline-flex;align-items:center;font-size:.85rem;color:#f0b450}.note-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.note-saved{color:#f0b450;font-size:.85rem}.note-save-btn{background:#f0b450;color:#1a1308;border:none;border-radius:8px;padding:8px 18px;font-weight:600;cursor:pointer}.note-save-btn:disabled{opacity:.6;cursor:default}.feedback-kind-toggle{display:flex;gap:8px}.feedback-kind-btn{flex:1;text-align:center;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:#f5f0e880;background:#f5f0e808;border:1px solid rgba(245,240,232,.1);border-radius:8px;padding:10px 16px;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s ease,background .15s ease,border-color .15s ease}.feedback-kind-btn:hover{border-color:#f0b45059}.feedback-kind-btn--active{color:#f0b450;background:#f0b45014;border-color:#f0b45080}.feedback-modal-card{border-color:#f5f0e81a;box-shadow:0 12px 40px #0006}.feedback-modal-header{align-items:flex-start}.feedback-title-group{display:flex;flex-direction:column;gap:3px}.feedback-eyebrow{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#f0b450;font-weight:700}.feedback-sub{font-size:.78rem;color:#f5f0e88c;font-weight:400}.feedback-sent{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#f5f0e8b3}@media(max-height:560px){.note-fab{top:auto;bottom:84px;transform:none}.note-fab:active{transform:scale(.92)}}@media(orientation:landscape)and (max-height:500px){.note-fab{right:calc(50% - 130px)}.note-modal-card{width:75vw;max-width:75vw;height:80vh;overflow:visible;padding:12px 14px;gap:8px}.note-textarea{flex:1;min-height:80px}.ice-dropdown-popup{max-height:min(190px,40vh)}}body:has(.admin-page){max-width:unset;margin:0}.admin-page{min-height:100vh;background:#12100e;color:#f5f0e8;font-family:Inter,system-ui,sans-serif}.admin-loading{min-height:100vh;background:#12100e}.admin-topnav{height:58px;background:#1c1916;border-bottom:1px solid rgba(240,180,80,.18);display:flex;align-items:center;padding:0 36px}.admin-nav-brand{font-size:18px;font-weight:800;letter-spacing:-.3px;margin-right:36px}.admin-nav-g{color:#f5f0e8}.admin-nav-h{color:#f0b450}.admin-nav-badge{font-size:10px;color:#f0b45099;font-weight:600;letter-spacing:1.5px;vertical-align:middle;margin-left:6px}.admin-nav-links{display:flex;gap:4px;flex:1}.admin-nav-link{padding:6px 14px;font-size:13px;font-weight:500;color:#f5f0e873;border-radius:6px;cursor:pointer;transition:all .15s;background:none;border:none;font-family:inherit}.admin-nav-link:hover{color:#f5f0e8;background:#f0b4500f}.admin-nav-link--active{color:#f0b450;background:#f0b4501a}.admin-nav-unread{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;border-radius:999px;background:#5ec47c;color:#12100e;font-size:10px;font-weight:700;line-height:1;vertical-align:middle}.admin-nav-user{position:relative}.admin-nav-user-btn{display:flex;align-items:center;gap:8px;font-size:12px;color:#f5f0e880;background:none;border:none;cursor:pointer;font-family:inherit}.admin-nav-avatar{width:28px;height:28px;border-radius:50%;background:#f0b45033;border:1px solid rgba(240,180,80,.4);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#f0b450}.admin-nav-email{color:#f5f0e8b3}.admin-nav-caret{font-size:10px}.admin-nav-dropdown{position:absolute;top:40px;right:0;min-width:170px;background:#1c1916;border:1px solid rgba(240,180,80,.18);border-radius:8px;padding:6px;display:flex;flex-direction:column;gap:2px;z-index:10}.admin-nav-dropdown-item{padding:8px 10px;font-size:13px;color:#f5f0e8;border-radius:6px;text-decoration:none;text-align:left;cursor:pointer}.admin-nav-dropdown-item:hover{background:#f0b45014}.admin-nav-dropdown-btn{background:none;border:none;font-family:inherit;font-size:13px;color:#f5f0e8}.admin-content{padding:36px}.admin-empty{padding:28px;font-size:13px;color:#f5f0e866}.admin-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.admin-stat-card{background:#1c1916;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:22px 24px;position:relative;overflow:hidden}.admin-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#f0b450,#f0b45000)}.admin-stat-card--dual{display:flex;flex-direction:row;align-items:flex-start;gap:20px}.admin-stat-dual-item{display:flex;flex-direction:column;align-items:flex-start}.admin-stat-dual-divider{align-self:stretch;width:1px;background:#ffffff14}.admin-stat-num{font-size:38px;font-weight:800;line-height:1;letter-spacing:-1px}.admin-stat-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#f0b450a6;margin:8px 0 4px}.admin-stat-detail{font-size:11px;color:#f5f0e859}.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-two-col--spaced{margin-bottom:16px}.admin-card{background:#1c1916;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:22px 24px}.admin-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#f0b450a6;margin-bottom:16px}.admin-user-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(240,180,80,.06)}.admin-user-row:last-child{border-bottom:none}.admin-user-avatar{width:24px;height:24px;border-radius:50%;background:#f0b45026;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#f0b450;font-weight:700;flex-shrink:0}.admin-user-name{font-size:13px;font-weight:500;flex:1}.admin-user-method{font-size:10px;padding:2px 6px;border-radius:3px;background:#f0b4501a;color:#f0b450b3}.admin-user-time{font-size:11px;color:#f5f0e84d}.admin-card-link{display:block;width:100%;margin-top:14px;font-size:11px;color:#f0b4508c;text-align:right;cursor:pointer;background:none;border:none;font-family:inherit}.admin-card-link:hover{color:#f0b450}.admin-sys-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(240,180,80,.06);font-size:13px}.admin-sys-row:last-of-type{border-bottom:none}.admin-sys-label{color:#f5f0e880}.admin-sys-val{color:#f5f0e8;font-weight:500;display:flex;align-items:center;gap:10px}.admin-dot-green{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5ec47c;margin-right:5px}.admin-flush-btn{font-size:11px;padding:3px 10px;border-radius:5px;background:#f0b4501f;color:#f0b450;border:1px solid rgba(240,180,80,.25);cursor:pointer;font-family:inherit}.admin-flush-btn:hover:not(:disabled){background:#f0b45033}.admin-flush-btn:disabled{opacity:.5;cursor:default}.admin-switch{width:36px;height:20px;border-radius:10px;background:#f5f0e826;border:1px solid rgba(245,240,232,.2);padding:0;cursor:pointer;position:relative;transition:background-color .15s ease,border-color .15s ease;flex-shrink:0}.admin-switch:before{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:#f5f0e8;transition:transform .15s ease}.admin-switch.is-on{background:#f0b450;border-color:#f0b450}.admin-switch.is-on:before{transform:translate(16px);background:#12100e}.admin-switch:disabled{opacity:.5;cursor:default}.admin-tag-row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.admin-tag{font-size:11px;padding:3px 8px;border-radius:4px;background:#f0b4501a;color:#f0b450b3}.admin-table{width:100%;border-collapse:collapse;background:#1c1916;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden}.admin-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#f0b45099;padding:14px 16px;border-bottom:1px solid rgba(240,180,80,.12);background:#1c1916}.admin-table td{font-size:13px;height:44px;padding:0 16px;border-bottom:1px solid rgba(240,180,80,.06);color:#f5f0e8;transition:background .15s}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:nth-child(2n) td{background:#ffffff06}.admin-table tbody tr.admin-session-row:hover td{background:#f0b45014}.admin-num{font-variant-numeric:tabular-nums;white-space:nowrap}.admin-badge-admin{margin-left:8px;font-size:10px;letter-spacing:.02em;padding:2px 8px;border-radius:999px;background:#f0b45033;color:#f0b450;font-weight:700}.admin-badge-public{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.02em;padding:2px 9px;border-radius:999px;background:#f0b45026;color:#f0b450}.admin-badge-private{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.02em;padding:2px 9px;border-radius:999px;background:#f5f0e814;color:#f5f0e880}.admin-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.admin-badge-public .admin-badge-dot{background:#f0b450}.admin-badge-private .admin-badge-dot{background:#f5f0e859}.admin-table-scroll{max-height:560px;overflow:auto;border:1px solid rgba(255,255,255,.08)}.admin-table-scroll .admin-table{border-radius:0;overflow:visible;border:none}.admin-table-scroll .admin-table th{position:sticky;top:0;z-index:1}.admin-table-scroll-footer{padding:14px 16px;font-size:12px;color:#f5f0e859;text-align:center}.admin-table-scroll-error{display:inline-flex;align-items:center;gap:10px;color:#f5f0e8;background:#1c1916;border:1px solid rgba(240,180,80,.3);border-radius:8px;padding:8px 14px}.admin-cell-mono{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.admin-cell-null{color:#f5f0e84d}.admin-badge-masked{display:inline-flex;align-items:center;margin-left:8px;font-size:9px;letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border-radius:999px;background:#f5f0e814;color:#f5f0e873}.admin-btn-danger{font-size:12px;padding:5px 12px;border-radius:6px;background:#dc50461f;color:#e06b60;border:1px solid rgba(220,80,70,.3);cursor:pointer;font-family:inherit}.admin-btn-danger:hover:not(:disabled){background:#dc504638}.admin-btn-danger:disabled{opacity:.4;cursor:default}.admin-btn{font-size:12px;padding:5px 12px;border-radius:6px;background:#f0b45026;color:#f0b450;border:1px solid rgba(240,180,80,.35);cursor:pointer;font-family:inherit}.admin-btn:hover:not(:disabled){background:#f0b45040}.admin-btn:disabled{opacity:.4;cursor:default}.admin-btn--active{background:#f0b450;color:#17140f}.admin-btn--active:hover:not(:disabled){background:#f0b450}.admin-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:6px;background:#f0b45026;color:#f0b450;border:1px solid rgba(240,180,80,.35);cursor:pointer;vertical-align:middle}.admin-icon-btn:hover:not(:disabled){background:#f0b45040}.admin-icon-btn:disabled{opacity:.4;cursor:default}.admin-icon-btn--danger{background:#dc50461f;color:#e06b60;border-color:#dc50464d}.admin-icon-btn--danger:hover:not(:disabled){background:#dc504638}.admin-icon-btn--subtle{background:transparent;border-color:transparent;color:#f5f0e859;opacity:.6}.admin-icon-btn--subtle:hover:not(:disabled){background:#dc50461f;border-color:#dc50464d;color:#e06b60;opacity:1}.admin-row-actions{display:flex;align-items:center;gap:8px}.admin-track-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-track-actions .admin-icon-btn{height:28px;width:28px;flex:0 0 28px;box-sizing:border-box}.admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-card-header .admin-card-title{margin-bottom:0}.admin-search-wrap{position:relative;width:220px;flex-shrink:0}.admin-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#f0b45080;font-size:13px;pointer-events:none}.admin-search-input{width:100%;background:#12100e;border:1px solid rgba(240,180,80,.15);border-radius:6px;padding:7px 10px 7px 28px;color:#f5f0e8;font-size:12px;font-family:inherit;outline:none;transition:border-color .15s}.admin-search-input::placeholder{color:#f5f0e84d}.admin-search-input:focus{border-color:#f0b45080}.admin-track-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}.admin-track-input{flex:1;min-width:140px}.admin-file-input{display:none}.admin-track-origname{font-size:11px;color:#f5f0e873;margin-top:2px}.admin-track-gpx-yes{color:#4ec98a;font-size:15px}.admin-track-gpx-no{color:#e06b60;font-size:15px}.admin-track-auto-added{color:#4ec98a;font-size:13px;margin-right:6px}.admin-track-modal{background:#1c1916;border:1px solid rgba(240,180,80,.18);border-radius:12px;width:100%;max-width:min(860px,calc(100vw - 48px));max-height:90vh;overflow-y:auto;padding:26px 28px;box-shadow:0 24px 60px #0000008c}.admin-track-modal-title{margin:0 0 4px;font-size:17px;font-weight:600;color:#f5f0e8}.admin-track-modal-sub{margin:0 0 22px;font-size:12px;color:#f5f0e880}.admin-track-modal-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}.admin-track-panel-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#f0b450a6;margin-bottom:8px}.admin-track-modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(240,180,80,.1)}.admin-track-hint{font-size:11px;color:#f5f0e866;margin-top:5px;line-height:1.45}.admin-track-oval{margin-top:12px;padding-top:12px;border-top:1px solid rgba(240,180,80,.1)}.admin-track-oval-intro{margin-top:0;margin-bottom:8px}.admin-track-oval-acts{margin-top:10px}.admin-track-checkbox-field{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#f5f0e8bf;margin:.75rem 0}.admin-track-merge-row{display:flex;gap:8px;flex-wrap:wrap}.admin-track-merge-row .transponder-input{flex:1;min-width:140px}.admin-track-gpxbox{border:1px solid rgba(240,180,80,.14);border-radius:8px;background:#211d1a;padding:12px}.admin-track-canvas{height:210px;border-radius:6px;overflow:hidden;background:#17140f}.admin-track-map{height:100%;width:100%}.admin-track-map--picking{cursor:crosshair}.admin-track-shape{height:100%;display:flex;align-items:center;justify-content:center}.admin-track-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 16px;color:#f5f0e866;font-size:12px;line-height:1.5}.admin-track-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:#f5f0e88c}.admin-track-osmlink{color:#f0b450;text-decoration:none;font-size:11px}.admin-track-osmlink:hover{text-decoration:underline}.admin-track-gpxacts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.leaflet-container{background:#17140f}@media(max-width:900px){.admin-track-modal-cols{grid-template-columns:1fr}}.admin-stat-card--clickable{cursor:pointer;transition:background .15s;display:block;width:100%;border:none;font:inherit;text-align:left;color:inherit}.admin-stat-card--clickable:hover{background:#221e1a}.admin-transponder-chips{display:flex;flex-wrap:wrap;gap:6px}.admin-transponder-chip{font-size:10px;padding:2px 7px;border-radius:3px;background:#f0b45026;color:#f0b450;border:none;cursor:pointer;font-family:inherit}.admin-transponder-chip:hover{background:#f0b45047}.admin-code-btn,.admin-owner-btn{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:#f0b45059}.admin-code-btn:hover,.admin-owner-btn:hover{color:#f0b450}.admin-code-btn{white-space:nowrap}.admin-session-row{cursor:pointer}.admin-back-link{font-size:11px;color:#f0b4508c;cursor:pointer;background:none;border:none;font-family:inherit}.admin-back-link:hover{color:#f0b450}.admin-page-sub{margin:-8px 0 16px;font-size:12px;color:#f5f0e880}.admin-season-list{display:flex;flex-direction:column;gap:12px}.admin-season-card{background:#1c1916;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden}.admin-season-card-header{display:flex;align-items:center;gap:10px;width:100%;padding:18px 22px;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.admin-season-card-header:hover{background:#f0b4500f}.admin-season-card-header[aria-expanded=true]{border-bottom:1px solid rgba(255,255,255,.08)}.admin-season-chevron{font-size:10px;color:#f0b4508c;transition:transform .2s ease;flex-shrink:0}.admin-season-card-header[aria-expanded=true] .admin-season-chevron{transform:rotate(90deg)}.admin-season-label{font-size:14px;font-weight:700;color:#f5f0e8}.admin-season-count-badge{font-size:10.5px;font-weight:700;color:#f0b4508c;background:#f0b45014;border-radius:999px;padding:2px 9px}.admin-season-card-body{padding:6px 0}.admin-season-card-body .admin-table thead th{padding:8px 22px}.admin-season-card-body .admin-table tbody td{padding:0 22px}.admin-session-modal{background:#1c1916;border:1px solid rgba(240,180,80,.18);border-radius:12px;width:480px;max-width:calc(100vw - 48px);max-height:70vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0000008c}.admin-session-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid rgba(240,180,80,.1);flex-shrink:0}.admin-session-modal-title{font-size:15px;font-weight:700;color:#f5f0e8}.admin-session-modal-sub{font-size:12px;color:#f5f0e880;margin-top:3px}.admin-session-modal-close{background:none;border:none;color:#f5f0e873;font-size:18px;line-height:1;cursor:pointer;padding:4px;font-family:inherit}.admin-session-modal-close:hover{color:#f5f0e8}.admin-session-modal-body{flex:1;overflow-y:auto;padding:6px 10px}.admin-session-modal-footer{padding:12px 24px;border-top:1px solid rgba(240,180,80,.1);font-size:11.5px;color:#f5f0e866;flex-shrink:0}.admin-lap-row{display:flex;align-items:center;gap:16px;padding:8px 14px;border-radius:6px;font-size:13px;color:#f5f0e8}.admin-lap-row.fastest{background:#f0b45014}.admin-lap-nr{width:30px;flex-shrink:0;color:#f0b4508c;font-size:11px;font-variant-numeric:tabular-nums}.admin-lap-time{font-variant-numeric:tabular-nums;font-weight:600}.admin-lap-time.fastest{color:#f0b450}.admin-nav-link:focus-visible,.admin-nav-user-btn:focus-visible,.admin-btn:focus-visible,.admin-btn-danger:focus-visible,.admin-icon-btn:focus-visible,.admin-search-input:focus-visible,.admin-code-btn:focus-visible,.admin-owner-btn:focus-visible,.admin-transponder-chip:focus-visible,.admin-card-link:focus-visible,.admin-flush-btn:focus-visible,.admin-switch:focus-visible,.admin-back-link:focus-visible,.admin-stat-card--clickable:focus-visible,.admin-season-card-header:focus-visible,.admin-session-row:focus-visible td,.admin-session-modal-close:focus-visible{outline:2px solid #f0b450;outline-offset:2px}.count-pill{font-size:11px;background:#f5f0e814;color:#f5f0e88c;padding:2px 8px;border-radius:999px}.admin-msg-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid rgba(240,180,80,.06)}.admin-msg-row:last-child{border-bottom:none}.admin-msg-kind{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.admin-msg-kind--bug{background:#dc50461f;color:#e06b60}.admin-msg-kind--idea{background:#f0b45026;color:#f0b450}.admin-msg-kind svg{width:14px;height:14px}.admin-msg-body{flex:1;min-width:0}.admin-msg-text{font-size:13px;line-height:1.4;color:#f5f0e8;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.admin-msg-meta{font-size:11px;color:#f5f0e859;margin-top:5px;display:flex;gap:8px;align-items:center}.admin-msg-ver{background:#f5f0e80f;padding:1px 6px;border-radius:4px}.admin-status-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;letter-spacing:.02em;padding:2px 9px;border-radius:999px;flex-shrink:0;margin-top:2px}.admin-status-dot{width:6px;height:6px;border-radius:50%}.admin-status-nieuw{background:#7aa8e024;color:#7aa8e0}.admin-status-nieuw .admin-status-dot{background:#7aa8e0}.admin-status-todo{background:#f0b45026;color:#f0b450}.admin-status-todo .admin-status-dot{background:#f0b450}.admin-status-opgelost{background:#f5f0e814;color:#f5f0e859}.admin-status-opgelost .admin-status-dot{background:#f5f0e859}.admin-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.admin-icon-btn--green{background:#5ec47c24;color:#5ec47c;border-color:#5ec47c4d}.admin-icon-btn--green:hover{background:#5ec47c3d}.admin-todo-add{display:flex;gap:8px;padding:12px 0;border-bottom:1px solid rgba(240,180,80,.06)}.admin-todo-row{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid rgba(240,180,80,.06)}.admin-todo-row:last-child{border-bottom:none}.admin-todo-body{flex:1}.admin-todo-text{font-size:13px;line-height:1.4;color:#f5f0e8}.admin-todo-src{font-size:10.5px;color:#f5f0e859;margin-top:3px}.admin-todo-note{font-size:11.5px;color:#f5f0e88c;margin-top:4px;font-style:italic;line-height:1.4}.admin-log-scroll{max-height:280px;overflow-y:auto}
