/* Palette issue de la présentation Sport-Études PALS. */
:root{color-scheme:dark;font-family:Arial,"Helvetica Neue",system-ui,sans-serif;font-size:16px;color:var(--text);background:var(--bg);--bg:#02080e;--surface:#07131f;--raised:#081e30;--field:#061827;--text:#f7f9fb;--muted:#c7d0d8;--subtle:#aab5bf;--accent:#00a7f7;--accent-soft:#073b59;--border:#2c4d63;--control-border:#60839a;--positive:#43c99a;--warning:#f0b84e;--warning-bg:#292112;--danger:#ff8874;--danger-bg:#321713;--ink:#02080e;--teal:var(--accent)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,input,select{min-height:48px}
button{cursor:pointer;border:1px solid var(--control-border);border-radius:8px;padding:12px 18px;background:var(--raised);color:var(--text);font-weight:700;line-height:1.4}button:disabled{opacity:.55;cursor:not-allowed}
.primary,.accent{background:var(--accent);color:var(--ink);border-color:var(--accent)}
@media(hover:hover){button:not(:disabled):hover{background:var(--accent-soft);border-color:var(--accent)}.primary:not(:disabled):hover,.accent:not(:disabled):hover{background:#54c6ff;color:var(--ink)}}
:is(button,input,select,textarea,summary):focus-visible{outline:3px solid #77d4ff;outline-offset:3px}::selection{background:var(--accent);color:var(--ink)}a{color:#65caff;text-underline-offset:4px}
header{background:var(--surface);border-bottom:1px solid var(--border);padding:23px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:16px}
header>div:nth-child(2){min-width:0;flex:1}header strong{font-size:1.45rem;display:block;text-transform:uppercase;letter-spacing:.035em;overflow-wrap:anywhere}header span{display:block;color:var(--muted);font-size:.875rem;margin-top:5px}
.brand-mark{color:var(--accent);background:var(--bg);font-weight:850;font-size:2rem;border:1px solid var(--accent);border-left:4px solid var(--accent);border-radius:8px;width:54px;height:54px;display:grid;place-items:center;flex-shrink:0}
#network{margin-left:auto;font-size:.875rem;white-space:nowrap;border:1px solid var(--border);border-radius:6px;padding:10px 14px;background:var(--bg);color:var(--muted)}
main{max-width:1208px;margin:auto;padding:36px 24px 64px}h1{font-size:clamp(1.85rem,4vw,2.7rem);font-weight:850;line-height:1.13;letter-spacing:-.025em;text-transform:uppercase;margin:10px 0 20px;overflow-wrap:anywhere}h1::after{content:'';display:block;width:88px;height:3px;background:var(--accent);margin-top:20px}
h2{font-size:1.25rem;line-height:1.4;margin:0 0 12px}h3{font-size:1.05rem;line-height:1.5}p{line-height:1.65}.muted,small{color:var(--muted)}small{font-size:.875rem;line-height:1.55}
.test-banner{background:var(--warning-bg);color:#f4d9a2;border-bottom:1px solid #594822;text-align:center;padding:10px 16px;font-size:.875rem;font-weight:700;letter-spacing:.035em;line-height:1.5}
label.field{display:grid;gap:10px;margin:18px 0;font-weight:650;line-height:1.5}select,input,textarea{border:1px solid var(--control-border);border-radius:7px;background:var(--field);color:var(--text);width:100%;padding:13px}
input::placeholder,textarea::placeholder{color:var(--subtle);opacity:1}textarea{min-height:120px;resize:vertical}select option{background:var(--surface);color:var(--text)}
.panel{padding:26px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:24px 0;box-shadow:0 8px 24px #00000016}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.actions,.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.tabs button[aria-pressed=true]{background:var(--accent-soft);color:var(--text);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
.packet,.management-list .panel{border-left:4px solid var(--accent)}.packet-top{display:flex;justify-content:space-between;gap:20px;align-items:center}
.pill{font-size:.875rem;line-height:1.5;background:var(--raised);border:1px solid var(--border);border-radius:6px;padding:7px 12px;color:var(--muted)}.eyebrow{font-size:.875rem;line-height:1.6;color:var(--accent);text-transform:uppercase;font-weight:750;letter-spacing:.055em}
.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--control-border);border-radius:8px;background:var(--field);line-height:1.5;min-height:60px;cursor:pointer}
.choice:has(input:checked){background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.choice input{accent-color:var(--accent);width:22px;height:22px;min-height:22px;flex-shrink:0;margin:0}
.question{border:0;border-top:1px solid var(--border);padding:24px 0 8px;min-width:0}.question legend{float:left;width:100%;font-weight:750;margin:0 0 8px;line-height:1.5}.question legend+*{clear:both}.question p{margin:8px 0;color:var(--muted)}.required{font-weight:400;font-size:.875rem;color:var(--subtle)}.status{font-weight:650;color:var(--positive)}
.sticky{position:sticky;bottom:8px;border:1px solid var(--accent);box-shadow:0 7px 28px #00000055;background:var(--raised);padding:16px 20px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.error{color:var(--danger);border:1px solid #a34b3b;background:var(--danger-bg);padding:16px;border-radius:8px;line-height:1.6}.notice{background:var(--raised);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--muted);padding:16px 18px;border-radius:8px;font-size:.95rem;line-height:1.6}
#message{position:fixed;right:18px;bottom:18px;max-width:min(440px,90vw);z-index:10;background:var(--raised);color:var(--text);box-shadow:0 8px 30px #00000055;border-radius:8px;padding:0;line-height:1.5}#message:not(:empty){padding:18px;border:1px solid var(--accent)}
footer{max-width:1160px;margin:0 auto;padding:24px;border-top:1px solid var(--border);color:var(--subtle);font-size:.875rem;line-height:1.65}details{margin:18px 0}summary{cursor:pointer;min-height:48px;padding:12px 0;line-height:1.5}.comparison{max-height:320px;overflow:auto}.comparison p{font-size:.95rem}.full{width:100%}
.section-label{display:block;margin-top:24px}.bank-options{clear:both;display:grid;gap:10px;padding-top:10px}.answer{border-top:1px solid var(--border);padding:16px 0}.answer p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
#groups{border:1px solid var(--border);border-radius:8px;margin:18px 0;padding:18px;display:grid;gap:10px}#groups:disabled{opacity:.55}
#history-message:empty,#direction-message:empty,#players-message:empty{display:none}#history-message:not(:empty),#direction-message:not(:empty),#players-message:not(:empty),#question-message:not(:empty){padding:16px;background:var(--raised);border:1px solid var(--border);border-radius:8px;overflow-wrap:anywhere;color:var(--muted)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.question:disabled{opacity:.7}.option-editor{border:1px solid var(--border);border-radius:8px;padding:20px;margin:22px 0}.training-list .panel{overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}#training-message:not(:empty){background:var(--warning-bg);color:#f4d9a2;padding:16px;border-radius:8px}fieldset{min-width:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.player-identity{display:flex;flex-wrap:wrap;gap:24px;margin:24px 0}.player-identity dt{color:var(--muted);font-size:.9rem}.player-identity dd{margin:6px 0;font-weight:650}#players-list h2{overflow-wrap:anywhere}
.evaluation-question{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;background:var(--field);margin:12px 0}.evaluation-question>div{display:grid;gap:6px;min-width:0}.evaluation-question strong{overflow-wrap:anywhere}.evaluation-question button{flex-shrink:0}.evaluation-question .status{font-size:.875rem}.evaluation-picker{margin-top:26px}.evaluation-phase{margin:24px 0}.evaluation-picker summary{font-weight:700;color:var(--accent)}.evaluation-picker [hidden]{display:none!important}
#app>.actions:has(#players){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#app>.actions:has(#bank){grid-template-columns:minmax(0,1fr) 52px repeat(3,minmax(0,1fr))}#app>.actions:has(#players) button{min-height:64px}#app>.actions:has(#players) .primary{background:var(--surface);color:var(--text);border:1px solid var(--accent);border-bottom-width:3px}
#app:has(#login){max-width:760px}#app:has(#login) .panel{border-top:3px solid var(--accent)}
#access-root{max-width:600px;margin:24px auto;padding:20px}#access-root a.primary{display:inline-block;padding:16px 20px;border-radius:8px;font-weight:700;text-decoration:none;min-height:48px}#access-root a:focus-visible{outline:3px solid #77d4ff;outline-offset:3px}
@media(max-width:900px){#app>.actions:has(#players){display:flex}#app>.actions:has(#players) button{flex:1 1 30%}#app>.actions:has(#players) #new-evaluation{flex:0 0 52px}}
@media(max-width:680px){main{padding:24px 16px 48px}.panel{padding:20px}.grid,.options{grid-template-columns:minmax(0,1fr)}.packet-top{display:block}.packet-top .pill{display:inline-block;margin-top:8px}.sticky{flex-direction:column;align-items:stretch}.tabs button{flex:1 1 28%;padding:12px}.actions>button{flex:1 1 auto}header{padding:18px 16px;gap:12px;flex-wrap:wrap}header span{font-size:.875rem}#network{font-size:.875rem;padding:8px 10px}.brand-mark{width:46px;height:46px}header strong{font-size:1.15rem}footer{margin:0 16px;padding:20px 0}}
@media(max-width:480px){.evaluation-question{flex-wrap:wrap}.evaluation-question>div{flex:1 1 100%}.evaluation-question button{width:100%}#app>.actions:has(#players) button{flex-basis:100%}#app>.actions:has(#players) #bank{flex-basis:calc(100% - 64px)}#network{margin-left:0}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,border-color .15s}}
@media print{:root{color-scheme:light;--bg:#fff;--surface:#fff;--raised:#f1f5f7;--field:#fff;--text:#172b3b;--muted:#354c5c;--subtle:#354c5c;--accent:#005c88;--border:#aebfcb;--positive:#196649}body{background:white;color:var(--text)}.panel{box-shadow:none}h1::after{display:none}}
