:root{--ground:#f1f3f1;--surface:#fbfcfb;--surface-2:#e9ece9;--ink:#141b1c;--ink-2:#55625f;--ink-3:#7c8783;--line:#d5dad6;--line-2:#c2c9c3;--accent:#2c6a58;--accent-2:#1e4c3e;--accent-wash:#e2ece7;--warn:#9c5a15;--warn-wash:#f2e8da;--danger:#8c332b;--danger-wash:#f2e1de;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--radius:5px;--wrap:1080px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#121617;--surface:#1a1f20;--surface-2:#232a29;--ink:#e4e9e6;--ink-2:#9ba8a3;--ink-3:#78847f;--line:#2b3433;--line-2:#3a4443;--accent:#6bb79c;--accent-2:#8fccb4;--accent-wash:#1b2c27;--warn:#d19a55;--warn-wash:#2c2418;--danger:#d68c82;--danger-wash:#2e1e1c}}:root[data-theme=dark]{--ground:#121617;--surface:#1a1f20;--surface-2:#232a29;--ink:#e4e9e6;--ink-2:#9ba8a3;--ink-3:#78847f;--line:#2b3433;--line-2:#3a4443;--accent:#6bb79c;--accent-2:#8fccb4;--accent-wash:#1b2c27;--warn:#d19a55;--warn-wash:#2c2418;--danger:#d68c82;--danger-wash:#2e1e1c}*,:before,:after{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:16px;min-height:60px;display:flex}.brand{letter-spacing:-.01em;color:var(--ink);margin-right:auto;font-size:1.05rem;font-weight:700;text-decoration:none}.brand span{color:var(--accent)}.site-header nav{align-items:center;gap:14px;font-size:.9rem;display:flex}.site-header nav a{color:var(--ink-2);text-decoration:none}.site-header nav a:hover{color:var(--accent)}.langswitch{font-family:var(--mono);border:1px solid var(--line-2);color:var(--ink-2);border-radius:100px;padding:3px 9px;font-size:.78rem;text-decoration:none}.site-footer{border-top:1px solid var(--line);color:var(--ink-2);margin-top:64px;padding:26px 0 44px;font-size:.87rem}.site-footer .wrap{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.site-footer a{color:var(--ink-2);text-decoration:none}.site-footer a:hover{color:var(--accent)}.site-footer .spacer{margin-left:auto}.hero{text-align:center;padding:52px 0 34px}.hero h1{font-family:var(--serif);letter-spacing:-.015em;text-wrap:balance;margin:0 0 14px;font-size:clamp(1.9rem,5vw,2.7rem);font-weight:500;line-height:1.12}.hero p{color:var(--ink-2);max-width:60ch;margin:0 auto;font-size:1.03rem}.badge-local{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);background:var(--accent-wash);border:1px solid var(--accent);border-radius:100px;align-items:center;gap:7px;margin-bottom:18px;padding:4px 11px;font-size:.72rem;display:inline-flex}.category{margin:40px 0 0}.category h2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 14px;font-size:.8rem;font-weight:700}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.tool-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);color:inherit;padding:15px 16px;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.tool-card:hover{border-color:var(--accent);transform:translateY(-1px)}.tool-card strong{margin-bottom:4px;font-size:1rem;display:block}.tool-card span{color:var(--ink-2);font-size:.87rem;line-height:1.45}.tool-head{max-width:68ch;padding:34px 0 22px}.crumb{color:var(--ink-2);width:fit-content;margin-bottom:14px;font-size:.85rem;text-decoration:none;display:block}.tool-head h1{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.2rem);font-weight:500;line-height:1.15}.tool-head .tagline{color:var(--ink);margin:0 0 12px;font-size:1.05rem}.tool-head .intro{color:var(--ink-2);margin:0}.runner{flex-direction:column;gap:16px;max-width:720px;margin-bottom:40px;display:flex}.drop{border:2px dashed var(--line-2);background:var(--surface);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;gap:5px;padding:48px 24px;transition:border-color .15s,background .15s;display:flex}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-wash)}.drop strong{font-size:1.08rem}.drop span{color:var(--ink-2);font-size:.92rem}.drop em{color:var(--ink-3);font-size:.8rem;font-style:normal;font-family:var(--mono)}.files,.outputs{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.files li,.outputs li{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);align-items:center;gap:10px;padding:9px 12px;font-size:.92rem;display:flex}.fname{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fsize{font-family:var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem}.reorder{gap:3px;display:flex}.reorder button{border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:3px;width:24px;height:24px;line-height:1}.reorder button:disabled{opacity:.35;cursor:default}.remove,.outputs button{border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:3px;padding:3px 9px;font-size:.8rem}.remove:hover,.outputs button:hover{border-color:var(--accent);color:var(--accent)}.filebar{flex-wrap:wrap;gap:10px;display:flex}button.primary{background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;align-self:flex-start;padding:11px 26px;font-size:.98rem;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}button.primary:disabled{opacity:.55;cursor:default}button.ghost{border:1px solid var(--line-2);color:var(--ink-2);border-radius:var(--radius);cursor:pointer;background:0 0;padding:8px 16px;font-size:.88rem}button.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.options{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:0;padding:14px 16px 16px;display:grid}.options legend{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);padding:0 6px;font-size:.7rem}.field{flex-direction:column;gap:4px;display:flex}.field label{font-size:.84rem;font-weight:600}.field input,.field select{font:inherit;border:1px solid var(--line-2);background:var(--ground);color:var(--ink);border-radius:3px;width:100%;padding:7px 9px;font-size:.92rem}.field small{color:var(--ink-3);font-size:.76rem;line-height:1.4}.rangeWrap{align-items:center;gap:9px;display:flex}.rangeWrap input{flex:1;padding:0}.rangeWrap output{font-family:var(--mono);color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;min-width:42px;font-size:.78rem}.progress{background:var(--surface-2);border-radius:100px;height:5px;overflow:hidden}.progress div{background:var(--accent);height:100%;transition:width .2s}.error{background:var(--danger-wash);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);border-left-width:3px;margin:0;padding:11px 14px;font-size:.92rem}.result{border:1px solid var(--accent);background:var(--accent-wash);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.resultHead{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;display:flex}.resultHead strong{color:var(--accent-2)}.resultHead span{color:var(--ink-2);font-size:.88rem}.resultHead .ms{font-family:var(--mono);margin-left:auto;font-size:.76rem}.gain{color:var(--ink);margin:0;font-size:.92rem}.gain .sizes{font-family:var(--mono);color:var(--ink-2);font-size:.8rem}.result .outputs li{background:var(--surface)}.more{color:var(--ink-2);margin:0;font-size:.85rem}.privacy{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);max-width:720px;color:var(--ink-2);align-items:flex-start;gap:10px;padding:13px 16px;font-size:.89rem;display:flex}.privacy svg{color:var(--accent);flex:none;margin-top:2px}.surface,.scan{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:12px;padding:14px;display:flex}.surfaceBar,.scanBar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pens{flex-wrap:wrap;gap:6px;display:flex}button.pen{background:var(--ground);border:1px solid var(--line-2);color:var(--ink-2);border-radius:var(--radius);cursor:pointer;padding:7px 13px;font-size:.86rem}button.pen:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button.pen.on{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-2);font-weight:600}.swatches{gap:5px;display:flex}button.swatch{width:22px;height:22px;box-shadow:0 0 0 1px var(--line-2);cursor:pointer;border:2px solid #0000;border-radius:50%;padding:0}button.swatch.on{border-color:var(--surface);box-shadow:0 0 0 2px var(--accent)}.everyPage{color:var(--ink-2);cursor:pointer;align-items:center;gap:7px;font-size:.88rem;display:flex}.surfaceHint,.muted{color:var(--ink-3);margin:0;font-size:.86rem}.page{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);touch-action:none;cursor:crosshair;min-height:220px;position:relative;overflow:hidden;container-type:inline-size}.page img{width:100%;height:auto;display:block}.pageLoading{color:var(--ink-3);place-items:center;margin:0;font-size:.88rem;display:grid;position:absolute;inset:0}.placed{cursor:pointer;position:absolute}.placed.text{white-space:pre;line-height:1;font-family:var(--sans)}.placed.area{background:#000}.placed.stamp{object-fit:contain}.placed:hover{outline:2px dashed var(--danger);outline-offset:1px}.draft{border:2px dashed var(--accent);pointer-events:none;background:#2c6a5824;position:absolute}.surfaceFoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.pager{color:var(--ink-2);align-items:center;gap:10px;font-size:.88rem;display:flex}.pager button{background:var(--ground);border:1px solid var(--line-2);color:var(--ink);border-radius:var(--radius);cursor:pointer;width:30px;height:30px;font-size:1.1rem;line-height:1}.pager button:disabled{opacity:.4;cursor:default}.placedCount{color:var(--ink-3);font-size:.86rem}.surfaceActions{gap:8px;display:flex}.warn{color:var(--warn);background:var(--warn-wash);border-left:3px solid var(--warn);border-radius:0 var(--radius) var(--radius) 0;margin:0;padding:9px 12px;font-size:.85rem;line-height:1.5}.picker{color:var(--ink-2);align-items:center;gap:10px;font-size:.88rem;display:flex}.signpad{border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);flex-direction:column;gap:10px;padding:12px;display:flex}.tabs{gap:4px;display:flex}button.tab{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 12px;font-size:.88rem}button.tab.on{color:var(--accent-2);border-bottom-color:var(--accent);font-weight:600}.padCanvas{aspect-ratio:640/200;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--radius);touch-action:none;cursor:crosshair;width:100%;height:auto}.padBar{align-items:center;gap:10px;display:flex}.padBar input[type=text]{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);min-width:0;color:var(--ink);flex:auto;padding:9px 11px;font-size:.95rem}button.primary.small{padding:8px 16px;font-size:.88rem}.formFields{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);gap:14px;max-height:30rem;padding:16px;display:grid;overflow-y:auto}.formFields .field label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.formFields textarea{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;resize:vertical;padding:9px 11px}.tag{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:100px;padding:1px 7px;font-size:.72rem;font-style:normal}.field.inline label{align-items:center;gap:8px;font-weight:400;display:flex}.camera{border-radius:var(--radius);background:#000;width:100%;max-height:60vh}.scanGrid{grid-template-columns:1fr;align-items:start;gap:14px;display:grid}@media (width>=760px){.scanGrid{grid-template-columns:1fr 1fr}}.frame{touch-action:none;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.frame img,.previewCell img{width:100%;height:auto;display:block}.quad{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.quad polygon{fill:#2c6a5829;stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke}button.handle{border:2px solid var(--surface);background:var(--accent);cursor:grab;touch-action:none;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;padding:0;position:absolute}button.handle:active{cursor:grabbing}.previewCell{flex-direction:column;gap:6px;display:flex}.previewCell img{border:1px solid var(--line);border-radius:var(--radius)}.compte-page{padding:34px 0 0}.compte-page h1{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;margin:0 0 18px;font-size:clamp(1.7rem,4vw,2.2rem);font-weight:500;line-height:1.15}.compte-carte{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:12px;max-width:560px;padding:20px;display:flex}.compte-carte .field{width:100%;max-width:340px}.compte-grille{flex-direction:column;gap:16px;max-width:560px;display:flex}.compte-grille .compte-carte{max-width:none}.compte-attente{color:var(--ink-2);padding:20px 0}.compte-ok{border:1px solid var(--accent);background:var(--accent-wash);color:var(--accent-2);border-radius:var(--radius);margin:0;padding:11px 14px;font-size:.94rem;font-weight:600}.compte-note{color:var(--ink-3);margin:0;font-size:.82rem;line-height:1.5}.compte-lien-dev{border:1px dashed var(--line-2);border-radius:var(--radius);flex-direction:column;gap:4px;width:100%;margin:0;padding:10px 12px;font-size:.8rem;display:flex}.compte-lien-dev span{font-family:var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.compte-lien-dev a{word-break:break-all;font-family:var(--mono)}.compte-email{font-family:var(--mono);color:var(--ink-2);margin:0;font-size:.85rem}.compte-palier{align-items:baseline;gap:10px;margin:0;display:flex}.compte-palier strong{font-family:var(--serif);font-size:1.5rem;font-weight:500}.compte-etiquette{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem}.compte-alerte{border:1px solid var(--warn);background:var(--warn-wash);width:100%;color:var(--warn);border-radius:var(--radius);border-left-width:3px;flex-direction:column;gap:3px;padding:11px 14px;font-size:.9rem;display:flex}.compte-actions{flex-direction:column;align-items:flex-start;gap:8px;width:100%;display:flex}.compte-sous-titre{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.8rem;font-weight:700}.compte-pied{margin:0}.bouton-primaire,.bouton-secondaire{border-radius:var(--radius);padding:11px 26px;font-size:.98rem;font-weight:600;text-decoration:none;display:inline-block}.bouton-primaire{background:var(--accent);border:1px solid var(--accent);color:var(--surface)}.bouton-primaire:hover{background:var(--accent-2);border-color:var(--accent-2)}.bouton-secondaire{border:1px solid var(--line-2);color:var(--ink);background:0 0}.bouton-secondaire:hover{border-color:var(--accent);color:var(--accent)}.jauge{flex-direction:column;gap:5px;width:100%;display:flex}.jauge-tete{justify-content:space-between;align-items:baseline;gap:12px;font-size:.88rem;display:flex}.jauge-chiffres{font-family:var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.78rem}.progress div.plein{background:var(--warn)}.tarifs-intro{max-width:68ch;color:var(--ink-2);margin:0 0 26px}.tarifs{flex-direction:column;gap:16px;margin-bottom:44px;display:flex}.tarifs-bascule{border:1px solid var(--line-2);border-radius:100px;align-self:flex-start;gap:3px;padding:3px;display:inline-flex}.tarifs-bascule button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:100px;padding:6px 18px;font-size:.88rem}.tarifs-bascule button.actif{background:var(--accent);color:var(--surface);font-weight:600}.tarifs-cartes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.tarif-carte{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:12px;padding:22px 20px;display:flex}.tarif-carte.en-avant{border-color:var(--accent)}.tarif-carte h2{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.8rem;font-weight:700}.tarif-montant{flex-direction:column;gap:2px;margin:0;display:flex}.tarif-montant strong{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:500;line-height:1.1}.tarif-montant span{color:var(--ink-3);font-size:.84rem}.tarif-economie{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-2);background:var(--accent-wash);border-radius:100px;margin:0;padding:3px 10px;font-size:.72rem}.tarif-points{color:var(--ink-2);flex-direction:column;flex:auto;gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.tarif-points li:before{content:"— ";color:var(--ink-3)}.tarif-actuel{color:var(--accent-2);margin:0;font-size:.86rem;font-weight:600}.tarifs-vide{border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--ink-2);flex-direction:column;gap:4px;margin:0;padding:18px 20px;font-size:.92rem;display:flex}.tableau-defilant{margin-bottom:48px;overflow-x:auto}.tableau-formules{border-collapse:collapse;width:100%;min-width:520px;font-size:.9rem}.tableau-formules th,.tableau-formules td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 14px}.tableau-formules thead th{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);border-bottom-color:var(--line-2);font-size:.72rem}.tableau-formules tbody th{color:var(--ink);font-weight:600}.tableau-formules td{color:var(--ink-2)}.visuellement-cache{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.badge-serveur{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:var(--warn-wash);border:1px solid var(--warn);border-radius:100px;align-items:center;gap:7px;margin-bottom:14px;padding:4px 11px;font-size:.72rem;display:inline-flex}.tool-head .badge-local,.tool-head .badge-serveur{margin-bottom:12px;display:inline-flex}.privacy-serveur{color:var(--warn);background:var(--warn-wash);border-color:var(--warn)}.progress.indetermine{position:relative}.progress.indetermine div{width:35%;animation:1.4s ease-in-out infinite glisse}@keyframes glisse{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion:reduce){.progress.indetermine div{opacity:.5;width:100%;animation:none}}.error strong{display:block}.refus-detail{opacity:.9;margin-top:3px;font-size:.87rem;display:block}.refus-issue{color:inherit;text-underline-offset:3px;margin-top:9px;font-weight:600;display:inline-block}.puces{flex-wrap:wrap;gap:5px;display:flex}.puce{border:1px solid var(--line-2);color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:100px;padding:4px 12px;font-size:.82rem}.puce:hover{border-color:var(--accent);color:var(--accent)}.puce.active{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:600}.compte-rendu{color:var(--ink-2);flex-direction:column;gap:5px;font-size:.88rem;display:flex}.compte-rendu p{margin:0}.defauts{font-family:var(--mono);flex-direction:column;gap:3px;margin:0;padding-left:18px;font-size:.76rem;line-height:1.5;display:flex}.result .bouton-primaire{align-self:flex-start}.carte-serveur{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--warn);margin-top:8px;font-size:.63rem;font-style:normal;display:block}.badge-ia{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);background:var(--accent-wash);border:1px solid var(--accent);border-radius:100px;align-items:center;gap:7px;margin-bottom:14px;padding:4px 11px;font-size:.72rem;display:inline-flex}.tool-head .badge-ia{margin-bottom:12px;display:inline-flex}.privacy-ia{color:var(--accent-2);background:var(--accent-wash);border-color:var(--accent)}.sortie-ia{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:8rem;max-height:60vh;padding:18px 20px;overflow-y:auto}.sortie-ia pre{font-family:var(--serif);color:var(--ink);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:1rem;line-height:1.65}.avertissement{color:var(--warn);margin:0;font-size:.87rem}.reserve{color:var(--ink-2);border-left:2px solid var(--line-2);margin:0;padding-left:12px;font-size:.85rem;line-height:1.55}.reserve strong{color:var(--ink)}.actions{flex-wrap:wrap;gap:9px;display:flex}.turnstile-hote{z-index:60;position:fixed;bottom:1rem;right:1rem}.turnstile-hote:empty{display:none}.statut-liste{border-top:1px solid var(--line);margin:0 0 40px;padding:0;list-style:none}.statut-ligne{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:18px 0;display:flex}.statut-pastille{background:var(--ink-3);border-radius:50%;flex:none;width:10px;height:10px;margin-top:7px}.statut-operationnel{background:var(--accent)}.statut-degrade{background:var(--warn)}.statut-suspendu{background:var(--danger)}.statut-texte{flex:1;min-width:0}.statut-texte h2{margin:0 0 2px;font-size:1rem}.statut-texte p{margin:0;font-size:.85rem}.statut-verdict{font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none;font-size:.85rem}.statut-mesures-titre{font-size:1rem}.statut-mesures{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin:0 0 24px;display:grid}.statut-mesures div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.statut-mesures dt{color:var(--ink-2);margin-bottom:4px;font-size:.8rem}.statut-mesures dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.4rem}.statut-maj{font-size:.8rem}.cle-nouvelle{background:var(--accent-wash);border:1px solid var(--accent);border-radius:var(--radius);margin-bottom:24px;padding:18px 20px}.cle-nouvelle h3{margin:0 0 6px;font-size:1rem}.cle-valeur{font-family:var(--mono);word-break:break-all;user-select:all;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:10px 12px;font-size:.85rem;display:block}.cle-creation{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:18px 0 24px;display:flex}.cle-creation .field{flex:1;min-width:240px;margin:0}.cle-liste{border-top:1px solid var(--line);margin:0 0 12px;padding:0;list-style:none}.cle-liste li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 0;display:flex}.cle-identite{flex-direction:column;gap:2px;min-width:200px;display:flex}.cle-identite code{font-family:var(--mono);color:var(--ink-2);font-size:.8rem}.cle-dates{flex-direction:column;flex:1;gap:2px;font-size:.8rem;display:flex}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.journal{border-collapse:collapse;width:100%;min-width:560px;font-size:.82rem}.journal th,.journal td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px 8px 0}.journal thead th{color:var(--ink-2);font-weight:600}.journal code{font-family:var(--mono)}.journal-echec{color:var(--danger)}.doc{max-width:780px}.doc section{margin-bottom:48px;scroll-margin-top:24px}.doc h2{margin-bottom:10px;font-size:1.25rem}.doc p{line-height:1.6}.doc-sommaire{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:40px;padding:16px 20px}.doc-sommaire h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:0 0 8px;font-size:.8rem}.doc-sommaire ul{flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.doc-cle{background:var(--accent-wash);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:40px;padding:16px 20px}.doc-cle label{margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.doc-cle input{width:100%;font-family:var(--mono);border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:8px 10px;font-size:.85rem}.doc-cle p{margin:8px 0 0;font-size:.78rem}.doc-exemple{border:1px solid var(--line);border-radius:var(--radius);margin:14px 0 0;overflow:hidden}.doc-onglets{background:var(--surface-2);border-bottom:1px solid var(--line);align-items:center;gap:2px;padding:4px 6px;display:flex}.doc-onglets button{border-radius:var(--radius);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:5px 10px;font-size:.8rem}.doc-onglets button.actif{background:var(--surface);color:var(--ink)}.doc-onglets .doc-copier{margin-left:auto}.doc-exemple pre,.doc pre{background:var(--surface);font-family:var(--mono);tab-size:2;margin:0;padding:14px 16px;font-size:.8rem;line-height:1.55;overflow-x:auto}.doc pre{border:1px solid var(--line);border-radius:var(--radius);margin:12px 0}.doc-exemple pre{border:0;border-radius:0}.doc code{font-family:var(--mono)}.doc-table{border-collapse:collapse;width:100%;min-width:620px;font-size:.85rem}.doc-table th,.doc-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 14px 9px 0}.doc-table thead th{color:var(--ink-2);font-weight:600}.doc-table tbody th{white-space:nowrap;font-weight:400}.wf section{margin-bottom:48px}.wf h2{margin-bottom:12px;font-size:1.25rem}.wf-barre{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:560px;padding:20px 22px}.wf-barre p{margin:6px 0 16px}.wf-liste,.wf-runs{gap:16px;margin:0 0 16px;padding:0;list-style:none;display:grid}.wf-carte,.wf-run{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.wf-tete{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.wf-tete h3{margin:0;font-size:1.05rem}.wf-tete small{color:var(--ink-2);font-size:.8rem}.wf-etapes{gap:4px;margin:12px 0 16px;padding-left:20px;font-size:.9rem;display:grid}.wf-etapes li::marker{color:var(--ink-3);font-variant-numeric:tabular-nums}.wf-etapes small{color:var(--ink-2);font-family:var(--mono);font-size:.78rem}.wf-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wf-constructeur{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}.wf-constructeur h3{margin:20px 0 8px;font-size:1rem}.wf-brouillon{counter-reset:etape;gap:16px;margin:0 0 16px;padding:0;list-style:none;display:grid}.wf-brouillon>li{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);gap:12px;padding:14px 16px;display:grid}.wf-etat{border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px;padding:2px 10px;font-size:.8rem}.wf-etat.termine{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-2)}.wf-etat.erreur{background:var(--danger-wash);border-color:var(--danger);color:var(--danger)}.wf-etat.en-cours{background:var(--warn-wash);border-color:var(--warn);color:var(--warn)}.wf-run small{color:var(--ink-2);font-size:.8rem}.wf-run p{margin:10px 0;font-size:.9rem}.err404{text-align:center;max-width:34rem;margin:0 auto;padding:18vh 24px 24px}.err404-code{opacity:.25;margin:0;font-size:3.5rem;font-weight:700;line-height:1}.err404 h1{margin:16px 0 8px;font-size:1.6rem}.err404 h2{margin:0 0 8px;font-size:1.1rem}.err404 hr{opacity:.2;border:0;border-top:1px solid;width:4rem;margin:32px auto}
