:root,[data-theme=dark]{--bg:#0c0d12;--bg-card:#15161d;--bg-card-hover:#1c1d26;--border:#252733;--text:#e8e8ec;--text-muted:#6b6d7a;--accent:#f5c518;--accent-hover:#d4a90f;--accent-text:#0c0d12;--green:#22c55e;--green-dim:#22c55e1f;--red:#ef4444;--red-dim:#ef44441f;--pink:#ec4899;--blue:#3b82f6;--blue-dim:#3b82f61a;--hover-overlay:#ffffff0a;--stripe:#ffffff06;--badge-muted-bg:#ffffff12;--accent-dim:#f5c5181f;--accent-bg:#f5c5180f;--jersey-gc-bg:linear-gradient(135deg, #f5c51824, #f5c5180a);--jersey-pts-bg:linear-gradient(135deg, #22c55e24, #22c55e0a);--jersey-mt-bg:linear-gradient(135deg, #ef444424, #ef44440a);--jersey-game-bg:linear-gradient(135deg, #a855f724, #a855f70a);--purple:#a855f7;--radius:10px;--radius-lg:14px}[data-theme=light]{--bg:#f0f0f2;--bg-card:#fff;--bg-card-hover:#f7f7f9;--border:#dcdce0;--text:#111114;--text-muted:#6b6d7a;--accent:#c88400;--accent-hover:#a06800;--accent-text:#fff;--green:#16a34a;--green-dim:#16a34a1a;--red:#dc2626;--red-dim:#dc262614;--pink:#db2777;--blue:#2563eb;--blue-dim:#2563eb14;--hover-overlay:#00000006;--stripe:#00000005;--badge-muted-bg:#0000000d;--accent-dim:#c884001a;--accent-bg:#c884000d;--jersey-gc-bg:linear-gradient(135deg, #c884001a, #c8840008);--jersey-pts-bg:linear-gradient(135deg, #16a34a1a, #16a34a08);--jersey-mt-bg:linear-gradient(135deg, #dc262614, #dc262608);--jersey-game-bg:linear-gradient(135deg, #9333ea1a, #9333ea08);--purple:#9333ea}*{font-family:Satoshi,system-ui,sans-serif}body{background:var(--bg);color:var(--text);transition:background .2s,color .2s}h1,h2,h3,h4,h5,.navbar-brand,.auth-card h1{letter-spacing:-.02em;font-family:Satoshi,sans-serif;font-weight:900}.theme-toggle{border:1px solid var(--border);cursor:pointer;width:34px;height:34px;color:var(--text-muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1rem;transition:all .15s;display:flex}.theme-toggle:hover{border-color:var(--text-muted);color:var(--text)}.navbar{border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.6rem 0;position:sticky;top:0;background:var(--bg-card)!important;background:color-mix(in srgb, var(--bg-card) 85%, transparent)!important}.navbar-brand{letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:.45rem;font-family:Satoshi,sans-serif;font-size:1.1rem;font-weight:900;text-decoration:none;display:flex;color:var(--accent)!important}.navbar-brand .brand-logo{flex-shrink:0;width:26px;height:26px;transition:transform .3s}.navbar-brand:hover .brand-logo{transform:rotate(20deg)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s,box-shadow .2s;overflow:hidden}.card:not(.pick-card):hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.card-header{border-bottom:1px solid var(--border);background:0 0;padding:.85rem 1.15rem}.jersey-gc,.jersey-points,.jersey-mountain,.jersey-game{position:relative;overflow:hidden}.jersey-gc:after,.jersey-points:after,.jersey-mountain:after,.jersey-game:after{content:"";height:3px;position:absolute;bottom:0;left:0;right:0}.jersey-gc{background:var(--jersey-gc-bg)}.jersey-gc:after{background:var(--accent)}.jersey-gc h5{color:var(--accent)}.jersey-points{background:var(--jersey-pts-bg)}.jersey-points:after{background:var(--green)}.jersey-points h5{color:var(--green)}.jersey-mountain{background:var(--jersey-mt-bg)}.jersey-mountain:after{background:var(--red)}.jersey-mountain h5{color:var(--red)}.jersey-game{background:var(--jersey-game-bg)}.jersey-game:after{background:var(--purple)}.jersey-game h5{color:var(--purple)}.info-tooltip{cursor:help;opacity:.6;vertical-align:middle;margin-left:6px;font-size:.75rem}.tip-popup{z-index:9999;background:var(--bg-card);color:var(--text);border:1px solid var(--border);text-align:left;white-space:normal;pointer-events:none;opacity:0;border-radius:8px;width:max-content;max-width:260px;padding:.6rem .8rem;font-size:.75rem;font-weight:400;line-height:1.45;transition:opacity .15s;position:fixed;box-shadow:0 4px 12px #00000040}.tip-popup.visible{opacity:1}.table{color:var(--text);--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-striped-bg:var(--stripe);--bs-table-striped-color:var(--text);--bs-table-hover-bg:var(--hover-overlay);--bs-table-hover-color:var(--text);--bs-table-border-color:var(--border)}.table thead th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom-color:var(--border);font-size:.7rem;font-weight:600}.table td{color:var(--text);border-bottom-color:var(--border);vertical-align:middle}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-bg-type:var(--stripe)}.time{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.85rem}.nav-pills .nav-link{color:var(--text-muted);border-radius:var(--radius);letter-spacing:.02em;padding:.45rem .9rem;font-size:.82rem;font-weight:700;transition:all .15s}.nav-pills .nav-link:hover{color:var(--text);background:var(--hover-overlay)}.nav-pills .nav-link.active{background:var(--comp-color,var(--accent));color:var(--accent-text);box-shadow:0 2px 8px color-mix(in srgb, var(--comp-color,var(--accent)) 30%, transparent)}.nav-tabs{border-bottom-color:var(--border)}.nav-tabs .nav-link{color:var(--text-muted);border:none;padding:.6rem 1rem;font-size:.85rem;font-weight:500}.nav-tabs .nav-link:hover{color:var(--text);border-color:#0000}.nav-tabs .nav-link.active{color:var(--accent);border-bottom:2px solid var(--accent);background:0 0}.form-control,.form-select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:.55rem .85rem;font-size:.85rem}.form-control:focus,.form-select:focus{background:var(--bg);border-color:var(--accent);color:var(--text);box-shadow:0 0 0 2px var(--accent-dim)}.form-control::placeholder{color:var(--text-muted)}.form-control-sm{padding:.35rem .65rem;font-size:.8rem}.form-check-input{background-color:var(--bg);border-color:var(--border)}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.btn{border-radius:var(--radius);letter-spacing:.01em;padding:.5rem 1.15rem;font-size:.85rem;font-weight:700;transition:all .15s}.btn-accent{background:var(--comp-color,var(--accent));color:var(--accent-text);box-shadow:0 2px 8px color-mix(in srgb, var(--comp-color,var(--accent)) 25%, transparent);border:none}.btn-accent:hover{background:var(--accent-hover);color:var(--accent-text);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-1px)}.btn-accent:disabled{opacity:.4;box-shadow:none;transform:none}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--hover-overlay);color:var(--text);border-color:var(--text-muted)}.btn-outline-danger{border-color:var(--red);color:var(--red)}.btn-outline-danger:hover{background:var(--red-dim);color:var(--red);border-color:var(--red)}.btn-success{background:var(--green);border-color:var(--green);color:#fff}.btn-success:hover{color:#fff;background:#16a34a;border-color:#16a34a}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:#2563eb;border-color:#2563eb}.pick-card{cursor:pointer;border-color:var(--border);transition:all .2s;position:relative}.pick-card:not(.used):not(.selected):hover{border-color:var(--accent);background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.pick-card.selected{background:color-mix(in srgb, var(--comp-color,var(--accent)) 8%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--comp-color,var(--accent)) 12%, transparent);border:2px solid var(--comp-color,var(--accent))!important}.pick-card.selected:after{content:"✓";background:var(--comp-color,var(--accent));color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:6px;right:8px}.pick-card.used{opacity:.25;pointer-events:none;filter:grayscale(.5)}.stage-nav-btn{border-color:var(--border);width:32px;height:32px;color:var(--text);justify-content:center;align-items:center;padding:0;font-size:1.2rem;font-weight:700;display:flex}.stage-nav-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.stage-nav-btn:disabled{opacity:.3}.rider-team-group{margin-bottom:.75rem}.team-group-header{border-bottom:1px solid var(--border);margin-bottom:.4rem;padding:.35rem 0;font-size:.8rem}.avatar{background:var(--accent-dim);width:40px;height:40px;color:var(--accent);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;cursor:pointer;width:100%;height:100%}.avatar-sm{width:32px;height:32px;font-size:.65rem}.avatar-lg{width:56px;height:56px;font-size:1.1rem}.pcs-link{color:var(--text-muted);opacity:.7;font-size:.7rem;font-weight:600;text-decoration:none;transition:opacity .15s}.pcs-link:hover{opacity:1;color:var(--accent)}.avatar-upload-wrapper{display:inline-block;position:relative}.avatar-upload-btn{background:var(--accent);width:22px;height:22px;color:var(--accent-text);cursor:pointer;border:2px solid var(--bg-card);border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:flex;position:absolute;bottom:0;right:0}.avatar-upload-btn:hover{transform:scale(1.1)}.pick-card .bib-badge{background:var(--badge-muted-bg);min-width:26px;height:20px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-size:.65rem;font-weight:700;display:inline-flex}.badge{letter-spacing:.3px;border-radius:6px;font-size:.7rem;font-weight:600}.badge.bg-secondary{color:var(--text-muted);background:var(--badge-muted-bg)!important}.badge.bg-danger{color:var(--red);background:var(--red-dim)!important}.badge.bg-success{color:var(--green);background:var(--green-dim)!important}.badge.bg-warning{color:var(--accent);background:var(--accent-dim)!important}.comp-badge{border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:600}.comp-tour{background:var(--accent-dim);color:var(--accent)}.comp-giro{color:var(--pink);background:#ec489926}.comp-vuelta{background:var(--red-dim);color:var(--red)}.comp-classic{background:var(--badge-muted-bg);color:var(--text-muted)}.stage-timeline{scrollbar-width:none;flex-wrap:wrap;gap:.35rem;padding:.5rem 0;display:flex;overflow-x:auto}.stage-timeline::-webkit-scrollbar{display:none}.stage-dot{border:2.5px solid var(--border);background:var(--bg-card);width:34px;height:34px;color:var(--text-muted);cursor:default;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:800;transition:all .2s;display:flex}.stage-dot.completed{background:var(--green-dim);border-color:var(--green);color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb, var(--green) 10%, transparent)}.stage-dot.locked{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.stage-dot.open{background:color-mix(in srgb, var(--comp-color,var(--blue)) 15%, transparent);border-color:var(--comp-color,var(--blue));color:var(--comp-color,var(--blue));animation:2s ease-in-out infinite pulse-dot}.stage-dot.upcoming{opacity:.4}@keyframes pulse-dot{0%,to{box-shadow:none}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--comp-color,var(--blue)) 15%, transparent)}}.timeline-legend{flex-wrap:wrap;flex-basis:100%;gap:.75rem;margin-top:.25rem;display:flex}.legend-item{color:var(--text-muted);align-items:center;gap:4px;font-size:.65rem;font-weight:500;display:inline-flex}.specialty-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.4rem;padding-bottom:2px;display:flex;overflow-x:auto}.specialty-pills::-webkit-scrollbar{display:none}.specialty-pill{border:1.5px solid var(--border-color,#dee2e6);color:var(--text-color,#212529);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-size:.8rem;transition:background .15s,border-color .15s,color .15s}.specialty-pill.active{background:var(--comp-color,#0d6efd);border-color:var(--comp-color,#0d6efd);color:#fff;font-weight:600}.specialty-pill:not(.active):hover{border-color:var(--comp-color,#0d6efd);color:var(--comp-color,#0d6efd)}.rider-availability{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.rider-availability .avail-stat{border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.avail-stat.available{background:var(--green-dim);color:var(--green)}.avail-stat.used{background:var(--red-dim);color:var(--red)}.avail-stat.total{background:var(--badge-muted-bg);color:var(--text-muted)}.history-great td{background:var(--green-dim)!important}.history-good td{background:#22c55e0d!important}.history-bad td{background:var(--red-dim)!important}.others-pick-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.35rem .85rem;font-size:.8rem;display:flex}.others-pick-row:last-child{border-bottom:none}.pick-bar{z-index:50;background:var(--bg-card);border-top:2px solid var(--accent);margin:1rem -.75rem -.75rem;padding:.75rem 1rem;position:sticky;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000026}.pick-bar-inner{justify-content:space-between;align-items:center;gap:.75rem;max-width:1140px;margin:0 auto;display:flex}.pick-bar-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.pick-bar-rider{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.pick-bar-countdown{color:var(--text-muted);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.75rem}.pick-bar-countdown.urgent{color:var(--red);font-weight:700}.pick-bar-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.pick-bar .btn{padding:.5rem 1.5rem;font-size:.9rem}.pick-bar.unconfirmed{border-top-color:var(--red);animation:2s ease-in-out infinite pulse-bar}@keyframes pulse-bar{0%,to{box-shadow:0 -4px 20px #00000026}50%{box-shadow:0 -4px 24px #ef444440}}.comp-banner{background:var(--accent-bg);border:1px solid var(--accent-dim);border-radius:var(--radius);border-left:3px solid var(--comp-color,var(--accent));align-items:center;gap:.6rem;padding:.55rem 1rem;font-size:.85rem;display:flex}.comp-banner-name{color:var(--text);letter-spacing:.01em;font-weight:800}.comp-selector{align-items:center;display:flex}.comp-selector select{border-color:var(--accent-dim);background:var(--accent-bg);color:var(--text);min-width:160px;padding-right:2.5rem;font-size:.82rem;font-weight:700}.comp-selector select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.comp-count{color:var(--accent);background:var(--accent-dim);letter-spacing:.02em;white-space:nowrap;border-radius:8px;flex-shrink:0;margin-left:.4rem;padding:.15rem .4rem;font-size:.6rem;font-weight:700}.comp-sync-info{color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:.4rem;font-size:.6rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);border-color:var(--accent);outline:none}.nav-pills .nav-link:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);outline:none}.btn:active:not(:disabled){transform:scale(.97)}.btn-ghost:focus{background:var(--hover-overlay);border-color:var(--text-muted)}.btn-primary:focus{box-shadow:0 0 0 3px var(--blue-dim)}.btn-success:focus{box-shadow:0 0 0 3px var(--green-dim)}.btn-outline-danger:focus{box-shadow:0 0 0 3px var(--red-dim)}.btn-accent:focus:not(:disabled){box-shadow:0 0 0 3px var(--accent-dim)}.table:not(.table-sm) tbody tr:hover td,.table-sm tbody tr:hover td{background:var(--hover-overlay)}.pick-card:focus-within:not(.used){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{pointer-events:auto;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);color:var(--text);align-items:center;gap:.6rem;min-width:220px;max-width:360px;padding:.7rem 1rem;font-size:.82rem;font-weight:500;transition:opacity .3s,transform .3s;animation:.3s ease-out toast-in;display:flex;box-shadow:0 8px 24px #00000026}.toast.removing{opacity:0;transform:translate(100%)}.toast-icon{flex-shrink:0;font-size:1.1rem}.toast-success{border-left:3px solid var(--green)}.toast-error{border-left:3px solid var(--red)}.toast-warning{border-left:3px solid var(--accent)}.toast-info{border-left:3px solid var(--blue)}@keyframes toast-in{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--bg-card-hover) 50%, var(--border) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s infinite skeleton-shimmer}.skeleton-row{height:2.2rem;margin-bottom:.35rem}.skeleton-text{width:60%;height:.85rem}.skeleton-circle{border-radius:50%;width:32px;height:32px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confetti-burst{pointer-events:none;z-index:9999;position:fixed;top:50%;left:50%}.confetti-piece{border-radius:2px;width:8px;height:8px;animation:1s ease-out forwards confetti-fall;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{opacity:0;transform:translate(var(--cx), var(--cy)) rotate(var(--cr)) scale(0)}}.rivalry-row{background:color-mix(in srgb, var(--accent) 6%, transparent);font-size:.72rem}.rivalry-row td{border-bottom:none!important;padding-top:0!important}.rivalry-info{color:var(--text-muted);gap:.75rem;font-weight:600;display:flex}.rivalry-up{color:var(--green)}.rivalry-down{color:var(--red)}.achievement-badge{background:var(--badge-muted-bg);color:var(--text-muted);white-space:nowrap;border-radius:20px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.achievement-badge.gold{background:var(--accent-dim);color:var(--accent)}.achievement-badge.green{background:var(--green-dim);color:var(--green)}.achievement-badge.red{background:var(--red-dim);color:var(--red)}.achievement-badge.purple{color:var(--purple);background:#a855f71f}.achievements-wrap{flex-wrap:wrap;gap:.3rem;margin-top:.25rem;display:flex}.h2h-overlay{z-index:5000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.2s fade-in;display:flex;position:fixed;inset:0}.h2h-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:80vh;padding:1.5rem;animation:.3s ease-out fade-up;overflow-y:auto}.h2h-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.h2h-header h3{text-transform:uppercase;letter-spacing:1px;margin:0;font-size:1rem}.h2h-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.h2h-close:hover{color:var(--text)}.h2h-vs{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;margin-bottom:1rem;display:grid}.h2h-player{font-size:1.1rem;font-weight:800}.h2h-vs-label{color:var(--text-muted);font-size:.8rem;font-weight:700}.h2h-stage-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.8rem;display:grid}.h2h-stage-row:last-child{border-bottom:none}.h2h-winner{color:var(--green);font-weight:700}.h2h-loser{color:var(--text-muted)}.h2h-stage-label{text-align:center;color:var(--text-muted);font-size:.7rem;font-weight:700}.h2h-score-summary{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;display:grid}.h2h-stat{text-align:center;background:var(--bg);border-radius:var(--radius);padding:.6rem}.h2h-stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:700}.h2h-stat-value{font-size:1.2rem;font-weight:800}.rider-photo{object-fit:cover;object-position:top;background:var(--badge-muted-bg);cursor:pointer;border-radius:50%;flex-shrink:0;width:48px;height:48px}.rider-name-link{text-decoration:none;color:var(--text)!important}.rider-name-link:hover{color:var(--accent)!important}.rider-pcs-icon{width:18px;height:18px;color:var(--text-muted);background:var(--badge-muted-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;line-height:1;text-decoration:none;transition:all .15s;display:inline-flex}.rider-pcs-icon:hover{color:var(--accent-text);background:var(--accent)}.pwa-only{display:none}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){.pwa-only{display:inline-flex}}.table-responsive-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.card-body.p-0:has(>table){-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=640px){.card-body.p-0>table th,.card-body.p-0>table td,.table-responsive-wrapper>table th,.table-responsive-wrapper>table td{white-space:nowrap}}.rider-specs{color:var(--text-muted);margin-top:.1rem;font-size:.65rem;line-height:1.3}.stage-info-badge{color:var(--text-muted);background:var(--badge-muted-bg);border-radius:6px;margin-bottom:.2rem;margin-right:.25rem;padding:.15rem .45rem;font-size:.65rem;font-weight:600;display:inline-block}.stage-profile-img{object-fit:contain;border-radius:var(--radius);cursor:zoom-in;width:100%;max-height:100px;margin-top:.5rem;transition:max-height .3s}.stage-profile-img.expanded{cursor:zoom-out;max-height:80vh}.sparkline{margin-top:.2rem;display:block}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.tab-section{display:none}.tab-section.active{display:block}.admin-sub{display:none}.admin-sub.active{display:block}#app,#auth-screen{display:none}#splash{background:var(--bg);z-index:9999;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}#splash.hide{opacity:0;pointer-events:none}.splash-logo{width:64px;height:64px;margin-bottom:1rem;animation:1.2s linear infinite spin-wheel}@keyframes spin-wheel{to{transform:rotate(360deg)}}.alert-warning{background:var(--accent-bg);border:1px solid var(--accent-dim);color:var(--accent);border-radius:10px}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000014}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, var(--green) 33%, var(--red) 66%, var(--purple) 100%);height:4px;position:absolute;top:0;left:0;right:0}.auth-card h1{color:var(--accent);letter-spacing:5px;text-transform:uppercase;font-family:Satoshi,sans-serif;font-size:1.7rem;font-weight:900}.auth-logo-svg{width:68px;height:68px;color:var(--accent);filter:drop-shadow(0 2px 8px color-mix(in srgb, var(--accent) 25%, transparent));margin-bottom:.75rem}.auth-subtitle{letter-spacing:.01em;font-size:.82rem;line-height:1.5}.auth-road{background:repeating-linear-gradient(90deg, var(--accent) 0, var(--accent) 16px, transparent 16px, transparent 24px);opacity:.3;border-radius:3px;height:5px;margin-top:1.25rem}.auth-intro{flex-direction:column;justify-content:center;padding:2.5rem 2rem;display:flex}.auth-intro h2{letter-spacing:-.03em;text-transform:none;margin-bottom:1.25rem;font-size:2.4rem;font-weight:900;line-height:1.1}.auth-intro h2 .highlight{background:linear-gradient(135deg, var(--accent), var(--green));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-intro p{color:var(--text-muted);margin-bottom:0;font-size:.95rem;line-height:1.7}.auth-features{flex-direction:column;gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.auth-features li{color:var(--text);align-items:center;gap:.65rem;font-size:.9rem;display:flex}.auth-features .feat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.feat-gc{background:var(--jersey-gc-bg);color:var(--accent)}.feat-pts{background:var(--jersey-pts-bg);color:var(--green)}.feat-mt{background:var(--jersey-mt-bg);color:var(--red)}.feat-game{background:var(--jersey-game-bg);color:var(--purple)}@media (width<=991.98px){.auth-intro{text-align:center;padding:2rem 1rem .5rem}.auth-intro h2{font-size:1.6rem}.auth-features{align-items:center}}#standings-row table{table-layout:fixed;width:100%}#standings-row table th:first-child,#standings-row table td:first-child{width:2rem}#standings-row table th:last-child,#standings-row table td:last-child{width:6.5rem}.leader-hero{border-bottom:1px solid var(--border);background:var(--accent-bg);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1.1rem;display:none}.leader-hero:not(:empty){display:flex}.jersey-gc+.leader-hero{background:var(--jersey-gc-bg)}.jersey-points+.leader-hero{background:var(--jersey-pts-bg)}.jersey-mountain+.leader-hero{background:var(--jersey-mt-bg)}.jersey-game+.leader-hero{background:var(--jersey-game-bg)}.jersey-gc+.leader-hero .leader-hero-score{color:var(--accent)}.jersey-points+.leader-hero .leader-hero-score{color:var(--green)}.jersey-mountain+.leader-hero .leader-hero-score{color:var(--red)}.jersey-game+.leader-hero .leader-hero-score{color:var(--purple)}.leader-hero-inner{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.leader-hero-name{color:var(--text);letter-spacing:-.01em;font-size:.92rem;font-weight:800}.leader-hero-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.05rem;font-size:.62rem;font-weight:700}.leader-hero-score{white-space:nowrap;flex-shrink:0;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:1.05rem;font-weight:900}.leader-row>td{background:color-mix(in srgb, var(--accent) 7%, transparent)!important}.icon{vertical-align:-.15em;flex-shrink:0;display:inline-block}.jersey-gc .icon-jersey{color:var(--accent)}.jersey-points .icon-jersey{color:var(--green)}.jersey-mountain .icon-jersey{color:var(--red)}.jersey-game .icon-jersey{color:var(--purple)}.rank-1{color:var(--accent);font-size:1rem;font-weight:800}.rank-2{color:#a8a29e;font-weight:700}.rank-3{color:#b45309;font-weight:700}.rank-change{vertical-align:super;white-space:nowrap;margin-left:2px;font-size:.6em;font-weight:700}.rank-up{color:#22c55e}.rank-down{color:#ef4444}.team-badge{white-space:nowrap;align-items:center;gap:5px;font-size:.75rem;font-weight:600;display:inline-flex}.team-dot{border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;width:18px;height:18px}[data-theme=light] .team-dot{border-color:#0000001a}.team-shirt{object-fit:contain;flex-shrink:0;width:34px;height:34px}.team-group-header .team-shirt{width:40px;height:40px}.team-badge-sm .team-shirt{width:18px;height:18px}.team-badge-sm .team-dot{width:10px;height:10px}.team-abbr{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.65rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tab-section.active{animation:.2s ease-out fadeIn}.empty-state{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.empty-state-icon{margin-bottom:.75rem;font-size:2.5rem}.empty-state-text{font-size:.85rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.form-switch .form-check-input{border-color:var(--border)}.form-switch .form-check-input:checked{background-color:var(--green);border-color:var(--green)}.text-success{color:var(--green)!important}.text-danger{color:var(--red)!important}.text-warning{color:var(--accent)!important}.text-muted{color:var(--text-muted)!important}.card-body,.card-header,.card-header h5,.card-header h6,.modal-body,.list-group-item,.dropdown-item,p,label,h1,h2,h3,h4,h5,h6,.form-label,td,th,li:not([class]),span:not(.badge):not(.team-abbr):not(.team-dot):not([class*=text-]):not([class*=comp-]){color:var(--text)}.btn-outline-secondary{color:var(--text-muted);border-color:var(--border)}.btn-outline-secondary:hover{color:var(--text);background:var(--hover-overlay)}a:not(.nav-link):not(.btn):not([class*=comp-]){color:var(--accent)}.table-striped>tbody>tr>*,code,pre{color:var(--text)}@media (width<=768px){.navbar .container{flex-wrap:wrap;gap:.5rem}.navbar .d-flex{gap:.4rem!important}#user-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden;font-size:.75rem!important}#main-tabs{flex-wrap:nowrap;justify-content:stretch;gap:0;overflow-x:visible}#main-tabs .nav-item{flex:1}#main-tabs .nav-link{white-space:nowrap;justify-content:center;align-items:center;width:100%;padding:.45rem .25rem;font-size:.75rem;display:flex}#main-tabs .nav-label{display:none}#main-tabs .icon{width:18px;height:18px}#admin-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}#admin-tabs::-webkit-scrollbar{display:none}#admin-tabs .nav-link{white-space:nowrap;padding:.5rem .7rem;font-size:.75rem}.table-responsive-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}:is(.card:has(>.card-body>.table-responsive-wrapper),.card:has(>.card-body.table-responsive-wrapper),.card:has(>.card-body.p-0>table)){overflow:visible}.table th,.table td{padding:.35rem .4rem;font-size:.75rem}.pick-card .card-body{padding:.4rem .6rem!important}.pick-card .fw-bold{font-size:.82rem}.pick-card small{font-size:.7rem}.pick-card .rider-photo,#filter-panel{display:none!important}#filter-panel.open{display:flex!important}#filter-toggle.active{background:var(--comp-color,#0d6efd);border-color:var(--comp-color,#0d6efd);color:#fff}.jersey-gc h5,.jersey-points h5,.jersey-mountain h5,.jersey-game h5{font-size:.85rem!important}#standings-row{gap:.75rem!important}#standings-row>[class*=col-],.admin-sub .row.g-2>[class*=col-md]{flex:0 0 100%;max-width:100%}#section-pick>.card>.card-body>.d-flex{flex-direction:column;gap:.5rem;align-items:stretch!important}#section-pick .d-flex .form-select{width:100%!important}#section-pick .d-flex .d-flex{justify-content:space-between}#stage-select{flex:1;min-width:0}#btn-submit-pick{width:100%}.pick-bar-inner{text-align:center;flex-direction:column;gap:.5rem}#participants-content .table th,#participants-content .table td{white-space:nowrap;padding:.3rem .35rem;font-size:.72rem}#participants-content .card-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.mob-hide{display:none!important}#section-history .table th,#section-history .table td{white-space:normal}#history-table td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}#history-table .rider-photo,#participants-content .rider-photo{display:none!important}#history-table .team-badge-sm,#participants-content .team-badge-sm{display:none}#history-stats .col-4 .card-body{padding:.4rem .25rem!important}#history-stats .col-4 div[style*="font-size:1.1rem"]{font-size:.95rem!important}.container{padding-left:.75rem;padding-right:.75rem}.stage-dot{width:30px;height:30px;font-size:.6rem}.comp-banner{font-size:.85rem;padding:.4rem .6rem!important}.table .avatar-sm{width:24px;height:24px;font-size:.55rem}}@media (width<=400px){.navbar-brand{font-size:1rem}#user-name{display:none}.pick-card .fw-bold{font-size:.75rem}#main-tabs .nav-link{padding:.35rem .45rem;font-size:.7rem}}
