:root{--color-primary:#9489f5;--color-secondary:#39d2c0;--color-bg:#0f1220;--color-bg-elevated:#1a1f33;--color-text:#f4f6ff;--color-text-muted:#a8b0c8;--color-correct:#2ecc71;--color-incorrect:#e74c3c;--color-warning:#f5a623;--font-display:"Outfit", sans-serif;--font-body:"Source Sans 3", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-body);background:radial-gradient(ellipse 80% 50% at 20% -10%, #9489f559, transparent), radial-gradient(ellipse 60% 40% at 90% 10%, #39d2c033, transparent), var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-secondary);text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3{font-family:var(--font-display);margin:0}.app-shell{max-width:1100px;margin:0 auto;padding:1rem 1.25rem 3rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.brand{color:var(--color-text);align-items:center;gap:.75rem;display:flex}.brand img{width:48px;height:48px}.brand span{font-family:var(--font-display);letter-spacing:.02em;font-size:1.5rem;font-weight:800}.nav-links{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:.7rem 1.1rem;font-weight:600;transition:transform .15s,filter .15s}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-ghost{color:var(--color-text);background:0 0;border:1px solid #f4f6ff33}.btn-danger{background:var(--color-incorrect);color:#fff}.shortcut-hint{min-width:1.15rem;font-family:var(--font-body);opacity:.9;background:#00000038;border:1px solid #ffffff47;border-radius:4px;justify-content:center;align-items:center;margin-left:.45rem;padding:.05rem .35rem;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-flex}.btn-secondary{background:var(--color-secondary);color:#06241f}.muted{color:var(--color-text-muted)}.home-competition-cta{text-align:center;margin-bottom:.5rem;padding:1.75rem 1rem 1.25rem}.home-competition-cta h1{margin:0 0 .5rem;font-size:clamp(1.85rem,5vw,2.6rem);line-height:1.15}.home-competition-cta .muted{max-width:28rem;margin:0 auto 1.25rem}.home-competition-btn{padding:.85rem 1.6rem;font-size:1.15rem;font-weight:700;display:inline-flex}.home-or-divider{color:var(--color-text-muted);letter-spacing:.08em;align-items:center;gap:1rem;margin:1.25rem 0 1.5rem;font-size:.85rem;font-weight:700;display:flex}.home-or-divider:before,.home-or-divider:after{content:"";background:#ffffff24;flex:1;height:1px}.home-practice h2{margin:0 0 .35rem;font-size:1.35rem}.home-practice>.muted{margin-bottom:1.25rem}.leaderboard-mode{width:fit-content;margin:.85rem 0 1rem}.leaderboard-mode button{align-items:center;gap:.4rem;display:inline-flex}.leaderboard-mode-icon{flex-shrink:0;width:1rem;height:1rem}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.theme-tile{color:#fff;border-radius:12px;min-height:180px;animation:.25s fadeIn;display:block;position:relative;overflow:hidden}.theme-tile img{object-fit:cover;width:100%;height:100%;transition:transform .35s;position:absolute;inset:0}.theme-tile:hover img{transform:scale(1.05)}.theme-tile .overlay{background:linear-gradient(#0000 35%,#080a14eb);flex-direction:column;justify-content:flex-end;padding:1rem;display:flex;position:absolute;inset:0}.theme-tile h2{margin-bottom:.25rem;font-size:1.15rem}.theme-tile p{color:var(--color-text-muted);margin:0;font-size:.85rem}.tile-stats{gap:.4rem;margin-top:.35rem;display:grid}.tile-stats-row{color:var(--color-text-muted);justify-content:space-between;font-size:.85rem;display:flex}.tile-new{color:var(--color-secondary)!important;margin-top:.35rem!important;font-size:.8rem!important}.toolbar{flex-wrap:wrap;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.toolbar-field{gap:.35rem;font-size:.9rem;display:grid}.toolbar-field select,.toolbar-field input[type=search]{background:var(--color-bg-elevated);color:var(--color-text);font:inherit;border:1px solid #ffffff26;border-radius:8px;padding:.55rem .75rem}.toolbar-search{flex:14rem;min-width:min(100%,14rem)}.toolbar-search input[type=search]{width:100%}.toolbar-search input[type=search]::placeholder{color:var(--color-text-muted);opacity:.75}.filter-toggle{border:1px solid #ffffff26;border-radius:8px;display:inline-flex;overflow:hidden}.filter-toggle button{color:var(--color-text-muted);background:0 0;border:none;padding:.55rem .9rem;font-weight:600}.filter-toggle button.is-active{background:var(--color-primary);color:#fff}.score-gauge{background:#ffffff1f;border-radius:999px;height:10px;margin-top:.75rem;overflow:hidden}.score-gauge--compact{height:6px;margin-top:0}.score-gauge>span{border-radius:inherit;height:100%;transition:width .25s;display:block}.score-gauge--breakdown{flex-direction:row;align-items:stretch;display:flex}.score-gauge--breakdown>span{border-radius:0;flex:none;height:100%;transition:width .25s;display:block}.score-gauge-earned{background:var(--color-correct)}.score-gauge-lost{background:#e74c3c61}.theme-detail{max-width:800px;margin:0 auto}.theme-detail-hero{grid-template-columns:minmax(140px,280px) 1fr;align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:grid}.theme-detail-hero img{aspect-ratio:16/10;object-fit:cover;object-position:center;border-radius:12px;align-self:center;width:100%}.theme-detail-hero-text{flex-direction:column;justify-content:center;min-width:0;display:flex}.theme-resume{margin:.75rem 0;font-size:1.05rem;line-height:1.55}.theme-detail-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.1rem;display:flex}.theme-detail-record{margin-top:-.5rem;margin-bottom:0}.theme-stats-panel{background:var(--color-bg-elevated);border-radius:12px;margin-bottom:1.25rem;padding:1.1rem 1.25rem}.theme-stats-panel h2{margin-bottom:.85rem;font-size:1.1rem}.theme-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.85rem;margin-bottom:.5rem;display:grid}.theme-stats-grid>div{gap:.2rem;display:grid}.theme-stats-grid strong{font-size:1.05rem}.quiz-panel{max-width:720px;margin:0 auto}.quiz-layout{align-items:start;gap:1.25rem;display:grid}.quiz-main{background:#1a1f3359;border-radius:14px;flex-direction:column;min-height:min(70vh,720px);padding:1rem 1.1rem 1.15rem;display:flex}.quiz-main--feedback{justify-content:space-between}.quiz-theme-banner{align-items:center;gap:.85rem;margin-bottom:1rem;display:flex}.quiz-theme-banner img{object-fit:cover;border-radius:10px;flex-shrink:0;width:72px;height:72px}.quiz-theme-banner>div{flex:1;gap:.15rem;min-width:0;display:grid}.quiz-quit-btn{flex-shrink:0;align-items:center;padding:.45rem .75rem;font-size:.9rem;display:inline-flex}.quiz-quit-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a12b8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.quiz-quit-dialog{background:var(--color-bg-elevated);border:1px solid #ffffff1a;border-radius:14px;width:min(100%,380px);padding:1.35rem 1.4rem 1.25rem;animation:.2s quitIn;box-shadow:0 18px 48px #00000073}.quiz-quit-dialog h2{margin-bottom:.45rem;font-size:1.25rem}.quiz-quit-dialog p{margin:0 0 1.15rem}.quiz-quit-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}@keyframes quitIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.quiz-question-block{animation:.35s questionIn}.quiz-question{margin:0 0 .75rem;font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.3}.timer-bar{background:#ffffff1a;border-radius:999px;height:8px;margin:.5rem 0 1.25rem;overflow:hidden}.timer-bar--hidden{visibility:hidden}.timer-bar>span{background:var(--color-primary);height:100%;transition:width .1s linear,background-color .2s;display:block}.choices{gap:.75rem;display:grid}.choice{text-align:left;background:var(--color-bg-elevated);color:var(--color-text);border:1px solid #ffffff1f;border-radius:10px;padding:1rem 1.1rem;font-size:1.05rem}.choice.correct{border-color:var(--color-correct);background:#2ecc712e}.choice.incorrect{border-color:var(--color-incorrect);background:#e74c3c2e}.feedback{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.feedback--bottom{border-top:1px solid #ffffff14;gap:.85rem;margin-top:auto;padding-top:1rem;display:grid}.feedback-row{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.feedback-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn-next{min-width:8.5rem;position:relative;overflow:hidden}.btn-next-progress{transform-origin:0;pointer-events:none;background:#ffffff47;transition:transform 50ms linear;position:absolute;inset:0}.btn-next-label{z-index:1;align-items:center;display:inline-flex;position:relative}.score-pop{font-family:var(--font-display);color:var(--color-secondary);font-size:1.4rem}.quiz-sidebar{display:none}.quiz-sidebar-card{background:var(--color-bg-elevated);border-radius:12px;margin-bottom:.85rem;padding:1rem 1.1rem}.quiz-sidebar-card h2{margin-bottom:.35rem;font-size:1rem}.quiz-sidebar-total{font-family:var(--font-display);margin:0;font-size:2rem;font-weight:800;line-height:1.1}.quiz-best-beat{border-top:1px solid #ffffff14;gap:.2rem;margin-top:1rem;padding-top:.85rem;display:grid}.quiz-best-beat .ahead{color:var(--color-correct);margin:0;font-size:.9rem}.quiz-round-log{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9489f573 transparent;max-height:280px;margin:1rem 0 0;overflow:hidden auto;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.quiz-round-log::-webkit-scrollbar{width:5px}.quiz-round-log::-webkit-scrollbar-track{background:0 0;margin-block:12px}.quiz-round-log::-webkit-scrollbar-thumb{background:#9489f559;border-radius:999px}.quiz-round-log::-webkit-scrollbar-thumb:hover{background:#9489f5a6}.quiz-round-log-list{gap:.2rem;margin:0;padding:110px .15rem;list-style:none;display:grid}.quiz-round-log-list li{color:var(--color-text-muted);border-radius:6px;justify-content:space-between;align-items:center;padding:.22rem .4rem;font-size:.82rem;transition:opacity .2s,font-size .2s,padding .2s,background .2s;display:flex}.quiz-round-log-list li.is-near{opacity:.85}.quiz-round-log-list li.is-far{opacity:.32}.quiz-round-log-list li.is-current{color:var(--color-text);opacity:1;background:#9489f538;padding:.5rem .55rem;font-size:1.08rem;font-weight:700}.quiz-round-log-list li.is-ok{color:var(--color-correct)}.quiz-round-log-list li.is-ko{color:var(--color-incorrect)}.quiz-round-log-list li.is-current.is-ok,.quiz-round-log-list li.is-current.is-ko{color:var(--color-text)}.quiz-delay-card label{justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.quiz-delay-card input[type=range]{width:100%;accent-color:var(--color-primary)}.quiz-delay-scale{justify-content:space-between;margin-top:.25rem;font-size:.8rem;display:flex}@keyframes questionIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width>=980px){.quiz-layout{grid-template-columns:minmax(0,1fr) 280px}.competition-match--live .quiz-layout{grid-template-columns:minmax(0,1fr) 320px}.quiz-sidebar{display:block;position:sticky;top:1rem}.app-shell:has(.quiz-layout){max-width:1180px}.app-shell:has(.competition-match--live){max-width:1220px}}.result-hero{text-align:center;padding:2rem 0}.result-hero .big-score{font-family:var(--font-display);background:linear-gradient(120deg, var(--color-primary), var(--color-secondary));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,10vw,5rem);font-weight:800}.result-world{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:360px;margin:1.35rem auto 0;display:grid}.result-world>div{background:var(--color-bg-elevated);border-radius:10px;gap:.2rem;padding:.85rem 1rem;display:grid}.result-world strong{font-size:1.25rem}.result-note{margin-top:1rem}.result-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.profile-page{max-width:640px;margin:0 auto}.profile-page>h1{margin-bottom:.2rem}.profile-section-title{margin:1.5rem 0 .85rem;font-size:1.15rem}.profile-actions{flex-wrap:wrap;gap:.65rem;margin-top:.85rem;display:flex}.profile-theme-list{gap:.65rem;display:grid}.profile-theme-row{background:var(--color-bg-elevated);color:inherit;border-radius:10px;grid-template-columns:72px 1fr;align-items:center;gap:.85rem;padding:.65rem;text-decoration:none;transition:background .15s;display:grid}.profile-theme-row:hover{background:#ffffff14}.profile-theme-row img{object-fit:cover;border-radius:6px;width:72px;height:54px}.profile-theme-info{gap:.25rem;min-width:0;display:grid}.nav-profile{color:var(--color-text-muted);text-decoration:none}.nav-profile:hover{color:var(--color-primary)}.auth-form,.leaderboard{gap:.85rem;max-width:480px;margin:0 auto;display:grid}.auth-form input{background:var(--color-bg-elevated);width:100%;color:var(--color-text);border:1px solid #ffffff26;border-radius:8px;padding:.85rem 1rem;font-size:1rem}.password-field{position:relative}.password-field input{padding-right:3rem}.password-toggle{width:2.25rem;height:2.25rem;color:var(--color-text-muted);background:0 0;border:none;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-text);background:#ffffff0f}.leaderboard-row{border-bottom:1px solid #ffffff14;grid-template-columns:2.5rem 1fr auto;gap:.75rem;padding:.75rem 0;display:grid}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.brand span{font-size:1.2rem}.theme-detail-hero{grid-template-columns:1fr}}.competition-page,.competition-match{max-width:900px;margin:0 auto;padding:1rem 1.25rem 3rem}.competition-match--live{max-width:none;padding:0}.match-manche-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent,#39d2c0);margin:0 0 .35rem;font-size:.95rem}.match-theme-title{font-family:var(--font-display);margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.4rem);line-height:1.15}.match-pick-timer{color:var(--color-accent,#39d2c0);font-variant-numeric:tabular-nums}.match-pick-bar{margin:.75rem 0 .25rem}.match-wait-block{gap:.75rem;padding:1.5rem 0;display:grid}.match-opp-score{border-top:1px solid #ffffff14;margin-top:1rem;padding-top:.85rem}.match-score-compare{grid-template-columns:1fr auto 1fr;align-items:end;gap:.5rem;margin-bottom:.35rem;display:grid}.match-score-compare-side{gap:.15rem;min-width:0;display:grid}.match-score-compare-side--opp{text-align:right}.match-score-compare-side .quiz-sidebar-total{margin:0;font-size:1.65rem;line-height:1.1}.match-score-compare-mid{justify-items:center;gap:.2rem;padding-bottom:.15rem;font-size:.85rem;display:grid}.match-score-compare-mid .ahead{color:var(--color-correct)}.match-score-compare-mid .behind{color:var(--color-incorrect)}.match-score-cap{margin:0 0 .75rem;font-size:.85rem}.quiz-round-log--versus .quiz-round-log-head{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);opacity:.85;grid-template-columns:2.2rem 1fr 1fr;gap:.35rem;padding:0 .55rem .35rem;font-size:.72rem;display:grid}.quiz-round-log--versus .quiz-round-log-head span:nth-child(2),.quiz-round-log--versus .quiz-round-log-head span:nth-child(3){text-align:right}.quiz-round-log--versus .quiz-round-log-list li{grid-template-columns:2.2rem 1fr 1fr;justify-content:stretch;gap:.35rem;display:grid}.quiz-round-log--versus .round-pts{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.quiz-round-log--versus .round-pts.is-ok{color:var(--color-correct)}.quiz-round-log--versus .round-pts.is-ko{color:var(--color-incorrect)}.quiz-round-log--versus .round-pts.is-live{color:var(--color-text);font-weight:700}.quiz-round-log--versus li.is-opp-current{color:var(--color-text);opacity:1;background:#39d2c024}.quiz-round-log--versus li.is-current.is-ok,.quiz-round-log--versus li.is-current.is-ko{color:var(--color-text)}.quiz-round-log--versus li.is-current .round-pts--me,.quiz-round-log--versus li.is-opp-current .round-pts--opp{color:inherit}.competition-rating{flex-direction:column;gap:.35rem;margin-bottom:1.5rem;display:flex}.competition-rating-value{font-size:2.5rem;line-height:1}.competition-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.competition-friend-list,.competition-board,.match-rounds-log{margin:0 0 1.5rem;padding:0;list-style:none}.competition-friend-list li,.competition-board li{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.profile-pseudo-form{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.profile-pseudo-form input{min-width:0;color:inherit;background:#00000040;border:1px solid #ffffff26;border-radius:8px;flex:12rem;padding:.55rem .75rem}.notif-wrap{position:relative}.notif-btn{justify-content:center;align-items:center;padding:.4rem;line-height:0;display:inline-flex;position:relative}.notif-bell{flex-shrink:0;display:block}.notif-badge{background:var(--color-accent,#e85d4c);color:#fff;text-align:center;border-radius:999px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.7rem;line-height:1.1rem;position:absolute;top:-.15rem;right:-.15rem}.notif-dropdown{background:var(--color-surface,#1a1f2e);z-index:40;border:1px solid #ffffff1f;border-radius:10px;width:min(20rem,85vw);max-height:20rem;padding:.75rem;position:absolute;top:calc(100% + .35rem);right:0;overflow:auto;box-shadow:0 12px 40px #00000059}.notif-dropdown-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.notif-dropdown ul{margin:0;padding:0;list-style:none}.notif-dropdown li{border-bottom:1px solid #ffffff0f;padding:.45rem 0}.notif-dropdown li.unread{font-weight:600}.notif-dropdown a,.notif-plain{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:0;text-decoration:none}.match-scoreboard{background:#ffffff0a;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:grid}.match-side{flex-direction:column;gap:.15rem;display:flex}.match-side.me strong{color:var(--color-accent,#e85d4c)}.match-side:last-child{text-align:right}.match-side:last-child .match-stats{justify-content:flex-end}.match-stats{color:var(--color-muted,#ffffffa6);align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.match-stat{align-items:center;gap:.2rem;display:inline-flex}.match-stat-icon{opacity:.75;flex-shrink:0;width:.85rem;height:.85rem}.match-stat-sep{opacity:.5}.match-vs{flex-direction:column;align-items:center;font-weight:700;display:flex}.match-lobby,.match-theme-pick,.match-live{margin-bottom:1.5rem}.match-round-result{text-align:center;animation:.35s fadeIn}.match-round-result-score{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:.5rem 0;font-size:clamp(2rem,5vw,2.75rem);line-height:1.1}.match-round-result-wins{margin:.75rem 0 .35rem;font-weight:600}.theme-pick-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-top:1rem;display:grid}.theme-pick-card{color:inherit;cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:.4rem;padding:0;display:flex;overflow:hidden}.theme-pick-card:disabled{opacity:.55;cursor:default}.theme-pick-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.theme-pick-card span{padding:.5rem .65rem .75rem;font-size:.9rem;font-weight:600}.match-opp-panel,.match-me-panel{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.speed-bonus-flash{background:#e85d4c33;border-radius:8px;padding:.65rem .85rem;font-weight:700;animation:.35s fadeIn}.error-text{color:#ff8a7a}.ok-text{color:#7ddea0}.match-wait{margin-top:1rem}.match-quiz .choices{gap:.5rem;display:grid}
