@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Roboto+Mono:wght@400;500;600&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--bg:#f6f8fb;--surface:#fff;--surface-2:#f1f5f9;--border:#e6e9f0;--border-strong:#d3d9e3;--text:#0f172a;--text-2:#475569;--text-3:#8a96a8;--accent:#2563eb;--accent-soft:rgba(37,99,235,.1);--grain:0;--halo:.14}[data-theme=dark]{--bg:#0d1117;--surface:#161c26;--surface-2:#1d2430;--border:hsla(0,0%,100%,.09);--border-strong:hsla(0,0%,100%,.17);--text:#e8ecf2;--text-2:#aab4c2;--text-3:#717d8e;--accent:#5aa2ff;--accent-soft:rgba(90,162,255,.12);--grain:.03;--halo:.18}[data-theme=light] body[data-track=fluvial]{--accent:#0d9488;--accent-soft:rgba(13,148,136,.1)}[data-theme=light] body[data-track=crr]{--accent:#6d5cf0;--accent-soft:rgba(109,92,240,.1)}[data-theme=dark] body[data-track=fluvial]{--accent:#2dd4bf;--accent-soft:rgba(45,212,191,.12)}[data-theme=dark] body[data-track=crr]{--accent:#9b8cff;--accent-soft:rgba(155,140,255,.12)}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text-2);min-height:100vh}body:before{inset:0;opacity:var(--grain);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E")}body:after,body:before{content:"";position:fixed;z-index:0;pointer-events:none}body:after{top:-28vh;left:50%;transform:translateX(-50%);width:80vw;height:55vh;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) calc(var(--halo)*100%),transparent),transparent 70%);filter:blur(45px);opacity:.55;transition:background .5s ease}#app,.appbar,footer{position:relative;z-index:1}h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em;color:var(--text)}::-moz-selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-3) 45%,transparent);border-radius:99px;border:3px solid var(--bg)}.appbar{position:fixed;left:0;right:0;top:0;z-index:50;height:4rem;--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 72%,transparent)}.appbar-inner{margin-left:auto;margin-right:auto;display:flex;height:100%;max-width:72rem;align-items:center;gap:.625rem;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.appbar-inner{padding-left:1.5rem;padding-right:1.5rem}}.brand{margin-right:.25rem;display:flex;align-items:center;gap:.5rem;font-size:15px;font-weight:700;letter-spacing:-.025em;color:var(--text)}.brand .dot{height:.375rem;width:.375rem;border-radius:9999px;background:var(--accent);box-shadow:0 0 10px var(--accent)}.segpill.active{color:#fff;background:color-mix(in srgb,var(--accent) 92%,#000);box-shadow:0 1px 12px -2px var(--accent)}.navghost.active{color:var(--accent)}.schema.iconbtn{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.iconbtn,.schema.iconbtn>.sfig{width:100%}.schema.iconbtn>.sfig img{max-height:28rem}.schema.iconbtn>.cap{grid-column:1/-1}.iconbtn{margin-left:.125rem;display:grid;height:2.25rem;width:2.25rem;place-items:center;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-3);border:1px solid var(--border);background:var(--surface-2)}.iconbtn:hover{color:var(--text)}.page{margin-left:auto;margin-right:auto;max-width:72rem;padding:6rem 1rem 4rem}@media (min-width:640px){.page{padding-left:1.5rem;padding-right:1.5rem}}.page{animation:rise .4s cubic-bezier(.2,.7,.2,1) both}@media (min-width:1440px){.page{max-width:84rem}}@media (min-width:1920px){.page{max-width:100rem}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.eyebrow{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--text-3)}.hero{padding-top:2.5rem;padding-bottom:3rem;text-align:center}.hero h1{font-size:2.25rem;line-height:2.5rem;font-weight:800;line-height:1.05;letter-spacing:-.03em}@media (min-width:640px){.hero h1{font-size:3.75rem;line-height:1}}.hero h1{color:var(--text)}.hero .grad{background:linear-gradient(120deg,var(--text),color-mix(in srgb,var(--accent) 75%,var(--text)));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{margin-left:auto;margin-right:auto;margin-top:1.25rem;max-width:36rem;font-size:1.125rem;line-height:1.75rem;line-height:1.625;color:var(--text-2)}.card{position:relative;overflow:hidden;border-radius:1.1rem;padding:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background:var(--surface);border:1px solid var(--border)}.card:after{content:"";pointer-events:none;position:absolute;inset:0;border-radius:1.1rem;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent),0 0 50px -14px color-mix(in srgb,var(--accent) 50%,transparent)}.card.glow:hover,a.card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:var(--border-strong)}.card.glow:hover:after,a.card:hover:after{opacity:1}.track-card{display:flex;flex-direction:column}@media (min-width:640px){.track-card{grid-column:span 2/span 2}}.track-card{--accent:var(--tc)}.schema.track-card .ic{width:100%;align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.track-card .ic>.sfig{width:100%}.schema.track-card .ic>.sfig img{max-height:28rem}.schema.track-card .ic>.cap{grid-column:1/-1}.track-card .ic{margin-bottom:1rem;display:grid;height:3rem;width:3rem;place-items:center;border-radius:.85rem;font-size:1.5rem;line-height:2rem;background:color-mix(in srgb,var(--tc) 14%,transparent);border:1px solid color-mix(in srgb,var(--tc) 28%,transparent)}.track-card h3{font-size:1.25rem;line-height:1.75rem;font-weight:700;color:var(--text)}.track-card .\!meta,.track-card .meta{margin-top:.25rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.track-card .meta{color:var(--text-3)}.track-card .\!meta{color:var(--text-3)!important}.track-card .desc{margin-top:.75rem;flex:1 1 0%;line-height:1.25rem;line-height:1.625;color:var(--text-2)}.track-card .desc,.track-card .go{font-size:.875rem}.track-card .go{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.375rem;line-height:1.25rem;font-weight:600;color:var(--tc)}.track-card .go svg{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.track-card:hover .go svg{transform:translateX(3px)}.schema.track-layout{width:100%;align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.track-layout>.sfig{width:100%}.schema.track-layout>.sfig img{max-height:28rem}.schema.track-layout>.cap{grid-column:1/-1}.track-layout{display:grid;align-items:flex-start;gap:1.5rem}@media (min-width:1024px){.track-layout{grid-template-columns:17rem 1fr;gap:2rem}}.lessons-wrap{min-width:0}@media (min-width:1024px){.lessons-wrap{position:sticky;top:5rem}}.lessons-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.85rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width:1024px){.lessons-toggle{display:none}}.lessons-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text)}.lessons-toggle .chev{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.lessons-toggle.open .chev{transform:rotate(180deg)}.lessons{margin-top:.5rem;max-height:70vh;overflow-y:auto;border-radius:1.1rem;padding:.625rem}@media (min-width:1024px){.lessons{margin-top:0}}.lessons{background:var(--surface);border:1px solid var(--border)}.lessons.collapsed{display:none}@media (min-width:1024px){.lessons.collapsed{display:block}}.lessons-title{display:none;padding:.25rem .625rem .5rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em}@media (min-width:1024px){.lessons-title{display:block}}.lessons-title{color:var(--text-3)}.lesson{display:flex;cursor:pointer;align-items:center;gap:.625rem;border-radius:.5rem;padding:.5rem .75rem;font-size:13.5px;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width:1024px){.lesson{align-items:flex-start}}.lesson{color:var(--text-2)}.lesson:hover{background:var(--surface-2);color:var(--text)}.lesson .ic{width:1.25rem;flex-shrink:0;text-align:center;font-size:1rem;line-height:1.5rem}@media (min-width:1024px){.lesson .ic{margin-top:.125rem}}.lesson .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:1024px){.lesson .t{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:clip;white-space:normal}}.lesson .\!t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:1024px){.lesson .\!t{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:clip;white-space:normal}}.lesson .\!n,.lesson .n{margin-left:auto;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.lesson .n{color:var(--text-3)}.lesson .\!n{color:var(--text-3)!important}.lesson.active{color:var(--text);background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.lesson.active .n{color:var(--accent)}.lesson.active .\!n{color:var(--accent)!important}.mod-head{margin-bottom:1.5rem}.mod-head .eyebrow{margin-bottom:.5rem;display:block}.mod-head h2{font-size:1.875rem;line-height:2.25rem;font-weight:800;letter-spacing:-.02em}@media (min-width:640px){.mod-head h2{font-size:2.1rem}}.mod-head h2{color:var(--text)}.mod-head p{margin-top:.5rem;color:var(--text-2)}.schema.bento{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.bento,.schema.bento>.sfig{width:100%}.schema.bento>.sfig img{max-height:28rem}.schema.bento>.cap{grid-column:1/-1}.bento{display:grid;gap:1rem}@media (min-width:1280px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}.bento{grid-auto-flow:dense;align-items:start}@media (min-width:1280px){.bento-lg{grid-column:span 2/span 2}}.fiche{position:relative;scroll-margin-top:9rem;overflow:hidden;border-radius:1.1rem;padding:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}@media (min-width:640px){.fiche{padding:1.75rem}}.fiche{border:1px solid var(--border)}[data-theme=light] .fiche{background:linear-gradient(150deg,#fff,#f7f9ff);box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 20px -4px color-mix(in srgb,var(--accent) 10%,transparent),inset 0 1px 0 hsla(0,0%,100%,.9)}[data-theme=dark] .fiche{background:linear-gradient(150deg,rgba(22,28,38,.97),rgba(18,24,32,.95));box-shadow:0 1px 0 hsla(0,0%,100%,.04),0 8px 28px -8px rgba(0,0,0,.4)}.fiche:after{content:"";pointer-events:none;position:absolute;inset:0;border-radius:1.1rem;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent),0 0 55px -18px color-mix(in srgb,var(--accent) 50%,transparent)}.fiche:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:var(--border-strong)}.fiche:hover:after{opacity:1}.fiche.flash{animation:ficheflash 1.5s ease}@keyframes ficheflash{0%,45%{box-shadow:0 0 0 2px var(--accent),0 0 44px -8px var(--accent)}to{box-shadow:none}}.fiche-head{margin-bottom:1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.fiche-head h3{font-size:17px;font-weight:700;line-height:1.375;letter-spacing:-.025em;color:var(--text)}[data-theme=dark] .fiche-head h3{background:linear-gradient(90deg,var(--text) 55%,color-mix(in srgb,var(--accent) 75%,var(--text)));-webkit-background-clip:text;background-clip:text;color:transparent}.fiche-body{font-size:14.5px;line-height:1.625;color:var(--text-2)}.fiche-body p,.fiche-body ul{margin-top:.625rem;margin-bottom:.625rem}.fiche-body ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.fiche-body li{position:relative;padding-left:1.25rem}.fiche-body li:before{content:"";position:absolute;left:0;top:.5rem;height:.375rem;width:.375rem;border-radius:9999px;background:var(--accent)}.fiche-body b,.fiche-body strong{color:var(--text)}.fiche-body b,.fiche-body strong,.rep{font-weight:600}.rep{display:inline-flex;flex-shrink:0;align-items:center;gap:.25rem;white-space:nowrap;border-radius:9999px;padding:.25rem .625rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;border:1px solid}.rep-cot{color:#2563eb;background:color-mix(in srgb,#2563eb 12%,transparent);border-color:color-mix(in srgb,#2563eb 28%,transparent)}[data-theme=dark] .rep-cot{color:#60a5fa}.memo,.piege,.precision{position:relative;margin-top:.875rem;margin-bottom:.875rem;border-radius:.85rem;padding-left:1rem;padding-right:1rem;padding-bottom:.75rem;font-size:13.5px;line-height:1.625;padding-top:2.6rem;border:1px solid var(--border);border-left-width:3px;color:var(--text-2)}.memo{background:color-mix(in srgb,#6366f1 7%,var(--surface));border-left-color:#6366f1}.precision{background:color-mix(in srgb,#0ea5e9 7%,var(--surface));border-left-color:#0ea5e9}.piege{background:color-mix(in srgb,#f43f5e 8%,var(--surface));border-left-color:#f43f5e}.memo:before,.piege:before,.precision:before{position:absolute;border-radius:9999px;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;top:.75rem;left:1rem;padding:.2rem .65rem;border:1px solid}.memo:before{content:"💡 Mémo";color:#6366f1;background:color-mix(in srgb,#6366f1 12%,transparent);border-color:color-mix(in srgb,#6366f1 30%,transparent)}.precision:before{content:"ℹ Précision";color:#0284c7;background:color-mix(in srgb,#0ea5e9 12%,transparent);border-color:color-mix(in srgb,#0ea5e9 30%,transparent)}.piege:before{content:"⚠ Piège d'examen";color:#e11d48;background:color-mix(in srgb,#f43f5e 12%,transparent);border-color:color-mix(in srgb,#f43f5e 30%,transparent)}[data-theme=dark] .memo:before{color:#a5b4fc}[data-theme=dark] .precision:before{color:#7dd3fc}[data-theme=dark] .piege:before{color:#fda4af}.hce{margin-top:.5rem;margin-bottom:.5rem;display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;padding:.25rem .75rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px dashed var(--border-strong);color:var(--text-3);background:color-mix(in srgb,var(--text-3) 7%,transparent)}.hce:before{content:"🎓"}.schema.cmp{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.cmp,.schema.cmp>.sfig{width:100%}.schema.cmp>.sfig img{max-height:28rem}.schema.cmp>.cap{grid-column:1/-1}.cmp{margin-top:1rem;margin-bottom:1rem;display:grid;gap:.75rem}@media (min-width:640px){.cmp{grid-template-columns:repeat(2,minmax(0,1fr))}}.cmp .\!c,.cmp .c{border-radius:.85rem;padding:1rem}.cmp .c{border:1px solid var(--border)}.cmp .\!c{border:1px solid var(--border)!important}.cmp .\!c h6,.cmp .c h6{margin-bottom:.5rem;display:flex;align-items:center;gap:.375rem;font-size:13px;font-weight:700}.cmp .c.cot{background:color-mix(in srgb,#2563eb 7%,var(--surface))}.cmp .\!c.cot{background:color-mix(in srgb,#2563eb 7%,var(--surface))!important}.cmp .c.flu{background:color-mix(in srgb,#0d9488 7%,var(--surface))}.cmp .\!c.flu{background:color-mix(in srgb,#0d9488 7%,var(--surface))!important}.cmp .c.cot h6{color:#2563eb}.cmp .\!c.cot h6{color:#2563eb!important}.cmp .c.flu h6{color:#0d9488}.cmp .\!c.flu h6{color:#0d9488!important}[data-theme=dark] .cmp .c.cot h6{color:#60a5fa}[data-theme=dark] .cmp .\!c.cot h6{color:#60a5fa!important}[data-theme=dark] .cmp .c.flu h6{color:#2dd4bf}[data-theme=dark] .cmp .\!c.flu h6{color:#2dd4bf!important}.cmp .c ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.cmp .c ul{font-size:13px}.cmp .\!c ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.cmp .\!c ul{font-size:13px}.cmp .c ul{color:var(--text-2)}.cmp .\!c ul{color:var(--text-2)!important}.tbl{margin-top:1rem;margin-bottom:1rem;width:100%;border-collapse:separate;--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);overflow:hidden;border-radius:.85rem;font-size:13px;border:1px solid var(--border)}.tbl thead th{text-align:left;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);color:var(--text)}.tbl td,.tbl th,.tbl thead th{padding:.5rem .75rem}.tbl td,.tbl th{vertical-align:top;border-top:1px solid var(--border);color:var(--text-2)}.tbl tbody tr:hover td{background:var(--surface-2)}.fiche-body table{margin-top:1rem;margin-bottom:1rem;width:100%;border-collapse:separate;--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);overflow:hidden;border-radius:.85rem;font-size:13px;border:1px solid var(--border)}.fiche-body table thead th{padding:.5rem .75rem;text-align:left;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);color:var(--text);border-top:0}.fiche-body table tbody th,.fiche-body table td{padding:.5rem .75rem;vertical-align:top;border-top:1px solid var(--border);color:var(--text-2)}.fiche-body table tbody tr:hover td{background:var(--surface-2)}.mod-progress{margin-top:1rem;display:flex;align-items:center;gap:.75rem;padding-bottom:.25rem}.mod-progress-bar{height:.25rem;flex:1 1 0%;overflow:hidden;background:var(--border)}.mod-progress-bar,.mod-progress-fill{border-radius:9999px}.mod-progress-fill{height:100%;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;background:var(--accent)}.mod-progress-label{flex-shrink:0;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.cmdkbtn,.mod-progress-label{color:var(--text-3)}.cmdkbtn{margin-left:.125rem;display:flex;height:2.25rem;align-items:center;gap:.375rem;border-radius:9999px;padding-left:.75rem;padding-right:.75rem;font-size:12px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid var(--border);background:var(--surface-2)}.cmdkbtn:hover{color:var(--text);border-color:var(--border-strong)}.cmdkbtn kbd{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.cmdk{position:fixed;inset:0;z-index:70;display:none;justify-content:center;background-color:rgba(0,0,0,.5);padding-left:1rem;padding-right:1rem;padding-bottom:1rem;--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);padding-top:12vh}.cmdk.open{display:flex;animation:rise .18s ease both}.cmdk-panel{height:-moz-fit-content;height:fit-content;max-width:36rem;overflow:hidden;border-radius:1.1rem;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 24px 80px -12px rgba(0,0,0,.5),0 0 60px -20px color-mix(in srgb,var(--accent) 40%,transparent)}.cmdk-input,.cmdk-panel{width:100%}.cmdk-input{background-color:transparent;padding:1rem 1.25rem;font-size:15px;outline:2px solid transparent;outline-offset:2px;color:var(--text);border-bottom:1px solid var(--border)}.cmdk-input::-moz-placeholder{color:var(--text-3)}.cmdk-input::placeholder{color:var(--text-3)}.cmdk-results{overflow-y:auto;padding:.5rem;max-height:50vh}.cmdk-item{display:flex;cursor:pointer;align-items:center;gap:.75rem;border-radius:.85rem;padding:.625rem .875rem}.cmdk-item:hover{background:var(--surface-2)}.cmdk-item.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.cmdk-item.\!sel{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)!important}.cmdk-item .ci{flex-shrink:0;font-size:1rem;line-height:1.5rem}.cmdk-item .ct{font-size:13.5px;font-weight:600;color:var(--text)}.cmdk-item .cm{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-3)}.cmdk-empty{padding:2rem 1rem;text-align:center;font-size:.875rem;line-height:1.25rem}.cmdk-empty,.cmdk-foot{color:var(--text-3)}.cmdk-foot{display:flex;gap:1rem;padding:.625rem 1.25rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;border-top:1px solid var(--border)}.cmdk-foot kbd{border-radius:.25rem;padding-left:.25rem;padding-right:.25rem;background:var(--surface-2);border:1px solid var(--border)}.btn-quiz{margin-top:1rem;display:inline-flex;cursor:pointer;align-items:center;gap:.5rem;border-radius:.85rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;color:#fff;background:color-mix(in srgb,var(--accent) 90%,#000);box-shadow:0 4px 18px -6px var(--accent);border:0}.btn-quiz:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 26px -6px var(--accent)}.btn-quiz:disabled{cursor:default;opacity:.4}.btn-quiz .\!n,.btn-quiz .n{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:400;opacity:.7}.quiz{position:fixed;inset:0;z-index:55;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;background-color:rgba(0,0,0,.55);padding:1.5rem 1rem;--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.quiz.open{display:flex;animation:rise .22s ease both}.quiz-panel{margin-top:auto;margin-bottom:auto;width:100%;max-width:42rem;overflow:hidden;border-radius:1.1rem;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 24px 80px -12px rgba(0,0,0,.5),0 0 70px -24px color-mix(in srgb,var(--accent) 45%,transparent)}.quiz-head{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border)}.quiz-topic{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;color:var(--text)}.quiz-count{flex-shrink:0;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-3)}.quiz-bar{height:.25rem;min-width:2rem;flex:1 1 0%;overflow:hidden;background:var(--border)}.quiz-bar,.quiz-fill{border-radius:9999px}.quiz-fill{height:100%;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;background:var(--accent)}.quiz-body{padding:1.25rem}@media (min-width:640px){.quiz-body{padding:1.75rem}}.quiz-q{font-size:16px;font-weight:600;line-height:1.625;color:var(--text)}.quiz-img{margin-top:1rem;margin-bottom:1rem;text-align:center}.quiz-img img{display:inline-block;max-width:100%;cursor:zoom-in;border-radius:.85rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;max-height:15rem;border:1px solid var(--border)}.quiz-img img:hover{border-color:var(--border-strong)}.schema.quiz-opts{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.quiz-opts,.schema.quiz-opts>.sfig{width:100%}.schema.quiz-opts>.sfig img{max-height:28rem}.schema.quiz-opts>.cap{grid-column:1/-1}.quiz-opts{margin-top:1rem;display:grid;gap:.5rem}.exo-choice.picked{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:var(--accent-soft)}.quiz-multi{margin-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.quiz-multi .btn-quiz{margin-top:0}.quiz-hint{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-3)}.quiz-actions{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.quiz-actions.center{margin-top:1.5rem;justify-content:center}.quiz-foot{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-3);border-top:1px solid var(--border)}.quiz-kbd kbd{border-radius:.25rem;padding-left:.25rem;padding-right:.25rem;background:var(--surface-2);border:1px solid var(--border)}.quiz-end{padding-top:2.5rem;padding-bottom:2.5rem;text-align:center}.quiz-end-emoji{margin-bottom:.75rem;font-size:3rem;line-height:1}.quiz-score{font-size:3.75rem;line-height:1;font-weight:800;letter-spacing:-.025em;color:var(--text)}.quiz-score-total{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--text-3)}.quiz-end-msg{margin-top:.75rem;font-size:15px;color:var(--text-2)}.quiz-panel.exam{max-width:48rem}.exam-timer{margin-left:auto;flex-shrink:0;border-radius:9999px;padding:.25rem .75rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.exam-timer.low{color:#e11d48;border-color:color-mix(in srgb,#e11d48 40%,transparent);background:color-mix(in srgb,#f43f5e 10%,transparent);animation:pulse-low 1s ease infinite}@keyframes pulse-low{50%{opacity:.55}}.exam-grid-nav{display:flex;flex-wrap:wrap;gap:.375rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border)}.exam-grid-nav.result{border-width:0;padding:.5rem 0}.schema.exam-chip{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.exam-chip,.schema.exam-chip>.sfig{width:100%}.schema.exam-chip>.sfig img{max-height:28rem}.schema.exam-chip>.cap{grid-column:1/-1}.exam-chip{display:grid;height:2rem;width:2rem;cursor:pointer;place-items:center;border-radius:.5rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border)}.exam-chip:hover{border-color:var(--border-strong);color:var(--text)}.exam-chip.done{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.exam-chip.cur{box-shadow:0 0 0 2px var(--accent);color:var(--text)}.exam-chip.\!cur{box-shadow:0 0 0 2px var(--accent)!important;color:var(--text)!important}.exam-chip.good{color:#047857;background:color-mix(in srgb,#10b981 12%,var(--surface));border-color:color-mix(in srgb,#10b981 32%,transparent)}.exam-chip.bad{color:#fff;background:#e11d48;border-color:#be123c}[data-theme=dark] .exam-chip.good{color:#6ee7b7}.exam-banner{margin-left:1.25rem;margin-right:1.25rem;margin-top:.75rem;border-radius:.85rem;padding:.625rem 1rem;font-size:13px;font-weight:500;color:#b45309;background:color-mix(in srgb,#f59e0b 12%,var(--surface));border:1px solid color-mix(in srgb,#f59e0b 35%,transparent)}[data-theme=dark] .exam-banner{color:#fcd34d}.exam-foot{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.exam-status{flex:1 1 0%;text-align:center;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-3)}.exam-foot .btn-quiz{margin-top:0}.btn-nav:disabled{cursor:default;opacity:.35}.exam-verdict{padding:2rem 1.5rem;text-align:center}.exam-verdict.admis{background:linear-gradient(160deg,color-mix(in srgb,#10b981 16%,var(--surface)),var(--surface))}.exam-verdict.ajourne{background:linear-gradient(160deg,color-mix(in srgb,#f43f5e 16%,var(--surface)),var(--surface))}.ev-badge{font-size:2.25rem;line-height:2.5rem;font-weight:800;letter-spacing:-.025em}@media (min-width:640px){.ev-badge{font-size:3rem;line-height:1}}.exam-verdict.admis .ev-badge{color:#059669}.exam-verdict.ajourne .ev-badge{color:#e11d48}[data-theme=dark] .exam-verdict.admis .ev-badge{color:#34d399}[data-theme=dark] .exam-verdict.ajourne .ev-badge{color:#fb7185}.ev-sub{margin-top:.5rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-2)}.schema.exam-bento{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.exam-bento,.schema.exam-bento>.sfig{width:100%}.schema.exam-bento>.sfig img{max-height:28rem}.schema.exam-bento>.cap{grid-column:1/-1}.exam-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.exam-stat{border-radius:.85rem;padding:1rem;text-align:center;background:var(--surface-2);border:1px solid var(--border)}.es-n{display:block;font-size:1.5rem;line-height:2rem;font-weight:800;letter-spacing:-.025em;color:var(--text)}.es-n small{font-size:.875rem;line-height:1.25rem;font-weight:700;color:var(--text-3)}.es-l{margin-top:.25rem;display:block;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-3)}.exam-revoir{border-radius:.85rem;padding:.75rem 1rem;font-size:13px;line-height:1.625;color:var(--text-2);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.exam-detail,.exam-revoir{margin-top:1rem}.exam-detail{border-radius:.85rem;padding:1rem}@media (min-width:640px){.exam-detail{padding:1.25rem}}.exam-detail{background:var(--surface-2);border:1px solid var(--border);animation:rise .25s ease both}.exam-detail .exo-choice{cursor:default;background:var(--surface)}.exam-tag{margin-left:.5rem;border-radius:9999px;padding:.125rem .5rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);border:1px dashed var(--border-strong)}.schema.exam-home-txt .ic{width:100%;align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.exam-home-txt .ic>.sfig{width:100%}.schema.exam-home-txt .ic>.sfig img{max-height:28rem}.schema.exam-home-txt .ic>.cap{grid-column:1/-1}.exam-home-txt .ic{display:grid;height:3rem;width:3rem;flex-shrink:0;place-items:center;border-radius:.85rem;font-size:1.5rem;line-height:2rem;background:color-mix(in srgb,var(--tc) 14%,transparent);border:1px solid color-mix(in srgb,var(--tc) 28%,transparent)}.exam-home-txt .desc{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;color:var(--text-2)}.schema.exam-choose{width:100%;align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.exam-choose>.sfig{width:100%}.schema.exam-choose>.sfig img{max-height:28rem}.schema.exam-choose>.cap{grid-column:1/-1}.exam-choose{display:grid;gap:.75rem}.exam-choice-card{display:flex;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.125rem;border-radius:.85rem;padding:.75rem 1rem;text-align:left;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:var(--surface);border:1px solid var(--border)}.exam-choice-card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:var(--border-strong);box-shadow:0 6px 22px -8px color-mix(in srgb,var(--accent) 45%,transparent)}.ec-icon{font-size:1.25rem;line-height:1.75rem}.ec-name{font-size:15px;font-weight:700;color:var(--text)}.ec-rules{font-size:10.5px;color:var(--text-3)}.ec-pool,.ec-rules{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.ec-pool{margin-top:.125rem;font-size:10px;color:var(--accent)}.fig{margin-top:1.25rem;margin-bottom:1.25rem;text-align:center}.fig,.fig img{display:block}.fig img{margin-left:auto;margin-right:auto;width:auto;max-width:100%;cursor:zoom-in;border-radius:.85rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));-o-object-fit:contain;object-fit:contain;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;min-height:9rem;max-height:24rem;border:1px solid var(--border)}.fig img:hover{border-color:var(--border-strong)}.fig figcaption{margin-top:.5rem;text-align:center;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-3)}.schema.figrow{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.figrow,.schema.figrow>.sfig{width:100%}.schema.figrow>.sfig img{max-height:28rem}.schema.figrow>.cap{grid-column:1/-1}.figrow{margin-top:1.25rem;margin-bottom:1.25rem;display:grid;align-items:flex-start;gap:1rem}@media (min-width:640px){.figrow{grid-template-columns:repeat(2,minmax(0,1fr))}}.figrow .fig{margin-top:0;margin-bottom:0}.schema{margin-top:1.25rem;margin-bottom:1.25rem;display:flex;flex-direction:column;align-items:center}.schema img{margin-left:auto;margin-right:auto;width:auto;max-width:100%;cursor:zoom-in;border-radius:.85rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));-o-object-fit:contain;object-fit:contain;min-height:9.5rem;max-height:24rem;border:1px solid var(--border)}.schema .cap,.schema img{display:block}.schema .cap{margin-top:.5rem;text-align:center;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-3)}.schema .sfig{margin:0;display:flex;flex-direction:column;align-items:center}.schema .sfig .subcap{margin-top:.375rem;text-align:center;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.25;color:var(--text-3)}.schema.grid{align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.grid,.schema.grid>.sfig{width:100%}.schema.grid>.sfig img{max-height:28rem}.schema.grid>.cap{grid-column:1/-1}.schema.svg{border-radius:.85rem;padding:.75rem .5rem;background:#f5f7fa;border:1px solid var(--border)}.schema.svg .cap{color:#64748b}.ph{margin-top:1.25rem;margin-bottom:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.85rem;padding:3rem 1rem;text-align:center;border:1.5px dashed var(--border-strong);background:color-mix(in srgb,var(--text-3) 8%,transparent)}.ph svg{margin-bottom:.5rem;opacity:.4}.ph .ph-t{margin-bottom:.25rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-3)}.ph .ph-n{font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--text-2)}.ph .ph-f{margin-top:.5rem;border-radius:.25rem;padding:.25rem .5rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--accent);background:var(--accent-soft)}.lightbox{position:fixed;inset:0;z-index:60;display:none;place-items:center;background-color:rgba(0,0,0,.8);padding:1.5rem;--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.schema.lightbox.open{width:100%;align-items:flex-start;gap:1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.schema.lightbox.open>.sfig{width:100%}.schema.lightbox.open>.sfig img{max-height:28rem}.schema.lightbox.open>.cap{grid-column:1/-1}.lightbox.open{display:grid;animation:rise .25s ease both}.lightbox img{max-height:100%;max-width:100%;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.5rem}.lightbox img,.search{border-radius:.85rem}.search{width:100%;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:var(--surface);border:1px solid var(--border);color:var(--text)}.search::-moz-placeholder{color:var(--text-3)}.search::placeholder{color:var(--text-3)}.search:focus{outline:2px solid transparent;outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 0 3px var(--accent-soft)}.btn-nav{display:inline-flex;align-items:center;gap:.375rem;border-radius:.85rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:var(--surface);border:1px solid var(--border);color:var(--text-2)}.btn-nav:hover{color:var(--text);border-color:var(--border-strong)}.exo-catbtn{border-radius:9999px;padding:.375rem .875rem;font-size:13px;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--surface);border:1px solid var(--border);color:var(--text-2)}.exo-catbtn.active{color:#fff;border-color:transparent;background:color-mix(in srgb,var(--accent) 90%,#000)}.exo-choice{width:100%;border-radius:.85rem;padding:.75rem 1rem;text-align:left;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--surface);border:1px solid var(--border);color:var(--text)}.exo-choice:hover{border-color:var(--border-strong)}.exo-choice:disabled{cursor:default}.exo-choice.correct{color:#047857;background:color-mix(in srgb,#10b981 12%,var(--surface));border-color:color-mix(in srgb,#10b981 40%,transparent)}.exo-choice.wrong{color:#be123c;background:color-mix(in srgb,#f43f5e 12%,var(--surface));border-color:color-mix(in srgb,#f43f5e 40%,transparent)}[data-theme=dark] .exo-choice.correct{color:#6ee7b7}[data-theme=dark] .exo-choice.wrong{color:#fda4af}.exo-feedback{border-radius:.85rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;border-left:3px solid}.exo-feedback.ok{background:color-mix(in srgb,#10b981 9%,var(--surface));border-left-color:#10b981;color:var(--text)}.exo-feedback.\!ok{background:color-mix(in srgb,#10b981 9%,var(--surface))!important;border-left-color:#10b981!important;color:var(--text)!important}.exo-feedback.ko{background:color-mix(in srgb,#f43f5e 9%,var(--surface));border-left-color:#f43f5e;color:var(--text)}.visible{visibility:visible}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.min-w-0{min-width:0}.max-w-md{max-width:28rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.pl-5{padding-left:1.25rem}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-\[15px\]{font-size:15px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-white\/40{color:hsla(0,0%,100%,.4)}.text-white\/45{color:hsla(0,0%,100%,.45)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dash{margin-bottom:1.5rem}.dash .dash-hd{margin-bottom:.75rem}.dash-cta{display:flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;border-radius:.85rem;padding:.95rem 1rem;font-weight:700;font-size:1rem;color:#fff;background:var(--accent);box-shadow:0 6px 22px -8px var(--accent);transition:transform .18s ease,filter .18s ease}.dash-cta:hover{filter:brightness(1.06);transform:translateY(-1px)}.dash-cta:active{transform:translateY(0)}.dash-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.9rem}.dash-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;cursor:pointer;border:1px solid var(--border);border-radius:.85rem;background:var(--surface-2);padding:.7rem;min-height:88px;transition:transform .18s ease,border-color .18s ease}.dash-tile:hover{border-color:var(--border-strong);transform:translateY(-1px)}.dash-ic{font-size:1.2rem;line-height:1}.dash-t{font-weight:600;font-size:.8rem;color:var(--text);line-height:1.15;max-width:100%}.dash-st{font-size:.62rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-top:auto;max-width:100%}.dash-n{position:absolute;top:.5rem;right:.6rem;font-family:Roboto Mono,monospace;font-weight:700;font-size:.95rem;color:var(--accent)}.dash-sub{margin:1.15rem 0 .5rem}.dash-themes{display:flex;flex-wrap:wrap;gap:.4rem}.dash-theme{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;max-width:100%;border:1px solid var(--border);border-radius:.7rem;background:var(--surface);padding:.4rem .65rem;font-size:.75rem;color:var(--text-2);transition:color .15s,border-color .15s}.dash-theme:hover{border-color:var(--border-strong);color:var(--text)}.dash-theme .n{font-family:Roboto Mono,monospace;font-size:.65rem;color:var(--text-3)}.dash-exams{display:flex;flex-wrap:wrap;gap:.5rem}.dash-exams .exam-choice-card{flex:1 1 8rem}.dash-exam{margin-top:.85rem;font-size:.8rem;color:var(--text-2)}.dash-revbtn.on{border-color:var(--accent);color:var(--accent)}.dash-toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%) translateY(1rem);z-index:200;max-width:90vw;padding:.6rem .9rem;font-size:.8rem;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:.7rem;box-shadow:0 10px 30px -8px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.dash-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (min-width:640px){.dash-tile{min-height:96px}.dash-t{font-size:.85rem}}:root{--navy:#0b2a4a;--navy-2:#123a5e;--turq:#0d9488;--turq-soft:rgba(13,148,136,.12);--rail-w:15.5rem}[data-theme=dark]{--navy:#0a1a2b;--navy-2:#10263d;--turq:#2dd4bf;--turq-soft:rgba(45,212,191,.15)}.appbar-tools{margin-left:auto;display:flex;align-items:center;gap:.5rem}.site-foot{position:relative;z-index:1;max-width:72rem;margin:2.5rem auto 0;padding:2rem 1.5rem;border-top:1px solid var(--border);text-align:center;font-size:12px;color:var(--text-3)}#app{padding-bottom:calc(4.6rem + env(safe-area-inset-bottom, 0px))}.rail{display:none}.rail-brand{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:15px;letter-spacing:-.01em;color:#fff;padding:0 .35rem .2rem}.rail-brand .dot{width:8px;height:8px;border-radius:999px;background:var(--turq);box-shadow:0 0 12px var(--turq)}.rail-nav{display:flex;flex-direction:column;gap:.25rem;margin-top:1.4rem}.railitem{display:flex;align-items:center;gap:.75rem;padding:.62rem .8rem;border-radius:.7rem;font-size:14px;font-weight:600;color:hsla(0,0%,100%,.76);transition:background .15s,color .15s}.railitem svg{width:19px;height:19px;flex:0 0 auto;opacity:.9}.railitem:hover{color:#fff;background:hsla(0,0%,100%,.08)}.railitem.active{color:#fff;background:hsla(0,0%,100%,.13);box-shadow:inset 2px 0 0 var(--turq)}.railitem.active svg{color:var(--turq);opacity:1}.rail-foot{margin-top:auto;padding:.6rem .5rem 0;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:hsla(0,0%,100%,.34);border-top:1px solid hsla(0,0%,100%,.1)}.botnav{position:fixed;z-index:40;inset:auto 0 0 0;display:flex;align-items:stretch;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.botitem{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:.5rem .2rem .55rem;font-size:10.5px;font-weight:600;color:var(--text-3);min-height:3.4rem;transition:color .15s}.botitem svg{width:22px;height:22px;flex-shrink:0}.botitem span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.botitem.active,.botitem.active svg{color:var(--accent)}.botitem:active{background:var(--surface-2)}@media (min-width:1024px){.rail{display:flex;flex-direction:column;position:fixed;z-index:45;inset:0 auto 0 0;width:var(--rail-w);padding:1.15rem 1rem;overflow-y:auto;background:linear-gradient(185deg,var(--navy),var(--navy-2));border-right:1px solid hsla(0,0%,100%,.08)}.botnav{display:none}.appbar{left:var(--rail-w);right:0;background:color-mix(in srgb,var(--bg) 80%,transparent)}#app{padding-left:var(--rail-w);padding-bottom:0}.site-foot{padding-left:calc(var(--rail-w) + 1.5rem);max-width:none;margin-left:0;margin-right:0}}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.4rem}.botitem:focus-visible,.railitem:focus-visible{outline-color:var(--turq)}.hub{margin-bottom:1.5rem}.hub .eyebrow{display:block;margin-bottom:.5rem}.hub h1{font-size:clamp(1.7rem,5vw,2.4rem);font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.1}.hub-lead{margin-top:.6rem;max-width:40rem;font-size:15px;line-height:1.6;color:var(--text-2)}.resume{position:relative;overflow:hidden;border-radius:1.15rem;padding:1.4rem 1.35rem;background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff;box-shadow:0 18px 40px -20px rgba(4,20,40,.7);border:1px solid hsla(0,0%,100%,.08)}.resume:after{content:"";position:absolute;right:-3rem;top:-3rem;width:12rem;height:12rem;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--turq) 55%,transparent),transparent 70%);opacity:.5;pointer-events:none}.resume .r-eyebrow{font-family:Roboto Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:color-mix(in srgb,var(--turq) 80%,#fff)}.resume .r-title{margin-top:.35rem;font-size:clamp(1.25rem,4.5vw,1.7rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.resume .r-sub{margin-top:.35rem;font-size:13px;color:hsla(0,0%,100%,.72)}.resume .r-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;position:relative;z-index:1}.r-cta{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;border:0;border-radius:.8rem;padding:.8rem 1.15rem;font-weight:700;font-size:14.5px;color:var(--navy);background:#fff;transition:transform .16s,box-shadow .16s}.r-cta:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}.r-cta.turq{background:var(--turq);color:#04211d}[data-theme=dark] .r-cta.turq{color:#052b26}.r-ghost{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;border-radius:.8rem;padding:.8rem 1rem;font-weight:600;font-size:13.5px;color:#fff;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.16);transition:background .15s}.r-ghost:hover{background:hsla(0,0%,100%,.2)}.cat-grid{display:grid;gap:.9rem;grid-template-columns:minmax(0,1fr)}@media (min-width:640px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.catcard{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:1.1rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);--tc:var(--accent);transition:transform .2s,border-color .2s,box-shadow .2s}.catcard:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tc) 45%,var(--border));box-shadow:0 14px 34px -18px color-mix(in srgb,var(--tc) 60%,transparent)}.catcard:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--tc),color-mix(in srgb,var(--tc) 20%,transparent))}.catcard-top{display:flex;align-items:center;gap:.8rem}.catcard-ic{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.9rem;font-size:1.5rem;background:color-mix(in srgb,var(--tc) 14%,transparent);border:1px solid color-mix(in srgb,var(--tc) 28%,transparent)}.catcard-h{font-size:1.15rem;font-weight:800;color:var(--text);letter-spacing:-.01em}.catcard-meta{margin-top:.1rem;font-family:Roboto Mono,monospace;font-size:11px;color:var(--text-3)}.catcard-desc{margin-top:.85rem;font-size:13.5px;line-height:1.55;color:var(--text-2);flex:1}.catcard-cta{margin-top:1rem;display:inline-flex;align-items:center;gap:.4rem;font-size:13.5px;font-weight:700;color:var(--tc)}.catcard.soon{opacity:.85}.prog{display:flex;align-items:center;gap:.6rem;margin-top:.9rem}.prog-bar{flex:1;height:7px;border-radius:999px;overflow:hidden;background:var(--border)}.prog-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--tc,var(--accent)),color-mix(in srgb,var(--turq) 70%,var(--tc,var(--accent))));transition:width .5s ease}.prog-lbl{flex:0 0 auto;font-family:Roboto Mono,monospace;font-size:10.5px;color:var(--text-3)}.themelist{display:grid;gap:.7rem}.themecard{border-radius:1rem;background:var(--surface);border:1px solid var(--border);overflow:hidden;--tc:var(--accent);transition:border-color .2s,box-shadow .2s}.themecard:hover{border-color:var(--border-strong);box-shadow:0 10px 30px -20px color-mix(in srgb,var(--tc) 60%,transparent)}.themecard-hd{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;cursor:pointer;background:transparent;border:0;padding:1rem 1.1rem;color:var(--text)}.themecard-ic{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:0 0 auto;font-size:1.3rem;border-radius:.75rem;background:color-mix(in srgb,var(--tc) 13%,transparent);border:1px solid color-mix(in srgb,var(--tc) 26%,transparent)}.themecard-main{min-width:0;flex:1}.themecard-t{display:block;font-size:15px;font-weight:700;color:var(--text);line-height:1.25}.themecard-s{display:block;margin-top:.15rem;font-size:10.5px}.themecard-n,.themecard-s{font-family:Roboto Mono,monospace;color:var(--text-3)}.themecard-n{flex:0 0 auto;font-size:11px}.themecard-chev{flex:0 0 auto;transition:transform .2s;color:var(--text-3)}.themecard.open .themecard-chev{transform:rotate(180deg)}.chaplist{display:none;padding:0 .7rem .7rem}.themecard.open .chaplist{display:block}.chap{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:.6rem;font-size:13.5px;color:var(--text-2)}.chap:hover{background:var(--surface-2);color:var(--text)}.chap-i{flex:0 0 auto;width:1.4rem;height:1.4rem;display:grid;place-items:center;border-radius:999px;font-family:Roboto Mono,monospace;font-size:10px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border)}.chap-t{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:1024px){.chap{align-items:flex-start}.chap-i{margin-top:.1rem}.chap-t{white-space:normal;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.chap .rep{margin-top:.1rem}}.chap .rep{margin-left:auto}.theme-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 .8rem .85rem}.reader-rail{display:none}@media (min-width:1024px){.track-layout.reader{grid-template-columns:15rem minmax(0,1fr)}.reader-rail{display:grid;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin-top:1.5rem;align-self:start}.reader-rail .rr-card{margin-bottom:0}}@media (min-width:1600px){.track-layout.reader{grid-template-columns:16rem minmax(0,880px) 17rem;justify-content:center}.reader-rail{display:flex;flex-direction:column;grid-column:auto;position:sticky;top:5.5rem;align-self:start;margin-top:0}.reader-rail .rr-card{margin-bottom:.9rem}}.rr-card{border-radius:1rem;background:var(--surface);border:1px solid var(--border);padding:1rem 1.1rem;margin-bottom:.9rem}.rr-title{font-family:Roboto Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);margin-bottom:.7rem}.rr-big{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1}.rr-big small{font-size:.9rem;font-weight:700;color:var(--text-3)}.rr-toc{display:flex;flex-direction:column;gap:.1rem;max-height:40vh;overflow-y:auto}.rr-tocitem{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;border-radius:.5rem;font-size:12.5px;color:var(--text-2);cursor:pointer}.rr-tocitem:hover{background:var(--surface-2);color:var(--text)}.rr-tocitem .n{flex:0 0 auto;margin-top:.05rem;font-family:Roboto Mono,monospace;font-size:10px;color:var(--text-3)}.rr-tocitem-lbl{min-width:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.rr-actions{display:flex;flex-direction:column;gap:.5rem}.reader-quick{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 1.2rem}.retenir-grid{display:grid;gap:.9rem;grid-template-columns:minmax(0,1fr)}@media (min-width:900px){.retenir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.key{position:relative;border-radius:1rem;padding:1.05rem 1.15rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent)}.key.k-piege{border-left-color:#f43f5e;background:color-mix(in srgb,#f43f5e 5%,var(--surface))}.key.k-memo{border-left-color:#6366f1;background:color-mix(in srgb,#6366f1 5%,var(--surface))}.key-tag{display:inline-flex;align-items:center;gap:.3rem;font-family:Roboto Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.key.k-memo .key-tag{color:#6366f1}.key.k-piege .key-tag{color:#e11d48}[data-theme=dark] .key.k-memo .key-tag{color:#a5b4fc}[data-theme=dark] .key.k-piege .key-tag{color:#fda4af}.key-body{font-size:13.5px;line-height:1.6;color:var(--text-2)}.key-body b,.key-body strong{color:var(--text);font-weight:600}.key-src{margin-top:.6rem;font-family:Roboto Mono,monospace;font-size:10px;color:var(--text-3)}.retenir-cta{position:sticky;bottom:calc(4.8rem + env(safe-area-inset-bottom, 0px));z-index:5;margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;border-radius:1rem;padding:1rem 1.15rem;background:var(--surface);border:1px solid var(--border-strong);box-shadow:0 14px 34px -18px rgba(0,0,0,.4)}@media (min-width:1024px){.retenir-cta{bottom:1.2rem}}.retenir-cta .rc-txt{flex:1;min-width:12rem}.retenir-cta .rc-txt b{color:var(--text);font-size:15px}.retenir-cta .rc-txt span{display:block;font-size:12.5px;color:var(--text-3)}.dash2{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}@media (min-width:1024px){.dash2{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start}}.dash-block{margin-top:1.4rem}.dash-block:first-child{margin-top:0}.dash-block>.eyebrow{display:block;margin-bottom:.7rem}.dash-side .card,.dash-side .dash-panel{margin-bottom:1rem}.dash-panel{border-radius:1rem;background:var(--surface);border:1px solid var(--border);padding:1.1rem 1.15rem}.dash-panel>.eyebrow{display:block;margin-bottom:.8rem}.home-hero{padding-top:.25rem;padding-bottom:1.1rem;text-align:left}.home-hero h1{font-size:clamp(1.7rem,5.5vw,2.7rem)}.home-hero p{margin-left:0;margin-top:.8rem;font-size:15px}@media (min-width:1024px){.home-hero{padding-bottom:1.4rem}}.chap-foot{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:1.1rem;padding-top:.85rem;border-top:1px dashed var(--border)}.chap-badge{font-family:Roboto Mono,monospace;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--border);color:var(--text-3)}.chap-badge.read{color:#059669;border-color:color-mix(in srgb,#059669 40%,transparent);background:color-mix(in srgb,#059669 10%,transparent)}.chap-badge.started{color:#b45309;border-color:color-mix(in srgb,#f59e0b 40%,transparent);background:color-mix(in srgb,#f59e0b 10%,transparent)}[data-theme=dark] .chap-badge.read{color:#34d399}[data-theme=dark] .chap-badge.started{color:#fcd34d}.chap-read-btn{margin-left:auto;cursor:pointer;border-radius:.7rem;padding:.5rem .85rem;font-size:13px;font-weight:600;transition:all .15s ease;color:var(--text-2);background:var(--surface);border:1px solid var(--border)}.chap-read-btn:hover{color:var(--text);border-color:var(--border-strong)}.chap-read-btn.on{color:#fff;border-color:transparent;background:#059669;box-shadow:0 4px 14px -6px #059669}[data-theme=dark] .chap-read-btn.on{background:#10b981}.fiche.is-read{box-shadow:inset 3px 0 0 #10b981}.fiche.is-started{box-shadow:inset 3px 0 0 #f59e0b}.chap-mark{flex:0 0 auto;width:1.15rem;height:1.15rem;display:grid;place-items:center;border-radius:999px;font-size:10px;font-weight:700;margin-left:.1rem}.chap-mark.read{color:#fff;background:#10b981}.chap-mark.started{color:#b45309;background:color-mix(in srgb,#f59e0b 22%,transparent)}[data-theme=dark] .chap-mark.started{color:#fcd34d}.chap.is-read .chap-t{color:var(--text-3)}.themecard-n.done{color:#059669}[data-theme=dark] .themecard-n.done{color:#34d399}.rr-sub2{margin-top:.7rem;font-size:11.5px;color:var(--text-2);line-height:1.7}.rr-sub2 b{color:var(--text);font-weight:700}.rr-sub2 .q{color:var(--accent)}.rr-sub2 .m{color:#d97706}[data-theme=dark] .rr-sub2 .m{color:#fbbf24}.rr-tocitem{position:relative}.rr-dot{flex:0 0 auto;width:1rem;height:1rem;margin-top:.1rem;display:grid;place-items:center;border-radius:999px;font-size:9px;font-weight:700;color:transparent;background:var(--border)}.rr-dot.read{color:#fff;background:#10b981}.rr-dot.started{color:#b45309;background:color-mix(in srgb,#f59e0b 30%,transparent)}[data-theme=dark] .rr-dot.started{color:#fcd34d}.rr-tocitem.is-read{color:var(--text-3)}.cont-list{display:grid;gap:.55rem}.cont-item{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border-radius:.85rem;background:var(--surface);border:1px solid var(--border);transition:transform .15s,border-color .15s}.cont-item:hover{transform:translateY(-1px);border-color:var(--border-strong)}.cont-ic{flex:0 0 auto;display:grid;place-items:center;width:2.2rem;height:2.2rem;font-size:1.15rem;border-radius:.6rem;background:color-mix(in srgb,#f59e0b 12%,transparent);border:1px solid color-mix(in srgb,#f59e0b 28%,transparent)}.cont-main{min-width:0;flex:1}.cont-t{font-size:14px;font-weight:700;color:var(--text)}.cont-m,.cont-t{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cont-m{font-family:Roboto Mono,monospace;font-size:10.5px;color:var(--text-3)}.cont-go{flex:0 0 auto;font-size:12.5px;font-weight:700;color:var(--accent)}@media (max-width:400px){.cont-go{display:none}}.plan-card{position:relative;overflow:hidden;border-radius:1.15rem;padding:1.25rem 1.3rem;margin-bottom:1.1rem;border:1px solid var(--border-strong);background:radial-gradient(120% 140% at 100% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 55%),var(--surface);box-shadow:var(--tw-shadow,0 8px 24px -14px rgba(15,23,42,.25))}.plan-card.resume{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.plan-card.done{border-color:color-mix(in srgb,var(--same) 45%,var(--border))}.plan-eyebrow{font-family:Roboto Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.plan-title{margin-top:.3rem;font-size:clamp(1.2rem,4.5vw,1.55rem);font-weight:800;letter-spacing:-.02em;color:var(--text)}.plan-sub{margin-top:.3rem;font-size:13.5px;color:var(--text-2);line-height:1.5}.plan-reasons{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.plan-reason{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:.28rem .6rem;border-radius:999px;color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.plan-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;align-items:center}.plan-actions.center{justify-content:center}.plan-actions.plan-top{margin-top:0;margin-bottom:1.1rem}.plan-cta{width:auto;text-decoration:none}.plan-progress{display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem}.pp-bar{flex:1;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}.pp-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.pp-lbl{font-family:Roboto Mono,monospace;font-size:12px;color:var(--text-3);white-space:nowrap}.plan-steps{display:flex;flex-direction:column;gap:.6rem}.plan-step{display:flex;align-items:flex-start;gap:.8rem;padding:.85rem .9rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);transition:border-color .18s ease,background .18s ease}.plan-step.current{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent-soft)}.plan-step.done{opacity:.72}.plan-step.todo{opacity:.9}.ps-ic{font-size:1.35rem;line-height:1.4;width:1.9rem;text-align:center;flex-shrink:0}.ps-main{flex:1;min-width:0}.ps-t{font-weight:700;font-size:14.5px;color:var(--text)}.ps-d{margin-top:.12rem;font-size:12.5px;color:var(--text-2);overflow-wrap:anywhere}.ps-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.ps-badge{flex-shrink:0;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:999px;font-family:Roboto Mono,monospace;font-weight:700;font-size:12px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border)}.ps-badge.done{background:var(--same)}.ps-badge.cur,.ps-badge.done{color:#fff;border-color:transparent}.ps-badge.cur{background:var(--accent)}.plan-bilan{text-align:center;padding:1.5rem 1rem}.pb-emoji{font-size:2.8rem;line-height:1}.pb-score{margin-top:.5rem;font-size:2rem;font-weight:800;color:var(--text)}.pb-score span{font-size:1.1rem;color:var(--text-3);font-weight:600}.pb-msg{margin-top:.4rem;font-size:14px;color:var(--text-2)}.exam-debrief{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:1rem 0}.exam-fiche{margin-top:.8rem;padding:.6rem .8rem;border-radius:.7rem;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.hist-block{margin-top:1.4rem}.hist-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}.hist-permis{font-weight:800;font-size:1.05rem;color:var(--text)}.hist-trend{font-family:Roboto Mono,monospace;font-size:12px;font-weight:600}.hist-trend.up{color:var(--same)}.hist-trend.down{color:var(--diff)}.hist-trend.flat{color:var(--text-3)}.hist-rows{display:flex;flex-direction:column;gap:.45rem}.hist-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:.7rem .85rem;border:1px solid var(--border);border-left-width:3px;border-radius:.8rem;background:var(--surface)}.hist-row.admis{border-left-color:var(--same)}.hist-row.ajourne{border-left-color:var(--diff)}.hist-date{font-family:Roboto Mono,monospace;font-size:12px;color:var(--text-3)}.hist-score{font-size:14px;color:var(--text)}.hist-verdict{font-size:13px;color:var(--text-2)}.hist-redo{margin-left:auto;margin-top:0}.hist-legacy{color:var(--text-3);font-style:italic}.hist-legacy,.hist-perfect{margin-left:auto;font-size:12px}.hist-perfect{color:var(--same)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (max-width:220px){.cmdkbtn kbd{display:none}}@media (min-width:1024px){.lg\:hidden{display:none}}