@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff")}:root{--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--font-head:"Barlow Semi Condensed", "Atkinson Hyperlegible", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg:#f3efe4;--bg-2:#eae4d4;--panel:#fbf9f2;--panel-2:#f1ecdd;--ink:#14233b;--ink-2:#33415a;--muted:#5c6678;--line:#d3cbb6;--line-strong:#a79e87;--accent:#a3145f;--accent-ink:#fff;--accent-soft:#f6dfeb;--sky:#0b5e9e;--sky-soft:#d9e9f5;--good:#1b7a4e;--good-soft:#d8efdf;--warn:#9a6500;--warn-soft:#f8e9c4;--bad:#b5281f;--bad-soft:#f8dcd8;--shadow:0 1px 2px #14233b14, 0 6px 20px #14233b0f;--radius:10px;--radius-s:6px;--sidebar:248px;--bottom-bar:62px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0d1218;--bg-2:#121922;--panel:#161e28;--panel-2:#1c2632;--ink:#e9eef4;--ink-2:#c7d0db;--muted:#94a1b2;--line:#2a3644;--line-strong:#46566a;--accent:#ffb627;--accent-ink:#1a1405;--accent-soft:#3a2d0e;--sky:#6db8f2;--sky-soft:#15303f;--good:#4fd08f;--good-soft:#123023;--warn:#f2c14e;--warn-soft:#362a0e;--bad:#ff7a6e;--bad-soft:#3b1a17;--shadow:0 1px 2px #0006, 0 6px 20px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--font-body);overflow-wrap:break-word;margin:0}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:.005em;margin:0 0 .5em;font-weight:600;line-height:1.15}h1{font-size:clamp(1.9rem,1.4rem + 2vw,2.7rem)}h2{margin-top:1.6em;font-size:1.55rem}h3{margin-top:1.2em;font-size:1.22rem}p{margin:0 0 1em}a{color:var(--sky);text-underline-offset:2px}code,.mono{font-family:var(--font-mono);font-size:.9em}code{background:var(--panel-2);border-radius:4px;padding:.08em .35em}img,svg{max-width:100%}ul,ol{margin:0 0 1em;padding-left:1.3em}li{margin-bottom:.35em}hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:3px}::selection{background:var(--accent);color:var(--accent-ink)}.layout{min-height:100dvh}.sidebar{width:var(--sidebar);background:var(--panel);border-right:1px solid var(--line);padding:calc(var(--safe-t) + 18px) 12px 18px;z-index:20;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{color:inherit;align-items:center;gap:10px;padding:0 8px 14px;text-decoration:none;display:flex}.brand svg{flex:none;width:34px;height:34px}.brand b{font:700 1.28rem/1 var(--font-head);letter-spacing:.03em;display:block}.brand small{color:var(--muted);font-size:.78rem}.nav-group{margin:8px 0}.nav-label{font:600 .72rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 10px 6px}.nav-link{border-radius:var(--radius-s);color:var(--ink-2);align-items:center;gap:10px;padding:8px 10px;font-size:.98rem;text-decoration:none;display:flex}.nav-link svg{flex:none;width:20px;height:20px}.nav-link:hover{background:var(--panel-2)}.nav-link.active{background:var(--ink);color:var(--panel)}:root[data-theme=dark] .nav-link.active{background:var(--accent);color:var(--accent-ink)}.main{margin-left:var(--sidebar);min-width:0}.page{max-width:980px;padding:calc(var(--safe-t) + 28px) 28px 72px;margin:0 auto}.page.narrow{max-width:760px}.page.wide{max-width:1180px}.bottom-bar{display:none}@media (max-width:900px){.sidebar{align-items:stretch;width:72px;padding-inline:6px}.sidebar .brand{justify-content:center;padding-inline:0}.brand div,.nav-label{display:none}.nav-link{text-align:center;flex-direction:column;gap:3px;padding:8px 2px;font-size:.68rem;line-height:1.1}.main{margin-left:72px}.page{padding:calc(var(--safe-t) + 22px) 22px 64px}}@media (max-width:640px){body{font-size:16.5px}.sidebar{display:none}.main{padding-bottom:calc(var(--bottom-bar) + var(--safe-b));margin-left:0}.page{padding:calc(var(--safe-t) + 18px) 16px 40px}.bottom-bar{z-index:30;background:var(--panel);border-top:1px solid var(--line);padding-bottom:var(--safe-b);height:calc(var(--bottom-bar) + var(--safe-b));grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-bar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;font-size:.72rem;text-decoration:none;display:flex}.bottom-bar a svg{width:22px;height:22px}.bottom-bar a.active{color:var(--accent);font-weight:700}}.stack{flex-direction:column;gap:14px;display:flex}.stack-s{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.grid{grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:14px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:14px;display:grid}.grid-tight{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:8px;display:grid}.muted{color:var(--muted)}.small{font-size:.88rem}.center{text-align:center}.mt{margin-top:1rem}.mb0{margin-bottom:0}.nowrap{white-space:nowrap}.eyebrow{font:600 .74rem/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;display:block}.page-head{margin-bottom:1.5rem}.page-head p{color:var(--muted);max-width:62ch;margin-bottom:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:16px 18px}.card>:last-child{margin-bottom:0}.card h3:first-child,.card h2:first-child{margin-top:0}a.card{color:inherit;text-decoration:none;transition:border-color .12s,transform .12s;display:block}a.card:hover{border-color:var(--ink);transform:translateY(-1px)}.card.tone-accent{border-color:var(--accent);background:var(--accent-soft)}.card.tone-good{border-color:var(--good);background:var(--good-soft)}.card.tone-bad{border-color:var(--bad);background:var(--bad-soft)}.card.tone-warn{border-color:var(--warn);background:var(--warn-soft)}.card.tone-sky{border-color:var(--sky);background:var(--sky-soft)}.card-title{font:600 1.2rem/1.2 var(--font-head);margin:0 0 .35rem}.btn{border-radius:var(--radius-s);border:1px solid var(--line-strong);background:var(--panel);min-height:44px;color:var(--ink);font:600 1rem/1.1 var(--font-body);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;padding:8px 16px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--sky);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel-2)}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.small{min-height:36px;padding:5px 11px;font-size:.9rem}.btn.block{width:100%}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>label,.field-label{font-size:.93rem;font-weight:700}.input,select.input,textarea.input{border-radius:var(--radius-s);border:1px solid var(--line-strong);background:var(--panel);width:100%;min-height:44px;color:var(--ink);font:400 1rem/1.3 var(--font-body);padding:8px 11px}.input.mono{font-family:var(--font-mono)}input[type=range]{width:100%;min-height:32px;accent-color:var(--accent)}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--accent);flex:none}.check-row{cursor:pointer;align-items:center;gap:10px;padding:8px 0;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius-s);flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented button{background:var(--panel);min-height:40px;color:var(--ink);font:600 .93rem var(--font-body);cursor:pointer;border:0;border-right:1px solid var(--line);padding:6px 14px}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--panel)}:root[data-theme=dark] .segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.chip{background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.8rem;line-height:1.3;display:inline-flex}.chip.good{background:var(--good-soft);color:var(--good);border-color:#0000}.chip.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.chip.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.chip.sky{background:var(--sky-soft);color:var(--sky);border-color:#0000}.chip.accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}button.chip{cursor:pointer;min-height:34px;font:600 .85rem var(--font-body)}button.chip[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}:root[data-theme=dark] button.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.stat{flex-direction:column;gap:2px;display:flex}.stat b{font:600 1.85rem/1 var(--font-head);font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:.84rem}.progress{background:var(--bg-2);border-radius:99px;height:8px;overflow:hidden}.progress>i{background:var(--accent);border-radius:99px;height:100%;transition:width .25s;display:block}.progress.good>i{background:var(--good)}.readout{color:#e9eef4;border-radius:var(--radius-s);min-width:96px;font-family:var(--font-mono);background:#0d1218;border:1px solid #2a3644;flex-direction:column;gap:2px;padding:8px 12px;display:inline-flex}.readout small{color:#94a1b2;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.readout b{color:#ffb627;font-variant-numeric:tabular-nums;font-size:1.28rem;font-weight:600}.readouts{flex-wrap:wrap;gap:8px;display:flex}.exercise-canvas{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);touch-action:manipulation;width:100%;display:block}.feedback{border-radius:var(--radius-s);border-left:4px solid var(--line-strong);background:var(--panel-2);padding:10px 14px}.feedback.good{border-color:var(--good);background:var(--good-soft)}.feedback.bad{border-color:var(--bad);background:var(--bad-soft)}.prose{max-width:70ch}.prose .full,.prose figure,.prose .table-wrap{max-width:none}.callout{border-left:4px solid var(--sky);background:var(--sky-soft);border-radius:0 var(--radius-s) var(--radius-s) 0;margin:0 0 1.1em;padding:12px 16px}.callout-title{font:600 .78rem/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;display:block}.callout>p:last-child{margin-bottom:0}.callout.tip{border-color:var(--good);background:var(--good-soft)}.callout.danger{border-color:var(--bad);background:var(--bad-soft)}.callout.exam{border-color:var(--accent);background:var(--accent-soft)}.callout.reg{border-color:var(--warn);background:var(--warn-soft)}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 0 1.1em;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.94rem}caption{text-align:left;color:var(--muted);padding-bottom:5px;font-size:.85rem}th{text-align:left;font:600 .95rem var(--font-head);background:var(--panel-2)}th,td{border:1px solid var(--line);vertical-align:top;padding:7px 10px}figure{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1.2em;padding:12px}figcaption{color:var(--muted);margin-top:8px;font-size:.87rem}.figure-zoom{display:none}.figure-scroll>svg{display:block}@media (max-width:640px){.figure-zoom{margin-top:8px;display:inline-flex}.figure-scroll.zoomed{-webkit-overflow-scrolling:touch;overflow-x:auto}.figure-scroll.zoomed>svg{min-width:660px}}.qcm-q{font:600 1.18rem/1.35 var(--font-body);margin-bottom:14px}.options{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.option{text-align:left;background:var(--panel);width:100%;min-height:48px;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-s);font:400 1rem/1.35 var(--font-body);cursor:pointer;align-items:flex-start;gap:11px;padding:11px 13px;display:flex}.option:hover:not(:disabled){border-color:var(--ink);background:var(--panel-2)}.option:disabled{cursor:default;color:var(--ink)}.option .key{font:600 .84rem/1.6 var(--font-mono);color:var(--muted);flex:none;width:1.2em}.option.selected{border:2px solid var(--sky);background:var(--sky-soft);padding:10px 12px}.option.correct{border:2px solid var(--good);background:var(--good-soft);padding:10px 12px}.option.wrong{border:2px solid var(--bad);background:var(--bad-soft);padding:10px 12px}.q-nav{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px;display:grid}.q-nav button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--ink);font:600 .78rem var(--font-mono);cursor:pointer;border-radius:4px}.q-nav button.answered{background:var(--sky-soft);border-color:var(--sky)}.q-nav button.current{outline:2px solid var(--accent);outline-offset:1px}.q-nav button.flag{background:var(--warn-soft);border-color:var(--warn)}.q-nav button.ok{background:var(--good-soft);border-color:var(--good)}.q-nav button.ko{background:var(--bad-soft);border-color:var(--bad)}.timer{font:600 1.15rem var(--font-mono);font-variant-numeric:tabular-nums}.timer.low{color:var(--bad)}.flash{text-align:center;cursor:pointer;width:100%;min-height:230px;color:var(--ink);font-size:1.15rem;font-family:var(--font-body);flex-direction:column;justify-content:center;padding:26px;display:flex}.flash .answer{border-top:1px dashed var(--line-strong);color:var(--ink-2);margin-top:16px;padding-top:16px;font-size:1.03rem}.grades{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.grades .btn{flex-direction:column;padding:6px 2px;font-size:.88rem}.grades small{color:var(--muted);font-size:.72rem;font-weight:400}.radio-log{flex-direction:column;gap:9px;display:flex}.tx{border-radius:12px;max-width:88%;padding:9px 13px}.tx small{font:600 .72rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px;display:block}.tx.station{background:var(--panel-2);border:1px solid var(--line);align-self:flex-start}.tx.other{background:var(--panel);border:1px dashed var(--line-strong);align-self:flex-start}.tx.pilot{background:var(--sky-soft);border:1px solid var(--sky);align-self:flex-end}.tx.note{color:var(--muted);text-align:center;background:0 0;align-self:center;font-size:.9rem}.tx.active{box-shadow:0 0 0 2px var(--accent)}.tx .blur{filter:blur(5px);-webkit-user-select:none;user-select:none}.ptt{border:3px solid var(--line-strong);background:var(--panel-2);width:96px;height:96px;color:var(--ink);font:700 .86rem/1.1 var(--font-head);cursor:pointer;touch-action:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.ptt.live{background:var(--bad);border-color:var(--bad);color:#fff;animation:1.1s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 10px #b5281f33}}.list-row{border-bottom:1px solid var(--line);color:inherit;align-items:center;gap:12px;padding:11px 14px;text-decoration:none;display:flex}.list-row:last-child{border-bottom:0}a.list-row:hover{background:var(--panel-2)}.list-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.dot{border:2px solid var(--line-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.dot.done{background:var(--good);border-color:var(--good);color:#fff}.video{aspect-ratio:16/9;border-radius:var(--radius-s);background:#0d1218;position:relative;overflow:hidden}.video button{all:unset;cursor:pointer;align-items:flex-end;display:flex;position:absolute;inset:0}.video img{object-fit:cover;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.video .play{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video:focus-within{outline:3px solid var(--sky);outline-offset:2px}.video-row{align-self:start;padding:0}.video-row .mt{margin:0 12px 12px}.video-row-head{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.video-row-head:focus-visible{outline:3px solid var(--sky);outline-offset:-3px;border-radius:var(--radius)}.video-row-head:hover{background:var(--panel-2);border-radius:var(--radius)}.video-row-play{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.video-row-text{flex-direction:column;gap:5px;min-width:0;line-height:1.3;display:flex}.search{top:calc(var(--safe-t) + 6px);z-index:5;position:sticky}.term{border-bottom:1px solid var(--line);padding:12px 14px}.term:last-child{border-bottom:0}.term b{font-family:var(--font-head);font-size:1.1rem;font-weight:600}.term .en{color:var(--accent);font-style:italic}.toast{left:50%;bottom:calc(var(--bottom-bar) + var(--safe-b) + 14px);background:var(--ink);color:var(--panel);border-radius:var(--radius-s);z-index:60;box-shadow:var(--shadow);max-width:calc(100vw - 28px);padding:10px 16px;position:fixed;translate:-50%}.modal-back{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow);padding:22px}.fiche{column-gap:24px}.fiche section{break-inside:avoid;margin-bottom:18px}.fiche h3{margin-top:0}@media (min-width:760px){.fiche.cols{columns:2}}.timeline{margin:0;padding:0;list-style:none}.timeline li{margin:0;padding:0 0 22px 34px;position:relative}.timeline li:before{content:"";background:var(--line-strong);width:2px;position:absolute;top:24px;bottom:-3px;left:10px}.timeline li:last-child:before{display:none}.timeline .num{background:var(--ink);width:22px;height:22px;color:var(--panel);font:600 .75rem/22px var(--font-mono);text-align:center;border-radius:50%;position:absolute;top:2px;left:0}:root[data-theme=dark] .timeline .num{background:var(--accent);color:var(--accent-ink)}.timeline h3{margin:0 0 .25rem}@media print{.sidebar,.bottom-bar,.no-print{display:none!important}.main{margin:0}.page{max-width:none;padding:0}body{background:#fff;font-size:11pt}.card,figure{break-inside:avoid;border-color:#bbb}.fiche.cols{columns:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.fig{width:100%;height:auto;font-family:var(--font-body,system-ui, sans-serif);font-size:16px;display:block}
