@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-c-5QAGAI.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BXZfsJY4.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-Cc-u-6OI.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-BDs68eHQ.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-Bo_j9asI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-DHTKMUil.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-B1g8a0vD.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-BpXpdlRW.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-BsaNuasd.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-BVZ5su8S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-DMe4EKeb.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--font-ui: "Source Sans 3 Variable", "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;--font-read: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, Consolas, monospace;--t-xs: .75rem;--t-sm: .8125rem;--t-base: .9375rem;--t-md: 1.0625rem;--t-lg: 1.3125rem;--t-xl: 1.75rem;--t-2xl: 2.375rem;--t-3xl: 3rem;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--radius: var(--r-md);--radius-lg: var(--r-lg);--paper: light-dark(oklch(.972 .008 265), oklch(.16 .028 268));--ambient-1: light-dark(oklch(.86 .075 268 / .55), oklch(.42 .16 272 / .42));--ambient-2: light-dark(oklch(.9 .06 210 / .5), oklch(.4 .11 210 / .34));--ambient-3: light-dark(oklch(.92 .05 330 / .42), oklch(.4 .13 330 / .3));--ambient-base: light-dark(linear-gradient(168deg, oklch(.985 .006 265), oklch(.955 .014 250) 52%, oklch(.97 .012 300)), linear-gradient(168deg, oklch(.135 .03 268), oklch(.175 .036 262) 48%, oklch(.2 .05 292)));--glass: light-dark(oklch(1 0 0 / .58), oklch(.22 .03 265 / .62));--glass-strong: light-dark(oklch(1 0 0 / .8), oklch(.235 .032 265 / .74));--glass-well: light-dark(oklch(1 0 0 / .5), oklch(.19 .026 265 / .5));--glass-line: light-dark(oklch(1 0 0 / .72), oklch(1 0 0 / .14));--glass-edge: light-dark(oklch(.35 .05 265 / .12), oklch(.9 .02 265 / .12));--blur-chrome: 26px;--blur-surface: 18px;--sheet: var(--glass-strong);--sheet-2: var(--glass-well);--rule: var(--glass-edge);--rule-strong: light-dark(oklch(.42 .05 265 / .28), oklch(.9 .02 265 / .26));--grid-minor: light-dark(oklch(.5 .03 260 / .1), oklch(.9 .02 260 / .08));--grid-major: light-dark(oklch(.45 .04 260 / .16), oklch(.9 .02 260 / .14));--ink: light-dark(oklch(.24 .035 268), oklch(.96 .012 265));--ink-2: light-dark(oklch(.37 .03 268), oklch(.83 .018 265));--ink-3: light-dark(oklch(.47 .026 268), oklch(.7 .024 265));--blue: light-dark(oklch(.53 .2 268), oklch(.74 .15 272));--on-blue: light-dark(oklch(.99 .004 268), oklch(.17 .03 268));--red: light-dark(oklch(.56 .2 22), oklch(.72 .16 20));--green: light-dark(oklch(.55 .13 162), oklch(.78 .13 165));--amber: light-dark(oklch(.62 .13 72), oklch(.82 .13 82));--blue-wash: color-mix(in oklab, var(--blue) 12%, var(--sheet));--red-wash: color-mix(in oklab, var(--red) 12%, var(--sheet));--green-wash: color-mix(in oklab, var(--green) 13%, var(--sheet));--amber-wash: color-mix(in oklab, var(--amber) 15%, var(--sheet));--glow: 0 0 0 1px color-mix(in oklab, var(--blue) 22%, transparent), 0 8px 24px -10px color-mix(in oklab, var(--blue) 55%, transparent);--shadow-sheet: 0 1px 0 oklch(1 0 0 / .06) inset, 0 10px 30px -18px oklch(.2 .06 265 / .45);--shadow-island: 0 1px 0 oklch(1 0 0 / .12) inset, 0 18px 44px -18px oklch(.16 .06 265 / .6);--shadow-pop: 0 1px 0 oklch(1 0 0 / .14) inset, 0 26px 70px -24px oklch(.12 .06 265 / .65);--ring: 0 0 0 3px color-mix(in oklab, var(--blue) 30%, transparent);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--dur-1: .12s;--dur-2: .2s;--dur-3: .34s;--dock-h: 64px;--content-w: 1200px;--read-w: 780px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.subj{--subject: light-dark(oklch(.55 .17 var(--h, 268)), oklch(.76 .15 var(--h, 268)));--subject-wash: color-mix(in oklab, var(--subject) 14%, var(--sheet));--subject-glow: color-mix(in oklab, var(--subject) 45%, transparent)}.ambient{background-color:var(--paper);background-image:radial-gradient(58ch 44ch at 12% -6%,var(--subject-glow, var(--ambient-1)),transparent 70%),radial-gradient(50ch 40ch at 92% 4%,var(--ambient-2),transparent 68%),radial-gradient(64ch 50ch at 70% 108%,var(--ambient-3),transparent 72%),var(--ambient-base);background-attachment:fixed}@media(prefers-reduced-motion:reduce){:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--rule-strong) transparent;scrollbar-width:thin}body{min-height:100dvh;font-family:var(--font-ui);font-size:var(--t-base);line-height:1.55;color:var(--ink);background:var(--paper);font-feature-settings:"kern","liga","calt";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;caret-color:var(--blue);accent-color:var(--blue)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--paper);background-image:radial-gradient(60ch 46ch at 10% -8%,var(--ambient-1),transparent 70%),radial-gradient(52ch 42ch at 94% 2%,var(--ambient-2),transparent 68%),radial-gradient(66ch 52ch at 72% 110%,var(--ambient-3),transparent 72%),var(--ambient-base);background-attachment:fixed}#root{min-height:100dvh}::selection{background:color-mix(in oklab,var(--blue) 30%,transparent);color:inherit}img,svg,canvas{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--blue);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}h1,h2,h3,h4{font-weight:640;letter-spacing:-.02em;line-height:1.15;text-wrap:balance;color:var(--ink)}h1{font-size:var(--t-xl)}h2{font-size:var(--t-lg)}h3{font-size:var(--t-md)}h4{font-size:var(--t-base)}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--r-xs)}:focus:not(:focus-visible){outline:none}.num,td.num,.tabular{font-variant-numeric:tabular-nums lining-nums}.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}kbd{display:inline-block;min-width:1.6em;padding:1px 6px;font:500 .78rem/1.5 var(--font-mono);text-align:center;color:var(--ink-2);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-xs)}hr{border:0;border-top:1px solid var(--rule);margin:var(--s-5) 0}.field{display:grid;gap:var(--s-1)}.field>label,.label{font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.field .hint{font-size:var(--t-sm);color:var(--ink-3)}.field .error{font-size:var(--t-sm);color:var(--red)}.input,.select,.textarea{width:100%;min-height:44px;padding:10px 14px;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-sm);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);transition:border-color var(--dur-1),box-shadow var(--dur-2)}.textarea{min-height:96px;resize:vertical;line-height:1.55}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--rule-strong)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none;border-color:color-mix(in oklab,var(--blue) 55%,var(--glass-edge));box-shadow:var(--ring)}.input[aria-invalid=true]{border-color:var(--red)}.input.num{font-family:var(--font-mono)}select.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% + 1px),calc(100% - 15px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:44px;padding:10px 18px;font-size:var(--t-base);font-weight:600;line-height:1.1;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);box-shadow:0 1px 0 var(--glass-line) inset;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2)}.btn:hover{background:var(--glass-strong);border-color:var(--rule-strong);text-decoration:none}.btn:active{transform:translateY(1px) scale(.99)}.btn[disabled],.btn[aria-disabled=true]{cursor:not-allowed;transform:none;color:var(--ink-3);background:var(--glass-well);border-color:var(--glass-edge);box-shadow:none;filter:saturate(.4)}.btn[disabled]:hover,.btn[aria-disabled=true]:hover{background:var(--glass-well);border-color:var(--glass-edge)}.btn--primary{color:var(--on-blue);background:var(--blue);border-color:color-mix(in oklab,var(--blue) 70%,oklch(1 0 0 / .3));box-shadow:0 1px #ffffff47 inset,0 10px 24px -12px var(--glow)}.btn--primary:hover{background:color-mix(in oklab,var(--blue) 88%,var(--ink));border-color:var(--blue)}.btn--quiet{border-color:transparent;background:transparent;color:var(--ink-2)}.btn--quiet:hover{background:var(--glass-well);color:var(--ink);border-color:transparent}.btn--danger{color:var(--red);border-color:color-mix(in oklab,var(--red) 45%,var(--glass-edge))}.btn--danger:hover{background:var(--red-wash);border-color:var(--red)}.btn--sm{min-height:34px;padding:6px 13px;font-size:var(--t-sm)}.btn--lg{min-height:52px;padding:14px 26px;font-size:var(--t-md)}.btn--done{color:var(--green);border-color:color-mix(in oklab,var(--green) 50%,var(--glass-edge));background:var(--green-wash)}.btn .icon{flex:none}.icon{width:1.25em;height:1.25em;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:var(--t-xs);font-weight:650;letter-spacing:.02em;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--rule)}td{padding:12px;border-bottom:1px solid var(--rule);vertical-align:middle}tr:last-child td{border-bottom:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app{min-height:100dvh;padding-bottom:calc(var(--dock-h) + 40px + env(safe-area-inset-bottom))}.dock{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:2px;padding:6px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill);box-shadow:var(--shadow-island);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(190%);backdrop-filter:blur(var(--blur-chrome)) saturate(190%);transform:translate(-50%)}.dock__brand{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:2px;border-radius:var(--r-pill);color:var(--ink)}.dock__brand:hover{background:var(--glass-well)}.dock__brand svg{width:26px;height:26px}.dock__item{position:relative;font:inherit;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;gap:8px;padding:11px 15px;font-size:var(--t-base);font-weight:600;color:var(--ink-2);text-decoration:none;border-radius:var(--r-pill);transition:background-color var(--dur-1),color var(--dur-1),transform var(--dur-1) var(--ease-out)}.dock__item:hover{background:var(--glass-well);color:var(--ink);text-decoration:none}.dock__item:active{transform:scale(.97)}.dock__item[aria-current=page],.dock__item[aria-expanded=true]{color:var(--blue);background:color-mix(in oklab,var(--blue) 15%,var(--glass-strong));box-shadow:0 1px 0 var(--glass-line) inset,0 8px 20px -12px var(--glow)}.dock__item .icon{width:20px;height:20px}.dock__badge{min-width:20px;padding:0 6px;font:700 var(--t-xs)/20px var(--font-mono);text-align:center;color:var(--on-blue);background:var(--red);border-radius:var(--r-pill);box-shadow:0 2px 8px -3px color-mix(in oklab,var(--red) 80%,transparent)}.dock__sep{width:1px;height:24px;margin:0 6px;background:var(--glass-edge)}.identity{position:fixed;top:calc(18px + env(safe-area-inset-top));right:22px;z-index:38;display:flex;align-items:center;gap:8px}.identity__btn{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 14px 6px 8px;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill);box-shadow:var(--shadow-island);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(180%);backdrop-filter:blur(var(--blur-chrome)) saturate(180%)}.identity__btn:hover{background:var(--glass-strong)}.identity__face{display:grid;place-items:center;width:30px;height:30px;font-weight:700;font-size:var(--t-sm);color:var(--on-blue);background:linear-gradient(150deg,color-mix(in oklab,var(--blue) 85%,oklch(1 0 0 / .35)),var(--blue));border-radius:var(--r-pill)}.identity__name{font-size:var(--t-sm);font-weight:600}.identity__sub{font-size:var(--t-xs);color:var(--ink-3)}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#0b152c59;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);animation:veil-in var(--dur-2) var(--ease-out) both}@keyframes veil-in{0%{opacity:0}}.panel{position:fixed;z-index:50;padding:14px;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(190%);backdrop-filter:blur(var(--blur-chrome)) saturate(190%);animation:panel-in var(--dur-3) var(--ease-spring) both}@keyframes panel-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}.panel--from-dock{left:50%;bottom:calc(var(--dock-h) + 30px + env(safe-area-inset-bottom));width:min(440px,calc(100vw - 24px));transform:translate(-50%)}@keyframes panel-in{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.97)}}.panel--from-dock{animation-name:panel-in-dock}@keyframes panel-in-dock{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.97)}}.panel--from-identity{top:calc(74px + env(safe-area-inset-top));right:22px;width:min(300px,calc(100vw - 28px))}.panel__title{margin:2px 4px 10px;font-size:var(--t-xs);font-weight:650;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}.panel__grid{display:grid;gap:2px}.panel__link{display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 12px;color:var(--ink);font-weight:550;text-decoration:none;border-radius:var(--r-md)}.panel__link:hover{background:var(--glass-well);text-decoration:none}.panel__link .icon{width:18px;height:18px;color:var(--ink-2)}.panel__link[aria-current=page]{background:color-mix(in oklab,var(--blue) 14%,var(--glass-well));color:var(--blue)}.panel__link[aria-current=page] .icon{color:var(--blue)}.panel__hint{margin-left:auto;font-size:var(--t-xs);color:var(--ink-3)}.panel__foot{margin:10px 4px 2px;padding-top:10px;border-top:1px solid var(--glass-edge)}.panel__row{display:flex;align-items:center;gap:8px}.panel__row+.panel__row{margin-top:8px}.panel__account{display:flex;align-items:center;gap:12px;padding:6px 4px 12px}.palette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:start center;padding:min(14vh,120px) 16px 16px;background:#07102766;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);animation:veil-in var(--dur-2) var(--ease-out) both}.palette__box{width:min(660px,100%);overflow:hidden;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(190%);backdrop-filter:blur(var(--blur-chrome)) saturate(190%);animation:panel-in var(--dur-3) var(--ease-spring) both}.palette__field{display:flex;align-items:center;gap:12px;padding:6px 18px;border-bottom:1px solid var(--glass-edge)}.palette__field .icon{width:20px;height:20px;color:var(--ink-3)}.palette__input{flex:1;min-height:56px;font-size:var(--t-md);background:transparent;border:0;outline:0}.palette__results{max-height:min(56vh,460px);overflow:auto;padding:8px}.palette__hint{padding:10px 14px;font-size:var(--t-sm);color:var(--ink-3)}.palette__row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;text-align:left;color:var(--ink);background:transparent;border:0;text-decoration:none;border-radius:var(--r-md)}.palette__row:hover,.palette__row--on{background:color-mix(in oklab,var(--blue) 12%,var(--glass-well));text-decoration:none}.palette__row--on{box-shadow:0 0 0 1px color-mix(in oklab,var(--blue) 30%,transparent) inset}.palette__row .icon{width:18px;height:18px;color:var(--ink-2)}.palette__row--action .icon{color:var(--blue)}.palette__main{min-width:0;flex:1}.palette__main strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__main>span{display:block;font-size:var(--t-sm);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__foot{display:flex;flex-wrap:wrap;gap:12px;padding:10px 16px;border-top:1px solid var(--glass-edge);font-size:var(--t-xs);color:var(--ink-3)}.offline-bar{position:sticky;top:calc(var(--top-inset, 0px) + 10px);z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:fit-content;max-width:calc(100% - 24px);margin:10px auto 0;padding:6px 8px 6px 14px;font-size:var(--t-sm);color:var(--ink);background:color-mix(in oklab,var(--amber) 16%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--amber) 40%,var(--glass-edge));border-radius:var(--r-pill);box-shadow:var(--shadow-island);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(180%);backdrop-filter:blur(var(--blur-chrome)) saturate(180%)}.offline-bar .icon{width:18px;height:18px;color:var(--amber);flex:none}.offline-bar>span{min-width:0}.offline-bar .btn{flex:none}@media(max-width:720px){.offline-bar{flex-wrap:nowrap;align-items:center;width:auto;margin-inline:12px;padding:10px 10px 10px 14px;border-radius:var(--r-lg);line-height:1.35}.offline-bar>span{flex:1}}.main{min-width:0}.page{width:100%;max-width:var(--content-w);margin-inline:auto;padding:var(--s-6) var(--s-5) var(--s-7)}.page--narrow{max-width:var(--read-w)}.page--reader{max-width:1280px}.page__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-5)}.page__head>div{min-width:0}.page__head h1{font-size:var(--t-2xl);letter-spacing:-.03em}.page__lede{margin-top:8px;font-size:var(--t-md);line-height:1.5;color:var(--ink-2);max-width:64ch}.page__actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:var(--s-3);font-size:var(--t-sm);color:var(--ink-3)}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--blue);text-decoration:underline}.crumbs .icon{width:14px;height:14px}.source-panel{position:fixed;top:0;right:0;bottom:0;z-index:55;width:min(620px,100vw);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--glass-strong);border-left:1px solid var(--glass-edge);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(180%);backdrop-filter:blur(var(--blur-chrome)) saturate(180%);animation:panel-slide var(--dur-3) var(--ease-out) both}@keyframes panel-slide{0%{transform:translate(24px);opacity:0}}.source-panel__head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--glass-edge)}.source-panel__title{min-width:0;flex:1}.source-panel__title strong{display:block;font-size:var(--t-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-panel iframe{width:100%;height:100%;border:0;background:var(--paper)}@media(min-width:1180px){body.has-source-panel .page{margin-right:calc(min(620px,40vw) + 16px);margin-left:auto}}@media(min-width:1000px){:root{--top-inset: calc(var(--dock-h) + 22px + env(safe-area-inset-top))}.app{padding-top:var(--top-inset);padding-bottom:var(--s-6)}.dock{top:calc(14px + env(safe-area-inset-top));bottom:auto}.identity{top:calc(20px + env(safe-area-inset-top))}.panel--from-dock{top:calc(var(--dock-h) + 24px + env(safe-area-inset-top));bottom:auto;animation-name:panel-in-dock-top}@keyframes panel-in-dock-top{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.97)}}.panel--from-identity{top:calc(var(--dock-h) + 24px + env(safe-area-inset-top))}}@media(min-width:1000px)and (max-width:1239px){.identity__btn{padding:6px}.identity__btn>.identity__name,.identity__btn>.icon{display:none}}@media(max-width:999px){.identity,.panel--from-identity{display:none}}.dock__label--short,.panel__link--narrow{display:none}@media(max-width:720px){.dock__item--wide{display:none}.dock__item:has(.dock__label--short)>.dock__label:not(.dock__label--short){display:none}.dock__label--short{display:inline}.panel__link--narrow{display:flex}.app{padding-bottom:calc(var(--dock-h) + 34px + env(safe-area-inset-bottom))}.dock{width:calc(100vw - 20px);justify-content:space-between;gap:0;padding:5px}.dock__brand{display:none}.dock__item{flex-direction:column;gap:3px;padding:8px 6px;font-size:.6875rem;flex:1}.dock__item .icon{width:22px;height:22px}.dock__badge{position:absolute;top:4px;right:50%;margin-right:-20px;min-width:17px;padding:0 4px;font-size:.625rem;line-height:17px}.page{padding:var(--s-5) var(--s-4) var(--s-6)}.page__head h1{font-size:var(--t-xl)}.page__lede{font-size:var(--t-base)}.palette__box{margin-top:8vh}.palette__field kbd{display:none}.palette__results{max-height:min(52vh,380px)}}.sheet{container-type:inline-size;position:relative;margin-bottom:var(--s-4);padding:0 22px 22px;background:var(--sheet);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(170%);backdrop-filter:blur(var(--blur-surface)) saturate(170%)}.sheet:before{content:"";position:absolute;inset:0 0 auto;height:1px;margin:0 18px;background:linear-gradient(90deg,transparent,var(--glass-line),transparent);pointer-events:none}.sheet__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin:0 -22px 16px;padding:16px 22px 12px;border-bottom:1px solid var(--glass-edge)}.sheet__head h2{font-size:var(--t-md)}.sheet__head p{margin:0;font-size:var(--t-sm)}.sheet__foot{margin-top:16px}.sheet__foot--top{margin:0 0 16px}.sheet--flush{padding:0}.sheet--flush .sheet__head{margin:0}.sheet--flush .sheet__foot{padding:0 22px 22px;margin-top:0}.sheet--danger{border-color:color-mix(in oklab,var(--red) 45%,var(--glass-edge))}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--s-4);align-items:start;margin-bottom:var(--s-4)}.split>.sheet{margin-bottom:0}@media(max-width:1080px){.split{grid-template-columns:minmax(0,1fr)}}.subject-tag{display:inline-flex;align-items:center;gap:7px;color:var(--subject);font-weight:700;font-size:var(--t-xs);letter-spacing:.02em}.subject-tag__swatch{width:9px;height:9px;background:var(--subject);border-radius:var(--r-pill);box-shadow:0 0 10px -1px var(--subject-glow, transparent)}.subject-tag-link{text-decoration:none}.subject-tag-link:hover .subject-tag{text-decoration:underline}.title-swatch{display:inline-block;width:.36em;height:.36em;margin-right:.45em;vertical-align:.1em;background:var(--subject);border-radius:var(--r-pill);box-shadow:0 0 14px -1px var(--subject-glow, transparent)}.ruler{--c: var(--blue);position:relative;flex:1;min-width:96px;height:12px;background:repeating-linear-gradient(to right,color-mix(in oklab,var(--ink-3) 55%,transparent) 0 1px,transparent 1px 10%) center / 100% 5px no-repeat,var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill);overflow:hidden;box-shadow:0 1px 0 var(--glass-line) inset}.ruler--red{--c: var(--red)}.ruler--amber{--c: var(--amber)}.ruler--green{--c: var(--green)}.ruler--blue{--c: var(--blue)}.ruler__fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-pill);background:linear-gradient(90deg,color-mix(in oklab,var(--c) 70%,transparent),var(--c));box-shadow:0 0 18px -4px var(--c);transition:width var(--dur-3) var(--ease-out)}.ruler--none .ruler__fill{display:none}.notice{display:flex;align-items:flex-start;gap:var(--s-3);padding:14px 16px;margin:0 0 var(--s-4);font-size:var(--t-base);color:var(--ink);background:var(--blue-wash);border:1px solid color-mix(in oklab,var(--blue) 30%,var(--glass-edge));border-radius:var(--r-md);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%)}.notice .icon{margin-top:2px;color:var(--blue)}.notice__body strong{display:block}.notice__body div{color:var(--ink-2);margin-top:2px}.notice--amber{background:var(--amber-wash);border-color:color-mix(in oklab,var(--amber) 42%,var(--glass-edge))}.notice--amber .icon{color:var(--amber)}.notice--red{background:var(--red-wash);border-color:color-mix(in oklab,var(--red) 42%,var(--glass-edge))}.notice--red .icon{color:var(--red)}.notice--green{background:var(--green-wash);border-color:color-mix(in oklab,var(--green) 42%,var(--glass-edge))}.notice--green .icon{color:var(--green)}.notice:last-child{margin-bottom:0}.empty{padding:var(--s-7) var(--s-5);text-align:center;display:grid;justify-items:center;gap:var(--s-2)}.empty h3,.empty h1{font-size:var(--t-md)}.empty p{max-width:52ch;color:var(--ink-2)}.empty__action{margin-top:var(--s-3)}.page>.empty{padding-inline:var(--s-4);background:var(--sheet);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(160%);backdrop-filter:blur(var(--blur-surface)) saturate(160%)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;font-size:var(--t-xs);font-weight:600;line-height:1.7;color:var(--ink-2);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.badge .icon{width:12px;height:12px}.badge--redige,.badge--ai{border-style:dashed;color:var(--ink-2);background:var(--glass-well)}.badge--cours,.badge--td{color:var(--ink-2)}.badge--corrige,.badge--trust-officiel,.badge--trust-calcul,.badge--ok{color:var(--green);border-color:color-mix(in oklab,var(--green) 45%,var(--glass-edge));background:var(--green-wash)}.badge--trust-relu{color:var(--blue);border-color:color-mix(in oklab,var(--blue) 45%,var(--glass-edge));background:var(--blue-wash)}.badge--trust-non_verifie,.badge--todo{color:var(--amber);border-color:color-mix(in oklab,var(--amber) 50%,var(--glass-edge));background:var(--amber-wash)}.badge--new{color:var(--blue);border-color:color-mix(in oklab,var(--blue) 45%,var(--glass-edge));background:var(--blue-wash)}.badge--kind{color:var(--ink-3);background:transparent}.badge+.badge{margin-left:5px}.exam-chip{display:inline-flex;align-items:baseline;gap:8px;font-size:var(--t-sm)}.exam-chip .mono{font-weight:700;color:var(--ink)}.exam-chip--urgent .mono{color:var(--red)}.cells{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}.cell{position:relative;display:grid;place-items:center;width:20px;height:20px;color:var(--green);background:linear-gradient(to top,color-mix(in oklab,var(--subject, var(--blue)) 55%,transparent) var(--fill, 0%),var(--glass-well) var(--fill, 0%));border:1px solid var(--glass-edge);border-radius:var(--r-xs);overflow:hidden}.cells--sm .cell{width:12px;height:12px;border-radius:var(--r-xs)}.cells--sm .cell .icon{width:10px;height:10px}.cell .icon{width:13px;height:13px;stroke-width:2.6}.cell--done{background:var(--green-wash);border-color:color-mix(in oklab,var(--green) 55%,transparent)}.cell--due:after{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;background:var(--red);border-radius:var(--r-pill);box-shadow:0 0 8px -1px var(--red)}.cells a{display:block;border-radius:var(--r-xs)}.cells a:hover .cell{border-color:var(--rule-strong)}.loading{padding:var(--s-8) 0;display:grid;place-items:center}.loading__bar{position:relative;width:180px;height:8px;overflow:hidden;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.loading__bar:after{content:"";position:absolute;inset:1px auto 1px 1px;width:46px;border-radius:var(--r-pill);background:linear-gradient(90deg,transparent,var(--blue));animation:slide 1.15s var(--ease-out) infinite}@keyframes slide{0%{transform:translate(-48px)}to{transform:translate(182px)}}.code-ref{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:var(--t-xs);color:var(--ink-2);background:var(--glass);border:1px dashed color-mix(in oklab,var(--blue) 35%,var(--glass-edge));border-radius:var(--r-pill)}.code-ref .icon{width:13px;height:13px}.code-ref:hover{color:var(--blue);border-style:solid;border-color:var(--blue);background:var(--blue-wash)}.hit-context{font-weight:500;color:var(--ink-3)}.link-btn{display:inline-flex;align-items:center;gap:6px;padding:2px 0;font:inherit;color:var(--blue);background:none;border:0;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.link-btn:hover{text-decoration-thickness:2px}.link-btn.faint{color:var(--ink-3)}.link-btn .icon{width:1.05em;height:1.05em}.chip-link{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;font-size:var(--t-sm);font-weight:550;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill);text-decoration:none;transition:background-color var(--dur-1),border-color var(--dur-1)}.chip-link:hover{background:var(--subject-wash, var(--blue-wash));border-color:color-mix(in oklab,var(--subject, var(--blue)) 45%,var(--glass-edge));text-decoration:none}.chip-link .icon{width:15px;height:15px;color:var(--subject, var(--blue))}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:4px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.segmented button{min-height:38px;padding:7px 14px;font-weight:600;color:var(--ink-2);background:transparent;border:0;border-radius:var(--r-pill);transition:background-color var(--dur-1),color var(--dur-1)}.segmented button:hover{color:var(--ink)}.segmented button[aria-selected=true],.segmented button[aria-pressed=true]{color:var(--ink);background:var(--glass-strong);box-shadow:0 1px 0 var(--glass-line) inset,0 6px 16px -10px #0b152c99}.segmented button[aria-pressed=true] .icon{color:var(--blue)}.input-group{position:relative;display:flex}.input-group .input{padding-right:52px}.input-group__btn{position:absolute;right:5px;top:50%;transform:translateY(-50%)}.form-error{display:flex;align-items:center;gap:6px;color:var(--red);font-size:var(--t-sm);font-weight:550}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.tabs{display:flex;width:fit-content;max-width:100%;gap:4px;margin-bottom:var(--s-5);padding:4px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill);overflow-x:auto;scrollbar-width:none}.tabs button{display:inline-flex;align-items:baseline;gap:7px;min-height:38px;padding:7px 16px;font-weight:600;color:var(--ink-2);background:transparent;border:0;border-radius:var(--r-pill);white-space:nowrap;transition:background-color var(--dur-1),color var(--dur-1)}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--ink);background:var(--glass-strong);box-shadow:0 1px 0 var(--glass-line) inset,0 6px 16px -10px #0b152c99}.tabs__n{font-size:var(--t-xs);color:var(--ink-3)}.difficulty{display:inline-flex;gap:3px;align-items:center}.difficulty i{width:6px;height:12px;background:transparent;border:1px solid var(--rule-strong);border-radius:var(--r-pill)}.difficulty i.on{background:var(--amber);border-color:var(--amber);box-shadow:0 0 8px -2px var(--amber)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:var(--s-4);background:#0710276b;-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);animation:veil-in var(--dur-2) var(--ease-out) both}.dialog{width:min(480px,100%);margin:0;padding:26px;display:grid;gap:var(--s-3);box-shadow:var(--shadow-pop);border-radius:var(--r-xl);animation:panel-in var(--dur-3) var(--ease-spring) both}.report{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px}.report__form{display:grid;gap:8px;width:min(440px,80vw)}.report__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.report-sent{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm)}.report-sent .icon{color:var(--green)}.sheet *,.reader__toc{scrollbar-color:var(--rule-strong) transparent;scrollbar-width:thin}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--s-5) var(--s-4)}.auth__sheet{width:min(460px,100%);padding:34px 34px 26px;margin:0;display:grid;gap:var(--s-4);border-radius:var(--r-xl)}.auth__head{display:grid;gap:var(--s-2)}.auth__mark{width:68px;height:42px;margin-bottom:var(--s-1);filter:drop-shadow(0 6px 18px var(--ambient-1))}.auth__head h1{font-size:var(--t-xl)}.auth__form{display:grid;gap:var(--s-4)}.auth__foot{font-size:var(--t-sm);padding-top:var(--s-3);border-top:1px solid var(--glass-edge)}@media(max-width:480px){.auth__sheet{padding:26px 20px 22px}}.chart{position:relative;margin:0;padding:14px 14px 0}.chart svg{width:100%;height:auto;touch-action:pan-y;overflow:visible}.chart__tick{font:500 11px var(--font-mono);fill:var(--ink-3)}.chart__axis{font:600 12px var(--font-ui);fill:var(--ink-2)}.chart__note{font:600 11px var(--font-ui)}.chart__exam-label{font:700 11px var(--font-mono);fill:var(--red)}.chart__trace{stroke:var(--subject);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 4px 12px var(--subject-glow, transparent));animation:draw 1.15s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 90ms);transition:opacity var(--dur-2);cursor:pointer}@keyframes draw{to{stroke-dashoffset:0}}.chart__dot{fill:var(--paper);stroke:var(--subject);stroke-width:2.4}.chart__swatch{display:inline-block;width:14px;height:4px;background:var(--subject);border-radius:var(--r-pill);box-shadow:0 0 10px -1px var(--subject-glow, transparent);flex:none}.chart__tip{position:absolute;top:30px;z-index:3;min-width:156px;padding:10px 12px;font-size:var(--t-sm);background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-md);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);pointer-events:none;transform:translate(14px)}.chart__tip--flip{transform:translate(calc(-100% - 14px))}.chart__tip-row{display:flex;align-items:center;gap:8px;margin-top:5px}.chart__tip-row .mono{margin-left:auto}.chart__legend{display:flex;flex-wrap:wrap;gap:6px;padding:14px 10px 18px}.legend{display:inline-flex;align-items:center;gap:8px;padding:5px 13px;font-size:var(--t-sm);color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill);transition:background-color var(--dur-1),border-color var(--dur-1),opacity var(--dur-1)}.legend:hover,.legend--on{background:var(--subject-wash);border-color:color-mix(in oklab,var(--subject) 45%,var(--glass-edge))}.legend__name{font-weight:600}@media(max-width:640px){.chart{padding-inline:0}.chart__tick{font-size:10px}}.tasks__list{margin:0;padding:0;list-style:none}.task{display:grid;grid-template-columns:78px minmax(0,1fr);gap:var(--s-3);padding:16px 0;border-bottom:1px solid var(--glass-edge)}.task:last-child{border-bottom:0}.task__min{font-size:var(--t-lg);font-weight:650;text-align:right;line-height:1.2;letter-spacing:-.02em}.task__min .faint{font-size:var(--t-sm);font-weight:500}.task__title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.task__title a{color:var(--ink);text-decoration:none}.task__title a:hover{color:var(--subject);text-decoration:underline}.task__acts{display:flex;flex-wrap:wrap;gap:6px}.tasks__total{margin:var(--s-4) 0 0;font-size:var(--t-sm)}@media(max-width:560px){.task{grid-template-columns:62px minmax(0,1fr)}}.ledger{margin:0 -22px -22px}.ledger__row{display:grid;grid-template-columns:minmax(170px,1.7fr) 44px minmax(132px,.9fr) minmax(140px,1.1fr) 76px;align-items:center;gap:12px;padding:13px 22px;color:var(--ink);border-bottom:1px solid var(--glass-edge);text-decoration:none;transition:background-color var(--dur-1)}.ledger__row>*{min-width:0}.ledger .exam-chip,.ledger__row--head>*{white-space:nowrap}.ledger__row:last-child{border-bottom:0}a.ledger__row:hover{background:var(--subject-wash);text-decoration:none}.ledger__row--head{padding-block:10px;font-size:var(--t-xs);font-weight:650;letter-spacing:.02em;color:var(--ink-3);text-transform:uppercase}.ledger__num{text-align:right}.ledger__subject{display:flex;align-items:center;gap:12px;min-width:0}.ledger__name{display:grid;min-width:0;line-height:1.3}.ledger__name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger__sub{font-size:var(--t-xs)}.ledger__gauge{display:flex;align-items:center;gap:10px}.ledger__gauge .mono{min-width:46px;text-align:right;font-size:var(--t-sm)}.due{color:var(--red)}.ledger__row--empty{padding-block:10px}.ledger__row--empty .ledger__name strong{font-weight:550;color:var(--ink-2)}.ledger__row--empty .subject-tag{opacity:.7}@container (max-width: 660px){.ledger__row{grid-template-columns:minmax(0,1fr) 118px 104px 64px}.ledger__row>:nth-child(2){display:none}.ledger__gauge .mono{display:none}}@container (max-width: 460px){.ledger__row--head{display:none}.ledger__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"subject due" "exam gauge";row-gap:10px;padding-block:14px}.ledger__row>:nth-child(1){grid-area:subject}.ledger__row>:nth-child(3){grid-area:exam}.ledger__row>:nth-child(4){grid-area:gauge;min-width:112px;justify-self:end;width:112px}.ledger__row>:nth-child(5){grid-area:due}.ledger__row>:nth-child(5):after{content:" à revoir";font:500 var(--t-xs) var(--font-ui);color:var(--ink-3)}.ledger__name strong{white-space:normal}}.exam-list{margin:0 -22px;padding:0;list-style:none}.exam-row{padding:13px 22px;border-bottom:1px solid var(--glass-edge)}.exam-row:last-child{border-bottom:0}.exam-row__main{display:grid;grid-template-columns:64px minmax(160px,1.3fr) minmax(170px,1fr) minmax(0,1.2fr) auto;align-items:center;gap:12px}.exam-row__name,.exam-row__when{display:grid;line-height:1.3}.exam-row__count{font-weight:700;color:var(--ink);font-size:var(--t-md)}.exam-row__meta{font-size:var(--t-sm)}.exam-row__form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:14px;padding:16px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md)}.exam-row__save{grid-column:1 / -1;display:flex;align-items:center;gap:12px}@container (max-width: 780px){.exam-row__main{grid-template-columns:56px minmax(0,1fr)}.exam-row__when,.exam-row__meta{grid-column:2}}.meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:var(--s-3);font-size:var(--t-sm);color:var(--ink-2)}.gauges{display:grid;gap:16px;margin:0}.gauge{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,2fr);gap:14px;align-items:center}.gauge dt{font-weight:600;font-size:var(--t-sm);color:var(--ink-2)}.gauge dd{margin:0;display:grid;grid-template-columns:minmax(90px,1fr) 52px minmax(0,.9fr);align-items:center;gap:12px}.gauge__val{text-align:right;font-weight:650}.gauge__detail{font-size:var(--t-sm)}@container (max-width: 560px){.gauge{grid-template-columns:1fr;gap:6px}.gauge dd{grid-template-columns:minmax(90px,1fr) 52px}.gauge__detail{grid-column:1 / -1}}.chapter-group+.chapter-group{margin-top:22px}.chapter-group__title{margin:0 0 6px;font-size:var(--t-xs);font-weight:650;color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase}.chapter-list{margin:0 -22px;padding:0;list-style:none}.chapter-row{display:grid;grid-template-columns:56px minmax(0,1.6fr) minmax(0,1.2fr) minmax(100px,.8fr) 92px;align-items:center;gap:12px;padding:13px 22px;color:var(--ink);text-decoration:none;border-top:1px solid var(--glass-edge);transition:background-color var(--dur-1)}.chapter-list li:first-child .chapter-row{border-top:0}.chapter-row:hover{background:var(--subject-wash);text-decoration:none}.chapter-row__title{font-weight:600}.chapter-row__counts{font-size:var(--t-sm)}.chapter-row__status{font-size:var(--t-sm);text-align:right;color:var(--ink-3)}.chapter-row__status--done{color:var(--green)}.chapter-row__status--reading{color:var(--blue)}@container (max-width: 720px){.chapter-row{grid-template-columns:52px minmax(0,1fr) 84px}.chapter-row__counts,.chapter-row__gauge{display:none}}.fiche-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start}.fiche-card{display:grid;gap:10px;padding:16px 18px;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:0 1px 0 var(--glass-line) inset;text-decoration:none;transition:background-color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out)}.fiche-card:hover{background:var(--glass-strong);border-color:var(--rule-strong);transform:translateY(-1px);text-decoration:none}.fiche-card__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.fiche-card__code{padding:2px 10px;font-size:var(--t-xs);font-weight:700;color:var(--blue);background:var(--blue-wash);border:1px solid color-mix(in oklab,var(--blue) 30%,var(--glass-edge));border-radius:var(--r-pill)}.fiche-card__title{font-weight:620}.fiche-card__state{font-size:var(--t-sm)}.fiche-card__abstract{font-size:var(--t-base);color:var(--ink-2)}.fiche-card__bits{display:flex;flex-wrap:wrap;gap:5px 13px;font-size:var(--t-xs);color:var(--ink-3)}.fiche-card__bits>span{display:inline-flex;align-items:center;gap:5px}.fiche-card__bits .icon{width:14px;height:14px}.fiche-card__gauge{display:flex;align-items:center;gap:10px}.fiche-card__gauge .ruler{flex:1}.sources{margin:0 -22px;width:calc(100% + 44px)}.sources th,.sources td{padding-inline:22px}.sources th:first-child,.sources td:first-child{overflow-wrap:anywhere}.sources th.num,.sources td.num{text-align:right}.sources .link-btn{color:var(--ink);text-decoration:none}.sources .link-btn:hover{color:var(--blue);text-decoration:underline}.sources td .badge{vertical-align:middle}@container (max-width: 520px){.sources th,.sources td{padding-inline:14px}}.study{display:grid;gap:var(--s-4)}.study__offline{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-sm);color:var(--ink-2)}.study__offline .icon{width:16px;height:16px;color:var(--amber);flex:none}.study__bar{position:sticky;top:calc(var(--top-inset, 0px) + 14px);z-index:12;display:flex;align-items:center;gap:var(--s-3);padding:8px 10px 8px 8px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill);box-shadow:var(--shadow-island);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(190%);backdrop-filter:blur(var(--blur-chrome)) saturate(190%)}.study__progress{position:relative;flex:1;height:10px;overflow:hidden;background:repeating-linear-gradient(to right,color-mix(in oklab,var(--ink-3) 50%,transparent) 0 1px,transparent 1px 10%) center / 100% 4px no-repeat,var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.study__ticks{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-pill);background:linear-gradient(90deg,color-mix(in oklab,var(--blue) 70%,transparent),var(--blue));box-shadow:0 0 16px -4px var(--blue);transition:width var(--dur-2) var(--ease-out)}.study__count{font-size:var(--t-sm);white-space:nowrap}.study__last{margin:0;text-align:center;font-size:var(--t-sm)}.flashcard{display:grid;gap:var(--s-4);align-content:start;min-height:320px;margin:0;padding:22px 28px 28px;border-radius:var(--r-xl)}.flashcard__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-inline:-8px;padding-bottom:var(--s-3);border-bottom:1px solid var(--glass-edge)}.flashcard__face{padding-block:var(--s-5)}.flashcard__hint{margin-top:var(--s-4)}.flashcard__answer{padding-top:var(--s-4);border-top:1px dashed color-mix(in oklab,var(--blue) 30%,var(--glass-edge));display:grid;gap:var(--s-4)}.flashcard__flip{justify-self:center;align-self:end;margin-top:auto}.flashcard__src{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}@media(max-width:640px){.flashcard{padding:18px 18px 20px;min-height:56dvh}}.rating{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2)}.rating__btn{position:relative;display:grid;gap:3px;min-height:68px;padding:12px 14px;text-align:left;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-md);box-shadow:0 1px 0 var(--glass-line) inset;-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);transition:background-color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out)}.rating__btn:hover{background:var(--glass-strong);border-color:var(--rule-strong);transform:translateY(-1px)}.rating__btn:active{transform:translateY(1px) scale(.99)}.rating__btn[disabled]{opacity:.55}.rating__label{font-weight:650}.rating__hint{font-size:var(--t-xs);color:var(--ink-3)}.rating__btn kbd{position:absolute;top:10px;right:10px}.rating__btn--1{border-color:color-mix(in oklab,var(--red) 35%,var(--glass-edge))}.rating__btn--2{border-color:color-mix(in oklab,var(--amber) 35%,var(--glass-edge))}.rating__btn--3{border-color:color-mix(in oklab,var(--blue) 35%,var(--glass-edge))}.rating__btn--4{border-color:color-mix(in oklab,var(--green) 35%,var(--glass-edge))}.rating__btn--1 .rating__label{color:var(--red)}.rating__btn--2 .rating__label{color:var(--amber)}.rating__btn--3 .rating__label{color:var(--blue)}.rating__btn--4 .rating__label{color:var(--green)}@media(max-width:640px){.rating{position:sticky;bottom:calc(var(--dock-h) + 26px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,1fr);padding:8px;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:var(--shadow-island);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(180%);backdrop-filter:blur(var(--blur-chrome)) saturate(180%)}.rating__btn{min-height:56px;padding:8px 12px}.rating__btn kbd{display:none}}.summary{padding-top:26px;display:grid;gap:var(--s-4)}.summary__h{font-size:var(--t-md);margin-top:var(--s-2)}.tally{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:0;padding:0;list-style:none}.tally li{padding:10px 16px;border:1px solid var(--glass-edge);border-radius:var(--r-pill);background:var(--glass-well)}.tally .mono{font-size:var(--t-lg);font-weight:650;margin-right:6px}.tally__again .mono{color:var(--red)}.tally__good .mono{color:var(--green)}.question{display:grid;gap:var(--s-4)}.question-sheet{display:grid;gap:var(--s-4);padding-top:20px;border-radius:var(--r-xl)}.question-sheet .flashcard__meta{margin-inline:-8px}.choices{display:grid;gap:10px}.choices--row{grid-template-columns:repeat(2,minmax(0,1fr))}.choices__note{margin:0;font-size:var(--t-sm)}.choice{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px 16px;text-align:left;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-md);transition:background-color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out)}.choice:hover:not([disabled]){background:var(--glass-strong);border-color:var(--rule-strong);transform:translateY(-1px)}.choice__key{flex:none;display:grid;place-items:center;width:28px;height:28px;font-weight:650;color:var(--ink-2);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.choice__key .icon{width:15px;height:15px;stroke-width:2.6}.choice__text{min-width:0;padding-top:3px}.choice__text .md{font-family:var(--font-ui);font-size:var(--t-base);line-height:1.5}.choice--on{background:var(--blue-wash);border-color:color-mix(in oklab,var(--blue) 55%,var(--glass-edge))}.choice--on .choice__key{color:var(--on-blue);background:var(--blue);border-color:var(--blue)}.choice--right{background:var(--green-wash);border-color:color-mix(in oklab,var(--green) 55%,var(--glass-edge))}.choice--right .choice__key{color:var(--on-blue);background:var(--green);border-color:var(--green)}.choice--wrong{background:var(--red-wash);border-color:color-mix(in oklab,var(--red) 55%,var(--glass-edge))}.choice--wrong .choice__key{color:var(--on-blue);background:var(--red);border-color:var(--red)}.choice--dim{opacity:.55}.choice[disabled]{cursor:default}.choices--row .choice{justify-content:center;font-weight:600}.answer-field{max-width:380px}.question__actions{display:flex;gap:12px;align-items:center}.question__actions--split{justify-content:space-between;flex-wrap:wrap}.feedback{display:grid;gap:var(--s-3);padding:18px;border:1px solid var(--glass-edge);border-radius:var(--r-lg);background:var(--glass-well)}.feedback--right{background:var(--green-wash);border-color:color-mix(in oklab,var(--green) 45%,var(--glass-edge))}.feedback--wrong{background:var(--red-wash);border-color:color-mix(in oklab,var(--red) 45%,var(--glass-edge))}.feedback--partial{background:var(--amber-wash);border-color:color-mix(in oklab,var(--amber) 45%,var(--glass-edge))}.feedback__verdict{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:var(--t-md);font-weight:650}.feedback--right .feedback__verdict .icon{color:var(--green)}.feedback--wrong .feedback__verdict .icon{color:var(--red)}.feedback__expected{font-weight:500;color:var(--ink-2)}.feedback .btn{justify-self:start}.missed{margin:0;padding:0;list-style:none;display:grid;gap:0;border:1px solid var(--glass-edge);border-radius:var(--r-md);overflow:hidden}.missed>li{padding:14px 16px;border-top:1px solid var(--glass-edge)}.missed>li:first-child{border-top:0}.missed__toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:0;text-align:left;background:none;border:0}.missed__q .md{font-family:var(--font-ui);font-size:var(--t-base)}.missed__detail{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--glass-edge)}.label{font-size:var(--t-xs);font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}.exo{display:grid;gap:var(--s-4);padding-top:20px;border-radius:var(--r-xl)}.exo__head{display:grid;gap:var(--s-3);margin:0 -22px;padding:0 22px 16px;border-bottom:1px solid var(--glass-edge)}.exo__head h1{font-size:var(--t-xl)}.exo__tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}.timer{font-size:var(--t-lg);font-weight:650;letter-spacing:.02em}.timer--over{color:var(--red)}.exo__help{display:grid;gap:var(--s-3);padding-top:var(--s-4);border-top:1px dashed var(--glass-edge)}.hint-step{padding:14px 16px;background:var(--amber-wash);border:1px solid color-mix(in oklab,var(--amber) 35%,var(--glass-edge));border-radius:var(--r-md)}.hint-step__n{display:block;margin-bottom:4px;font-size:var(--t-xs);font-weight:700;color:var(--amber)}.exo__solution{display:grid;gap:var(--s-4);padding-top:0;border-radius:var(--r-xl)}.exo__solution-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 -22px;padding:16px 22px 12px;border-bottom:1px solid var(--glass-edge)}.exo__final{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;padding:12px 16px;background:var(--green-wash);border:1px solid color-mix(in oklab,var(--green) 40%,var(--glass-edge));border-radius:var(--r-md)}.exo__final .md{font-size:var(--t-md)}.selfgrade{display:grid;gap:var(--s-3);padding-top:var(--s-3);border-top:1px dashed var(--glass-edge)}.selfgrade .label{margin:0}.exo__history{text-align:center;font-size:var(--t-sm)}.mock-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--s-4);align-items:start}.mock-form .btn,.mock-form .form-error{grid-column:1 / -1;justify-self:start}.exam{display:grid;gap:var(--s-4)}.exam__bar{position:sticky;top:calc(var(--top-inset, 0px) + 14px);z-index:12;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin:0;padding:10px 14px 10px 18px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-edge);box-shadow:var(--shadow-island);-webkit-backdrop-filter:blur(var(--blur-chrome)) saturate(190%);backdrop-filter:blur(var(--blur-chrome)) saturate(190%)}.exam__id{display:flex;align-items:center;gap:10px;min-width:0}.exam__clock{font-size:var(--t-xl);font-weight:650;letter-spacing:.02em}.exam__clock--low{color:var(--red)}.exam__grid{display:grid;grid-template-columns:208px minmax(0,1fr);gap:var(--s-4);align-items:start}.exam__grid .sheet{margin:0}.exam__nav{padding:18px;position:sticky;top:calc(var(--top-inset, 0px) + 96px)}.exam__nav ol{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0;padding:0;list-style:none}.qdot{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;font-size:var(--t-sm);color:var(--ink-2);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-sm);transition:background-color var(--dur-1),color var(--dur-1),transform var(--dur-1) var(--ease-out)}.qdot:hover{background:var(--glass-strong);transform:translateY(-1px)}.qdot--done{color:var(--on-blue);background:linear-gradient(150deg,color-mix(in oklab,var(--blue) 80%,oklch(1 0 0 / .3)),var(--blue));border-color:transparent}.qdot--cur{box-shadow:var(--ring)}.qdot--flag:after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;background:var(--red);border-radius:var(--r-pill);box-shadow:0 0 10px -2px var(--red)}.exam__legend{margin:14px 0 0;font-size:var(--t-xs)}@media(max-width:900px){.exam__grid{grid-template-columns:1fr}.exam__nav{position:static;padding:14px}.exam__nav ol{grid-template-columns:repeat(8,1fr)}.exam__bar{top:8px}.exam__id strong{display:none}}.grade-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0}.grade-line__n{font-size:var(--t-3xl);font-weight:650;line-height:1;letter-spacing:-.03em}.grade-line--green .grade-line__n{color:var(--green)}.grade-line--amber .grade-line__n{color:var(--amber)}.grade-line--red .grade-line__n{color:var(--red)}.error-list{margin:0 -22px;padding:0;list-style:none}.error-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 22px;color:var(--ink);text-decoration:none;border-top:1px solid var(--glass-edge);transition:background-color var(--dur-1)}.error-list li:first-child .error-row{border-top:0}.error-row:hover{background:var(--glass-well);text-decoration:none}.error-row__title{min-width:0}.md--inline{font-family:var(--font-ui);font-size:var(--t-base);line-height:1.45;max-width:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.md--inline p{margin:0}.searchbox{display:flex;align-items:center;gap:12px;padding:6px 20px;border-radius:var(--r-pill)}.searchbox__input{flex:1;min-height:52px;font-size:var(--t-md);color:var(--ink);background:transparent;border:0;outline:0}.searchbox:focus-within{box-shadow:var(--ring);border-color:color-mix(in oklab,var(--blue) 45%,var(--glass-edge))}.results{margin:0;padding:0;list-style:none}.result{display:grid;gap:5px;padding:16px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--glass-edge)}.results li:last-child .result{border-bottom:0}.result:hover .result__title{color:var(--blue);text-decoration:underline}.result__meta{display:flex;align-items:center;gap:10px}.result__snippet{font-size:var(--t-sm)}.legend-list{margin:0;display:grid;gap:0}.legend-list>div{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:16px;align-items:start;padding:14px 0;border-top:1px solid var(--glass-edge)}.legend-list>div:first-child{border-top:0;padding-top:0}.legend-list dt{margin:0}.legend-list dd{margin:0;color:var(--ink-2)}.about-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-5)}.about-cols h3{margin-bottom:var(--s-2)}.about-cols ul{margin:0;padding-left:1.2em;color:var(--ink-2)}.about-cols li{margin:5px 0}@container (max-width: 560px){.legend-list>div{grid-template-columns:1fr;gap:8px}}.form-grid{display:grid;gap:var(--s-4);max-width:540px}.form-grid__actions{display:grid;gap:var(--s-3);justify-items:start}.form-grid__actions .notice{width:100%}.findings{margin:14px 0 0;padding:0;list-style:none;max-height:360px;overflow:auto;border:1px solid var(--glass-edge);border-radius:var(--r-md)}.finding{display:grid;grid-template-columns:72px minmax(120px,.6fr) minmax(0,2fr);gap:12px;padding:10px 14px;font-size:var(--t-sm);border-top:1px solid var(--glass-edge)}.finding:first-child{border-top:0}.finding--error{background:var(--red-wash)}.reports{margin:0 -22px;padding:0;list-style:none}.report-row{display:flex;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--glass-edge)}.reports li:first-child .report-row{border-top:0}.report-row--fixed,.report-row--dismissed{opacity:.6}.report-row p{margin:0}.md{font-family:var(--font-read);font-size:1.0625rem;line-height:1.7;color:var(--ink);max-width:70ch;overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .9em}.md strong{font-weight:650}.md em{font-style:italic}.md ul,.md ol{margin:0 0 .9em;padding-left:1.5em}.md li{margin:.28em 0;padding-left:.2em}.md li>p{margin-bottom:.4em}.md h1,.md h2,.md h3,.md h4{font-family:var(--font-ui);margin:1.4em 0 .5em}.md h3{font-size:var(--t-md)}.md a{color:var(--blue)}.md hr{margin:1.2em 0;border-top:1px solid var(--glass-edge)}.md blockquote{margin:0 0 .9em;padding:12px 16px;color:var(--ink-2);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md)}.md code{font-family:var(--font-mono);font-size:.84em;padding:2px 6px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-xs);font-variant-ligatures:none}.md pre{margin:0 0 1em;padding:16px 18px;overflow-x:auto;font-size:.84rem;line-height:1.65;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md);-moz-tab-size:4;tab-size:4}.md pre code{padding:0;font-size:inherit;background:none;border:0}.md table{margin:0 0 1em;font-family:var(--font-ui);font-size:var(--t-base);display:block;overflow-x:auto;width:max-content;max-width:100%;border-radius:var(--r-md)}.md th{background:var(--glass-well)}.md th,.md td{padding:8px 14px;border:1px solid var(--glass-edge)}.md img{max-width:100%;height:auto}.md--card{font-size:1.375rem;line-height:1.55;max-width:none}.md--card pre{font-size:.8125rem}.md--question,.md--statement{font-size:1.1875rem;line-height:1.65;max-width:none}.md--toc{display:inline;font-family:var(--font-ui);font-size:var(--t-sm);line-height:1.45;color:var(--ink-2);max-width:none}.md--toc p{display:inline;margin:0}.md--toc .katex{font-size:1em}.katex{font-size:1.04em}.katex-display{margin:1em 0;padding:4px 0;overflow-x:auto;overflow-y:hidden}.md--card .katex-display{margin:.6em 0}.hljs{color:var(--ink)}.hljs-comment,.hljs-quote{color:var(--ink-3);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-built_in,.hljs-type{color:var(--blue);font-weight:500}.hljs-string,.hljs-regexp,.hljs-addition{color:var(--green)}.hljs-number,.hljs-symbol,.hljs-bullet,.hljs-meta{color:var(--amber)}.hljs-title,.hljs-section,.hljs-function .hljs-title{color:var(--red);font-weight:600}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-params{color:var(--ink-2)}.hljs-deletion{color:var(--red)}.reader{display:grid;grid-template-columns:224px minmax(0,1fr);gap:var(--s-5);align-items:start}.reader__toc{position:sticky;top:calc(var(--top-inset, 0px) + var(--s-4));max-height:calc(100dvh - 128px - var(--top-inset, 0px));overflow:auto;padding:var(--s-4);font-size:var(--t-sm);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(170%);backdrop-filter:blur(var(--blur-surface)) saturate(170%)}.reader__toc ol,.reader__toc ul{margin:8px 0 var(--s-4);padding-left:1.1em}.reader__toc li{margin:7px 0;line-height:1.4}.reader__toc a{color:var(--ink-2);text-decoration:none}.reader__toc a:hover{color:var(--blue);text-decoration:underline}.reader__toc-title{display:block;font-size:var(--t-xs);font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3)}.reader__objectives{list-style:disc;color:var(--ink-2)}.reader__body{min-width:0}@media(max-width:1000px){.reader{grid-template-columns:minmax(0,1fr)}.reader__toc{position:static;max-height:none}}.keys,.formulas,.videos,.recap__facts{position:relative;margin-bottom:var(--s-4);padding:20px 28px 22px;background:var(--sheet);border:1px solid var(--glass-edge);border-radius:var(--r-xl);box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(170%);backdrop-filter:blur(var(--blur-surface)) saturate(170%)}.keys__title,.formulas__title,.videos__title,.recap__facts-title{display:flex;align-items:center;gap:9px;font-size:var(--t-lg)}.keys__title .icon,.formulas__title .icon,.videos__title .icon,.recap__facts-title .icon{width:19px;height:19px;color:var(--blue)}.keys{background:linear-gradient(180deg,var(--blue-wash),var(--sheet) 44%)}.keys__list{margin:15px 0 0;padding:0;list-style:none;display:grid;gap:11px}.keys__list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start}.keys__n{display:grid;place-items:center;height:22px;margin-top:4px;font-size:var(--t-xs);font-weight:700;color:var(--blue);background:var(--blue-wash);border:1px solid color-mix(in oklab,var(--blue) 28%,var(--glass-edge));border-radius:var(--r-sm)}.keys__list .md{font-size:var(--t-md)}.formulas{background:linear-gradient(180deg,var(--blue-wash),var(--sheet) 38%)}.formulas__list{margin:15px 0 0;padding:0;list-style:none;display:grid;gap:15px}.formulas__list li{display:grid;gap:8px}.formulas__name{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-base);font-weight:650;color:var(--ink);text-decoration:none}.formulas__name .icon{width:14px;height:14px;color:var(--blue)}.formulas__name:hover{color:var(--blue)}.formulas__body{padding:13px 16px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md);min-width:0;overflow-x:auto}.reader__body>*,.formulas__list li>*{min-width:0}.formulas__body .md{font-size:1rem;max-width:none}.videos__hint{margin:10px 0 0;font-size:var(--t-sm);color:var(--ink-3);max-width:68ch}.recap{display:grid;min-width:0}.recap__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:var(--s-3)}.recap__title{display:flex;align-items:center;gap:9px;font-size:var(--t-lg)}.recap__title .icon{width:19px;height:19px;color:var(--blue)}.recap__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.recap__flash{flex-basis:100%;margin:0;font-size:var(--t-xs);color:var(--green)}.recap__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s-4);margin-top:15px}.recap__col{min-width:0}.recap__col-title{display:flex;align-items:center;gap:7px;margin:0;font-size:var(--t-sm);font-weight:650;color:var(--ink-2)}.recap__col-title .icon{width:15px;height:15px;color:var(--blue)}.recap__col-list{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:12px}.recap__col-link{font-size:var(--t-base);font-weight:650;color:var(--ink);text-decoration:none}.recap__col-link:hover{color:var(--blue);text-decoration:underline}.recap__col-body{margin-top:6px;padding:11px 14px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md);overflow-x:auto}.recap__col-body .md{font-size:var(--t-sm);max-width:none}.fiche-kind{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;font-size:var(--t-sm)}.fiche-kind__code{padding:3px 11px;font-weight:700;color:var(--on-blue);background:var(--blue);border-radius:var(--r-pill)}.fiche-kind__what{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}.fiche-kind__what .icon{width:15px;height:15px}.fiche-kind__part{color:var(--ink-3)}@media(max-width:640px){.keys,.formulas,.videos,.recap__facts{padding-inline:18px}}.block{position:relative;scroll-margin-top:var(--s-5);margin-bottom:var(--s-4);padding:0 28px 18px;background:var(--sheet);border:1px solid var(--glass-edge);border-radius:var(--r-xl);box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(170%);backdrop-filter:blur(var(--blur-surface)) saturate(170%)}.block:before{content:"";position:absolute;inset:0 0 auto;height:1px;margin:0 22px;background:linear-gradient(90deg,transparent,var(--glass-line),transparent)}.block__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:20px 0 14px}.block__head h2{font-size:var(--t-lg);flex:1 1 18ch}.block__kind{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 8px;font-size:var(--t-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--kind, var(--ink-3));background:color-mix(in oklab,var(--kind, var(--ink-3)) 14%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--kind, var(--ink-3)) 34%,transparent);border-radius:var(--r-pill)}.block__kind .icon{width:15px;height:15px}.block--notion{--kind: var(--blue);--kind-2: light-dark(oklch(.6 .14 215), oklch(.8 .12 215))}.block--methode{--kind: var(--green);--kind-2: light-dark(oklch(.6 .12 195), oklch(.8 .11 195))}.block--piege{--kind: var(--red);--kind-2: light-dark(oklch(.58 .19 350), oklch(.76 .15 350))}.block--formule{--kind: light-dark(oklch(.55 .19 295), oklch(.77 .14 295));--kind-2: var(--blue)}.block--exemple{--kind: var(--amber);--kind-2: light-dark(oklch(.64 .17 45), oklch(.79 .14 45))}.block{background:radial-gradient(80% 140px at 0% 0%,color-mix(in oklab,var(--kind, var(--blue)) 17%,transparent),transparent 75%),radial-gradient(60% 120px at 100% 0%,color-mix(in oklab,var(--kind-2, var(--kind, var(--blue))) 11%,transparent),transparent 75%),var(--sheet)}.block:after{content:"";position:absolute;inset:0 auto auto 28px;width:56px;height:3px;background:linear-gradient(90deg,var(--kind, var(--blue)),var(--kind-2, var(--kind, var(--blue))));border-radius:0 0 3px 3px}.block .md strong{color:color-mix(in oklab,var(--kind, var(--ink)) 42%,var(--ink))}.block .md li::marker{color:var(--kind, var(--ink-3));font-weight:700}.block .md ol>li::marker{font-family:var(--font-mono);font-size:.86em}.block .md th{background:color-mix(in oklab,var(--kind, var(--blue)) 13%,var(--glass-strong));color:var(--ink)}.block .md tr:nth-child(2n) td{background:color-mix(in oklab,var(--kind, var(--blue)) 4%,transparent)}.block .md blockquote{background:color-mix(in oklab,var(--kind, var(--blue)) 8%,var(--glass-well));border-color:color-mix(in oklab,var(--kind, var(--blue)) 26%,var(--glass-edge))}.block .md pre{border-color:color-mix(in oklab,var(--kind, var(--blue)) 18%,var(--glass-edge))}.block .md :not(pre)>code{background:color-mix(in oklab,var(--kind, var(--blue)) 9%,var(--glass-well));border-color:color-mix(in oklab,var(--kind, var(--blue)) 20%,var(--glass-edge))}.reader__toc li[data-kind]{list-style:none;position:relative;margin-left:-1.1em;padding-left:1.25em}.reader__toc li[data-kind]:before{content:"";position:absolute;left:0;top:.42em;width:8px;height:8px;border-radius:3px;background:var(--kind)}.reader__toc li[data-kind=notion]{--kind: var(--blue)}.reader__toc li[data-kind=methode]{--kind: var(--green)}.reader__toc li[data-kind=piege]{--kind: var(--red)}.reader__toc li[data-kind=formule]{--kind: light-dark(oklch(.55 .19 295), oklch(.77 .14 295))}.reader__toc li[data-kind=exemple]{--kind: var(--amber)}.toc-lab{display:inline-flex;vertical-align:-2px;margin-left:5px;color:var(--subject, var(--blue))}.toc-lab .icon{width:14px;height:14px}.block__foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px;padding-top:14px;border-top:1px dashed var(--glass-edge)}@media(max-width:640px){.block{padding-inline:18px}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s-3);margin:0;padding:0;list-style:none}.mini-card{display:grid;gap:12px;align-content:start;margin:0;padding:18px 20px;border-radius:var(--r-lg)}.mini-card .md{font-size:1rem}.mini-card__front{font-weight:500}.mini-card__back summary{cursor:pointer;font-size:var(--t-sm);font-weight:600;color:var(--blue);list-style:none}.mini-card__back summary::-webkit-details-marker{display:none}.mini-card__back[open] summary{margin-bottom:10px;color:var(--ink-3)}.mini-card__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:12px;border-top:1px dashed var(--glass-edge)}.exo-list{margin:0;padding:0;list-style:none}.exo-row{display:grid;grid-template-columns:minmax(0,1fr) 58px 44px auto 100px;align-items:center;gap:14px;padding:14px 22px;color:var(--ink);text-decoration:none;border-top:1px solid var(--glass-edge);transition:background-color var(--dur-1)}.exo-list li:first-child .exo-row{border-top:0}.exo-row:hover{background:var(--subject-wash, var(--glass-well));text-decoration:none}.exo-row__last{text-align:right;font-size:var(--t-sm)}.grade{font-weight:600}.grade--0{color:var(--red)}.grade--1{color:var(--amber)}.grade--2{color:var(--blue)}.grade--3{color:var(--green)}@container (max-width: 640px){.exo-row{grid-template-columns:minmax(0,1fr) auto}.exo-row>:nth-child(2),.exo-row>:nth-child(3),.exo-row>:nth-child(4){display:none}}.ai-note{display:flex;align-items:center;gap:6px;margin:var(--s-2) 0 0;font-size:var(--t-sm)}.ai-note .icon{width:14px;height:14px;color:var(--blue)}:root{--math-1: light-dark(oklch(.52 .2 295), oklch(.78 .14 295));--math-2: light-dark(oklch(.5 .19 262), oklch(.76 .14 262));--math-3: light-dark(oklch(.5 .11 200), oklch(.8 .11 200));--math-4: light-dark(oklch(.5 .13 155), oklch(.8 .13 155));--math-5: light-dark(oklch(.56 .15 55), oklch(.82 .13 70));--math-6: light-dark(oklch(.54 .2 350), oklch(.78 .14 350))}.md .katex-display{--m: var(--kind, var(--math-1));--m2: var(--kind-2, var(--m));margin:1.1em 0;padding:14px 20px 14px 18px;font-size:1.07em;background:linear-gradient(100deg,color-mix(in oklab,var(--m) 14%,transparent),color-mix(in oklab,var(--m2) 6%,transparent) 72%),var(--glass-well);border:1px solid color-mix(in oklab,var(--m) 28%,var(--glass-edge));border-left:4px solid var(--m);border-radius:var(--r-md)}.md .katex-display .mathnormal,.md .katex-display .boldsymbol{color:color-mix(in oklab,var(--m) 74%,var(--ink))}.md .katex-display :is(.mop,.mrel){color:color-mix(in oklab,var(--m2) 70%,var(--ink))}.md .katex-display .frac-line{border-bottom-color:color-mix(in oklab,var(--m) 55%,var(--ink))}.md .katex .fbox{border-color:var(--m, var(--math-1));border-width:2px;border-radius:4px}.md :not(.katex-display)>.katex{padding:.04em .26em;color:color-mix(in oklab,var(--kind, var(--math-1)) 58%,var(--ink));background:color-mix(in oklab,var(--kind, var(--math-1)) 9%,transparent);border-radius:.3em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md--toc :not(.katex-display)>.katex,.md :is(h1,h2,h3,h4) .katex{padding:0;color:inherit;background:none}.block--formule .md .katex-display{font-size:1.14em;padding-block:16px;box-shadow:0 6px 22px -14px color-mix(in oklab,var(--m) 70%,transparent)}.formulas__list>li,.recap-card__formulas>li{--kind: var(--math-1)}.formulas__list>li:nth-child(6n+2),.recap-card__formulas>li:nth-child(6n+2){--kind: var(--math-2)}.formulas__list>li:nth-child(6n+3),.recap-card__formulas>li:nth-child(6n+3){--kind: var(--math-3)}.formulas__list>li:nth-child(6n+4),.recap-card__formulas>li:nth-child(6n+4){--kind: var(--math-4)}.formulas__list>li:nth-child(6n+5),.recap-card__formulas>li:nth-child(6n+5){--kind: var(--math-5)}.formulas__list>li:nth-child(6n+6),.recap-card__formulas>li:nth-child(6n+6){--kind: var(--math-6)}.formulas__name .icon{color:var(--kind)}.formulas__name:before,.recap-card__fname:before{content:"";display:inline-block;width:9px;height:9px;margin-right:7px;vertical-align:.05em;background:var(--kind);border-radius:3px}.formulas__name:before{display:none}.formulas__body,.recap-card__fbody,.recap__col-body{background:linear-gradient(100deg,color-mix(in oklab,var(--kind, var(--blue)) 12%,transparent),transparent 75%),var(--glass-well);border-color:color-mix(in oklab,var(--kind, var(--blue)) 26%,var(--glass-edge));border-left:4px solid var(--kind, var(--blue))}:is(.formulas__body,.recap-card__fbody,.recap__col-body) .md .katex-display{margin:.5em 0;padding:4px 0;background:none;border:0;box-shadow:none}.formulas__body .md strong,.recap-card__fbody .md strong{color:color-mix(in oklab,var(--kind) 50%,var(--ink))}.recap__col--methode{--kind: var(--green)}.recap__col--piege{--kind: var(--red)}.recap__col-title .icon{color:var(--kind, var(--blue))}.home__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:var(--s-3);margin:0 0 var(--s-4);padding:0;list-style:none}.stat{position:relative;display:grid;gap:2px;align-content:start;min-height:116px;padding:14px 17px 15px;background:var(--sheet);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(160%);backdrop-filter:blur(var(--blur-surface)) saturate(160%)}.stat:before{content:"";position:absolute;inset:0 0 auto;height:1px;margin:0 17px;background:linear-gradient(90deg,transparent,var(--glass-line),transparent)}.stat__label{font-size:var(--t-xs);font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3)}.stat__value{font-size:var(--t-2xl);font-weight:650;line-height:1.05;letter-spacing:-.03em}.stat__unit{margin-left:4px;font-size:var(--t-md);font-weight:600;color:var(--ink-2)}.stat__note{font-size:var(--t-sm);color:var(--ink-2)}.stat--alert .stat__value{color:var(--red)}.stat--good .stat__value{color:var(--green)}.home__spark{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:2px;height:26px;margin-top:8px}.home__bar{display:block;height:calc(var(--n, .05) * 100%);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-xs)}.home__bar--on{background:color-mix(in oklab,var(--blue) 72%,transparent);border-color:color-mix(in oklab,var(--blue) 45%,var(--glass-edge))}.home__col{display:grid;gap:var(--s-4);align-content:start}.home__col>.sheet{margin-bottom:0}.home__ds{display:grid;gap:8px}.home__ds-name{font-size:var(--t-md)}.home__ds-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0}.home__ds-count{font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em}.home__ds-facts{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;font-size:var(--t-sm);color:var(--ink-2)}.home__ds-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.home__reps{display:grid;margin:0;padding:0;list-style:none}.home__rep{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;color:var(--ink);border-top:1px solid var(--glass-edge);text-decoration:none;transition:color var(--dur-1)}.home__reps li:first-child .home__rep{border-top:0}.home__rep:hover{color:var(--blue);text-decoration:none}.home__rep .icon{color:var(--ink-3)}.home__rep:hover .icon{color:var(--blue)}.home__rep-what{display:grid;line-height:1.3;min-width:0}.home__rep-n{font-weight:700}.home__releve{max-width:940px;margin-inline:auto}.home__subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:var(--s-3);margin:0;padding:0;list-style:none}.home__tile{position:relative;display:grid;gap:7px;align-content:start;height:100%;padding:14px 16px 15px 18px;overflow:hidden;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:0 1px 0 var(--glass-line) inset;text-decoration:none;transition:background-color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out)}.home__tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--subject);box-shadow:0 0 14px -2px var(--subject-glow, transparent)}.home__tile:hover{background:var(--subject-wash);border-color:color-mix(in oklab,var(--subject) 42%,var(--glass-edge));transform:translateY(-1px);text-decoration:none}.home__tile-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.home__tile-code{font-weight:700;color:var(--subject);letter-spacing:.02em}.home__tile-coef{font-size:var(--t-xs);white-space:nowrap}.home__tile-name{font-weight:620;line-height:1.25}.home__tile-meta{font-size:var(--t-xs)}.home__tile-gauge{display:flex;align-items:center;gap:10px;margin-top:2px}.home__tile-gauge .ruler{min-width:44px}.home__tile-gauge .mono{min-width:42px;text-align:right;font-size:var(--t-sm)}.home__tile-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;margin-top:2px;font-size:var(--t-xs)}.home__tile-due{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--red)}.home__tile-due .icon{width:14px;height:14px}@media(max-width:560px){.home__subjects{grid-template-columns:repeat(auto-fill,minmax(178px,1fr))}.home__tile{padding:12px 13px 13px 15px}.home__tile-gauge .mono{min-width:34px}.stat{min-height:0}}.subject-meta{margin-top:var(--s-2)}.subject-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4);margin:0;padding:0;list-style:none}@media(min-width:700px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.subject-grid>li{display:flex;min-width:0}.subject-tile{position:relative;isolation:isolate;display:grid;grid-template-rows:auto auto auto auto 1fr auto;gap:var(--s-3);width:100%;aspect-ratio:1 / 1;min-height:200px;padding:16px 18px 16px 21px;overflow:hidden;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:0 1px 0 var(--glass-line) inset;text-decoration:none;transition:background-color var(--dur-1),border-color var(--dur-1),box-shadow var(--dur-1),transform var(--dur-1) var(--ease-out)}.subject-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(155deg,var(--subject-wash, transparent),transparent 58%);opacity:.62;pointer-events:none}.subject-tile__rail{position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--subject),color-mix(in oklab,var(--subject) 25%,transparent))}.subject-tile>*{min-width:0}.subject-tile:hover{background:var(--glass-strong);border-color:color-mix(in oklab,var(--subject) 45%,var(--glass-edge));box-shadow:0 1px 0 var(--glass-line) inset,0 20px 36px -24px var(--subject-glow, transparent);transform:translateY(-2px);text-decoration:none}.subject-tile:focus-visible{outline:2px solid var(--subject);outline-offset:2px}.subject-tile__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.subject-tile__coef{font-size:var(--t-sm);white-space:nowrap}.subject-tile__name{display:grid;gap:1px;line-height:1.25}.subject-tile__name strong{font-size:var(--t-md);font-weight:650;letter-spacing:-.01em}.subject-tile__name .faint{font-size:var(--t-sm)}.subject-tile__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;font-size:var(--t-sm)}.subject-tile__gauge{display:flex;align-items:center;gap:10px}.subject-tile__pct{min-width:46px;text-align:right;font-size:var(--t-sm)}.subject-tile__progress{display:grid;align-content:end;gap:8px}.subject-tile__line{display:grid;grid-template-columns:minmax(76px,auto) minmax(34px,1fr) auto;align-items:center;gap:9px;font-size:var(--t-xs)}.subject-tile__bar{display:block;height:6px;overflow:hidden;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.subject-tile__bar>span{display:block;height:100%;background:linear-gradient(90deg,color-mix(in oklab,var(--subject) 55%,transparent),var(--subject));box-shadow:0 0 10px -3px var(--subject-glow, transparent)}.subject-tile__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;align-self:end;gap:6px 10px;font-size:var(--t-xs)}.subject-tile__due{display:inline-flex;align-items:center;gap:5px;font-weight:650;color:var(--red);white-space:nowrap}.subject-tile__due .icon{width:14px;height:14px}.subject-tile--empty{background:var(--glass-well)}.subject-tile--empty:before{opacity:.24}.subject-tile--empty .subject-tile__rail{background:color-mix(in oklab,var(--subject) 45%,transparent)}.subject-tile--empty .subject-tile__name strong{font-weight:560;color:var(--ink-2)}.subject-tile--empty .subject-tag{opacity:.75}.subject-tile--empty:hover{border-color:var(--rule-strong)}@media(max-width:380px){.subject-tile{aspect-ratio:auto;min-height:0}}.classement__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}.classement__bar .segmented{min-width:min(100%,22rem)}.classement__count{margin:0;font-size:var(--t-sm)}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:var(--s-3);margin:0;padding:0;list-style:none}.podium__card{display:grid;justify-items:center;gap:7px;padding:18px 14px;text-align:center;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:0 1px 0 var(--glass-line) inset}.podium__card--2,.podium__card--3{margin-top:16px}.podium__card--1{padding-block:26px;background:var(--blue-wash);border-color:color-mix(in oklab,var(--blue) 40%,var(--glass-edge));box-shadow:0 1px 0 var(--glass-line) inset,0 18px 40px -26px var(--blue)}.podium__place{font-size:var(--t-xs);font-weight:700;letter-spacing:.03em;color:var(--ink-3)}.podium__card--1 .podium__place{color:var(--blue)}.podium__face{display:grid;place-items:center;width:46px;height:46px;font-size:var(--t-md);font-weight:700;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.podium__card--1 .podium__face{color:var(--on-blue);background:linear-gradient(150deg,color-mix(in oklab,var(--blue) 85%,oklch(1 0 0 / .35)),var(--blue));border-color:transparent}.podium__name{display:inline-flex;align-items:center;gap:6px;font-weight:620;overflow-wrap:anywhere}.podium__score{font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em}.podium__score .faint{font-size:var(--t-sm);font-weight:500}.podium__parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin:6px 0 0}.podium__parts>div{display:grid;gap:1px;padding:6px 4px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-sm)}.podium__parts dt{font-size:var(--t-xs);color:var(--ink-3)}.podium__parts dd{margin:0;font-weight:650}.rank-list{margin:0 -22px;padding:0;list-style:none}.rank{display:grid;grid-template-columns:44px 34px minmax(0,1fr) auto;align-items:center;gap:var(--s-3);padding:12px 22px;border-top:1px solid var(--glass-edge)}.rank:first-child{border-top:0}.rank--me{background:var(--blue-wash);box-shadow:inset 3px 0 0 var(--blue)}.rank__pos{font-size:var(--t-md);font-weight:700;color:var(--ink-2);text-align:right}.rank__face{display:grid;place-items:center;width:34px;height:34px;font-size:var(--t-sm);font-weight:700;color:var(--ink);background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.rank--me .rank__face{color:var(--on-blue);background:var(--blue);border-color:transparent}.rank__who{display:grid;gap:5px;min-width:0}.rank__name{display:flex;align-items:center;gap:8px;font-weight:600;overflow-wrap:anywhere}.rank__tag{flex:none;padding:1px 8px;font-size:var(--t-xs);font-weight:700;color:var(--blue);background:var(--blue-wash);border:1px solid color-mix(in oklab,var(--blue) 35%,var(--glass-edge));border-radius:var(--r-pill)}.rank__strip{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--t-xs);color:var(--ink-3)}.rank__strip>span{display:inline-flex;align-items:center;gap:5px}.rank__strip .icon{width:14px;height:14px;flex:none}.rank__score{display:grid;justify-items:end;gap:2px;text-align:right}.rank__points{font-size:var(--t-lg);font-weight:700;letter-spacing:-.02em}.rank__score .faint{font-size:var(--t-xs)}.me-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s-4);padding:14px 16px;background:var(--blue-wash);border:1px solid color-mix(in oklab,var(--blue) 34%,var(--glass-edge));border-radius:var(--r-md);box-shadow:inset 3px 0 0 var(--blue)}.me-card__pos{font-size:var(--t-lg);font-weight:700}.me-card__body{display:grid;gap:5px;min-width:0}.bareme{display:grid;gap:8px;margin:0;padding:0;list-style:none}.bareme li{display:flex;align-items:baseline;gap:12px;padding:8px 12px;font-size:var(--t-base);color:var(--ink-2);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-sm)}.bareme__pts{min-width:54px;font-weight:700;color:var(--ink);text-align:right}@container (max-width: 620px){.rank{grid-template-columns:34px 32px minmax(0,1fr);grid-template-areas:"pos face who" "score score score";row-gap:8px}.rank__pos{grid-area:pos}.rank__face{grid-area:face}.rank__who{grid-area:who}.rank__score{grid-area:score;grid-auto-flow:column;align-items:baseline;gap:10px;justify-items:start;text-align:left}.me-card{grid-template-columns:auto minmax(0,1fr)}.me-card .rank__score{grid-column:2;justify-items:start;text-align:left}}@container (max-width: 560px){.podium{grid-template-columns:minmax(0,1fr)}.podium__card--2,.podium__card--3{margin-top:0}.podium__card--1{padding-block:18px}.podium__parts{grid-template-columns:repeat(3,minmax(0,1fr))}}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s-4);margin:16px 0 0;padding:0;list-style:none}.video-grid>li{display:flex;min-width:0}.video-card{display:flex;flex-direction:column;width:100%;min-width:0;overflow:hidden;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-lg);transition:background-color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}.video-card:hover{background:var(--glass-strong);border-color:var(--rule-strong);transform:translateY(-2px);box-shadow:var(--glow)}.video-card__thumb{position:relative;aspect-ratio:16 / 9;background:var(--glass-well);border-bottom:1px solid var(--glass-edge)}.video-card__thumb--play{width:100%;margin:0;padding:0;color:inherit;cursor:pointer;border:0}.video-card__thumb--play img{display:block;width:100%;height:100%;object-fit:cover}.video-card__thumb--play:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.video-card__thumb--list{display:grid;place-items:center}.video-card__disc{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.video-card__thumb--list .video-card__disc{position:static}.video-card__disc .icon{box-sizing:border-box;width:46px;height:46px;padding:12px;color:var(--on-blue);background:color-mix(in oklab,var(--blue) 92%,transparent);border-radius:var(--r-pill);box-shadow:0 12px 26px -14px #081431bf;transition:transform var(--dur-2) var(--ease-spring)}.video-card__thumb--play:hover .video-card__disc .icon{transform:scale(1.08)}.video-card__embed{width:100%;height:100%;border:0}.video-card__body{display:grid;flex:1;gap:7px;align-content:start;padding:14px 16px 16px}.video-card__title{margin:0;font-size:var(--t-base);font-weight:650;line-height:1.35;color:var(--ink)}.video-card__meta{margin:0;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3)}.video-card__why{font-size:var(--t-sm);color:var(--ink-2)}.video-card__link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-size:var(--t-sm);color:var(--blue);text-decoration:none}.video-card__link:hover{text-decoration:underline}.video-card__link .icon{width:14px;height:14px}.fiches__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}.fiches__search{display:inline-flex;align-items:center;gap:8px;flex:1 1 240px;min-width:0;padding:0 12px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.fiches__search .icon{width:16px;height:16px;color:var(--ink-3);flex:none}.fiches__search .input{flex:1 1 auto;min-width:0;border:0;background:none;padding-inline:0}.fiches__search .input:focus{outline:none}.fiches__search:focus-within{border-color:var(--rule-strong)}.fiches__subject .select{min-width:12rem}.fiches__count{margin:0 0 var(--s-4);font-size:var(--t-sm)}.fiches__group{margin-bottom:var(--s-5)}.fiches__group .sheet__head h2{display:flex;align-items:center;gap:10px}.recap-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--s-3);margin:16px 0 0;padding:0;list-style:none}.recap-cards>li{display:flex;min-width:0}.recap-card{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0;padding:16px 18px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:0 1px 0 var(--glass-line) inset;transition:border-color var(--dur-1),background-color var(--dur-1)}.recap-card:hover{background:var(--glass-strong);border-color:color-mix(in oklab,var(--subject) 40%,var(--glass-edge))}.recap-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.recap-card__code{padding:3px 10px;font-size:var(--t-xs);font-weight:700;color:var(--on-blue);background:var(--subject);border-radius:var(--r-pill)}.recap-card__kind{font-size:var(--t-xs);font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3)}.recap-card__open{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);text-decoration:none;white-space:nowrap}.recap-card__open .icon{width:15px;height:15px}.recap-card__open:hover{color:var(--blue);text-decoration:none}.recap-card__title{margin:0;font-size:var(--t-md);line-height:1.3}.recap-card__title a{color:var(--ink);text-decoration:none}.recap-card__title a:hover{color:var(--blue)}.recap-card__abstract{margin:0;font-size:var(--t-sm);color:var(--ink-2)}.recap-card__label{display:flex;align-items:center;gap:7px;margin:2px 0 0;font-size:var(--t-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3)}.recap-card__label .icon{width:14px;height:14px;color:var(--blue);flex:none}.recap-card__label--plain{text-transform:none;letter-spacing:0;font-weight:600;color:var(--ink-2)}.recap-card__formulas{margin:0;padding:0;list-style:none;display:grid;gap:9px}.recap-card__formulas>li{min-width:0}.recap-card__fname{font-size:var(--t-sm);font-weight:650}.recap-card__fbody{min-width:0;max-width:100%;margin-top:5px;padding:9px 12px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md);overflow-x:auto}.recap-card__fbody .md{font-family:var(--font-read);font-size:.9375rem;max-width:none}.recap-card__keys{margin:0;padding-left:1.2em;display:grid;gap:5px;font-size:var(--t-sm);color:var(--ink-2)}.recap-card__keys>li{min-width:0}.recap-card__keys .md{font-size:var(--t-sm);max-width:none}.recap-card__bits{display:flex;flex-wrap:wrap;gap:5px 10px;margin:auto 0 0;padding-top:10px;font-size:var(--t-xs);color:var(--ink-3);border-top:1px dashed var(--glass-edge)}@media(max-width:520px){.recap-cards{grid-template-columns:minmax(0,1fr)}.recap-card__open{margin-left:0}}.connect__totals{margin-top:0}.connect__note{display:flex;gap:8px;margin:var(--s-3) 0 0;font-size:var(--t-sm)}.connect__note .icon{flex:none;width:15px;height:15px;margin-top:2px;color:var(--ink-3)}.connect__field{margin-bottom:var(--s-4)}.connect__label{display:block;margin-bottom:6px;font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.connect__code{display:flex;align-items:flex-start;gap:var(--s-2);min-width:0}.connect__code pre{flex:1 1 auto;min-width:0;max-width:100%;margin:0;padding:12px 14px;overflow-x:auto;font-family:var(--font-mono);font-size:var(--t-xs);line-height:1.6;color:var(--ink);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md);-moz-tab-size:2;tab-size:2}.connect__code pre code{font:inherit;color:inherit;white-space:pre}.connect__copy{flex:none}.connect__code+.hint{display:block;margin-top:6px;font-size:var(--t-sm);color:var(--ink-3)}.connect__steps{display:grid;gap:var(--s-5);margin:0;padding:0;list-style:none;counter-reset:ai-step}.connect__step{position:relative;min-width:0;padding-left:var(--s-5)}.connect__step:before{counter-increment:ai-step;content:counter(ai-step);position:absolute;left:0;top:1px;display:grid;place-items:center;width:20px;height:20px;font-family:var(--font-mono);font-size:var(--t-xs);font-weight:700;color:var(--blue);background:var(--blue-wash);border-radius:var(--r-pill)}.connect__step-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.connect__step .hint{margin:2px 0 8px;font-size:var(--t-sm);color:var(--ink-3)}.connect__tools{display:grid;gap:10px;margin:0;padding:0;list-style:none}.connect__tools li{display:grid;min-width:0}.connect__tool-name{font-size:var(--t-sm);font-weight:700}.connect__tools .muted{font-size:var(--t-sm)}.connect__packs{display:grid;gap:var(--s-2);margin:0;padding:0;list-style:none}.connect__pack{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md)}.connect__pack-main{display:grid;flex:1 1 200px;min-width:0}.connect__pack-main strong{font-size:var(--t-base);font-weight:650}.connect__pack-main .faint{font-size:var(--t-xs)}.connect__pack-size{flex:none;font-size:var(--t-xs);white-space:nowrap}@media(max-width:520px){.connect__code{flex-direction:column;align-items:stretch}.connect__copy{align-self:flex-start}}.lab,.labs-page{--c1: light-dark(oklch(.58 .19 268), oklch(.76 .14 268));--c2: light-dark(oklch(.62 .14 215), oklch(.8 .12 215));--c3: light-dark(oklch(.6 .15 152), oklch(.8 .15 152));--c4: light-dark(oklch(.7 .15 75), oklch(.84 .14 80));--c5: light-dark(oklch(.62 .19 32), oklch(.76 .15 32));--c6: light-dark(oklch(.6 .2 340), oklch(.77 .15 340));--c7: light-dark(oklch(.56 .19 300), oklch(.76 .14 300));--c8: light-dark(oklch(.6 .12 185), oklch(.8 .11 185));--lab-line: light-dark(oklch(.4 .04 265 / .22), oklch(.9 .02 265 / .2));--lab-faint: light-dark(oklch(.4 .04 265 / .1), oklch(.9 .02 265 / .09))}.md:has(>.lab){max-width:none}.md:has(>.lab)>:not(.lab){max-width:70ch}.lab{position:relative;isolation:isolate;margin:1.4em 0;padding:20px 22px 22px;font-family:var(--font-ui);font-size:var(--t-base);line-height:1.5;color:var(--ink);background:radial-gradient(70% 90% at 0% 0%,color-mix(in oklab,var(--subject, var(--blue)) 20%,transparent),transparent 70%),radial-gradient(60% 80% at 100% 0%,color-mix(in oklab,var(--c6) 13%,transparent),transparent 70%),radial-gradient(70% 70% at 100% 100%,color-mix(in oklab,var(--c2) 12%,transparent),transparent 70%),var(--glass-strong);border:1px solid color-mix(in oklab,var(--subject, var(--blue)) 32%,var(--glass-edge));border-radius:var(--r-xl);box-shadow:0 1px 0 var(--glass-line) inset,0 22px 50px -28px color-mix(in oklab,var(--subject, var(--blue)) 60%,oklch(.2 .05 265))}.lab--standalone{margin:0}.lab__head{display:flex;align-items:center;gap:14px}.lab__badge{display:grid;place-items:center;flex:none;width:44px;height:44px;color:#fafcff;background:linear-gradient(140deg,var(--subject, var(--c1)),var(--c6) 120%);border-radius:var(--r-md);box-shadow:0 1px #ffffff59 inset,0 10px 22px -12px color-mix(in oklab,var(--subject, var(--c1)) 80%,transparent)}.lab__badge .icon{width:23px;height:23px;stroke-width:1.8}.lab__titles{min-width:0;flex:1}.lab__title{margin:0;font-size:var(--t-lg);line-height:1.2;letter-spacing:-.01em}.lab__concept{margin:3px 0 0;font-size:var(--t-sm);color:var(--ink-3)}.lab__open{flex:none}.lab__summary{margin:14px 0 16px;max-width:78ch;color:var(--ink-2)}.lab-loading{padding:40px;text-align:center;color:var(--ink-3);background:var(--glass-well);border-radius:var(--r-lg)}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.lab-layout--wide{grid-template-columns:minmax(0,1fr)}.lab-layout--wide .lab-controls{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}@container (max-width: 760px){.lab-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.lab-layout{grid-template-columns:minmax(0,1fr)}}.lab-stage{position:relative;min-width:0;padding:12px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:0 1px 2px #0b152c14 inset}.lab-stage svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-ui);font-size:12px}.lab-stage svg text{fill:var(--ink-2)}.lab-stage svg .t-strong{fill:var(--ink);font-weight:650}.lab-stage svg .t-faint{fill:var(--ink-3)}.lab-stage svg .t-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.lab-stage svg .axis{stroke:var(--lab-line);stroke-width:1;fill:none}.lab-stage svg .grid{stroke:var(--lab-faint);stroke-width:1;fill:none}.lab-stage svg .t-on-color{fill:#fafcff;font-weight:650}.lab-stage+.lab-stage{margin-top:12px}.lab-scroll{overflow-x:auto}.lab-controls{display:grid;gap:12px;min-width:0}.lab-group{display:grid;gap:10px;margin:0;padding:12px 14px 14px;min-width:0;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--r-lg)}.lab-group>legend{padding:0 6px;margin-left:-6px;font-size:var(--t-sm);font-weight:650;color:var(--ink-2)}.lab-slider{display:grid;gap:6px}.lab-slider label{display:flex;justify-content:space-between;gap:10px;font-size:var(--t-sm);color:var(--ink-2)}.lab-slider output{font-size:var(--t-sm);font-weight:600;color:var(--ink)}.lab-slider small{font-size:var(--t-xs);color:var(--ink-3)}.lab-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;margin:0;background:transparent;cursor:pointer}.lab-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--subject, var(--blue)) 0 var(--fill),var(--lab-faint) var(--fill));border:1px solid var(--glass-edge)}.lab-slider input[type=range]::-moz-range-track{height:8px;border-radius:var(--r-pill);background:var(--lab-faint);border:1px solid var(--glass-edge)}.lab-slider input[type=range]::-moz-range-progress{height:8px;border-radius:var(--r-pill);background:var(--subject, var(--blue))}.lab-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin-top:-7px;background:#fafcff;border:2px solid var(--subject, var(--blue));border-radius:50%;box-shadow:0 3px 8px -2px #08143173;transition:transform var(--dur-1) var(--ease-out)}.lab-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#fafcff;border:2px solid var(--subject, var(--blue));border-radius:50%}.lab-slider input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}.lab-slider input[type=range]:focus-visible{outline:none}.lab-slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring)}.lab-seg-wrap{display:grid;gap:6px}.lab-seg-label{font-size:var(--t-sm);color:var(--ink-2)}.lab-seg{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-lg)}.lab-seg button{--seg: var(--subject, var(--blue));display:inline-flex;align-items:center;gap:6px;flex:1 1 auto;justify-content:center;min-height:32px;padding:5px 11px;font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:transparent;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;transition:background-color var(--dur-1),color var(--dur-1)}.lab-seg button:hover{color:var(--ink);background:var(--glass)}.lab-seg button[aria-checked=true]{color:var(--ink);background:color-mix(in oklab,var(--seg) 18%,var(--glass-strong));border-color:color-mix(in oklab,var(--seg) 55%,transparent);box-shadow:0 6px 16px -10px color-mix(in oklab,var(--seg) 80%,transparent)}.lab-seg button:focus-visible{outline:none;box-shadow:var(--ring)}.lab-dot{width:9px;height:9px;border-radius:50%;background:var(--seg);flex:none}.lab-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:var(--t-sm);color:var(--ink-2)}.lab-toggle input{position:absolute;opacity:0;width:1px;height:1px}.lab-toggle__track{position:relative;flex:none;width:38px;height:22px;margin-top:1px;background:var(--lab-faint);border:1px solid var(--glass-edge);border-radius:var(--r-pill);transition:background-color var(--dur-2)}.lab-toggle__track i{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fafcff;border-radius:50%;box-shadow:0 2px 6px -2px #08143180;transition:transform var(--dur-2) var(--ease-spring)}.lab-toggle input:checked+.lab-toggle__track{background:var(--subject, var(--blue))}.lab-toggle input:checked+.lab-toggle__track i{transform:translate(16px)}.lab-toggle input:focus-visible+.lab-toggle__track{box-shadow:var(--ring)}.lab-toggle__text{display:grid;gap:2px}.lab-toggle__text small{font-size:var(--t-xs);color:var(--ink-3)}.lab-transport{display:flex;flex-wrap:wrap;gap:6px}.lab-transport .btn--primary{background:var(--subject, var(--blue));border-color:var(--subject, var(--blue))}.lab-readout{display:grid;gap:0;margin:0}.lab-readout__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px dashed var(--glass-edge)}.lab-readout__row:first-child{border-top:0}.lab-readout dt{font-size:var(--t-sm);color:var(--ink-2)}.lab-readout dd{margin:0;font-size:var(--t-sm);font-weight:650;color:var(--tone, var(--ink));text-align:right}.lab-tone--blue{--tone: var(--blue)}.lab-tone--red{--tone: var(--red)}.lab-tone--green{--tone: var(--green)}.lab-tone--amber{--tone: var(--amber)}.lab-tone--ink{--tone: var(--ink)}.lab-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 2px 0;padding:0;list-style:none;font-size:var(--t-xs);color:var(--ink-2)}.lab-legend li{display:inline-flex;align-items:center;gap:6px}.lab-legend i{width:14px;height:9px;border-radius:3px;border:1.5px solid transparent}.lab-legend i.is-dashed{background:transparent;border-style:dashed;border-width:0 0 2px;height:0;width:16px;border-radius:0}.lab-notes{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}.lab-notes li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;padding:10px 14px;font-size:var(--t-sm);line-height:1.55;color:var(--ink);background:color-mix(in oklab,var(--tone) 9%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--tone) 24%,var(--glass-edge));border-radius:var(--r-md)}.lab-notes .icon{width:17px;height:17px;margin-top:1px;color:var(--tone)}.lab-notes code{font-family:var(--font-mono);font-size:.86em;padding:1px 5px;background:var(--glass-well);border-radius:var(--r-xs)}.lab-status{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:9px 13px;font-size:var(--t-sm);font-weight:550;color:var(--ink);background:color-mix(in oklab,var(--tone) 12%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--tone) 30%,var(--glass-edge));border-radius:var(--r-md)}.lab-status .icon{flex:none;width:17px;height:17px;margin-top:1px;color:var(--tone)}.lab-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--t-sm)}.lab-table th{text-align:left;font-weight:650;color:var(--ink-2);padding:7px 10px;background:var(--glass);border-bottom:1px solid var(--glass-edge)}.lab-table th:first-child{border-top-left-radius:var(--r-sm)}.lab-table th:last-child{border-top-right-radius:var(--r-sm)}.lab-table td{padding:7px 10px;border-bottom:1px dashed var(--glass-edge);font-variant-numeric:tabular-nums}.lab-table tr.is-hit td{background:color-mix(in oklab,var(--tone, var(--blue)) 14%,transparent)}.lab-table tr.is-new td{animation:lab-flash .9s var(--ease-out)}@keyframes lab-flash{0%{background:color-mix(in oklab,var(--green) 30%,transparent)}}.lab-stage svg .anim{transition:transform var(--dur-3) var(--ease-out),opacity var(--dur-2),fill var(--dur-2),stroke var(--dur-2),r var(--dur-2),width var(--dur-3) var(--ease-out),x var(--dur-3) var(--ease-out),y var(--dur-3) var(--ease-out),height var(--dur-3) var(--ease-out)}@media(prefers-reduced-motion:reduce){.lab-stage svg .anim,.lab-table tr.is-new td{transition:none;animation:none}}.labs-page__subject{margin-bottom:var(--s-5)}.labs-page__subject-head{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:var(--t-lg)}.labs-page__swatch{width:12px;height:12px;border-radius:4px;background:var(--subject);box-shadow:0 0 0 4px var(--subject-wash)}.labs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-3);margin:0;padding:0;list-style:none}.lab-card{position:relative;display:grid;gap:8px;align-content:start;height:100%;padding:18px 20px 16px;color:var(--ink);text-decoration:none;background:radial-gradient(90% 120% at 0% 0%,color-mix(in oklab,var(--subject) 22%,transparent),transparent 65%),var(--glass-strong);border:1px solid color-mix(in oklab,var(--subject) 30%,var(--glass-edge));border-radius:var(--r-xl);box-shadow:var(--shadow-sheet);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2)}.lab-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 20px 40px -24px color-mix(in oklab,var(--subject) 70%,oklch(.2 .05 265))}.lab-card:focus-visible{outline:none;box-shadow:var(--ring)}.lab-card__top{display:flex;align-items:center;gap:10px}.lab-card .lab__badge{width:36px;height:36px}.lab-card .lab__badge .icon{width:19px;height:19px}.lab-card__title{margin:0;font-size:var(--t-md);line-height:1.25}.lab-card__concept{margin:0;font-size:var(--t-sm);color:var(--subject);font-weight:600}.lab-card__summary{margin:0;font-size:var(--t-sm);color:var(--ink-2)}.lab-card__where{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:var(--t-xs);color:var(--ink-3)}.lab-card__where span{padding:2px 9px;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill)}.lab-detail__where{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s-4)}.lab-code,.lab-term{margin:0;padding:10px 12px;font-family:var(--font-mono);font-size:.78rem;line-height:1.6;white-space:pre;overflow-x:auto;border-radius:var(--r-md)}.lab-code{background:var(--glass-well);border:1px solid var(--glass-edge);color:var(--ink)}.lab-code .is-current{display:inline-block;min-width:100%;background:color-mix(in oklab,var(--subject, var(--blue)) 20%,transparent);border-radius:4px}.lab-term{margin-top:12px;max-height:190px;overflow-y:auto;color:#c8e8cd;background:#0f1624;border:1px solid oklch(.32 .03 265)}.lab-term .t-faint{color:#898f9c}.lab-hint{margin:0;font-size:var(--t-sm);color:var(--ink-2)}.sem{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sem__proc{display:grid;gap:10px;align-content:start;padding:12px;background:color-mix(in oklab,var(--pc) 9%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--pc) 35%,var(--glass-edge));border-radius:var(--r-lg)}.sem__proc-head{display:flex;justify-content:space-between;align-items:baseline}.sem__proc-head strong{font-size:var(--t-lg);color:var(--pc)}.sem__proc-head .mono{font-size:var(--t-sm);padding:2px 8px;background:var(--glass-well);border-radius:var(--r-pill)}.sem__proc .btn--primary{background:var(--pc);border-color:var(--pc);justify-self:start}.sem__code{margin:0;padding:0;list-style:none;display:grid;gap:4px;counter-reset:l}.sem__code li{position:relative;padding:5px 10px 5px 28px;font-size:.8rem;border-radius:var(--r-sm);color:var(--ink-2);transition:background-color var(--dur-2)}.sem__code li:before{counter-increment:l;content:counter(l);position:absolute;left:9px;top:5px;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-3)}.sem__code li.is-cs{box-shadow:inset 3px 0 color-mix(in oklab,var(--amber) 70%,transparent)}.sem__code li.is-done{color:var(--ink-3);text-decoration:line-through;text-decoration-color:color-mix(in oklab,var(--ink-3) 50%,transparent)}.sem__code li.is-pc{color:var(--ink);font-weight:650;background:color-mix(in oklab,var(--pc) 22%,var(--glass-strong))}.sem__code li.is-blocked{background:var(--red-wash);color:var(--red)}.sem__shared{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.sem__mem,.sem__mutex{display:grid;justify-items:center;gap:4px;min-width:170px;padding:12px 18px;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-lg);box-shadow:var(--shadow-sheet)}.sem__mem span,.sem__mutex span{font-size:var(--t-xs);font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3)}.sem__mem strong{font-size:2.4rem;line-height:1;color:var(--blue)}.sem__tokens{display:flex;align-items:center;gap:10px}.sem__tokens i{width:26px;height:26px;border-radius:50%}.sem__tokens i.is-token{background:radial-gradient(circle at 35% 30%,oklch(1 0 0 / .7),transparent 45%),var(--green);box-shadow:0 6px 14px -6px var(--green)}.sem__tokens i.is-empty{border:2px dashed var(--red)}.sem__tokens b{font-size:1.6rem}.sem__mutex small{font-size:var(--t-xs);color:var(--ink-2)}.sem__log{grid-column:1 / -1;margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.sem__log li{padding:3px 10px;font-size:var(--t-xs);color:var(--ink);background:color-mix(in oklab,var(--pc) 14%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--pc) 30%,transparent);border-radius:var(--r-pill)}@media(max-width:560px){.sem{grid-template-columns:minmax(0,1fr)}}.lab-row{display:flex;flex-wrap:wrap;gap:6px}.lab-stage svg.icon{display:inline-block;width:17px;height:17px;overflow:hidden}.acl-list{margin-top:12px;padding:12px 14px;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-lg)}.acl-list p{margin:0 0 8px;font-size:var(--t-sm)}.acl-list ol{margin:0;padding:0;list-style:none;display:grid;gap:4px}.acl-list li{display:flex;justify-content:space-between;gap:12px;padding:5px 10px;font-size:.8rem;border-radius:var(--r-sm);border:1px solid transparent}.acl-list li em{font-style:normal;font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap}.acl-list li.is-skip{color:var(--ink-3);text-decoration:line-through;text-decoration-color:color-mix(in oklab,var(--ink-3) 40%,transparent)}.acl-list li.is-after{color:var(--ink-3);opacity:.6}.acl-list li.is-decide.is-permit{background:var(--green-wash);border-color:color-mix(in oklab,var(--green) 40%,transparent);font-weight:650}.acl-list li.is-decide.is-deny{background:var(--red-wash);border-color:color-mix(in oklab,var(--red) 40%,transparent);font-weight:650}.acl-list li.is-decide em{color:var(--ink);font-weight:650}.acl-matrix{margin-top:14px}.acl-matrix th{text-align:center;font-size:var(--t-xs);white-space:nowrap}.acl-matrix th small{font-weight:500;color:var(--ink-3)}.acl-matrix td.is-yes,.acl-matrix td.is-no{text-align:center;font-weight:650;font-size:var(--t-xs)}.acl-matrix td.is-yes{color:var(--green);background:color-mix(in oklab,var(--green) 10%,transparent)}.acl-matrix td.is-no{color:var(--red);background:color-mix(in oklab,var(--red) 10%,transparent)}.lab-controls .lab-code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.72rem}.lab-browser{margin-top:12px;overflow:hidden;background:var(--glass-strong);border:1px solid var(--glass-edge);border-radius:var(--r-md);box-shadow:var(--shadow-sheet)}.lab-browser__bar{padding:7px 12px;font-size:.76rem;color:var(--ink-2);background:var(--glass-well);border-bottom:1px solid var(--glass-edge);overflow-wrap:anywhere}.lab-browser__bar:before{content:"●●●";margin-right:10px;letter-spacing:2px;color:var(--ink-3)}.lab-browser__page{padding:10px 14px;min-height:64px;font-family:var(--font-read)}.lab-browser__page p{margin:.2em 0}.lab-browser__page .t-faint{color:var(--ink-3);font-style:italic}.qlab{display:grid;gap:8px;padding:6px 4px}.qlab__axis{display:flex;justify-content:space-between;font-size:var(--t-xs);font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3)}.qlab__list{margin:0;padding:0;list-style:none;display:grid;gap:7px}.qlab__list>li{display:grid;justify-items:center;gap:5px}.qlab__theme{justify-self:start;margin-top:6px;font-size:var(--t-xs);font-weight:700;color:var(--ink-2)}.qlab__q{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:var(--w, 100%);padding:9px 12px;text-align:left;font:inherit;font-size:var(--t-sm);color:var(--ink);background:color-mix(in oklab,var(--q) 9%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--q) 40%,var(--glass-edge));border-left:4px solid var(--q);border-radius:var(--r-md);cursor:pointer;transition:width var(--dur-3) var(--ease-out),background-color var(--dur-2),box-shadow var(--dur-2)}.qlab__q:hover{background:color-mix(in oklab,var(--q) 15%,var(--glass-strong))}.qlab__q:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.qlab__q.is-sel{box-shadow:0 0 0 2px color-mix(in oklab,var(--q) 60%,transparent),var(--shadow-sheet)}.qlab__q.is-out{border-style:dashed;border-left-style:solid}.qlab__lvl{padding:2px 7px;font-size:.68rem;color:var(--ink-2);background:var(--glass-well);border-radius:var(--r-pill)}.qlab__txt{min-width:0;overflow-wrap:anywhere}.qlab__out{font-size:var(--t-xs);font-weight:700;color:var(--red);white-space:nowrap}.qlab__sel{margin:0;font-family:var(--font-read);font-size:var(--t-sm)}.qlab__ok{margin:0;font-size:var(--t-sm);font-weight:600;color:var(--green)}.qlab__defauts{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:var(--t-sm)}.qlab__defauts li{padding:7px 10px;background:color-mix(in oklab,var(--q) 10%,var(--glass-strong));border-left:3px solid var(--q);border-radius:var(--r-sm)}.qlab__defauts strong{color:color-mix(in oklab,var(--q) 70%,var(--ink))}.qlab__defauts em{display:block;margin-top:3px;color:var(--ink-2)}.qlab__label{font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.qlab__input{width:100%;resize:vertical;font-size:var(--t-sm)}.qlab__select{flex:1 1 120px;min-width:0}.qlab__live{margin:0;font-size:var(--t-xs);font-weight:700;color:var(--q)}.qlab__reform{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 11px;text-align:left;font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink);background:var(--green-wash);border:1px solid color-mix(in oklab,var(--green) 35%,var(--glass-edge));border-radius:var(--r-md);cursor:pointer}.qlab__reform:hover{background:color-mix(in oklab,var(--green) 20%,var(--glass-strong))}.qlab__reform:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.qlab__reform .icon{flex:none;width:16px;height:16px;margin-top:2px;color:var(--green)}.qlab__reform span{min-width:0;overflow-wrap:anywhere}.lab-controls>*,.lab-group>*{min-width:0}.planning__count{color:var(--red);font-size:1.15em}.planning__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-4);padding:10px 14px;margin-bottom:var(--s-4)}.planning__nav,.planning__totals{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.planning__range{min-width:15ch;text-align:center;font-size:var(--t-md)}.planning__totals>span{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-size:var(--t-sm)}.planning__done{color:var(--green)!important}.planning__msg{flex-basis:100%;margin:0;font-size:var(--t-sm)}.btn--icon{min-width:38px;padding-inline:8px;justify-content:center}.planning__layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s-4);align-items:start;margin-bottom:var(--s-5)}.planning__board{padding:12px;overflow:hidden}.planning__targets{position:sticky;top:96px}.planning__hint{font-size:var(--t-sm);margin:0 0 var(--s-3)}.wgrid{display:grid;grid-template-columns:44px repeat(7,minmax(0,1fr));grid-template-rows:auto calc(var(--hour) * var(--rows));column-gap:4px}.wgrid__corner{grid-row:1;grid-column:1}.wgrid__head{grid-row:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 10px;border-radius:var(--r-md) var(--r-md) 0 0;min-width:0}.wgrid__dname{font-size:var(--t-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:650}.wgrid__dnum{font-size:var(--t-lg);font-weight:700;color:var(--ink-2);line-height:1.1}.wgrid__head.is-today .wgrid__dnum{color:var(--on-blue);background:var(--blue);border-radius:var(--r-pill);min-width:2em;padding:1px 8px;text-align:center;box-shadow:0 8px 18px -10px var(--glow)}.wgrid__head.is-partiels{background:color-mix(in oklab,var(--red) 12%,transparent)}.wgrid__flag{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--red);background:var(--red-wash);border-radius:var(--r-pill);padding:1px 7px}.wgrid__exam{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;color:var(--subject);background:var(--subject-wash);border:1px solid color-mix(in oklab,var(--subject) 40%,transparent);border-radius:var(--r-pill);padding:0 7px}.wgrid__hours{grid-row:2;grid-column:1;display:grid;grid-template-rows:repeat(var(--rows),var(--hour))}.wgrid__hours span{font-size:.7rem;color:var(--ink-3);transform:translateY(-.6em);text-align:right;padding-right:6px}.wgrid__col{grid-row:2;position:relative;cursor:copy;border-radius:var(--r-sm);background:repeating-linear-gradient(to bottom,var(--glass-edge) 0 1px,transparent 1px var(--hour)),var(--glass-well)}.wgrid__col:hover{background:repeating-linear-gradient(to bottom,var(--glass-edge) 0 1px,transparent 1px var(--hour)),color-mix(in oklab,var(--blue) 6%,var(--glass-well))}.wgrid__col.is-today{box-shadow:0 0 0 1.5px color-mix(in oklab,var(--blue) 55%,transparent) inset}.wgrid__col.is-past{opacity:.86}.wgrid__now{position:absolute;left:-2px;right:-2px;height:2px;background:var(--red);border-radius:2px;z-index:2;pointer-events:none}.wgrid__now:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--red)}.wslot{position:absolute;left:3px;right:3px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;overflow:hidden;padding:5px 7px;text-align:left;font:inherit;cursor:pointer;color:var(--ink);background:linear-gradient(160deg,color-mix(in oklab,var(--subject) 30%,var(--sheet)),color-mix(in oklab,var(--subject) 16%,var(--sheet)));border:1px solid color-mix(in oklab,var(--subject) 55%,transparent);border-left:4px solid var(--subject);border-radius:var(--r-sm);box-shadow:0 8px 18px -14px var(--subject-glow);transition:transform var(--dur-1, .12s) ease,box-shadow var(--dur-1, .12s) ease}.wslot:hover{transform:translateY(-1px);box-shadow:0 12px 24px -12px var(--subject-glow)}.wslot:focus-visible{outline:2px solid var(--subject);outline-offset:2px}.wslot__top{display:flex;align-items:center;gap:4px;width:100%}.wslot__top strong{font-size:var(--t-sm);color:color-mix(in oklab,var(--subject) 70%,var(--ink));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wslot__top .icon{margin-left:auto;color:var(--green)}.wslot__time{font-size:.7rem;color:var(--ink-2);white-space:nowrap}.wslot__note{font-size:.72rem;color:var(--ink-2);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.wslot.is-short{flex-direction:row;align-items:center;gap:6px;padding-block:2px}.wslot.is-short .wslot__note{display:none}.wslot.is-done{background:repeating-linear-gradient(135deg,color-mix(in oklab,var(--subject) 18%,var(--sheet)) 0,color-mix(in oklab,var(--subject) 18%,var(--sheet)) 8px,color-mix(in oklab,var(--subject) 10%,var(--sheet)) 8px,color-mix(in oklab,var(--subject) 10%,var(--sheet)) 16px)}.wlist{display:none;margin:0;padding:0;list-style:none}.wlist__day{padding:10px 4px;border-bottom:1px solid var(--glass-edge)}.wlist__day:last-child{border-bottom:0}.wlist__day.is-today .wlist__head strong{color:var(--blue)}.wlist__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.wlist__head .btn{margin-left:auto}.wlist__slots{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:6px}.wlist__slot{width:100%;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:9px 12px;text-align:left;font:inherit;cursor:pointer;color:var(--ink);background:var(--subject-wash);border:1px solid color-mix(in oklab,var(--subject) 40%,transparent);border-left:4px solid var(--subject);border-radius:var(--r-sm)}.wlist__slot strong{color:color-mix(in oklab,var(--subject) 70%,var(--ink))}.wlist__slot .faint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wlist__slot .icon{color:var(--green)}.wlist__slot.is-done{opacity:.75}.wlist__empty{margin:4px 0 0;font-size:var(--t-sm)}.target-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.target{width:100%;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:baseline;padding:9px 11px;text-align:left;font:inherit;cursor:pointer;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:var(--r-md)}.target:hover{background:var(--subject-wash);border-color:color-mix(in oklab,var(--subject) 35%,transparent)}.target__name{display:flex;flex-direction:column;min-width:0}.target__name strong{color:var(--subject)}.target__name .faint{font-size:var(--t-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target__nums{font-size:var(--t-sm);white-space:nowrap}.target__nums.is-ok{color:var(--green)}.target__bar{grid-column:1 / -1;position:relative;height:8px;border-radius:var(--r-pill);background:var(--glass-well);overflow:hidden}.target__goal{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:color-mix(in oklab,var(--subject) 22%,transparent)}.target__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--subject);transition:width var(--dur-2, .22s) ease}.slot-dialog{width:min(560px,100%);border-top:5px solid var(--subject)}.slot-dialog h2{margin:0}.slot-dialog__row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-3)}.slot-dialog__sum{display:flex;align-items:center;gap:6px;margin:0}.slot-dialog__done{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);background:var(--green-wash);cursor:pointer}.slot-dialog__done input{width:18px;height:18px;accent-color:var(--green)}.slot-dialog__done.is-disabled{background:var(--glass-well);cursor:not-allowed}.slot-dialog__del{margin-left:auto;color:var(--red)}.home__slots{margin:0 0 var(--s-3);padding:0;list-style:none;display:grid;gap:6px}.home__slot{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);background:var(--subject-wash);border-left:4px solid var(--subject)}.home__slot strong{color:color-mix(in oklab,var(--subject) 70%,var(--ink))}.home__slot-time{font-size:var(--t-sm)}.home__slot-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home__slot .icon{color:var(--green)}.home__slot--done{opacity:.72}.home__noslot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 var(--s-3)}.home__sub{margin:var(--s-3) 0 var(--s-2);font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}@media(max-width:1100px){.planning__layout{grid-template-columns:minmax(0,1fr)}.planning__targets{position:static}}@media(max-width:760px){.wgrid{display:none}.wlist{display:block}.planning__board{padding:6px 12px}.slot-dialog__row{grid-template-columns:1fr 1fr}.slot-dialog__row .field:first-child{grid-column:1 / -1}.planning__range{min-width:0}}.subject-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 13px;font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);cursor:pointer;background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-pill);transition:background-color var(--dur-1),border-color var(--dur-1),color var(--dur-1)}.chip:hover{color:var(--ink);border-color:color-mix(in oklab,var(--subject, var(--blue)) 40%,var(--glass-edge))}.chip.is-on{color:var(--ink);background:var(--subject-wash, var(--blue-wash));border-color:color-mix(in oklab,var(--subject, var(--blue)) 60%,transparent);box-shadow:0 6px 16px -12px var(--subject-glow, var(--glow))}.chip__dot{width:9px;height:9px;border-radius:50%;background:var(--subject);box-shadow:0 0 8px -1px var(--subject-glow)}.segmented-wrap{display:grid;gap:4px}.segmented-wrap__label{font-size:var(--t-xs);font-weight:650;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.segmented button[aria-checked=true]{color:var(--ink);background:var(--glass-strong);box-shadow:0 1px 0 var(--glass-line) inset,0 6px 16px -10px #0b152c99}.training__filters{display:grid;gap:var(--s-3);padding:14px 16px;margin-bottom:var(--s-4)}.training__row{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5)}.training__row .segmented{grid-auto-columns:auto}.training__subject{padding-top:0;overflow:hidden;border-top:4px solid var(--subject)}.training__subject h2{display:flex;align-items:baseline;gap:10px}.training__code{font-size:var(--t-sm);font-weight:700;color:var(--subject)}.training__chapter+.training__chapter{margin-top:var(--s-4)}.training__chapter h3{display:flex;align-items:baseline;gap:8px;margin:var(--s-3) 0 var(--s-2);font-size:var(--t-base)}.training__chapter h3 a{color:var(--ink)}.training__label{font-size:var(--t-xs);font-weight:700;color:var(--subject);background:var(--subject-wash);border:1px solid color-mix(in oklab,var(--subject) 35%,transparent);border-radius:var(--r-pill);padding:1px 8px}.training__subject .exo-list{margin:0 -22px;container-type:inline-size}.training__tag{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--on-blue);background:linear-gradient(120deg,var(--subject),color-mix(in oklab,var(--subject) 55%,var(--c6, var(--blue))))}.exo-row.is-due{background:color-mix(in oklab,var(--red) 6%,transparent)}.exo-row .grade .icon{width:14px;height:14px;margin-right:3px;vertical-align:-2px}.exams__chips{margin-bottom:var(--s-4)}.paper-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-4)}.paper-card{height:100%;display:flex;flex-direction:column;gap:10px;padding:18px 20px;color:var(--ink);text-decoration:none;background:radial-gradient(120% 90% at 0% 0%,color-mix(in oklab,var(--subject) 18%,transparent),transparent 62%),var(--glass-strong);border:1px solid color-mix(in oklab,var(--subject) 32%,var(--glass-edge));border-top:5px solid var(--subject);border-radius:var(--r-lg);box-shadow:0 1px 0 var(--glass-line) inset,0 18px 40px -30px var(--subject-glow);transition:transform var(--dur-1) ease,box-shadow var(--dur-1) ease}.paper-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 1px 0 var(--glass-line) inset,0 22px 46px -26px var(--subject-glow)}.paper-card__top{display:flex;align-items:baseline;gap:8px}.paper-card__code{font-weight:700;color:var(--subject);font-size:var(--t-sm)}.paper-card__subj{color:var(--ink-2);font-size:var(--t-sm)}.paper-card__best{margin-left:auto;font-weight:700;color:var(--amber)}.paper-card__best.is-ok{color:var(--green)}.paper-card__title{font-size:var(--t-md);line-height:1.3}.paper-card__summary{color:var(--ink-2);font-size:var(--t-sm);line-height:1.5}.paper-card__parts{display:grid;gap:3px;font-size:var(--t-sm);color:var(--ink-2)}.paper-card__parts .mono{display:inline-block;min-width:3.4em;color:var(--subject);font-weight:650}.paper-card__foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--t-xs)}.paper-card__foot .icon{width:14px;height:14px;vertical-align:-2px}.paper__intro{border-top:5px solid var(--subject)}.paper__intro h1{margin:var(--s-2) 0}.paper__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.paper__facts{display:flex;flex-wrap:wrap;gap:6px 20px;margin:var(--s-3) 0;padding:0;list-style:none;color:var(--ink-2)}.paper__facts li{display:inline-flex;align-items:center;gap:6px}.paper__toc{margin:var(--s-3) 0;padding:0;list-style:none;display:grid;gap:6px}.paper__toc li{display:grid;grid-template-columns:2.4em 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-md);background:var(--subject-wash);border-left:4px solid var(--subject)}.paper__toc-n{font-weight:700;color:var(--subject)}.paper__consignes{padding:10px 14px;border-radius:var(--r-md);background:var(--glass-well);font-size:var(--t-sm)}.paper__go{margin-top:var(--s-4);flex-wrap:wrap}.paper__history{margin-top:var(--s-5)}.paper__history h2{font-size:var(--t-md)}.paper__history ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.paper__history li{display:flex;gap:14px;align-items:baseline}.paper__sheet{display:grid;gap:var(--s-4)}.paper__bar{position:sticky;top:84px;z-index:5;display:flex;align-items:center;gap:var(--s-4)}.paper__bar strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper__part{border-left:5px solid var(--subject)}.paper__part-title{display:flex;align-items:baseline;gap:8px;color:color-mix(in oklab,var(--subject) 60%,var(--ink))}.paper__pts{margin-left:auto;padding:1px 9px;border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:700;color:var(--subject);background:var(--subject-wash);border:1px solid color-mix(in oklab,var(--subject) 35%,transparent)}.paper__context{padding:12px 16px;margin-bottom:var(--s-3);border-radius:var(--r-md);background:var(--glass-well);border:1px dashed color-mix(in oklab,var(--subject) 35%,var(--glass-edge))}.paper__context-fold{margin-bottom:var(--s-3)}.paper__context-fold summary{cursor:pointer;color:var(--ink-2);font-weight:600}.paper__questions{margin:0;padding:0;list-style:none;display:grid;gap:var(--s-4)}.paper__q{padding-top:var(--s-3);border-top:1px solid var(--glass-edge)}.paper__q:first-child{border-top:0;padding-top:0}.paper__q-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.paper__q-n{display:inline-grid;place-items:center;min-width:2.3em;height:1.9em;border-radius:var(--r-sm);font-weight:700;font-size:var(--t-sm);color:var(--on-blue);background:var(--subject)}.paper__draft{width:100%;margin-top:var(--s-2);font-family:var(--font-mono);font-size:var(--t-sm);resize:vertical}.paper__answer{margin-top:var(--s-3);padding:12px 16px;border-radius:var(--r-md);background:color-mix(in oklab,var(--green) 7%,var(--glass-strong));border:1px solid color-mix(in oklab,var(--green) 30%,var(--glass-edge));border-left:4px solid var(--green)}.paper__answer-label{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}.paper__answer-label--grading{margin-top:var(--s-3);color:var(--amber)}.paper__grading{margin:0;padding-left:1.2em;font-size:var(--t-sm)}.paper__grading p{margin:0}.paper__refs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:var(--s-3) 0 0;font-size:var(--t-sm)}.paper__refs--list{margin-bottom:var(--s-4)}.paper__mine{margin-top:var(--s-2);padding:8px 12px;border-radius:var(--r-md);background:var(--glass-well)}.paper__mine p{margin:0 0 4px;font-size:var(--t-xs)}.paper__mine pre{margin:0;white-space:pre-wrap;font-size:var(--t-sm)}.paper__gradebar{position:sticky;top:84px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px var(--s-4)}.paper__running{font-size:var(--t-lg);font-weight:700;color:var(--subject)}.paper__gradebar .btn{margin-left:auto}.paper__score{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:var(--s-3)}.paper__score-btn{min-width:2.6em;min-height:32px;padding:3px 8px;cursor:pointer;font:inherit;font-size:var(--t-sm);color:var(--ink-2);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-sm)}.paper__score-btn:hover{border-color:color-mix(in oklab,var(--subject) 50%,var(--glass-edge));color:var(--ink)}.paper__score-btn.is-on{color:var(--on-blue);background:var(--subject);border-color:var(--subject);font-weight:700}@media(max-width:720px){.paper__bar,.paper__gradebar{top:8px}.paper__go .btn{width:100%;justify-content:center}}.aids{margin:var(--s-4) 0;display:grid;gap:var(--s-3)}.aids__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.aids__all{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);color:var(--ink-2);cursor:pointer}.aids__chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.aid-chip,.aid{--kind: var(--blue)}.aid-chip--formule,.aid--formule{--kind: light-dark(oklch(.55 .19 295), oklch(.77 .14 295))}.aid-chip--methode,.aid--methode{--kind: var(--green)}.aid-chip--piege,.aid--piege{--kind: var(--red)}.aid-chip--rappel,.aid--rappel{--kind: var(--blue)}.aid-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font:inherit;font-size:var(--t-sm);font-weight:600;color:color-mix(in oklab,var(--kind) 70%,var(--ink));background:color-mix(in oklab,var(--kind) 9%,var(--glass-strong));border:1.5px dashed color-mix(in oklab,var(--kind) 55%,var(--glass-edge));border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}.aid-chip:hover:not(:disabled){background:color-mix(in oklab,var(--kind) 17%,var(--glass-strong));transform:translateY(-1px)}.aid-chip:focus-visible{outline:none;box-shadow:var(--ring)}.aid-chip .icon{width:15px;height:15px}.aid-chip__state{font-size:var(--t-xs);font-weight:500;color:var(--ink-3)}.aid-chip--on{border-style:solid;background:color-mix(in oklab,var(--kind) 20%,var(--glass-strong))}.aid-chip:disabled{cursor:default;opacity:.85}.aid{padding:var(--s-3) var(--s-4);background:linear-gradient(100deg,color-mix(in oklab,var(--kind) 15%,transparent),color-mix(in oklab,var(--kind) 4%,transparent) 80%),var(--glass-well);border:1px solid color-mix(in oklab,var(--kind) 30%,var(--glass-edge));border-left:4px solid var(--kind);border-radius:var(--r-md)}.aid__title{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-family:var(--font-ui);font-size:var(--t-sm);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in oklab,var(--kind) 75%,var(--ink))}.aid__title .icon{width:15px;height:15px}.aid .md{--kind: inherit}.correction{margin:var(--s-4) 0;padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--glass-edge);background:var(--glass-well)}.correction__label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 var(--s-3);font-family:var(--font-ui);font-weight:700}.correction__label .icon{width:16px;height:16px}.correction--prof{--kind: var(--green);border:1px solid color-mix(in oklab,var(--green) 40%,var(--glass-edge));border-left:5px solid var(--green);background:color-mix(in oklab,var(--green) 7%,var(--glass-well))}.correction--prof .correction__label{color:color-mix(in oklab,var(--green) 70%,var(--ink))}.correction--ia{border:1.5px dashed color-mix(in oklab,var(--blue) 45%,var(--glass-edge));background:color-mix(in oklab,var(--blue) 5%,var(--glass-well))}.correction--ia .correction__label{color:var(--ink-2)}.exo__tasks{margin:var(--s-5) 0 var(--s-3)}.exo__tasks-title{display:flex;align-items:center;gap:8px;font-size:var(--t-md);margin:0 0 var(--s-3);color:var(--blue)}.exo__tasks-score{margin:var(--s-3) 0 0;font-family:var(--font-ui)}.qtasks{display:grid;gap:var(--s-4)}.qtask{--kind: var(--blue);padding:var(--s-4) var(--s-5);background:radial-gradient(70% 90px at 0% 0%,color-mix(in oklab,var(--kind) 14%,transparent),transparent 75%),var(--glass-strong);border:1px solid color-mix(in oklab,var(--kind) 25%,var(--glass-edge));border-radius:var(--r-lg);box-shadow:var(--shadow-sheet)}.qtask--choice{--kind: var(--blue)}.qtask--fill{--kind: light-dark(oklch(.55 .19 295), oklch(.77 .14 295))}.qtask--order{--kind: var(--amber)}.qtask--match{--kind: light-dark(oklch(.6 .12 195), oklch(.8 .11 195))}.qtask__head{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2)}.qtask__n{font-size:var(--t-xs);color:var(--ink-3)}.qtask__kind{padding:2px 10px;font-family:var(--font-ui);font-size:var(--t-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in oklab,var(--kind) 75%,var(--ink));background:color-mix(in oklab,var(--kind) 13%,transparent);border:1px solid color-mix(in oklab,var(--kind) 35%,transparent);border-radius:var(--r-pill)}.qtask__score{margin-left:auto;padding:2px 10px;font-family:var(--font-mono);font-size:var(--t-xs);font-weight:700;border-radius:var(--r-pill)}.qtask__score--ok{color:var(--green);background:var(--green-wash)}.qtask__score--part{color:var(--amber);background:var(--amber-wash)}.qtask__score--ko{color:var(--red);background:var(--red-wash)}.qtask__actions{margin-top:var(--s-4);display:flex;gap:var(--s-2)}.qtask__explain{display:flex;gap:var(--s-3);margin-top:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--blue-wash);border-radius:var(--r-md);border-left:4px solid var(--blue)}.qtask__explain .icon{flex:none;width:18px;height:18px;margin-top:3px;color:var(--blue)}.qtask__explain .md{font-size:var(--t-base)}.qchoices{display:grid;gap:var(--s-2);margin:var(--s-3) 0 0;padding:0;border:0}.qchoices legend{padding:0;margin-bottom:var(--s-2);font-size:var(--t-xs)}.qchoice{display:flex;align-items:flex-start;gap:var(--s-3);padding:10px 14px;background:var(--glass-well);border:1.5px solid var(--glass-edge);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1)}.qchoice:hover{border-color:color-mix(in oklab,var(--kind) 50%,var(--glass-edge))}.qchoice input{position:absolute;opacity:0;pointer-events:none}.qchoice__mark{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;font-size:13px;font-weight:800;color:var(--on-blue);background:var(--glass-strong);border:2px solid var(--rule-strong);border-radius:50%}.qtask--choice .qchoices:has(input[type=checkbox]) .qchoice__mark{border-radius:6px}.qchoice--on{background:color-mix(in oklab,var(--kind) 12%,var(--glass-well));border-color:var(--kind)}.qchoice--on .qchoice__mark{background:var(--kind);border-color:var(--kind);box-shadow:inset 0 0 0 4px var(--glass-strong)}.qchoice:focus-within{box-shadow:var(--ring)}.qchoice--right{background:var(--green-wash);border-color:var(--green)}.qchoice--right .qchoice__mark{background:var(--green);border-color:var(--green);box-shadow:none}.qchoice--wrong{background:var(--red-wash);border-color:var(--red)}.qchoice--wrong .qchoice__mark{background:var(--red);border-color:var(--red);box-shadow:none}.qchoice__text .md{font-size:var(--t-md);max-width:none}.qchoice__text .md p{margin:0}.fill{margin:var(--s-3) 0 0;padding:var(--s-4);overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:2.1;background:light-dark(oklch(.97 .01 280),oklch(.19 .03 275));border:1px solid var(--glass-edge);border-radius:var(--r-md)}.fill code{font:inherit;background:none;border:0;padding:0;white-space:pre}.fill__line{min-height:1.5em}.fill__hole{display:inline-flex;align-items:baseline;gap:6px}.fill__blank{font:inherit;padding:1px 8px;color:var(--ink);background:color-mix(in oklab,var(--kind) 12%,var(--glass-strong));border:0;border-bottom:2px solid var(--kind);border-radius:6px 6px 0 0}.fill__blank:focus{outline:none;box-shadow:var(--ring);background:color-mix(in oklab,var(--kind) 20%,var(--glass-strong))}.fill__blank--right{border-bottom-color:var(--green);background:var(--green-wash)}.fill__blank--wrong{border-bottom-color:var(--red);background:var(--red-wash)}.fill__fix{padding:0 8px;font-size:.8em;font-weight:700;color:var(--green);background:var(--green-wash);border-radius:6px}.puzzle{display:grid;gap:var(--s-2);margin:var(--s-3) 0 0;padding:0;list-style:none}.puzzle__item{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3);padding:8px 12px;background:var(--glass-well);border:1.5px solid color-mix(in oklab,var(--kind) 35%,var(--glass-edge));border-radius:var(--r-md);cursor:grab;transition:background var(--dur-1),transform var(--dur-1)}.puzzle__item:active{cursor:grabbing}.puzzle__item--drag{opacity:.5;transform:scale(.99)}.puzzle__rank{flex:none;width:24px;text-align:center;font-size:var(--t-xs);font-weight:700;color:color-mix(in oklab,var(--kind) 75%,var(--ink))}.puzzle__text{flex:1 1 200px;min-width:0;font-size:var(--t-base);overflow-wrap:anywhere}code.puzzle__text{font-family:var(--font-mono);font-size:.85rem;background:none;border:0;padding:0;white-space:pre-wrap}.puzzle__ctl{display:inline-flex;gap:4px}.puzzle__item--right{background:var(--green-wash);border-color:var(--green);cursor:default}.puzzle__item--wrong{background:var(--red-wash);border-color:var(--red);cursor:default}.puzzle__fix{flex-basis:100%;padding-left:36px;font-size:var(--t-xs);font-weight:700;color:var(--green)}.match{display:grid;gap:var(--s-2);margin:var(--s-3) 0 0;padding:0;list-style:none}.match__row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr);align-items:center;gap:var(--s-3);padding:8px 12px;background:var(--glass-well);border:1.5px solid var(--glass-edge);border-radius:var(--r-md)}.match__left .md{font-size:var(--t-base);font-weight:600;max-width:none}.match__left .md p{margin:0}.match__arrow{color:color-mix(in oklab,var(--kind) 75%,var(--ink));font-weight:800}.match__row--right{background:var(--green-wash);border-color:var(--green)}.match__row--wrong{background:var(--red-wash);border-color:var(--red)}.match__fix{grid-column:1 / -1;font-size:var(--t-xs);font-weight:700;color:var(--green)}@media(max-width:560px){.match__row{grid-template-columns:1fr}.match__arrow{display:none}.qtask{padding:var(--s-4)}}.md mark{padding:.04em .3em;color:inherit;border-radius:.3em;background:linear-gradient(104deg,transparent .5%,color-mix(in oklab,var(--amber) 38%,transparent) 2%,color-mix(in oklab,var(--amber) 30%,transparent) 98%,transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:600}.callout{--kind: var(--blue);margin:1.1em 0;padding:12px 18px 12px 16px;border-radius:var(--r-md);border:1px solid color-mix(in oklab,var(--kind) 32%,var(--glass-edge));border-left:5px solid var(--kind);background:linear-gradient(100deg,color-mix(in oklab,var(--kind) 14%,transparent),color-mix(in oklab,var(--kind) 4%,transparent) 80%),var(--glass-well)}.callout--formule{--kind: light-dark(oklch(.55 .19 295), oklch(.77 .14 295))}.callout--retenir{--kind: var(--green)}.callout--astuce{--kind: light-dark(oklch(.6 .12 195), oklch(.8 .11 195))}.callout--attention{--kind: var(--red)}.callout--exemple{--kind: var(--amber)}.callout--definition{--kind: var(--blue)}.callout__label{margin:0 0 6px!important;font-family:var(--font-ui);font-size:var(--t-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab,var(--kind) 75%,var(--ink))}.callout__title{font-weight:600;letter-spacing:0;text-transform:none;font-size:var(--t-sm)}.callout__body>:last-child{margin-bottom:0}.uml{margin:1.1em 0;padding:var(--s-3);background:var(--glass-well);border:1px solid var(--glass-edge);border-radius:var(--r-md)}.uml__scroll{overflow-x:auto;display:flex;justify-content:center}.uml svg{height:auto;font-family:var(--font-mono)}.uml__rect{fill:var(--glass-strong);stroke:var(--rule-strong);stroke-width:1.5}.uml__box--class .uml__rect{stroke:var(--blue)}.uml__box--interface .uml__rect{stroke:light-dark(oklch(.55 .19 295),oklch(.77 .14 295));stroke-dasharray:6 3}.uml__box--abstract .uml__rect{stroke:var(--amber)}.uml__head{fill:color-mix(in oklab,var(--blue) 16%,transparent)}.uml__box--interface .uml__head{fill:color-mix(in oklab,oklch(.6 .19 295) 18%,transparent)}.uml__box--abstract .uml__head{fill:color-mix(in oklab,var(--amber) 20%,transparent)}.uml__title{font-size:13px;font-weight:700;fill:var(--ink)}.uml__title--abstract{font-style:italic}.uml__stereo{font-size:11px;fill:var(--ink-3)}.uml__sep{stroke:var(--rule-strong);stroke-width:1}.uml__member{font-size:12px;fill:var(--ink-2)}.uml__edge{stroke:var(--ink-2);stroke-width:1.6;fill:none}.uml__label{font-size:11px;font-style:italic;fill:var(--ink-3)}.uml__mark{stroke:var(--ink-2);stroke-width:1.4;stroke-linejoin:round}.uml__mark--hollow{fill:var(--glass-strong)}.uml__mark--full{fill:var(--ink-2)}.uml__mark--line{fill:none}.uml__error{padding:12px;color:var(--red);background:var(--red-wash);border-radius:var(--r-md);white-space:pre-wrap}
