:root{--paper:#fff;--wash:#f3f5fc;--raised:#fff;--line:#e0e5f2;--ink:#0f1222;--muted:#656d88;--electric:#3b36f5;--flame:#ff4436;--emerald:#00b87c;--sun:#ffb000;--violet:#9d2df0;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Archivo", -apple-system, system-ui, sans-serif;--r:10px;--ombre:0 1px 2px #0f12220d, 0 8px 24px #0f12220f}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{background:var(--wash);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}:focus-visible{outline:2px solid var(--electric);outline-offset:2px}.page{max-width:820px;margin:0 auto;padding:48px 24px 96px}.centre{background:var(--paper);border:1px solid var(--line);max-width:380px;box-shadow:var(--ombre);border-radius:16px;margin:10vh auto;padding:32px}h1{font-family:var(--sans);letter-spacing:-.02em;margin-bottom:28px;font-size:26px;font-weight:900}h1:after{content:"";background:var(--electric);border-radius:2px;width:44px;height:4px;margin-top:12px;display:block}h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:40px 0 14px;font-size:11px;font-weight:700}h3{margin-bottom:12px;font-size:16px;font-weight:700}h3 small{font-family:var(--mono);color:var(--electric);background:color-mix(in srgb, var(--electric) 10%, transparent);border-radius:999px;margin-left:10px;padding:3px 8px;font-size:11px;font-weight:500}label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:11px;font-weight:700;display:block}label em{text-transform:none;letter-spacing:0;opacity:.75;font-style:normal;font-weight:500}input,textarea,select{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);width:100%;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;margin-top:7px;padding:11px 13px;transition:border-color .12s,box-shadow .12s;display:block}input:focus,textarea:focus,select:focus{border-color:var(--electric);box-shadow:0 0 0 3px color-mix(in srgb, var(--electric) 16%, transparent);outline:none}textarea{font-family:var(--mono);resize:vertical;font-size:13px;line-height:1.6}input[type=color]{cursor:pointer;height:42px;padding:3px}button{background:var(--electric);color:#fff;font:inherit;border-radius:var(--r);cursor:pointer;border:0;padding:11px 20px;font-weight:700;transition:filter .12s,transform 60ms}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}.liste{list-style:none}.liste li{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--violet);border-radius:var(--r);box-shadow:var(--ombre);justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:16px 18px;transition:transform .1s,box-shadow .1s;display:flex}.liste li:hover{transform:translate(2px);box-shadow:0 2px 4px #0f12220f,0 12px 28px #0f122217}.liste a{color:var(--ink);font-weight:700;text-decoration:none}.liste a:hover{color:var(--electric)}.liste small{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:12px}.vide{color:var(--muted);text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:var(--r);padding:28px}.new{gap:10px;margin-top:24px;display:flex}.new input{margin-top:0}article{background:var(--paper);border:1px solid var(--line);box-shadow:var(--ombre);border-radius:14px;margin-bottom:18px;padding:22px}[role=alert]{color:var(--flame);background:color-mix(in srgb, var(--flame) 8%, transparent);border:1px solid color-mix(in srgb, var(--flame) 28%, transparent);border-radius:var(--r);margin:14px 0;padding:11px 14px;font-size:13px}a{color:var(--electric)}form+a,.centre>a{margin-top:16px;font-size:13px;font-weight:600;display:inline-block}.tableau{max-width:1100px;margin:0 auto;padding:32px 24px 96px}.tableau.etroit{max-width:820px}.tableau .page{max-width:none;padding:0}.onglets{gap:4px;margin-bottom:28px;display:flex}.onglets a{border-radius:var(--r);color:var(--muted);padding:9px 16px;font-size:13px;font-weight:700;text-decoration:none}.onglets a:hover{background:var(--paper);color:var(--ink)}.onglets a[aria-current=page]{background:var(--paper);color:var(--ink);box-shadow:var(--ombre)}.onglets .deconnexion{margin-left:auto}.onglets .deconnexion button{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:9px 12px;font-size:13px;font-weight:600}.onglets .deconnexion button:hover{color:var(--ink);text-decoration:underline}.compteur-depense{flex-wrap:wrap;gap:8px 20px;margin:0 0 20px;font-size:13px;display:flex}.compteur-depense .depense{background:var(--paper);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:baseline;gap:8px;margin:0;padding:6px 12px;display:flex}.compteur-depense .marque{color:var(--ink);font-weight:700}.compteur-depense .chiffre{font-family:var(--mono);font-size:12px}.compteur-depense .alerte{background:color-mix(in srgb, var(--sun) 20%, transparent);color:#6b4600;border-color:#6b460059}.compteur-depense .alerte .marque{color:#6b4600}.compteur-depense .arret{background:color-mix(in srgb, var(--flame) 14%, transparent);border-color:var(--flame);color:#b2271b}.compteur-depense .arret .marque{color:#b2271b}.compteur-depense .stop{font-weight:700}.filtres{background:var(--paper);border:1px solid var(--line);box-shadow:var(--ombre);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;padding:16px;display:flex}.filtres label{flex:150px;margin-bottom:0}.filtres button{flex:none}.filtres .raz{align-self:center;font-size:13px;font-weight:600}.filtres label.case{text-transform:none;letter-spacing:0;color:var(--ink);flex:none;align-items:center;gap:6px;font-size:13px;display:flex}.filtres label.case input{width:auto}.navmois{margin:-16px 0 24px;font-size:13px}.entete-jour{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:4px;font-size:10px;font-weight:700}.piste{grid-template-columns:repeat(5,1fr);gap:3px;width:132px;display:inline-grid}.seg{background:var(--line);border-radius:2px;height:8px}.seg-done{background:var(--emerald)}.seg-running{background:var(--sun)}.seg-failed{background:var(--flame)}.seg-pending{background:#9aa5c4}.seg-absent{background:var(--line)}.statut{letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.statut-a_ecrire{color:var(--muted);background:#eef1f9}.statut-abandonne{color:var(--muted);border:1px solid var(--line);background:0 0;text-decoration:line-through}.rang.abandonne{opacity:.62}.rang.abandonne a{color:var(--muted)}.statut-en_cours{background:color-mix(in srgb, var(--sun) 18%, transparent);color:#8a5f00}.statut-a_relire{background:color-mix(in srgb, var(--flame) 14%, transparent);color:#b2271b}.statut-sans_fichier{background:color-mix(in srgb, var(--sun) 26%, transparent);color:#6b4600;border:1px dashed #6b460073}.statut-livre{background:color-mix(in srgb, var(--emerald) 16%, transparent);color:#00714d}.statut-echec{background:color-mix(in srgb, var(--flame) 16%, transparent);color:#b2271b}.bandeau-simule{background:color-mix(in srgb, var(--sun) 22%, transparent);border-radius:var(--r);color:#6b4600;border:1px solid #6b460059;margin:0 0 20px;padding:12px 16px;font-size:13px;font-weight:600}.rangs{list-style:none}.rang{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--ombre);grid-template-columns:96px 1fr 150px 132px 92px;align-items:center;gap:16px;margin-bottom:8px;padding:14px 18px;display:grid}.rang a{color:var(--ink);font-weight:700;text-decoration:none}.rang a:hover{color:var(--electric)}.rang .date{font-family:var(--mono);color:var(--muted);font-size:12px}.rang .qui{color:var(--muted);font-size:12px}.mois{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.jour{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);min-height:96px;padding:8px}.jour.hors{background:0 0;border-style:dashed}.jour .num{font-family:var(--mono);color:var(--muted);font-size:11px}.pastille{background:var(--wash);color:var(--ink);border-left:3px solid var(--violet);border-radius:6px;margin-top:6px;padding:5px 7px;font-size:11px;line-height:1.3;text-decoration:none;display:block}.pastille:hover{border-left-color:var(--electric);background:var(--paper)}@media (max-width:820px){.rang{grid-template-columns:1fr;gap:8px}.mois{grid-template-columns:repeat(3,1fr)}}.fin{justify-content:flex-end;align-items:center;gap:10px;display:flex}.fin button{padding:6px 12px;font-size:12px}.detail .retour{margin-bottom:12px;font-size:13px}.detail h1{margin-bottom:4px}.detail .qui{color:var(--muted);font-size:13px}.detail .qui .date{font-family:var(--mono)}.detail .angle{color:var(--muted);font-size:13px;font-style:italic}.detail .entete-etat{align-items:center;gap:12px;margin:12px 0;display:flex}.detail .entete-etat .cout{font-family:var(--mono);font-size:13px}.detail .explication-statut{background:color-mix(in srgb, var(--sun) 22%, transparent);border-radius:var(--r);color:#6b4600;border:1px solid #6b460059;margin-bottom:16px;padding:10px 14px;font-size:13px}.detail section{margin-top:28px}.detail h2{margin-bottom:10px;font-size:15px}.detail h3{color:var(--muted);margin-bottom:6px;font-size:13px}.detail pre,.detail .table-large{overflow-x:auto}.detail pre{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);font-family:var(--mono);padding:12px 14px;font-size:12px;line-height:1.5}.detail pre.erreur{border-color:var(--flame);color:#b2271b;white-space:pre-wrap;margin:0}.detail table{border-collapse:collapse;width:100%;font-size:13px}.detail th,.detail td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.detail th{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-size:11px}.detail .mono{font-family:var(--mono);white-space:nowrap}.detail tr.job-echec td{background:color-mix(in srgb, var(--flame) 6%, transparent)}.detail .violations,.detail .regles ul{margin-left:18px}.detail .verdict-refuse{color:#b2271b;font-weight:700}.detail .verdict-passe{color:#00714d;font-weight:700}.detail .fichiers{list-style:none}.detail .fichiers li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;padding:8px 0;display:flex}.detail .fichiers .role{letter-spacing:.06em;font-size:11px;font-weight:700}.detail .fichiers a{font-family:var(--mono);word-break:break-all;font-size:12px}.detail .fichiers .taille{color:var(--muted);margin-left:auto;font-size:12px}.detail .relecture{border:1px solid var(--flame);border-radius:var(--r);background:color-mix(in srgb, var(--flame) 5%, transparent);margin-bottom:24px;padding:16px 18px}.detail .relecture h2{margin-top:0}.detail .verdict-actions{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-top:14px;display:flex}.detail .verdict-actions form{align-items:flex-end;gap:8px;display:flex}.detail .verdict-actions label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.detail .relance{padding:4px 10px;font-size:12px}.detail .idee form.abandon{margin-top:-12px}.detail .idee form.abandon button{border:1px solid var(--line);box-shadow:none;color:var(--muted);background:0 0;padding:6px 12px;font-size:12px}.detail .idee form.abandon button:hover{border-color:var(--flame);color:var(--flame)}.detail .idee .abandonnee{border:1px solid var(--line);border-radius:var(--r);color:var(--muted);background:#eef1f9;margin-bottom:16px;padding:10px 14px;font-size:13px}.detail .regles{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:820px){.detail .regles{grid-template-columns:1fr}}.reglages{max-width:980px}.reglages .sous{color:var(--muted);max-width:68ch;margin:-6px 0 22px}.reglages .resume{background:var(--raised);border:1px solid var(--line);border-radius:var(--r);margin:0 0 12px;padding:14px 16px}.reglages .resume.ok{border-color:color-mix(in srgb, var(--emerald) 45%, transparent)}.reglages .fautif{background:color-mix(in srgb, var(--flame) 8%, transparent);border:1px solid color-mix(in srgb, var(--flame) 40%, transparent);border-radius:var(--r);color:#b2271b;margin:0 0 12px;padding:14px 16px}.reglages section{margin-top:34px}.reglages h2{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:15px}.reglages table{border-collapse:collapse;width:100%;font-size:14px}.reglages th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 14px 8px 0;font-size:11px}.reglages td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px 12px 0}.reglages td .role{color:var(--muted);max-width:46ch;margin-top:3px;font-size:13px;display:block}.reglages .note{color:var(--muted);max-width:70ch;margin-top:14px;font-size:13.5px}.reglages em{color:var(--muted);font-size:12.5px;font-style:normal}.etat-pret{background:color-mix(in srgb, var(--emerald) 16%, transparent);color:#04664a}.etat-branche_sans_cle{background:color-mix(in srgb, var(--flame) 14%, transparent);color:#b2271b}.etat-cle_seule{background:color-mix(in srgb, var(--sun) 20%, transparent);color:#8a5f00}.etat-absent{color:var(--muted);background:#eef1f9}.reglages ol.marche{max-width:72ch;padding-left:20px}.reglages ol.marche li{color:var(--ink);margin-bottom:10px}
