.app{max-width:960px;margin:0 auto;padding:2rem 1rem 4rem}.app__header{text-align:center;margin-bottom:2rem}.app__header h1{margin-bottom:.25rem;font-size:2rem}.app__header p{color:#a1a1aa;margin-top:0}.lang-switcher{gap:.5rem;margin-top:1rem;display:inline-flex}.lang-switcher button{color:#f4f4f5;cursor:pointer;background:0 0;border:1px solid #3f3f46;border-radius:999px;padding:.35rem .9rem}.lang-switcher button.active{color:#000;background:#ebb1c2;border-color:#ebb1c2}.game-list{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.game-list a{color:#f4f4f5;text-align:center;background:#18181b;border:1px solid #27272a;border-radius:10px;padding:1rem;font-weight:600;text-decoration:none;display:block}.game-list a:hover{border-color:#ebb1c2}.game-info{flex-wrap:nowrap;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.game-info__date{color:#a1a1aa;white-space:nowrap;flex-direction:column;flex:none;align-items:center;gap:.25rem;font-size:1.4rem;font-weight:700;display:flex}.game-teams{flex-wrap:nowrap;flex:auto;justify-content:center;align-items:center;gap:1.5rem;min-width:0;display:flex}@media (width<=768px){.game-info{flex-wrap:wrap;gap:1rem}.competition-card{flex-basis:100%}.game-teams{gap:1rem;width:100%}}@media (width<=480px){.game-info{gap:.75rem}.competition-card{padding:1rem}.competition-card__logo{width:64px;height:64px}.game-info__date{font-size:.7rem}.game-teams{gap:.5rem}.team-card{flex-basis:60px}.team-card__logo{width:40px;height:40px}.team-card__name{font-size:.7rem}}.competition-card{text-align:center;background:#18181b;border:1px solid #27272a;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.competition-card__logo{object-fit:contain;width:96px;height:96px;margin-bottom:.5rem}.competition-card__name{color:#f4f4f5;margin:0;font-size:1.25rem}.competition-card__saison{color:#a1a1aa;margin:0;font-size:.9rem;font-weight:400}.team-card{flex-direction:column;flex:100px;align-items:center;gap:.5rem;min-width:0;display:flex}.team-card__logo{object-fit:contain;width:72px;height:72px}.team-card__name{text-align:center;overflow-wrap:break-word;margin:0;font-size:1rem}@media (width<=480px){.team-card__logo{width:48px;height:48px}.team-card__name{font-size:.85rem}}.team-switcher{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.team-switcher button{color:#f4f4f5;cursor:pointer;background:0 0;border:1px solid #3f3f46;border-radius:999px;padding:.5rem 1.25rem;font-weight:600}.team-switcher button.active{color:#000;background:#ebb1c2;border-color:#ebb1c2}@media (width<=480px){.team-switcher{gap:.5rem}.team-switcher button{text-align:center;flex:auto;padding:.5rem .75rem;font-size:.85rem}}.player-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem;display:grid}@media (width<=768px){.player-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}}@media (width<=480px){.player-list{grid-template-columns:repeat(2,1fr);gap:.75rem}}.player-card{text-align:center;background:#18181b;border:1px solid #27272a;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.player-card__photo{aspect-ratio:1;object-fit:cover;background:#27272a;border-radius:10px;width:100%;min-width:200px}.player-card__name{overflow-wrap:break-word;margin:0;font-size:1rem}.player-card__votes{color:#a1a1aa;margin:0;font-size:.85rem}.player-card__button{color:#000;cursor:pointer;background:#ebb1c2;border:none;border-radius:8px;margin-top:auto;padding:.5rem .75rem;font-weight:600}.player-card__button:disabled{cursor:default;background:#3f3f46}@media (width<=480px){.player-card{gap:.35rem;padding:.6rem}.player-card__name{font-size:.85rem}.player-card__votes{font-size:.75rem}.player-card__button{padding:.4rem .5rem;font-size:.85rem}}.results-list{flex-direction:column;gap:.5rem;max-width:480px;margin:0 auto;padding:0;list-style:none;display:flex}.results-list li{background:#18181b;border:1px solid #27272a;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.results-list__winner{border-color:#eab308}.results-list__rank{color:#a1a1aa;min-width:2rem;font-weight:700}.results-list__name{flex:1}.results-list__votes{color:#a1a1aa;font-size:.9rem}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#18181b;border:1px solid #27272a;border-radius:12px;width:320px;max-width:100%;padding:1.5rem}.modal h3{color:#f4f4f5;margin-top:0}.modal input{color:#f4f4f5;background:#0f1115;border:1px solid #3f3f46;border-radius:8px;width:100%;margin-top:.5rem;padding:.6rem;font-size:1rem}.modal input:focus{border-color:#ebb1c2;outline:none}.modal__error{color:#f87171;margin:.4rem 0 0;font-size:.85rem}.modal__actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.modal__cancel{color:#f4f4f5;cursor:pointer;background:0 0;border:1px solid #3f3f46;border-radius:8px;padding:.5rem 1rem}.modal__confirm{color:#000;cursor:pointer;background:#ebb1c2;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600}.modal__checkbox{color:#a1a1aa;cursor:pointer;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.9rem;display:flex}.modal__checkbox input[type=checkbox]{cursor:pointer;width:auto;margin:0}.modal input:disabled{opacity:.5;cursor:not-allowed}.vote-message{text-align:center;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-weight:600}.vote-message--success{color:#4ade80;background:#22c55e26;border:1px solid #22c55e}.vote-message--error{color:#f87171;background:#f8717126;border:1px solid #f87171}.winner-card{flex-direction:column;align-items:center;gap:.75rem;max-width:280px;margin:0 auto;display:flex}.winner-card__label{color:#ebb1c2;margin:0;font-size:1.1rem;font-weight:700}.not-found-page{text-align:center;padding:4rem 1rem}.not-found-page h2{color:#ebb1c2;margin-bottom:.5rem;font-size:3rem}.not-found-page a{color:#ebb1c2;text-decoration:underline}*{box-sizing:border-box}body{color:#f4f4f5;background:#0f1115;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.status{text-align:center;color:#a1a1aa;padding:2rem;font-size:1.1rem}.status--error{color:#f87171}
