:root,[data-theme=dark]{--bg:#08090c;--bg-card:#111318;--bg-card-hover:#15181d;--bg-elevated:#1a1d23;--border:#ffffff12;--border-strong:#ffffff1f;--text:#f3f4f6;--text-muted:#828693;--accent:#e6b520;--accent-hover:#f2c63d;--accent-text:#15130a;--accent-dim:#e6b52021;--accent-bg:#e6b5200f;--green:#3ecf6e;--green-dim:#3ecf6e1f;--red:#e5484d;--red-dim:#e5484d1f;--blue:#4c8dff;--blue-dim:#4c8dff1f;--purple:#9d6ef0;--purple-dim:#9d6ef01f;--pink:#ec4899;--hover-overlay:#ffffff0a;--stripe:#ffffff05;--badge-muted-bg:#ffffff0f;--jersey-gc-bg:#e6b52012;--jersey-pts-bg:#3ecf6e12;--jersey-mt-bg:#e5484d12;--jersey-game-bg:#9d6ef012;--jaune:#f2c200;--jaune-ink:#1a1606;--jaune-glow:#f2c2001a;--vert:#2fbf5b;--vert-ink:#06180c;--vert-glow:#2fbf5b1a;--pois:#e23b3b;--pois-ink:#fff;--pois-glow:#e23b3b1a;--wit:#e9ebf0;--wit-edge:#e9ebf0;--wit-ink:#14151a;--wit-glow:#e9ebf014;--font-display:"Clash Display", "Satoshi", system-ui, sans-serif;--radius:8px;--radius-lg:10px;--shadow-sm:0 1px 1px #0003;--shadow-md:0 2px 10px -4px #00000059;--shadow-lg:0 20px 40px -16px #0000008c;--ease:cubic-bezier(.2, .8, .2, 1);--dur:.18s}[data-theme=light]{--bg:#f5f5f7;--bg-card:#fff;--bg-card-hover:#fafafb;--bg-elevated:#fff;--border:#0f121917;--border-strong:#0f121929;--text:#16181d;--text-muted:#6e7280;--accent:#9a6b00;--accent-hover:#7d5600;--accent-text:#fff;--accent-dim:#9a6b001f;--accent-bg:#9a6b000e;--green:#15803d;--green-dim:#15803d1a;--red:#cf3038;--red-dim:#cf303817;--blue:#2563eb;--blue-dim:#2563eb17;--purple:#7c3aed;--purple-dim:#7c3aed17;--pink:#db2777;--hover-overlay:#0f121909;--stripe:#0f121905;--badge-muted-bg:#0f12190e;--jersey-gc-bg:#9a6b000f;--jersey-pts-bg:#15803d0f;--jersey-mt-bg:#cf30380d;--jersey-game-bg:#7c3aed0d;--jaune:#e0a800;--jaune-ink:#1a1606;--jaune-glow:#e0a80021;--vert:#1f9d49;--vert-ink:#fff;--vert-glow:#1f9d491f;--pois:#d62f2f;--pois-ink:#fff;--pois-glow:#d62f2f1a;--wit:#fff;--wit-edge:#9aa0ad;--wit-ink:#16181d;--wit-glow:#0f12190d;--shadow-sm:0 1px 1px #0f12190a;--shadow-md:0 2px 10px -6px #0f121914;--shadow-lg:0 20px 40px -16px #0f121929}*,:before,:after{box-sizing:border-box}body{-webkit-text-size-adjust:100%;margin:0;font-size:1rem;font-weight:400;line-height:1.5}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}h2{font-size:calc(1.325rem + .9vw)}h3{font-size:calc(1.3rem + .6vw)}h4{font-size:calc(1.275rem + .3vw)}h5{font-size:1.25rem}h6{font-size:1rem}@media (width>=1200px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}}p{margin-top:0;margin-bottom:1rem}ul,ol{margin-top:0;margin-bottom:1rem;padding-left:2rem}b,strong{font-weight:bolder}small{font-size:.875em}hr{border:0;border-top:1px solid var(--border-strong);margin:1rem 0}img,svg{vertical-align:middle}label{display:inline-block}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}button,[type=button],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}table{caption-side:bottom;border-collapse:collapse}th{text-align:inherit}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:.75rem;padding-right:.75rem}@media (width>=576px){.container{max-width:540px}}@media (width>=768px){.container{max-width:720px}}@media (width>=992px){.container{max-width:960px}}@media (width>=1200px){.container{max-width:1140px}}@media (width>=1400px){.container{max-width:1320px}}.row{--gx:1.5rem;--gy:0rem;margin-top:calc(-1 * var(--gy));margin-right:calc(-.5 * var(--gx));margin-left:calc(-.5 * var(--gx));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-right:calc(var(--gx) * .5);padding-left:calc(var(--gx) * .5);margin-top:var(--gy);flex-shrink:0}.g-2{--gx:.5rem;--gy:.5rem}.g-3{--gx:1rem;--gy:1rem}.g-4{--gx:1.5rem;--gy:1.5rem}.col-auto{flex:none;width:auto}.col-4{flex:none;width:33.3333%}.col-6{flex:none;width:50%}.col-12{flex:none;width:100%}@media (width>=576px){.col-sm-8{flex:none;width:66.6667%}}@media (width>=768px){.col-md-1{flex:none;width:8.3333%}.col-md-2{flex:none;width:16.6667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.3333%}.col-md-5{flex:none;width:41.6667%}.col-md-6{flex:none;width:50%}}@media (width>=992px){.col-lg-4{flex:none;width:33.3333%}.col-lg-5{flex:none;width:41.6667%}.col-lg-7{flex:none;width:58.3333%}}.d-none{display:none!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (width>=768px){.d-md-none{display:none!important}.d-md-table-cell{display:table-cell!important}}@media (width>=992px){.d-lg-block{display:block!important}}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-shrink-0{flex-shrink:0!important}.flex-grow-1{flex-grow:1!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.ms-1{margin-left:.25rem!important}.ms-auto{margin-left:auto!important}.me-1{margin-right:.25rem!important}.p-0{padding:0!important}.p-2{padding:.5rem!important}.p-4{padding:1.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.ps-3{padding-left:1rem!important}.text-center{text-align:center!important}.text-end{text-align:right!important}.text-truncate{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.fw-bold{font-weight:700!important}.text-secondary{color:var(--text-muted)!important}.text-dark{color:var(--text)!important}.w-100{width:100%!important}.btn{color:var(--text);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#0000;border:1px solid #0000;border-radius:.375rem;padding:.375rem .75rem;font-size:1rem;line-height:1.5;text-decoration:none;display:inline-block}.btn:disabled{pointer-events:none;opacity:.65}.btn-sm{border-radius:.25rem;padding:.25rem .5rem;font-size:.875rem}.btn-warning{background:var(--accent);border-color:var(--accent);color:var(--jaune-ink)}.btn-warning:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--jaune-ink)}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.btn-danger:hover{background:color-mix(in srgb, var(--red) 85%, #000);color:#fff;border-color:#0000}.btn-outline-primary{color:var(--blue);border-color:var(--blue)}.btn-outline-primary:hover{background:var(--blue-dim);color:var(--blue)}.btn-outline-warning{color:var(--accent);border-color:var(--accent)}.btn-outline-warning:hover{background:var(--accent-dim);color:var(--accent)}.btn-outline-info{color:var(--blue);border-color:var(--blue)}.btn-outline-info:hover{background:var(--blue-dim);color:var(--blue)}.form-label{margin-bottom:.5rem}.form-control{width:100%;color:var(--text);border:1px solid var(--border);appearance:none;background-color:#0000;background-clip:padding-box;border-radius:.375rem;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;display:block}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-select{width:100%;color:var(--text);border:1px solid var(--border);appearance:none;background-color:#0000;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23888a93' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;border-radius:.375rem;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;line-height:1.5;display:block}.form-select-sm{border-radius:.25rem;padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-check{min-height:1.5rem;margin-bottom:.125rem;padding-left:1.5em;display:block}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{vertical-align:top;appearance:none;background-color:var(--bg);border:1px solid var(--border-strong);-webkit-print-color-adjust:exact;print-color-adjust:exact;background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:.25em;width:1em;height:1em;margin-top:.25em}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-switch{padding-left:2.5em}.form-switch .form-check-input{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23888a93'/%3e%3c/svg%3e");background-position:0;border-radius:2em;width:2em;margin-left:-2.5em;transition:background-position .15s ease-in-out}.form-switch .form-check-input:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");background-position:100%}.input-group{flex-wrap:wrap;align-items:stretch;width:100%;display:flex;position:relative}.input-group>.form-control,.input-group>.form-select{flex:auto;width:1%;min-width:0;position:relative}.input-group-text{color:var(--text-muted);text-align:center;white-space:nowrap;background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:.375rem;align-items:center;padding:.375rem .75rem;font-weight:400;line-height:1.5;display:flex}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{border-radius:.25rem;padding:.25rem .5rem;font-size:.875rem}.input-group>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.input-group>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.table{vertical-align:top;width:100%;margin-bottom:1rem}.table th,.table td{padding:.5rem}.table>thead{vertical-align:bottom}.table-sm th,.table-sm td{padding:.25rem}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.badge{color:var(--text);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;display:inline-block}.nav{flex-wrap:wrap;margin-bottom:0;padding-left:0;list-style:none;display:flex}.nav-link{padding:.5rem 1rem;text-decoration:none;display:block}.navbar{flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:relative}.navbar>.container{flex-wrap:inherit;justify-content:space-between;align-items:center;display:flex}.navbar-brand{white-space:nowrap}.card{word-wrap:break-word;background-clip:border-box;flex-direction:column;min-width:0;display:flex;position:relative}.card-body{flex:auto;padding:1rem}.alert{border-radius:var(--radius);border:1px solid #0000;margin-bottom:1rem;padding:1rem;position:relative}.spinner-border{vertical-align:-.125em;border:.25em solid;border-right-color:#0000;border-radius:50%;width:2rem;height:2rem;animation:.75s linear infinite spinner-border;display:inline-block}.spinner-border-sm{border-width:.2em;width:1rem;height:1rem}@keyframes spinner-border{to{transform:rotate(360deg)}}*{font-family:Satoshi,system-ui,sans-serif}body{background:var(--bg);color:var(--text);transition:background var(--dur), color var(--dur);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{letter-spacing:-.015em;font-weight:700}h1,h2{font-family:var(--font-display);letter-spacing:-.025em;font-weight:600}.display{font-family:var(--font-display);letter-spacing:-.03em;font-weight:700;line-height:.98}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.card-header h5,.card-header h6{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);align-items:center;gap:.45rem;font-size:.74rem;font-weight:600;display:flex}::selection{background:var(--accent-dim)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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-]):not(.rank-badge){color:var(--text)}a:not(.nav-link):not(.btn):not([class*=comp-]):not(.stage-link-chip){color:var(--accent)}.table-striped>tbody>tr>*,code,pre{color:var(--text)}.icon{vertical-align:-.15em;flex-shrink:0;display:inline-block}.tab-section{display:none}.tab-section.active{display:block}.admin-sub{display:none}.admin-sub.active{display:block}#app,#auth-screen{display:none}.navbar{border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);padding:.5rem 0;position:sticky;top:0;background:color-mix(in srgb, var(--bg) 78%, transparent)!important}.navbar-brand{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:1.02rem;font-weight:700;text-decoration:none;display:flex;color:var(--text)!important}.navbar-brand .brand-logo{width:24px;height:24px;color:var(--accent);transition:transform .6s var(--ease);flex-shrink:0}.navbar-brand:hover .brand-logo{transform:rotate(180deg)}.theme-toggle{border:1px solid var(--border);cursor:pointer;width:34px;height:34px;color:var(--text-muted);transition:color var(--dur), border-color var(--dur), background var(--dur);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text);background:var(--hover-overlay)}.comp-selector{align-items:center;display:flex}.comp-logo{object-fit:contain;box-sizing:content-box;background:#fff;border-radius:6px;width:auto;max-width:64px;height:26px;margin-right:8px;padding:2px 5px}.comp-selector select{border-color:var(--border);background:var(--bg-card);color:var(--text);min-width:160px;padding-right:2.5rem;font-size:.82rem;font-weight:600}.comp-selector select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.comp-count{color:var(--accent);background:var(--accent-dim);letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;margin-left:.4rem;padding:.15rem .45rem;font-size:.62rem;font-weight:700}.comp-sync-info{color:var(--text-muted);white-space:nowrap;flex-shrink:0;margin-left:.4rem;font-size:.62rem}.nav-pills{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;gap:2px;width:fit-content;padding:4px}.nav-pills .nav-item{display:flex}.nav-pills .nav-link{color:var(--text-muted);font-family:var(--font-display);letter-spacing:.02em;transition:color var(--dur), background var(--dur), box-shadow var(--dur);border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.84rem;font-weight:500;display:flex}.nav-pills .nav-link:hover{color:var(--text)}.nav-pills .nav-link{z-index:0;position:relative}.nav-pills .nav-link.active{color:var(--jaune-ink);background:0 0;font-weight:600}.nav-pills .nav-link.active:before{content:"";background:var(--jaune);z-index:-1;border-radius:6px;position:absolute;inset:0;transform:skew(-10deg)}.nav-pills .nav-link.active .icon{color:var(--jaune-ink)}.nav-pills .nav-link:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);outline:none}.nav-tabs{border-bottom:1px solid var(--border)}.nav-tabs .nav-link{color:var(--text-muted);transition:color var(--dur);border:none;margin-bottom:-1px;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(--text);border-bottom:2px solid var(--accent);background:0 0;font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--dur);overflow:hidden}.card:not(.pick-card):hover{border-color:var(--border-strong)}.card-header{border-bottom:1px solid var(--border);background:0 0;padding:.85rem 1.25rem}.card-header.jersey-gc{--jcol:var(--jaune);--jglow:var(--jaune-glow)}.card-header.jersey-points{--jcol:var(--vert);--jglow:var(--vert-glow)}.card-header.jersey-mountain{--jcol:var(--pois);--jglow:var(--pois-glow)}.card-header.jersey-game{--jcol:var(--wit-edge);--jglow:var(--wit-glow)}.card-header[class*=jersey-]{position:relative}.card-header[class*=jersey-]:before{content:"";background:var(--jcol);width:3px;position:absolute;top:0;bottom:0;left:0}.card-header[class*=jersey-]:after{content:"";background:var(--jglow);clip-path:polygon(0 0,100% 0,calc(100% - 22px) 100%,0 100%);pointer-events:none;width:38%;position:absolute;top:0;bottom:0;left:0}.card-header[class*=jersey-] h5{z-index:1;position:relative}.card-header.jersey-mountain:after{background-image:radial-gradient(circle at 4px 4px, color-mix(in srgb, var(--pois) 26%, transparent) 2.2px, transparent 2.6px);background-size:18px 18px}.card-header[class*=jersey-] h5{color:var(--text)}.card-header[class*=jersey-] .icon-jersey{color:var(--jcol)}.btn{border-radius:var(--radius);font-family:var(--font-display);transition:background var(--dur), color var(--dur), border-color var(--dur), box-shadow var(--dur), transform var(--dur);letter-spacing:0;padding:.5rem 1.1rem;font-size:.87rem;font-weight:500}.btn:active:not(:disabled){transform:scale(.98)}.btn-skew{border-radius:6px;transform:skew(-10deg)}.btn-skew>span{display:inline-block;transform:skew(10deg)}.btn-skew:active:not(:disabled){transform:skew(-10deg)scale(.98)}.btn-accent{background:var(--comp-color,var(--jaune));color:var(--jaune-ink);box-shadow:var(--shadow-sm);border:none}.btn-accent:hover{background:var(--accent-hover);color:var(--jaune-ink);box-shadow:var(--shadow-md)}.btn-accent:disabled{opacity:.4;box-shadow:none}.btn-accent:focus:not(:disabled){box-shadow:0 0 0 3px var(--accent-dim)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover,.btn-ghost:focus{background:var(--hover-overlay);color:var(--text);border-color:var(--border-strong)}.btn-outline-secondary{color:var(--text-muted);border-color:var(--border)}.btn-outline-secondary:hover{color:var(--text);background:var(--hover-overlay);border-color:var(--border-strong)}.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-outline-danger:focus{box-shadow:0 0 0 3px var(--red-dim)}.btn-success{background:var(--green);border-color:var(--green);color:#fff}.btn-success:hover{background:color-mix(in srgb, var(--green) 85%, #000);color:#fff;border-color:#0000}.btn-success:focus{box-shadow:0 0 0 3px var(--green-dim)}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:color-mix(in srgb, var(--blue) 85%, #000);border-color:#0000}.btn-primary:focus{box-shadow:0 0 0 3px var(--blue-dim)}.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}.form-control,.form-select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);transition:border-color var(--dur), box-shadow var(--dur);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 3px 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-strong)}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.form-switch .form-check-input{border-color:var(--border-strong)}.form-switch .form-check-input:checked{background-color:var(--green);border-color:var(--green)}.table{color:var(--text);--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-striped-bg:transparent;--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{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb, var(--text-muted) 75%, transparent);border-bottom:1px solid var(--border);padding-top:.55rem;padding-bottom:.55rem;font-size:.64rem;font-weight:600}.table td{color:var(--text);border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-bg-type:transparent}.table tbody tr{transition:background var(--dur)}.table tbody tr:hover td{background:var(--hover-overlay)}.time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:.84rem;font-weight:600}.rank-badge{background:var(--wit);border:1px solid var(--wit-edge);font-variant-numeric:tabular-nums;min-width:26px;height:22px;color:var(--wit-ink);border-radius:2px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:800;display:inline-flex;position:relative;transform:rotate(-4deg)}.rank-badge:before,.rank-badge:after{content:"";background:color-mix(in srgb, var(--wit-ink) 30%, transparent);border-radius:50%;width:3px;height:3px;position:absolute;top:2.5px}.rank-badge:before{left:3px}.rank-badge:after{right:3px}.rank-badge-1{background:var(--accent-dim);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.rank-badge-1:before,.rank-badge-1:after{background:color-mix(in srgb, var(--accent) 40%, transparent)}.rank-badge-2{background:var(--badge-muted-bg);color:var(--text);border-color:var(--border-strong)}.rank-badge-2:before,.rank-badge-2:after{background:color-mix(in srgb, var(--text) 30%, transparent)}.rank-badge-3{color:#c9803a;background:#b4530929;border-color:#c9803a73}.rank-badge-3:before,.rank-badge-3:after{background:#c9803a66}.table-responsive-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.card-body.p-0:has(>table){-webkit-overflow-scrolling:touch;overflow-x:auto}.rank-1,.rank-2,.rank-3{font-variant-numeric:tabular-nums}.rank-1{color:var(--accent);font-size:.95rem;font-weight:800}.rank-2{color:var(--text);font-weight:700}.rank-3{color:var(--text-muted);font-weight:700}.rank-change{vertical-align:super;white-space:nowrap;margin-left:2px;font-size:.6em;font-weight:700}.rank-up{color:var(--green)}.rank-down{color:var(--red)}.leader-row.wears{position:relative}.leader-row.jersey-gc{--jcol:var(--jaune);--jglow:var(--jaune-glow)}.leader-row.jersey-points{--jcol:var(--vert);--jglow:var(--vert-glow)}.leader-row.jersey-mountain{--jcol:var(--pois);--jglow:var(--pois-glow)}.leader-row.jersey-game{--jcol:var(--wit-edge);--jglow:var(--wit-glow)}.leader-row.wears td{background:color-mix(in srgb, var(--jglow) 55%, transparent)}.leader-row.wears td:first-child{box-shadow:inset 3px 0 0 0 var(--jcol)}.leader-row.wears td:last-child{font-family:var(--font-display);font-weight:600}.trui-chip{text-transform:uppercase;letter-spacing:.1em;vertical-align:.12em;clip-path:polygon(4px 0,100% 0,calc(100% - 4px) 100%,0 100%);background:var(--jcol,var(--accent));color:var(--jaune-ink);padding:.1rem .45rem;font-size:.55rem;font-weight:800}.leader-row.jersey-mountain .trui-chip{color:var(--pois-ink)}.leader-row.jersey-points .trui-chip{color:var(--vert-ink)}.leader-row.jersey-game .trui-chip{color:var(--wit-ink)}.badge{letter-spacing:.02em;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);border-radius:0;padding:.3em .85em;font-size:.68rem;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}.badge.bg-info{color:var(--blue);background:var(--blue-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:#ec489921}.comp-vuelta{background:var(--red-dim);color:var(--red)}.comp-classic{background:var(--badge-muted-bg);color:var(--text-muted)}.achievement-badge{clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:var(--badge-muted-bg);color:var(--text-muted);white-space:nowrap;align-items:center;gap:.3rem;padding:.15rem .7rem;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{background:var(--purple-dim);color:var(--purple)}.achievements-wrap{flex-wrap:wrap;gap:.3rem;margin-top:.25rem;display:flex}.stage-info-badge{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--badge-muted-bg);clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);border-radius:0;margin-bottom:.2rem;margin-right:.25rem;padding:.18rem .75rem;font-size:.66rem;font-weight:600;display:inline-block}.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}.avatar-upload-wrapper{display:inline-block;position:relative}.avatar-upload-btn{background:var(--accent);width:22px;height:22px;color:var(--jaune-ink);cursor:pointer;border:2px solid var(--bg-card);transition:transform var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;right:0}.avatar-upload-btn:hover{transform:scale(1.1)}.team-badge{white-space:nowrap;align-items:center;gap:5px;font-size:.75rem;font-weight:600;display:inline-flex}.team-dot{border:1px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:18px;height:18px}.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:.04em;color:var(--text-muted);font-size:.65rem}.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);transition:color var(--dur), background var(--dur);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;line-height:1;text-decoration:none;display:inline-flex}.rider-pcs-icon:hover{color:var(--jaune-ink);background:var(--accent)}.rider-specs{color:var(--text-muted);margin-top:.1rem;font-size:.65rem;line-height:1.3}.pcs-link{color:var(--text-muted);opacity:.7;transition:opacity var(--dur), color var(--dur);font-size:.7rem;font-weight:600;text-decoration:none}.pcs-link:hover{opacity:1;color:var(--accent)}.info-tooltip{cursor:help;opacity:.55;vertical-align:middle;transition:opacity var(--dur);margin-left:6px;font-size:.75rem}.info-tooltip:hover{opacity:1}.tip-popup{z-index:9999;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);width:max-content;max-width:260px;box-shadow:var(--shadow-lg);text-align:left;white-space:normal;pointer-events:none;opacity:0;transition:opacity .15s var(--ease), transform .15s var(--ease);padding:.6rem .8rem;font-size:.75rem;font-weight:400;line-height:1.45;position:fixed;transform:translateY(3px)}.tip-popup.visible{opacity:1;transform:none}.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-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--text);min-width:220px;max-width:360px;animation:toast-in .25s var(--ease);--toast-col:var(--blue);align-items:center;gap:.6rem;padding:.7rem 1rem .7rem 1.35rem;font-size:.82rem;font-weight:500;transition:opacity .25s,transform .25s;display:flex;position:relative;overflow:hidden}.toast:before{content:"";background:color-mix(in srgb, var(--toast-col) 16%, transparent);border-right:3px solid var(--toast-col);pointer-events:none;width:26px;position:absolute;top:0;bottom:0;left:-14px;transform:skew(-10deg)}.toast.removing{opacity:0;transform:translate(20px)}.toast-icon{flex-shrink:0;font-size:1.1rem}.toast-success{--toast-col:var(--green)}.toast-error{--toast-col:var(--red)}.toast-warning{--toast-col:var(--accent)}.toast-info{--toast-col:var(--blue)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.h2h-overlay{z-index:5000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.h2h-modal{background:var(--bg-card);border:1px solid var(--border);width:90%;max-width:600px;max-height:80vh;box-shadow:var(--shadow-lg);animation:modal-in .25s var(--ease);border-radius:16px;padding:1.5rem;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.h2h-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.h2h-header h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);margin:0;font-size:.78rem;font-weight:600}.h2h-close{color:var(--text-muted);cursor:pointer;transition:color var(--dur);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-family:var(--font-display);letter-spacing:-.01em;font-size:1.15rem;font-weight:600}.h2h-vs-label{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;background:var(--badge-muted-bg);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);justify-self:center;padding:.22rem .8rem;font-size:.64rem;font-weight:600}.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-elevated);border:1px solid var(--border);border-radius:6px;padding:.6rem;transform:skew(-10deg)}.h2h-stat>*{transform:skew(10deg)}.h2h-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:600}.h2h-stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:600}.skeleton{background:linear-gradient(90deg, var(--badge-muted-bg) 25%, var(--hover-overlay) 50%, var(--badge-muted-bg) 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}}.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}.alert-warning{background:var(--accent-bg);border:1px solid var(--accent-dim);color:var(--accent);border-radius:var(--radius)}.auth-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:20px;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;position:absolute;top:0;left:0;right:0}.auth-card h1{color:var(--text);letter-spacing:.14em;text-transform:uppercase;font-size:1.35rem;font-weight:900}.auth-logo-svg{width:64px;height:64px;color:var(--accent);margin-bottom:.75rem}.auth-subtitle{font-size:.82rem;line-height:1.5}.auth-road{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--text) 55%, transparent) 0 5px, transparent 5px 10px);opacity:.35;height:4px;margin-top:1.5rem}.auth-intro{flex-direction:column;justify-content:center;padding:2.5rem 2rem;display:flex}.auth-intro h2{letter-spacing:-.03em;margin-bottom:1.25rem;font-size:2.3rem;font-weight:900;line-height:1.12}.auth-intro h2 .highlight{color:var(--accent)}.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;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)}.welcome-card{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--bg-card);position:relative;overflow:hidden}.welcome-card:before{content:"";background:var(--accent-bg);clip-path:polygon(60px 0,100% 0,100% 100%,0 100%);pointer-events:none;width:32%;position:absolute;top:0;bottom:0;right:-40px}.welcome-card-inner{justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.welcome-card-title{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:.3rem;font-size:1.15rem;font-weight:600}.welcome-card-sub{color:var(--text-muted);max-width:560px;font-size:.82rem;line-height:1.55}.welcome-card-cta{white-space:nowrap;flex-shrink:0}@media (width<=768px){.welcome-card:before{content:"";background:var(--accent-bg);clip-path:polygon(60px 0,100% 0,100% 100%,0 100%);pointer-events:none;width:32%;position:absolute;top:0;bottom:0;right:-40px}.welcome-card-inner{text-align:center;flex-direction:column;align-items:stretch}.welcome-card-sub{max-width:none}}.standings-col{flex-direction:column;gap:1.5rem;display:flex}.standings-main-card .table td{padding:.9rem 1.25rem;font-size:.9rem}.standings-main-card .table thead th{padding-left:1.25rem;padding-right:1.25rem}.standings-main-card .leader-hero-score{font-size:1.55rem}#standings-side .table td{padding:.62rem 1.25rem}#standings-side .table thead{display:none}#standings-side .leader-hero-score{font-size:1.15rem}#standings-row table{table-layout:fixed;width:100%}#standings-row table th:first-child,#standings-row table td:first-child{width:3.4rem}#standings-row table th:last-child,#standings-row table td:last-child{white-space:nowrap;width:6.5rem}.standings-main-card table th:last-child,.standings-main-card table td:last-child{width:7.5rem}.leader-hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1.15rem 1.25rem;display:none}.leader-hero:not(:empty){display:flex}.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{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;font-size:1.08rem;font-weight:600}.leader-hero-sub{color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;margin-top:.15rem;font-size:.6rem;font-weight:600}.leader-hero-score{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:1.4rem;font-weight:700}.leader-row>td{background:var(--accent-bg)!important}.score-bar{background:var(--badge-muted-bg);width:min(64px,100%);height:3px;margin:4px 0 0 auto;display:block;overflow:hidden;transform:skew(-10deg)}.score-bar>span{background:var(--sbcol,var(--accent));height:100%;transition:width .4s var(--ease);display:block}.score-bar-points{--sbcol:var(--vert)}.score-bar-mountain{--sbcol:var(--pois)}.score-bar-game{--sbcol:var(--purple)}.score-bar-combativity{--sbcol:var(--accent)}.rivalry-row{background:var(--accent-bg);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)}.my-status-card{background:var(--bg-card);position:relative}.my-status-card:after{content:"";background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--text) 55%, transparent) 0 5px, transparent 5px 10px);opacity:.35;height:4px;position:absolute;bottom:0;left:0;right:0}.my-status-card .card-body{padding:1.6rem 1.75rem 1.4rem}.my-status-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:1.1rem;font-size:.66rem;font-weight:600}.my-status-stats{flex-wrap:wrap;gap:.9rem;display:flex}.my-status-stat{border:1px solid var(--border);border-left:3px solid var(--jcol,var(--border-strong));background:color-mix(in srgb, var(--jcol,var(--text-muted)) 6%, var(--bg-elevated));border-radius:6px;flex:1;min-width:150px;padding:.85rem 1.2rem .7rem;transform:skew(-10deg)}.my-status-stat>*{transform:skew(10deg)}.my-status-stat.jersey-gc{--jcol:var(--jaune)}.my-status-stat.jersey-points{--jcol:var(--vert)}.my-status-stat.jersey-mountain{--jcol:var(--pois)}.my-status-stat.jersey-game{--jcol:var(--wit-edge)}.my-status-stat.jersey-mountain{background-image:radial-gradient(circle at 4px 4px, color-mix(in srgb, var(--pois) 18%, transparent) 2px, transparent 2.4px);background-size:16px 16px}.my-status-value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:2.25rem;font-weight:800;line-height:1}.my-status-delta{vertical-align:.5em;margin-left:.3rem;font-size:.85rem;font-weight:700}.my-status-stat-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-top:.45rem;font-size:.68rem;font-weight:600}.my-status-sub{text-transform:none;letter-spacing:0;font-weight:500}.my-status-next{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;font-size:.82rem;display:flex}.my-status-next strong{color:var(--text)}.my-status-pick{color:var(--green);font-weight:600}.pick-card{cursor:pointer;border-color:var(--border);transition:border-color var(--dur), background var(--dur), transform var(--dur) var(--ease), box-shadow var(--dur);position:relative}.pick-card:not(.used):not(.selected):hover{border-color:var(--border-strong);background:var(--bg-card-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pick-card.selected{background:color-mix(in srgb, var(--comp-color,var(--accent)) 7%, var(--bg-card));box-shadow:0 0 0 3px color-mix(in srgb, var(--comp-color,var(--accent)) 14%, transparent);border:2px solid var(--comp-color,var(--accent))!important}.pick-card.selected:after{content:"✓";background:var(--comp-color,var(--accent));color:var(--jaune-ink);width:20px;height:20px;animation:check-in .2s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:6px;right:8px}@keyframes check-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.pick-card.current-pick{border:2px dashed var(--comp-color,var(--accent))!important}.pick-card.current-pick:after{content:"✓";border:1.5px solid var(--comp-color,var(--accent));color:var(--comp-color,var(--accent));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}.current-pick-label{color:var(--comp-color,var(--accent));font-weight:600}.pick-card.used{opacity:.3;pointer-events:none;filter:grayscale(.6)}.pick-card:focus-within:not(.used){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.pick-card .bib-badge{background:var(--badge-muted-bg);min-width:26px;height:20px;color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:5px;justify-content:center;align-items:center;padding:0 4px;font-size:.68rem;font-weight:700;display:inline-flex}.rider-team-group{margin-bottom:.75rem}.team-group-header{border-bottom:1px solid var(--border);margin-bottom:.4rem;padding:.35rem 0;font-size:.8rem}.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(--hover-overlay);border-color:var(--border-strong);color:var(--text)}.stage-nav-btn:disabled{opacity:.3}.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:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--dur), border-color var(--dur), color var(--dur);background:0 0;border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-size:.8rem}.specialty-pill.active{background:var(--comp-color,var(--accent));border-color:var(--comp-color,var(--accent));color:var(--jaune-ink);font-weight:600}.specialty-pill:not(.active):hover{border-color:var(--border-strong);background:var(--hover-overlay)}.rider-availability{color:var(--text-muted);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:.4rem;padding-bottom:2px;font-size:.8rem;display:flex;overflow-x:auto}.rider-availability::-webkit-scrollbar{display:none}.rider-availability .avail-stat{clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;align-items:center;gap:.4rem;padding:.24rem .8rem;font-size:.72rem;font-weight:600;display:inline-flex}@media (width>=768px){.rider-availability{flex-wrap:wrap;overflow:visible}}.rider-availability .avail-stat:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.avail-stat.available{background:var(--green-dim);color:var(--green)}.avail-stat.used{background:var(--red-dim);color:var(--red)}.avail-stat.dnf,.avail-stat.total{background:var(--badge-muted-bg);color:var(--text-muted)}.pick-filters{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.65rem .7rem}.pick-filters .form-control,.pick-filters .form-select{background:var(--bg);font-size:1rem}.pick-filters .d-flex.mb-2{margin-bottom:0!important}#filter-toggle{min-height:44px}#filter-panel{display:none}#filter-panel.open{flex-direction:column;gap:.5rem;margin-top:.6rem;display:flex}#filter-panel.open .form-select{width:100%;max-width:none!important}#filter-panel .form-check{align-items:center;min-height:44px;display:flex}@media (width>=768px){#filter-panel{flex-flow:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.pick-filters .form-control,.pick-filters .form-select{font-size:.85rem}#filter-panel .form-check{min-height:0}}.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}.stage-profile-img{object-fit:contain;border:1px solid var(--border);cursor:zoom-in;width:100%;max-height:230px;transition:max-height .3s var(--ease);background:#fff;border-radius:6px;margin-top:.5rem}.stage-profile-img.expanded{cursor:zoom-out;max-height:80vh}.match-chip{background:var(--badge-muted-bg);color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 7px;font-size:.66rem;font-weight:700;display:inline-block}.match-chip.strong{background:var(--accent-dim);color:var(--accent)}tbody:not(.expanded) .standings-extra{display:none}.standings-expand-row td{padding:0!important}.standings-expand-btn{width:100%;color:var(--text-muted);cursor:pointer;transition:color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border:none;padding:.45rem;font-size:.72rem}.standings-expand-btn:hover{color:var(--text);background:var(--hover-overlay)}.stage-stats{flex-wrap:wrap;gap:.8rem;margin:1rem 0 .75rem;display:flex}.stage-stat{border:1px solid var(--border);background:var(--bg-elevated);border-radius:6px;align-items:center;gap:10px;padding:.45rem 1.1rem;display:flex;transform:skew(-10deg)}.stage-stat>*{transform:skew(10deg)}.stage-stat-icon{background:var(--accent-dim);width:30px;height:30px;color:var(--accent);border-radius:4px;justify-content:center;align-items:center;display:flex;transform:none}.stage-stat-icon>svg{transform:skew(10deg)}.stage-stat-body{flex-direction:column;line-height:1.15;display:flex}.stage-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.stage-stat-value{font-family:var(--font-display);color:var(--text);font-size:.95rem;font-weight:600}.stage-hero-nav{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:.5rem;padding:.55rem .85rem;display:flex}.stage-hero-nav select{flex:1;min-width:0}.stage-hero-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.stage-eyebrow{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.stage-eyebrow-chip{background:var(--jaune);color:var(--jaune-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;border-radius:3px;padding:.18rem .75rem;font-size:.7rem;font-weight:600;display:inline-block;transform:skew(-12deg)}.stage-eyebrow-chip>span{display:inline-block;transform:skew(12deg)}.stage-hero-title{font-family:var(--font-display);letter-spacing:-.02em;margin:.4rem 0 .1rem;font-size:1.5rem;font-weight:600}.stage-hero-sub{color:var(--text-muted);font-size:.82rem}.stage-hero-links{flex-wrap:wrap;gap:.45rem;margin-top:.6rem;display:flex}.stage-link-chip{font-family:var(--font-display);letter-spacing:.04em;color:var(--text-muted);background:var(--badge-muted-bg);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);transition:background var(--dur), color var(--dur);padding:.28rem .95rem;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-block}.stage-link-chip:hover,.stage-link-chip:focus-visible{background:var(--accent-dim);color:var(--accent)}.stage-visual-tabs{gap:6px;margin-top:.5rem;display:flex}.stage-visual-tab{border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border-radius:999px;padding:2px 12px;font-size:.78rem}.stage-visual-tab:hover{color:var(--text)}.stage-visual-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.stage-route-frame{border-radius:var(--radius);border:1px solid var(--border);aspect-ratio:4/3;max-height:70vh;margin-top:.5rem;overflow:hidden}.stage-route-frame iframe{border:0;width:100%;height:100%;display:block}.pick-bar{z-index:50;background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border-strong);box-shadow:var(--shadow-lg);animation:bar-in .25s var(--ease);margin:1rem -.75rem -.75rem;padding:.75rem 1rem;position:sticky;bottom:0;left:0;right:0}@keyframes bar-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.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(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;display:flex;overflow:hidden}.pick-bar-replaces{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.pick-bar-countdown{color:var(--text-muted);font-variant-numeric:tabular-nums;background:var(--badge-muted-bg);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);width:fit-content;margin-top:.3rem;padding:.12rem 1rem;font-size:.72rem;display:inline-block}.pick-bar-countdown.urgent{color:var(--red);background:var(--red-dim);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 .btn-accent{border-radius:6px;transform:skew(-10deg)}.pick-bar .btn-accent>span{display:inline-block;transform:skew(10deg)}.pick-bar.unconfirmed{border-top-color:var(--red);overflow:hidden}.pick-bar.unconfirmed:before{content:"";background:var(--red-dim);border-right:3px solid var(--red);pointer-events:none;width:34px;position:absolute;top:0;bottom:0;left:-14px;transform:skew(-10deg)}.pick-bar{position:sticky}@media (width>=992px){.pick-bar{border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-width:680px;margin:1rem auto 0;padding:.85rem 1.9rem;bottom:1.25rem;transform:skew(-6deg)}.pick-bar-inner{transform:skew(6deg)}.pick-bar.unconfirmed{border-color:color-mix(in srgb, var(--red) 55%, var(--border-strong));box-shadow:var(--shadow-lg), 0 0 24px -8px var(--red-dim)}}.comp-banner{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.6rem;padding:.55rem 1rem .55rem 1.5rem;font-size:.85rem;display:flex;position:relative;overflow:hidden}.comp-banner:before{content:"";background:color-mix(in srgb, var(--comp-color,var(--accent)) 16%, transparent);border-right:3px solid var(--comp-color,var(--accent));pointer-events:none;width:30px;position:absolute;top:0;bottom:0;left:-14px;transform:skew(-10deg)}.comp-banner-name{font-family:var(--font-display);color:var(--text);font-weight:600}.results-table thead th{border-bottom:2px solid;border-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--text-muted) 40%, transparent) 0 4px, transparent 4px 8px) 1}.results-table th:first-child,.results-table td:first-child{padding-left:1.1rem}.results-table th:last-child,.results-table td:last-child{padding-right:1.1rem}.results-table td{padding-top:.55rem;padding-bottom:.55rem}.results-table .col-num{width:4.2rem}.results-table .col-time{width:5.8rem}.results-table .col-status{text-align:right;white-space:nowrap;width:8.5rem}.results-table .rider-cell{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.results-table .winner-row td{background:var(--accent-bg)}.results-table .winner-row td:first-child{position:relative;overflow:hidden}.results-table .winner-row td:first-child:before{content:"";background:color-mix(in srgb, var(--accent) 16%, transparent);border-right:2px solid var(--accent);pointer-events:none;width:20px;position:absolute;top:0;bottom:0;left:-10px;transform:skew(-10deg)}.results-table .cell-dim{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem}.history-stat{border:1px solid var(--border);background:var(--bg-elevated);text-align:center;border-radius:6px;height:100%;padding:.6rem .9rem .55rem;transform:skew(-10deg)}.history-stat>*{transform:skew(10deg)}.history-stat-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.64rem;font-weight:600}.history-stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:2px 0;font-size:1.15rem;font-weight:600}.history-stat-sub{color:var(--text-muted);font-size:.7rem}.history-great td{background:var(--green-dim)!important}.history-good td{background:color-mix(in srgb, var(--green) 5%, transparent)!important}.history-bad td{background:var(--red-dim)!important}.sparkline{margin-top:.2rem;display:block}.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)}}.pwa-only{display:none}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){.pwa-only{display:inline-flex}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tab-section.active{animation:fade-in .2s var(--ease)}.my-status-card,#standings-row .standings-col>div>.card{animation:rise-in .35s var(--ease) backwards}#standings-main>div:first-child>.card{animation-delay:40ms}#standings-side>div:first-child>.card{animation-delay:80ms}#standings-side>div:nth-child(2)>.card{animation-delay:.12s}#standings-side>div:nth-child(3)>.card{animation-delay:.16s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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}}@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;gap:0;width:100%}#main-tabs .nav-item{flex:1}#main-tabs .nav-link{white-space:nowrap;justify-content:center;width:100%;padding:.45rem .25rem;font-size:.75rem}#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}: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}.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}.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{width:28px;height:28px}#filter-toggle.active{background:var(--comp-color,var(--accent));border-color:var(--comp-color,var(--accent));color:var(--jaune-ink)}#standings-row{gap:1rem!important}#standings-row>[class*=col-]{flex:0 0 100%;max-width:100%}.standings-col{gap:1rem}.my-status-card .card-body{padding:1.15rem 1.25rem 1rem}.my-status-stats{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.my-status-stat{min-width:0;padding:.7rem .9rem .55rem}.my-status-value{font-size:1.85rem}.my-status-next{flex-direction:column;align-items:flex-start;gap:.6rem}.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 .rider-photo,#participants-content .rider-photo{width:24px;height:24px}#history-table .team-badge-sm .team-shirt,#participants-content .team-badge-sm .team-shirt{width:16px;height:16px}#history-stats .history-stat{padding:.45rem .4rem .4rem}#history-stats .history-stat-value{font-size:.95rem}.container{padding-left:.75rem;padding-right:.75rem}.stage-dot{width:28px;height:28px;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:.85rem}#user-name{display:none}.pick-card .fw-bold{font-size:.75rem}#main-tabs .nav-link{padding:.35rem .45rem;font-size:.7rem}}.player-click,.rider-click{cursor:pointer}.player-click:hover,.player-click:focus-visible,.rider-click:hover,.rider-click:focus-visible{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--text) 45%, transparent);text-underline-offset:3px}.detail-modal{max-width:480px}.pm-head{align-items:center;gap:.9rem;margin-bottom:.4rem;display:flex}.pm-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.25rem;font-weight:600;line-height:1.15}.pm-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.pm-hero{color:var(--text-muted);font-size:.72rem}.pm-motto{color:var(--text-muted);margin-top:.3rem;font-size:.75rem;font-style:italic}.pm-section-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:1.15rem 0 .6rem;font-size:.66rem;font-weight:600}.pm-empty{color:var(--text-muted);font-size:.78rem}.pm-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .9rem;padding:0 .4rem;display:grid}.pm-stats .my-status-stat{flex:none;min-width:0;padding:.6rem .95rem .5rem}.pm-stats .my-status-value{font-size:1.5rem}.pm-pick-row{border-bottom:1px solid var(--border);grid-template-columns:2.6rem 1fr auto;align-items:center;gap:.6rem;padding:.42rem .15rem;font-size:.82rem;display:grid}.pm-pick-row:last-child{border-bottom:none}.pm-pick-stage{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.7rem;font-weight:600}.pm-pick-pts{font-variant-numeric:tabular-nums;font-weight:700}.pm-actions{justify-content:flex-end;margin-top:1.25rem;display:flex}.rm-head{align-items:flex-start;gap:1rem;margin-bottom:.4rem;display:flex}.rm-photo{object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:8px;flex-shrink:0;width:84px;height:84px}.rm-facts{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.4rem;font-size:.78rem;display:flex}.rm-my-use{color:var(--green);margin-bottom:.45rem;font-size:.78rem;font-weight:600}.rm-spec-note{text-transform:none;letter-spacing:0;opacity:.75;font-weight:500}.spec-row{grid-template-columns:4.2rem 1fr 3.4rem;align-items:center;gap:.6rem;margin-bottom:.45rem;display:grid}.spec-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.66rem;font-weight:600}.spec-track{background:var(--badge-muted-bg);border-radius:2px;height:9px;display:block;overflow:hidden;transform:skew(-10deg)}.spec-fill{background:color-mix(in srgb, var(--text-muted) 55%, transparent);height:100%;transition:width .3s var(--ease);display:block}.spec-fill.top{background:var(--accent)}.spec-val{text-align:right;font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:600}@media (width<=480px){.pm-stats{grid-template-columns:1fr;padding:0 .3rem}.detail-modal{padding:1.1rem}}
