/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Instrument Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-orange-950:oklch(26.6% .079 36.259);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-lime-50:oklch(98.6% .031 120.757);--color-lime-100:oklch(96.7% .067 122.328);--color-lime-200:oklch(93.8% .127 124.321);--color-lime-300:oklch(89.7% .196 126.665);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-500:oklch(76.8% .233 130.85);--color-lime-600:oklch(64.8% .2 131.684);--color-lime-700:oklch(53.2% .157 131.589);--color-lime-800:oklch(45.3% .124 130.933);--color-lime-900:oklch(40.5% .101 131.063);--color-lime-950:oklch(27.4% .072 132.109);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-teal-900:oklch(38.6% .063 188.416);--color-teal-950:oklch(27.7% .046 192.524);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-900:oklch(39.8% .07 227.392);--color-cyan-950:oklch(30.2% .056 229.695);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--color-fuchsia-50:oklch(97.7% .017 320.058);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-fuchsia-700:oklch(51.8% .253 323.949);--color-fuchsia-800:oklch(45.2% .211 324.591);--color-fuchsia-900:oklch(40.1% .17 325.612);--color-fuchsia-950:oklch(29.3% .136 325.661);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-300:oklch(82.3% .12 346.018);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-pink-600:oklch(59.2% .249 .584);--color-pink-700:oklch(52.5% .223 3.958);--color-pink-800:oklch(45.9% .187 3.815);--color-pink-900:oklch(40.8% .153 2.432);--color-pink-950:oklch(28.4% .109 3.907);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-8{margin-block:calc(var(--spacing) * 8)}.-mt-\[6\.6rem\]{margin-top:-6.6rem}.-mt-px{margin-top:-1px}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-8{margin-left:calc(var(--spacing) * -8)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.\!table{display:table!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[335\/364\]{aspect-ratio:335/364}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-14\.5{height:calc(var(--spacing) * 14.5)}.h-16{height:calc(var(--spacing) * 16)}.h-26{height:calc(var(--spacing) * 26)}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[438px\]{width:438px}.w-auto{width:auto}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[335px\]{max-width:335px}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-y-0{--tw-translate-y:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#19140035\]{border-color:#19140035}.border-\[\#e3e3e0\]{border-color:#e3e3e0}.border-black{border-color:var(--color-black)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-500{border-color:var(--color-rose-500)}.border-sky-200{border-color:var(--color-sky-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-700\/50{border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.border-slate-700\/50{border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.border-transparent{border-color:#0000}.bg-\[\#1b1b18\]{background-color:#1b1b18}.bg-\[\#FDFDFC\]{background-color:#fdfdfc}.bg-\[\#dbdbd7\]{background-color:#dbdbd7}.bg-\[\#fff2f2\]{background-color:#fff2f2}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/50{background-color:color-mix(in oklab, var(--color-emerald-50) 50%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-100\/60{background-color:#d0fae599}@supports (color:color-mix(in lab, red, red)){.bg-emerald-100\/60{background-color:color-mix(in oklab, var(--color-emerald-100) 60%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-50\/50{background-color:#fff1f280}@supports (color:color-mix(in lab, red, red)){.bg-rose-50\/50{background-color:color-mix(in oklab, var(--color-rose-50) 50%, transparent)}}.bg-rose-100\/60{background-color:#ffe4e699}@supports (color:color-mix(in lab, red, red)){.bg-rose-100\/60{background-color:color-mix(in oklab, var(--color-rose-100) 60%, transparent)}}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-600{background-color:var(--color-sky-600)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-800\/60{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/60{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-slate-50{--tw-gradient-from:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-100{--tw-gradient-to:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[\#1B1B18\],.text-\[\#1b1b18\]{color:#1b1b18}.text-\[\#706f6c\]{color:#706f6c}.text-\[\#F3BEC7\]{color:#f3bec7}.text-\[\#F8B803\]{color:#f8b803}.text-\[\#F53003\],.text-\[\#f53003\]{color:#f53003}.text-cyan-400{color:var(--color-cyan-400)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-red-200{color:var(--color-red-200)}.text-red-600{color:var(--color-red-600)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-800{color:var(--color-rose-800)}.text-sky-700{color:var(--color-sky-700)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.mix-blend-color{mix-blend-mode:color}.mix-blend-darken{mix-blend-mode:darken}.mix-blend-hard-light{mix-blend-mode:hard-light}.mix-blend-multiply{mix-blend-mode:multiply}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0px_0px_1px_0px_rgba\(0\,0\,0\,0\.03\)\,0px_1px_2px_0px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0px 0px 1px 0px var(--tw-shadow-color,#00000008), 0px 1px 2px 0px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0px_0px_0px_1px_rgba\(26\,26\,0\,0\.16\)\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#1a1a0029);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-emerald-500\/20{--tw-ring-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.ring-emerald-500\/20{--tw-ring-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.ring-emerald-600\/30{--tw-ring-color:#0097674d}@supports (color:color-mix(in lab, red, red)){.ring-emerald-600\/30{--tw-ring-color:color-mix(in oklab, var(--color-emerald-600) 30%, transparent)}}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.ring-rose-500\/20{--tw-ring-color:#ff235733}@supports (color:color-mix(in lab, red, red)){.ring-rose-500\/20{--tw-ring-color:color-mix(in oklab, var(--color-rose-500) 20%, transparent)}}.ring-rose-600\/30{--tw-ring-color:#e700444d}@supports (color:color-mix(in lab, red, red)){.ring-rose-600\/30{--tw-ring-color:color-mix(in oklab, var(--color-rose-600) 30%, transparent)}}.ring-sky-600\/30{--tw-ring-color:#0084cc4d}@supports (color:color-mix(in lab, red, red)){.ring-sky-600\/30{--tw-ring-color:color-mix(in oklab, var(--color-sky-600) 30%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-750{--tw-duration:.75s;transition-duration:.75s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.\[--stroke-color\:\#1B1B18\]{--stroke-color:#1b1b18}.not-has-\[nav\]\:hidden:not(:has(:is(nav))){display:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-0:before{content:var(--tw-content);top:0}.before\:top-1\/2:before{content:var(--tw-content);top:50%}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:bottom-1\/2:before{content:var(--tw-content);bottom:50%}.before\:left-\[0\.4rem\]:before{content:var(--tw-content);left:.4rem}.before\:border-l:before{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:1px}.before\:border-\[\#e3e3e0\]:before{content:var(--tw-content);border-color:#e3e3e0}@media (hover:hover){.hover\:border-\[\#1915014a\]:hover{border-color:#1915014a}.hover\:border-\[\#19140035\]:hover{border-color:#19140035}.hover\:border-black:hover{border-color:var(--color-black)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-rose-50:hover{background-color:var(--color-rose-50)}.hover\:bg-sky-50:hover{background-color:var(--color-sky-50)}.hover\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\:text-emerald-600:hover{color:var(--color-emerald-600)}.hover\:text-rose-600:hover{color:var(--color-rose-600)}.hover\:text-sky-600:hover{color:var(--color-sky-600)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:self-center{align-self:center}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:mt-10{margin-top:calc(var(--spacing) * 10)}.lg\:mb-0{margin-bottom:0}.lg\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.lg\:-ml-px{margin-left:-1px}.lg\:ml-0{margin-left:0}.lg\:block{display:block}.lg\:aspect-auto{aspect-ratio:auto}.lg\:w-\[438px\]{width:438px}.lg\:max-w-4xl{max-width:var(--container-4xl)}.lg\:grow{flex-grow:1}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:justify-center{justify-content:center}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.lg\:rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:p-20{padding:calc(var(--spacing) * 20)}.lg\:pb-10{padding-bottom:calc(var(--spacing) * 10)}}@media (prefers-color-scheme:dark){.dark\:border-\[\#3E3E3A\]{border-color:#3e3e3a}.dark\:border-\[\#eeeeec\]{border-color:#eeeeec}.dark\:border-emerald-500{border-color:var(--color-emerald-500)}.dark\:border-emerald-800\/40{border-color:#005f4666}@supports (color:color-mix(in lab, red, red)){.dark\:border-emerald-800\/40{border-color:color-mix(in oklab, var(--color-emerald-800) 40%, transparent)}}.dark\:border-rose-500{border-color:var(--color-rose-500)}.dark\:border-rose-800\/40{border-color:#a3003766}@supports (color:color-mix(in lab, red, red)){.dark\:border-rose-800\/40{border-color:color-mix(in oklab, var(--color-rose-800) 40%, transparent)}}.dark\:border-sky-800\/40{border-color:#00598666}@supports (color:color-mix(in lab, red, red)){.dark\:border-sky-800\/40{border-color:color-mix(in oklab, var(--color-sky-800) 40%, transparent)}}.dark\:border-slate-800{border-color:var(--color-slate-800)}.dark\:bg-\[\#0a0a0a\]{background-color:#0a0a0a}.dark\:bg-\[\#1D0002\]{background-color:#1d0002}.dark\:bg-\[\#3E3E3A\]{background-color:#3e3e3a}.dark\:bg-\[\#161615\]{background-color:#161615}.dark\:bg-\[\#eeeeec\]{background-color:#eeeeec}.dark\:bg-emerald-900\/60{background-color:#004e3b99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/60{background-color:color-mix(in oklab, var(--color-emerald-900) 60%, transparent)}}.dark\:bg-emerald-950\/20{background-color:#002c2233}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-950\/20{background-color:color-mix(in oklab, var(--color-emerald-950) 20%, transparent)}}.dark\:bg-emerald-950\/40{background-color:#002c2266}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-950\/40{background-color:color-mix(in oklab, var(--color-emerald-950) 40%, transparent)}}.dark\:bg-indigo-950\/60{background-color:#1e1a4d99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-indigo-950\/60{background-color:color-mix(in oklab, var(--color-indigo-950) 60%, transparent)}}.dark\:bg-rose-950\/20{background-color:#4d021833}@supports (color:color-mix(in lab, red, red)){.dark\:bg-rose-950\/20{background-color:color-mix(in oklab, var(--color-rose-950) 20%, transparent)}}.dark\:bg-rose-950\/40{background-color:#4d021866}@supports (color:color-mix(in lab, red, red)){.dark\:bg-rose-950\/40{background-color:color-mix(in oklab, var(--color-rose-950) 40%, transparent)}}.dark\:bg-sky-950\/40{background-color:#052f4a66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-950\/40{background-color:color-mix(in oklab, var(--color-sky-950) 40%, transparent)}}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:from-slate-900\/80{--tw-gradient-from:#0f172bcc}@supports (color:color-mix(in lab, red, red)){.dark\:from-slate-900\/80{--tw-gradient-from:color-mix(in oklab, var(--color-slate-900) 80%, transparent)}}.dark\:from-slate-900\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-\[\#1C1C1A\]{color:#1c1c1a}.dark\:text-\[\#4B0600\]{color:#4b0600}.dark\:text-\[\#391800\]{color:#391800}.dark\:text-\[\#733000\]{color:#733000}.dark\:text-\[\#A1A09A\]{color:#a1a09a}.dark\:text-\[\#EDEDEC\]{color:#ededec}.dark\:text-\[\#F61500\]{color:#f61500}.dark\:text-\[\#FF4433\]{color:#f43}.dark\:text-black{color:var(--color-black)}.dark\:text-emerald-200{color:var(--color-emerald-200)}.dark\:text-emerald-300{color:var(--color-emerald-300)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-indigo-300{color:var(--color-indigo-300)}.dark\:text-rose-200{color:var(--color-rose-200)}.dark\:text-rose-300{color:var(--color-rose-300)}.dark\:text-rose-400{color:var(--color-rose-400)}.dark\:text-sky-300{color:var(--color-sky-300)}.dark\:text-slate-100{color:var(--color-slate-100)}.dark\:text-slate-300{color:var(--color-slate-300)}.dark\:text-slate-400{color:var(--color-slate-400)}.dark\:text-slate-600{color:var(--color-slate-600)}.dark\:mix-blend-hard-light{mix-blend-mode:hard-light}.dark\:mix-blend-normal{mix-blend-mode:normal}.dark\:shadow-\[inset_0px_0px_0px_1px_\#fffaed2d\]{--tw-shadow:inset 0px 0px 0px 1px var(--tw-shadow-color,#fffaed2d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:\[--stroke-color\:\#FF750F\]{--stroke-color:#ff750f}.dark\:before\:border-\[\#3E3E3A\]:before{content:var(--tw-content);border-color:#3e3e3a}@media (hover:hover){.dark\:hover\:border-\[\#3E3E3A\]:hover{border-color:#3e3e3a}.dark\:hover\:border-\[\#62605b\]:hover{border-color:#62605b}.dark\:hover\:border-white:hover{border-color:var(--color-white)}.dark\:hover\:bg-emerald-950\/30:hover{background-color:#002c224d}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-emerald-950\/30:hover{background-color:color-mix(in oklab, var(--color-emerald-950) 30%, transparent)}}.dark\:hover\:bg-rose-950\/30:hover{background-color:#4d02184d}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-rose-950\/30:hover{background-color:color-mix(in oklab, var(--color-rose-950) 30%, transparent)}}.dark\:hover\:bg-sky-950\/30:hover{background-color:#052f4a4d}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-sky-950\/30:hover{background-color:color-mix(in oklab, var(--color-sky-950) 30%, transparent)}}.dark\:hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}.dark\:hover\:bg-white:hover{background-color:var(--color-white)}}}@starting-style{.starting\:opacity-0{opacity:0}}@media (prefers-reduced-motion:no-preference){@starting-style{.motion-safe\:starting\:-translate-x-\[26px\]{--tw-translate-x:calc(26px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@starting-style{.motion-safe\:starting\:-translate-x-\[51px\]{--tw-translate-x:calc(51px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@starting-style{.motion-safe\:starting\:-translate-x-\[78px\]{--tw-translate-x:calc(78px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@starting-style{.motion-safe\:starting\:-translate-x-\[102px\]{--tw-translate-x:calc(102px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}}@starting-style{.motion-safe\:starting\:translate-y-6{--tw-translate-y:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}}}}:root{--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--text-xs:.8rem;--text-sm:.9rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.35rem;--text-2xl:2rem;--text-display-sm:clamp(1.8rem, 3.5vw, 2.8rem);--text-display-md:clamp(2rem, 4vw, 3.2rem);--text-display-lg:clamp(2.8rem, 6vw, 4.8rem);--leading-tight:1.1;--leading-body:1.6;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.02em;--tracking-wide:.1em;--color-bg:#050810;--color-surface:#0b1020;--color-text:#e6f1ff;--color-text-muted:#8aa0c7;--color-accent:#3ed4ff;--color-accent-strong:#1e9fff;--color-accent-2:#64f4c9;--color-accent-3:#7c5cff;--gradient-accent:linear-gradient(135deg, var(--color-accent), var(--color-accent-strong));--color-border:#3ed4ff2e;--color-border-strong:#3ed4ff73;--font-heading:"Fraunces", serif;--font-body:"Space Grotesk", sans-serif;--font-mono:"JetBrains Mono", monospace;--color-code-bg:#212c44;--color-on-accent:#031018;--color-warning:#e8aa53;--ch-bleu:#58aef0;--ch-bleu-fonce:#9ecbf2;--ch-turquoise:#17b6cd;--ch-turquoise-fonce:#0f8ea1;--ch-orange:#f0a24d;--ch-encre:var(--color-text);--ch-teinte:#10213a;--ch-bord-teinte:#58aef038;--ch-code-bg:#131c30;--ch-entete-texte:#031018;--color-callout:#c264d9;--color-callout-soft:#c264d938;--color-success:#3fcf8e;--color-danger:#ff6b6b;--theme-histoire:#e0918a;--theme-archi:#6f9fb0;--theme-web:#e86fae;--theme-langages:#4ce0a6;--theme-construits:#7b7bf5;--theme-base:#4aa6ff;--theme-tables:#b25ce0;--theme-algo:#3ed4ff;--theme-internet:#ffb74d;--theme-reseaux_sociaux:#4fc3f7;--theme-donnees:#81c784;--theme-carto:#a1887f;--theme-embarquee:#90a4ae;--theme-photo:#f06292;--theme-revision:#e0b15c;--theme-structures:#9b6cf0;--theme-bdd:#2fbfae}[data-theme=light]{--color-bg:#eef2f8;--color-surface:#fff;--color-code-bg:#d5dce9;--color-text:#0b1020;--color-text-muted:#51607a;--color-accent:#1271c4;--color-accent-strong:#0a4f96;--color-accent-2:#0f9e80;--color-accent-3:#6b3fe0;--color-on-accent:#fff;--color-warning:#b06f14;--ch-bleu:#1f7fd0;--ch-bleu-fonce:#155a97;--ch-turquoise:#12a3b8;--ch-turquoise-fonce:#0c7d8e;--ch-orange:#e0862b;--ch-encre:#233240;--ch-teinte:#eef6fb;--ch-bord-teinte:#cfe6f6;--ch-code-bg:#f2f7fb;--ch-entete-texte:#031018;--color-success:#0f9d63;--color-danger:#c92a2a;--theme-histoire:#b85650;--theme-archi:#4d7889;--theme-web:#c24786;--theme-langages:#1e9b6e;--theme-construits:#5454c4;--theme-base:#2d6fc0;--theme-tables:#8a3fb8;--theme-algo:#1c93c4;--theme-internet:#f57c00;--theme-reseaux_sociaux:#0288d1;--theme-donnees:#388e3c;--theme-carto:#5d4037;--theme-embarquee:#455a64;--theme-photo:#c2185b;--theme-revision:#a8761a;--theme-structures:#6f3fc4;--theme-bdd:#15897b;--color-border:#0f172a1f;--color-border-strong:#1271c466}.signature{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.signature:before{content:"";background-image:linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);opacity:.25;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(at 50% 0,#000 30%,#0000 75%)}.signature .orb{border-radius:var(--radius-pill);filter:blur(90px);opacity:.45;position:absolute}.signature .orb-1{background:var(--color-accent);width:420px;height:420px;top:-120px;left:-80px}.signature .orb-2{background:var(--color-accent-3);width:360px;height:360px;bottom:-140px;right:-60px}.signature .orb-3{background:var(--color-accent-2);opacity:.25;width:300px;height:300px;top:30%;right:18%}[data-theme=light] .signature .orb{opacity:.22}.page{z-index:1;flex-direction:column;min-height:100svh;display:flex;position:relative}.page-body{flex:1}.topbar{z-index:20;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-bg);display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--color-bg) 78%, transparent)}}.topbar{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border)}.topbar .spacer{flex:1}.brand{align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-xl);letter-spacing:var(--tracking-tight);color:var(--color-text);display:inline-flex}.brand .mark{border-radius:var(--radius-sm);background:var(--gradient-accent);width:34px;height:34px;color:var(--color-on-accent);font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-base);place-items:center;display:grid}.nav-toggle{position:relative}.nav-burger{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-xl);-webkit-user-select:none;user-select:none;line-height:1;list-style:none;display:none}.nav-burger::-webkit-details-marker{display:none}.nav-burger:hover{background:var(--color-surface)}.nav-burger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.nav{gap:var(--space-1);margin-left:var(--space-2);display:flex}.nav a{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.nav a:hover{color:var(--color-text);background:var(--color-surface)}.nav a[aria-current=page]{color:var(--color-text);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border)}.user{align-items:center;gap:var(--space-2);display:flex}.user .avatar{border-radius:var(--radius-pill);background:var(--color-accent);place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab, red, red)){.user .avatar{background:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface))}}.user .avatar{color:var(--color-accent);font-weight:var(--weight-semibold);font-size:var(--text-sm);border:1px solid var(--color-border)}.user .who{flex-direction:column;line-height:1.2;display:flex}.user .who b{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-text)}.user .who small{color:var(--color-text-muted);font-size:var(--text-xs)}.site-footer{z-index:1;margin-top:var(--space-6);padding:var(--space-5) var(--space-4) var(--space-6);text-align:center;position:relative}.site-footer .seg{width:56px;height:1px;margin:0 auto var(--space-4);background:linear-gradient(90deg, transparent, var(--color-border-strong), transparent)}.site-footer .brand-line{align-items:center;gap:var(--space-2);display:inline-flex}.site-footer .brand-line img{opacity:.9;width:30px;height:auto}.site-footer .brand-line b{font-family:var(--font-heading);font-style:italic;font-weight:var(--weight-medium);font-size:var(--text-base);color:var(--color-text)}.site-footer .legal{font-family:var(--font-heading);font-style:italic;font-weight:var(--weight-regular);font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-2) 0 0}.site-footer .legal a{color:var(--color-text-muted);text-underline-offset:3px;text-decoration:underline}.site-footer .legal a:hover{color:var(--color-accent)}@media (width<=720px){.nav-burger{align-items:center;display:inline-flex}.nav-toggle:not([open])>.nav{display:none}.nav-toggle[open]>.nav{gap:var(--space-1);top:calc(100% + var(--space-2));min-width:210px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:30;flex-direction:column;margin-left:0;display:flex;position:absolute;left:0;box-shadow:0 4px 12px #0000004d}.nav-toggle[open]>.nav a{width:100%}.user .who{display:none}}.theme-toggle{align-items:center;gap:var(--space-1);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;line-height:1;display:inline-flex}.theme-toggle:hover{border-color:var(--color-border-strong)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.login-body{background:var(--color-bg);margin:0}.login-page{z-index:1;min-height:100svh;color:var(--color-text);font-family:var(--font-body);flex-direction:column;display:flex;position:relative}.corner{top:var(--space-3);right:var(--space-3);z-index:30;position:fixed}.login-grid{flex:1;grid-template-columns:1.1fr 1fr;align-items:stretch;display:grid;position:relative}.hero-mascot{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(360px,40vw,530px);height:auto;position:absolute;bottom:0;left:35%}.login-aside,.login-main{z-index:1;position:relative}@media (width<=1100px){.hero-mascot{display:none}}.login-aside{padding:var(--space-7) var(--space-6);flex-direction:column;justify-content:center;max-width:500px;display:flex}.login-logo{width:300px;max-width:82%;height:auto;margin-bottom:var(--space-5)}.login-aside .thesis{font-family:var(--font-heading);font-size:var(--text-display-sm);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);max-width:14ch;margin:0}.login-aside .thesis em{color:var(--color-accent);font-style:italic}.login-pitch{margin-top:var(--space-4);max-width:32ch}.login-main{padding:var(--space-5);place-items:center;display:grid}.login-card{width:100%;max-width:24rem;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.login-card{background:color-mix(in srgb, var(--color-surface) 80%, transparent)}}.login-card{-webkit-backdrop-filter:blur(12px);box-shadow:0 24px 60px var(--color-bg)}@supports (color:color-mix(in lab, red, red)){.login-card{box-shadow:0 24px 60px color-mix(in srgb, var(--color-bg) 55%, transparent)}}.card-logo{width:160px;height:auto;margin:0 auto var(--space-4);display:none}.login-kicker{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-accent);margin:0}.login-title{margin:var(--space-2) 0 var(--space-5);font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.auth-form{gap:var(--space-4);display:grid}.field{gap:var(--space-1);display:grid}.field-label{font-size:var(--text-sm);color:var(--color-text-muted)}.field-control{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}@supports (color:color-mix(in lab, red, red)){.field-control{background:color-mix(in srgb, var(--color-surface) 55%, transparent)}}.field-control{transition:border-color .15s,box-shadow .15s}.field-control:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.field-control:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 30%, transparent)}}.field-icon{width:1.15rem;height:1.15rem;color:var(--color-text-muted);flex:none}.field input{min-width:0;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);background:0 0;border:0;outline:none;flex:1}.field input::placeholder{color:var(--color-text-muted)}.field-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;align-items:center;padding:0;transition:color .15s;display:inline-flex}.field-toggle:hover{color:var(--color-accent)}.field-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.field-toggle svg{width:1.15rem;height:1.15rem}.field-toggle .icon-eye-off,.field-toggle[aria-pressed=true] .icon-eye{display:none}.field-toggle[aria-pressed=true] .icon-eye-off{display:inline}.auth-error{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-accent-3);margin:0}@supports (color:color-mix(in lab, red, red)){.auth-error{background:color-mix(in srgb, var(--color-accent-3) 14%, transparent)}}.auth-error{color:var(--color-text);font-size:var(--text-sm)}.auth-submit{margin-top:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--gradient-accent);color:var(--color-on-accent);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;border:0;transition:filter .15s,transform 50ms}.auth-submit:hover{filter:brightness(1.06)}.auth-submit:active{transform:translateY(1px)}.auth-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[data-theme=light] .login-logo,[data-theme=light] .card-logo{border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:0 0 0 1px var(--color-border);background:#050810}[data-theme=light] .login-card{background:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .login-card{background:color-mix(in srgb, var(--color-surface) 90%, transparent)}}@media (width<=820px){.login-grid{grid-template-columns:1fr}.login-aside{display:none}.card-logo{display:block}}.accueil{text-align:center;padding:var(--space-7) var(--space-5);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.accueil-logo{width:150px;margin-bottom:var(--space-5)}[data-theme=light] .accueil-logo{padding:var(--space-2)}.accueil-titre{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-display-sm);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}.accueil-pitch{margin:var(--space-3) 0 0;max-width:46ch}.accueil-choix{margin-top:var(--space-6);gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));align-items:stretch;width:100%;max-width:52rem;display:grid}.accueil-carte{text-align:left;align-items:flex-start;gap:var(--space-2);max-width:none;color:inherit;flex-direction:column;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.accueil-carte:hover{border-color:var(--color-accent);transform:translateY(-2px)}.accueil-carte:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.accueil-icone{width:1.6rem;height:1.6rem;color:var(--color-accent);margin-bottom:var(--space-2)}.accueil-carte-titre{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--leading-tight);margin:0}.accueil-carte-texte{margin:0}.accueil-cta{padding-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);margin-top:auto}.accueil-carte:hover .accueil-cta{text-decoration:underline}.connexion-staff{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.connexion-staff-declencheur{cursor:pointer;color:var(--color-text-muted);text-align:center;padding:var(--space-1) 0;font-size:.9rem;list-style:none;transition:color .15s}.connexion-staff-declencheur::-webkit-details-marker{display:none}.connexion-staff-declencheur:hover,.connexion-staff-declencheur:focus-visible{color:var(--color-text);text-decoration:underline}.connexion-staff-form{margin-top:var(--space-4)}.connexion-staff-submit{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.connexion-staff-submit:hover,.connexion-staff-submit:focus-visible{border-color:var(--color-accent);color:var(--color-accent)}@media print{.connexion-staff{display:none}}.grid .card+.card{margin-top:0}.theme-histoire{--t:var(--theme-histoire)}.theme-archi{--t:var(--theme-archi)}.theme-web{--t:var(--theme-web)}.theme-langages{--t:var(--theme-langages)}.theme-construits{--t:var(--theme-construits)}.theme-base{--t:var(--theme-base)}.theme-tables{--t:var(--theme-tables)}.theme-algo{--t:var(--theme-algo)}.theme-revision{--t:var(--theme-revision)}.theme-structures{--t:var(--theme-structures)}.theme-bdd{--t:var(--theme-bdd)}.theme-nc{--t:var(--color-text-muted)}.cours-row{box-shadow:inset 4px 0 0 0 var(--t)}.theme-chip{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--t);background:var(--t);display:inline-block}@supports (color:color-mix(in lab, red, red)){.theme-chip{background:color-mix(in srgb, var(--t) 16%, transparent)}}.theme-chip{border:1px solid var(--t)}@supports (color:color-mix(in lab, red, red)){.theme-chip{border:1px solid color-mix(in srgb, var(--t) 38%, transparent)}}.theme-chip{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);margin-bottom:var(--space-3)}.cours-row .engagement-fill{background:var(--t)}.cours-row-verrouille{cursor:not-allowed;opacity:.6;box-shadow:inset 4px 0 0 0 var(--color-text-muted)}.cours-row-verrouille h3{color:var(--color-text-muted)}.cours-row-verrouille .theme-chip{color:var(--color-text-muted);background:var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.cours-row-verrouille .theme-chip{background:color-mix(in srgb, var(--color-text-muted) 12%, transparent)}}.cours-row-verrouille .theme-chip{border-color:var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.cours-row-verrouille .theme-chip{border-color:color-mix(in srgb, var(--color-text-muted) 30%, transparent)}}.pill-verrou{color:var(--color-text-muted);border:1px solid var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.pill-verrou{border:1px solid color-mix(in srgb, var(--color-text-muted) 40%, transparent)}}.pill-verrou{background:var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.pill-verrou{background:color-mix(in srgb, var(--color-text-muted) 10%, transparent)}}.theme-filtres{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.theme-filtre{--t:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--t);border:1px solid var(--t);background:0 0}@supports (color:color-mix(in lab, red, red)){.theme-filtre{border:1px solid color-mix(in srgb, var(--t) 38%, transparent)}}.theme-filtre{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer}.theme-filtre:hover{background:var(--t)}@supports (color:color-mix(in lab, red, red)){.theme-filtre:hover{background:color-mix(in srgb, var(--t) 12%, transparent)}}.theme-filtre.is-active{color:var(--color-on-accent);background:var(--t);border-color:var(--t)}[data-filter=histoire] .cours-row:not([data-theme=histoire]),[data-filter=archi] .cours-row:not([data-theme=archi]),[data-filter=web] .cours-row:not([data-theme=web]),[data-filter=langages] .cours-row:not([data-theme=langages]),[data-filter=construits] .cours-row:not([data-theme=construits]),[data-filter=base] .cours-row:not([data-theme=base]),[data-filter=tables] .cours-row:not([data-theme=tables]),[data-filter=algo] .cours-row:not([data-theme=algo]){display:none}.engagement{height:var(--space-2);background:var(--color-border);border-radius:var(--radius-pill);overflow:hidden}.engagement-fill{background:var(--gradient-accent);height:100%}.heatmap{gap:var(--space-1);grid-template-rows:repeat(7,1fr);grid-auto-flow:column;max-width:max-content;display:grid}.heat-cell{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-sm);background:var(--color-border)}.heat-cell.pad{background:0 0}.heat-cell.n0{background:var(--color-border)}.heat-cell.n1{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.heat-cell.n1{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}}.heat-cell.n2{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.heat-cell.n2{background:color-mix(in srgb, var(--color-accent) 55%, transparent)}}.heat-cell.n3{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.heat-cell.n3{background:color-mix(in srgb, var(--color-accent) 80%, transparent)}}.heat-cell.n4{background:var(--color-accent)}.a-revoir h2 em{color:var(--color-warning);font-style:italic}.a-revoir-compteur{color:var(--color-text-muted)}.a-revoir-entete{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.a-revoir-entete .a-revoir-compteur{margin:0}.a-revoir .btn-effacer{color:var(--color-warning);border:1px solid var(--color-warning);background:0 0}@supports (color:color-mix(in lab, red, red)){.a-revoir .btn-effacer{border:1px solid color-mix(in srgb, var(--color-warning) 45%, transparent)}}.a-revoir .btn-effacer{border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer}.a-revoir .btn-effacer:hover{border-color:var(--color-warning);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.a-revoir .btn-effacer:hover{background:color-mix(in srgb, var(--color-warning) 8%, transparent)}}.a-revoir-nombre{color:var(--color-warning);font-size:var(--text-2xl);font-weight:var(--weight-bold)}.a-revoir .pill{color:var(--color-warning);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.a-revoir .pill{background:color-mix(in srgb, var(--color-warning) 14%, transparent)}}.a-revoir .pill{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.a-revoir .pill{border-color:color-mix(in srgb, var(--color-warning) 35%, transparent)}}.a-revoir .pill{margin-bottom:0}.a-revoir .card{align-items:center;gap:var(--space-3);display:flex}.a-revoir-corps{flex-direction:column;gap:2px;min-width:0;display:flex}.a-revoir-titre{font-weight:var(--weight-semibold)}.a-revoir-fleche{color:var(--color-warning);font-size:var(--text-xl);margin-left:auto}.go-flash{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.go-flash{background:color-mix(in srgb, var(--color-success) 12%, transparent)}}.go-flash{border:1px solid var(--color-success)}@supports (color:color-mix(in lab, red, red)){.go-flash{border:1px solid color-mix(in srgb, var(--color-success) 35%, transparent)}}.go-flash{border-radius:var(--radius-md)}.go-jalon{display:block}.go-dates{gap:var(--space-2);flex-wrap:wrap;display:flex}.go-clos{color:var(--color-warning);border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.go-clos{border-color:color-mix(in srgb, var(--color-warning) 45%, transparent)}}.go-clos{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.go-clos{background:color-mix(in srgb, var(--color-warning) 12%, transparent)}}.go-readonly{background:var(--color-bg);margin-bottom:var(--space-2)}.go-texte{margin:var(--space-1) 0 0;white-space:pre-wrap;color:var(--color-text)}.go-commentaire{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.go-commentaire{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.go-commentaire{border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);white-space:pre-wrap}.go-qa{margin-top:var(--space-3)}.go-question{color:var(--color-accent);font-weight:var(--weight-semibold)}[data-theme=dark] input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light] input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.timeline{margin:var(--space-5) 0}.timeline-list{padding:0 0 0 var(--space-5);gap:var(--space-3);margin:0;list-style:none;display:grid;position:relative}.timeline-list:before{content:"";background:var(--color-border);width:2px;position:absolute;top:.6rem;bottom:.6rem;left:.5rem}.timeline-entry{position:relative}.timeline-entry:before{content:"";top:1.1rem;left:calc(var(--space-5) * -1 + .15rem);border-radius:var(--radius-pill);background:var(--color-accent);border:2px solid var(--color-bg);width:.8rem;height:.8rem;box-shadow:0 0 0 1px var(--color-border-strong);position:absolute}.timeline-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.timeline-head{align-items:baseline;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;color:var(--color-text);cursor:pointer;background:0 0;border:0;margin:0;font-family:inherit;display:flex}.timeline-head--static{cursor:default}.timeline-head:hover:not(.timeline-head--static){background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.timeline-head:hover:not(.timeline-head--static){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.timeline-head:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.timeline-date{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--color-accent);flex:none}.timeline-titre{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-lg);flex:1}.timeline-chevron{width:1.1rem;height:1.1rem;color:var(--color-text-muted);flex:none;transition:transform .15s}.timeline-head[aria-expanded=true] .timeline-chevron{transform:rotate(180deg)}.timeline-detail{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);display:grid}.timeline-head[aria-expanded=false]+.timeline-detail{display:none}.timeline-desc{color:var(--color-text-muted)}.timeline-desc>:first-child{margin-top:0}.timeline-desc>:last-child{margin-bottom:0}.timeline-image{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:100%;height:auto;display:block}.timeline-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.timeline-cta{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm);background:0 0;text-decoration:none;display:inline-block}.timeline-cta:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.timeline-cta:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.timeline-source{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}@media (prefers-reduced-motion:reduce){.timeline-chevron{transition:none}}@media print{.timeline-list{padding-left:0}.timeline-list:before,.timeline-entry:before,.timeline-chevron{display:none}.timeline-detail,.timeline-head[aria-expanded=false]+.timeline-detail{visibility:visible!important;max-height:none!important;display:grid!important;overflow:visible!important}.timeline-card{break-inside:avoid}}.video{margin:var(--space-5) 0;aspect-ratio:16/9;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);position:relative;overflow:hidden}.video-poster{object-fit:cover;width:100%;height:100%;display:block}.video-poster--placeholder{height:100%;padding:var(--space-5);text-align:center;background:radial-gradient(60% 60% at 50% 40%, var(--color-accent), transparent), var(--color-surface);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.video-poster--placeholder{background:radial-gradient(60% 60% at 50% 40%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent), var(--color-surface)}}.video-poster-titre{font-family:var(--font-heading);font-weight:var(--weight-semibold);font-size:var(--text-lg);color:var(--color-text)}.video-play{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);background:var(--color-bg);flex-direction:column;text-decoration:none;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.video-play{background:color-mix(in srgb, var(--color-bg) 35%, transparent)}}.video-play{transition:background .15s}.video-play:hover{background:var(--color-bg)}@supports (color:color-mix(in lab, red, red)){.video-play:hover{background:color-mix(in srgb, var(--color-bg) 20%, transparent)}}.video-play:focus-visible{outline:2px solid var(--color-accent);outline-offset:-4px}.video-play-icon{width:3.5rem;height:3.5rem;padding:var(--space-3);border-radius:var(--radius-pill);color:var(--color-bg);background:var(--gradient-accent)}.video-duree{right:var(--space-3);bottom:var(--space-3);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text);background:var(--color-bg);position:absolute}@supports (color:color-mix(in lab, red, red)){.video-duree{background:color-mix(in srgb, var(--color-bg) 55%, transparent)}}.video-duree{border-radius:var(--radius-sm)}.video.is-playing{background:var(--color-bg)}.video.is-playing .video-poster,.video.is-playing .video-play,.video.is-playing .video-duree{display:none}.video-player{border:0;width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.video-play{transition:none}}@media print{.video{aspect-ratio:auto;break-inside:avoid;background:0 0;border:0}.video:before{content:"Vidéo — " attr(data-titre);font-weight:var(--weight-semibold);display:block}.video-poster,.video-play-icon,.video-duree,.video-player{display:none!important}.video-play{color:var(--color-accent);background:0 0;padding:0;position:static;inset:auto;display:inline!important}}.lineaire{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.lineaire-fallback{gap:var(--space-2);display:grid}.lineaire-fallback-etat{color:var(--color-text-muted);margin:0}.lineaire-fallback-ops{padding-left:var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);margin:0}.lineaire.is-hydrated .lineaire-fallback{display:none}.lineaire-stage{padding:var(--space-4) 0;justify-content:center;display:flex}.lineaire-stage-inner{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.lineaire-labeled{align-items:center;gap:var(--space-2);display:flex}.lineaire-rowlabel{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.lineaire-slice-dir{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);color:var(--color-accent)}.lineaire-empty-select{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted)}.lineaire-cells{gap:var(--space-2);display:flex}.lineaire-cells--liste,.lineaire-cells--file{flex-flow:wrap;justify-content:center;align-items:flex-start}.lineaire-cells--pile{flex-direction:column;align-items:center}.lineaire-cell{min-width:2.5rem;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:2px;transition:background .15s,border-color .15s;display:flex;position:relative}.lineaire-rank{min-width:1.15rem;height:1.15rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:0 .25rem;display:inline-flex;position:absolute;top:-.5rem;right:-.5rem}.lineaire-val{font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text)}.lineaire-idx{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.lineaire-marker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent)}.lineaire-cell.is-highlight{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.lineaire-cell.is-highlight{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-bg))}}.lineaire-vide{font-family:var(--font-mono);color:var(--color-text-muted);padding:var(--space-3)}.lineaire-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.lineaire-prev,.lineaire-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.lineaire-prev:hover:not(:disabled),.lineaire-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.lineaire-prev:hover:not(:disabled),.lineaire-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.lineaire-prev:disabled,.lineaire-next:disabled{opacity:.4;cursor:not-allowed}.lineaire-status{text-align:center;flex:1;min-width:12rem;margin:0}.lineaire-step{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.lineaire-code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text)}.lineaire-status.is-error .lineaire-code{color:var(--color-warning)}.lineaire-retour{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent)}@media (prefers-reduced-motion:reduce){.lineaire-cell{transition:none}}@media print{.lineaire.is-hydrated .lineaire-fallback{display:grid!important}.lineaire-stage,.lineaire-bar{display:none!important}}.trace{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.trace-fallback{gap:var(--space-2);display:grid}.trace-fallback-code{padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);margin:0;overflow:auto}.trace-fallback-chemin{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.trace.is-hydrated .trace-fallback{display:none}.trace-stage{padding:var(--space-3) 0;justify-content:center;display:flex}.trace-stage-wrap{align-items:stretch;gap:var(--space-3);flex-direction:column;display:flex}.trace-stage-inner{justify-content:center;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;display:flex}.trace-valeurs{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-accent);align-self:flex-start}.trace-fallback-valeurs{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);margin:0}.trace-svg{width:100%;max-width:24rem;height:auto}.trace-shape{fill:var(--color-bg);stroke:var(--color-border-strong);stroke-width:1.5px}.trace-node-text{fill:var(--color-text);font-family:var(--font-mono);font-size:12px}.trace-node.is-active .trace-shape{fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.trace-node.is-active .trace-shape{fill:color-mix(in srgb, var(--color-accent) 18%, var(--color-bg))}}.trace-node.is-active .trace-shape{stroke:var(--color-accent);stroke-width:2.5px}.trace-edge{stroke:var(--color-border-strong);stroke-width:1.5px}.trace-edge--success{stroke:var(--color-success)}.trace-edge--danger{stroke:var(--color-danger)}.trace-arrowhead{fill:none;stroke:var(--color-border-strong)}.trace-arrowhead--success{stroke:var(--color-success)}.trace-arrowhead--danger{stroke:var(--color-danger)}.trace-dot{fill:var(--color-border-strong)}.trace-edge-label{font-family:var(--font-mono);fill:var(--color-text-muted);font-size:11px}.trace-edge-label--success{fill:var(--color-success)}.trace-edge-label--danger{fill:var(--color-danger)}.trace-edge-label--loop{fill:var(--color-text-muted)}.trace-code{counter-reset:ligne;font-family:var(--font-mono);font-size:var(--text-sm);align-self:center;margin:0;padding:0;list-style:none}.trace-code-line{counter-increment:ligne;white-space:pre;padding:1px var(--space-2);color:var(--color-text);border-left:3px solid #0000}.trace-code-line:before{content:counter(ligne);width:1.5em;margin-right:var(--space-2);text-align:right;color:var(--color-text-muted);display:inline-block}.trace-code-line.is-active{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.trace-code-line.is-active{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}}.trace-code-line.is-active{border-left-color:var(--color-accent)}.trace-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.trace-prev,.trace-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.trace-prev:hover:not(:disabled),.trace-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.trace-prev:hover:not(:disabled),.trace-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.trace-prev:disabled,.trace-next:disabled{opacity:.4;cursor:not-allowed}.trace-status{text-align:center;flex:1;min-width:12rem;margin:0}.trace-step{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.trace-legend{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text)}@media print{.trace.is-hydrated .trace-fallback{display:grid!important}.trace-stage,.trace-bar{display:none!important}}.circuit{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.circuit-fallback{display:block}.circuit.is-hydrated .circuit-fallback{display:none}.circuit-board,.circuit-schema{width:100%;max-width:40rem;height:auto;margin:0 auto;display:block}.circuit-board-wrap{padding:var(--space-3) 0}.circuit-wire,.circuit-fallback .circuit-wire{stroke:var(--color-border-strong);stroke-width:2.5px;fill:none;transition:stroke .15s}.circuit-wire.is-on{stroke:var(--color-success)}.circuit-wire.is-off{stroke:var(--color-danger)}.circuit-wire.is-idle{stroke:var(--color-border)}.circuit-node rect{fill:var(--color-bg);stroke:var(--color-border-strong);stroke-width:2px;transition:stroke .15s,fill .15s}.circuit-node.is-on rect{stroke:var(--color-success);fill:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.circuit-node.is-on rect{fill:color-mix(in srgb, var(--color-success) 18%, var(--color-bg))}}.circuit-node.is-off rect{stroke:var(--color-danger);fill:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.circuit-node.is-off rect{fill:color-mix(in srgb, var(--color-danger) 12%, var(--color-bg))}}.circuit-node.is-idle rect{stroke:var(--color-border)}.circuit-gate{fill:none;stroke:var(--color-text);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.circuit-board text,.circuit-fallback text{font-family:var(--font-mono);fill:var(--color-text);font-size:15px}.circuit-val{fill:var(--color-text-muted);font-size:12px;font-weight:var(--weight-bold)}.circuit-node.is-on .circuit-val{fill:var(--color-success)}.circuit-node.is-off .circuit-val{fill:var(--color-danger)}.circuit-inputs{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.circuit-input{min-width:4rem;padding:var(--space-1) var(--space-3);color:var(--color-danger);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;background:0 0;transition:color .15s,border-color .15s,background .15s}.circuit-input.is-on{color:var(--color-success);border-color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.circuit-input.is-on{background:color-mix(in srgb, var(--color-success) 10%, transparent)}}.circuit-input:disabled{opacity:.5;cursor:not-allowed}.circuit-modes{margin-top:var(--space-2);justify-content:center;display:flex}.circuit-stepbtn{padding:var(--space-1) var(--space-4);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0}.circuit-stepbtn:hover{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.circuit-stepbtn:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.circuit-step{margin-top:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.circuit-step-stage{padding:var(--space-2) 0;justify-content:center;min-height:1.5rem;display:flex}.circuit-step-caption{text-align:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);margin:0}.circuit-step-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.circuit-step-prev,.circuit-step-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.circuit-step-prev:hover:not(:disabled),.circuit-step-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.circuit-step-prev:hover:not(:disabled),.circuit-step-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.circuit-step-prev:disabled,.circuit-step-next:disabled{opacity:.4;cursor:not-allowed}.circuit-step-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.circuit-wire,.circuit-node rect,.circuit-input{transition:none}}@media print{.circuit.is-hydrated .circuit-fallback{display:block!important}.circuit-inputs,.circuit-board-wrap,.circuit-modes,.circuit-stephost{display:none!important}}.shell{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.shell-fallback{display:block}.shell.is-hydrated .shell-fallback{display:none}.shell-objectif{margin:0 0 var(--space-3)}.shell-solution-titre{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.shell-solution{padding-left:var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm);margin:0}.shell-fallback .shell-prompt{color:var(--color-accent)}.shell-term{gap:var(--space-3);display:grid}.shell-goal{color:var(--color-text-muted);margin:0}.shell-output{max-height:18rem;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-body);white-space:pre-wrap;word-break:break-word;overflow:auto}.shell-output:empty{display:none}.shell-echo{color:var(--color-text)}.shell-out{color:var(--color-text-muted)}.shell-err{color:var(--color-danger)}.shell-line{align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-mono);display:flex}.shell-prompt{color:var(--color-accent);white-space:nowrap}.shell-input{min-width:0;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1}.shell-line:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.shell-line:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent)}}.shell-banner{min-height:0;margin:0}.shell.is-success .shell-banner{padding:var(--space-2) var(--space-3);color:var(--color-on-accent);background:var(--color-success);border-radius:var(--radius-md);font-weight:var(--weight-semibold)}@media print{.shell.is-hydrated .shell-fallback{display:block!important}.shell-term{display:none!important}}.reseau{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.reseau-fallback{display:block}.reseau.is-hydrated .reseau-fallback{display:none}.reseau-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.reseau-etapes{padding-left:var(--space-5);margin:0}.reseau-etapes li{margin:var(--space-1) 0}.reseau-scene-wrap{padding:var(--space-3) 0}.reseau-scene{width:100%;max-width:42rem;height:auto;margin:0 auto;display:block}.reseau-scene text{font-family:var(--font-mono);fill:var(--color-text)}.reseau-lien{stroke:var(--color-border);stroke-width:1.5px}.reseau-path{display:none}.reseau-path.is-active{stroke:var(--rc,var(--color-accent));stroke-width:3px;display:inline}.reseau-hote rect,.reseau-noeud circle{fill:var(--color-bg);stroke:var(--color-border-strong);stroke-width:2px;transition:stroke .15s,fill .15s}.reseau-hote-label{fill:var(--color-text-muted);font-size:13px}.reseau-noeud-label{fill:var(--color-text-muted);font-size:16px}.reseau-hote.is-active rect,.reseau-noeud.is-active circle{stroke:var(--color-accent);fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reseau-hote.is-active rect,.reseau-noeud.is-active circle{fill:color-mix(in srgb, var(--color-accent) 14%, var(--color-bg))}}.reseau-paquet-corps{fill:var(--color-bg);stroke:var(--rc,var(--color-border-strong));stroke-width:1.5px}.reseau-entete{fill:var(--rc,var(--color-accent))}.reseau-paquet-num{fill:var(--color-text);font-size:12px}.reseau-check{fill:var(--color-success);font-size:13px}.reseau-paquet.is-ok .reseau-paquet-corps{stroke:var(--color-success)}.reseau-paquet.is-missing .reseau-paquet-corps{fill:none;stroke:var(--color-danger);stroke-dasharray:3 3}.reseau-paquet.is-resent .reseau-paquet-corps{stroke:var(--color-danger);fill:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.reseau-paquet.is-resent .reseau-paquet-corps{fill:color-mix(in srgb, var(--color-danger) 16%, var(--color-bg))}}.reseau-message rect{fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reseau-message rect{fill:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg))}}.reseau-message rect{stroke:var(--color-accent);stroke-width:2px}.reseau-message.is-ok rect{fill:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.reseau-message.is-ok rect{fill:color-mix(in srgb, var(--color-success) 14%, var(--color-bg))}}.reseau-message.is-ok rect{stroke:var(--color-success)}.reseau-message-texte{font-size:15px;font-weight:var(--weight-bold);letter-spacing:1px}.reseau-stage{padding:var(--space-2) 0;min-height:2.5rem}.reseau-legende{text-align:center;color:var(--color-text);margin:0}.reseau-acteur{margin-right:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-on-accent);display:inline-block}.reseau-acteur--tcp{background:var(--color-accent)}.reseau-acteur--ip{background:var(--color-accent-3)}.reseau-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.reseau-prev,.reseau-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.reseau-prev:hover:not(:disabled),.reseau-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reseau-prev:hover:not(:disabled),.reseau-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.reseau-prev:disabled,.reseau-next:disabled{opacity:.4;cursor:not-allowed}.reseau-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.reseau-hote rect,.reseau-noeud circle{transition:none}}@media print{.reseau.is-hydrated .reseau-fallback{display:block!important}.reseau-scene-wrap,.reseau-stage,.reseau-bar{display:none!important}}.apercu{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.apercu.is-example{box-shadow:inset 4px 0 0 0 var(--color-accent)}.apercu.is-exercise{box-shadow:inset 4px 0 0 0 var(--color-accent-2)}.apercu-fallback{gap:var(--space-3);display:grid}.apercu.is-enhanced .apercu-fallback{display:none}.apercu-fallback-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.apercu-fallback pre{margin:var(--space-1) 0 0;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);overflow:auto}.apercu-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}@media (width<=48rem){.apercu-grid{grid-template-columns:1fr}}.apercu-editors{gap:var(--space-3);align-content:start;display:grid}.apercu-panel{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden}.apercu-panel-label{padding:var(--space-1) var(--space-3);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.apercu-panel-label{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.apercu-panel-label{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide)}.apercu-editor .cm-editor{max-height:18rem}.apercu-editor .cm-scroller{font-family:var(--font-mono);font-size:var(--text-sm)}.apercu-preview-wrap{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;min-height:12rem;overflow:hidden}.apercu-preview{background:#fff;border:0;width:100%;height:100%;min-height:12rem;display:block}.apercu-bar{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.apercu-run{padding:var(--space-1) var(--space-4);background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.apercu-run:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.apercu-reset{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0}.apercu-reset:hover{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.apercu-reset:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}@media print{.apercu.is-enhanced .apercu-fallback{display:grid!important}.apercu-grid,.apercu-bar{display:none!important}}.algo{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.algo[data-slug=dichotomie]{width:min(56rem,100vw - 3rem)}.algo-fallback{display:block}.algo.is-hydrated .algo-fallback{display:none}.algo-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.algo-etapes{padding-left:var(--space-5);margin:0}.algo-etapes li{margin:var(--space-1) 0}.algo-stage{padding:var(--space-2) 0}.algo-scene{gap:var(--space-3);justify-items:center;display:grid}.algo-cells{gap:var(--space-2);flex-wrap:nowrap;justify-content:safe center;display:flex;overflow-x:auto}.algo-cell{min-width:2.75rem;padding:var(--space-2) var(--space-3) var(--space-4);background:var(--color-bg);border:2px solid var(--color-border-strong);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:2px;transition:background .15s,border-color .15s,opacity .15s;display:flex;position:relative}.algo-val{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--color-text)}.algo-idx{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.algo-cell.is-triee{border-color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.algo-cell.is-triee{background:color-mix(in srgb, var(--color-success) 16%, var(--color-bg))}}.algo-cell.is-eliminee{opacity:.4;border-color:var(--color-border)}.algo-cell.is-comparee{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.algo-cell.is-comparee{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-bg))}}.algo-cell.is-active{border-color:var(--color-warning);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.algo-cell.is-active{background:color-mix(in srgb, var(--color-warning) 20%, var(--color-bg))}}.algo-marker{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-accent);white-space:nowrap;position:absolute;bottom:2px}.algo-legende{text-align:center;max-width:40rem;color:var(--color-text);margin:0}.algo-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.algo-prev,.algo-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.algo-prev:hover:not(:disabled),.algo-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.algo-prev:hover:not(:disabled),.algo-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.algo-prev:disabled,.algo-next:disabled{opacity:.4;cursor:not-allowed}.algo-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.algo-cell,.algo-rec-noeud .algo-rec-boite{transition:none}}.algo-recursion{gap:var(--space-3);justify-items:center;display:grid}.algo-rec-entete{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.algo-rec-chip{padding:2px var(--space-3);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.algo-rec-chip{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}}.algo-rec-chip{color:var(--color-accent);border:1px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.algo-rec-chip{border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent)}}.algo-rec-chip{border-radius:var(--radius-full,999px);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.algo-rec-phase{padding:2px var(--space-2);border-radius:var(--radius-sm,6px);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.algo-rec-phase--descente{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.algo-rec-phase--descente{background:color-mix(in srgb, var(--color-warning) 20%, transparent)}}.algo-rec-phase--descente{color:var(--color-warning)}.algo-rec-phase--remontee{background:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.algo-rec-phase--remontee{background:color-mix(in srgb, var(--color-accent-2) 20%, transparent)}}.algo-rec-phase--remontee{color:var(--color-accent-2)}.algo-rec-niveau{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.algo-rec-scene-wrap{justify-content:center;width:100%;display:flex}.algo-rec-scene{width:100%;max-width:42rem;height:auto}.algo-rec-niv-label{fill:var(--color-text-muted);font-size:.62rem;font-family:var(--font-mono)}.algo-rec-niv-label.is-actif{fill:var(--color-accent);font-weight:var(--weight-semibold)}.algo-rec-arete{stroke:var(--color-border-strong);stroke-width:1.5px}.algo-rec-arete.is-actif{stroke:var(--color-accent);stroke-width:2.5px}.algo-rec-boite{fill:var(--color-bg);stroke:var(--color-border-strong);stroke-width:1.5px;transition:fill .15s,stroke .15s}.algo-rec-txt{fill:var(--color-text);font-family:var(--font-mono);font-size:.72rem}.algo-rec-noeud.etat-en-attente .algo-rec-boite{stroke:var(--color-warning);fill:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.algo-rec-noeud.etat-en-attente .algo-rec-boite{fill:color-mix(in srgb, var(--color-warning) 20%, var(--color-bg))}}.algo-rec-noeud.etat-fusionne .algo-rec-boite{stroke:var(--color-accent-2);fill:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.algo-rec-noeud.etat-fusionne .algo-rec-boite{fill:color-mix(in srgb, var(--color-accent-2) 22%, var(--color-bg))}}.algo-rec-noeud.etat-triee .algo-rec-boite{stroke:var(--color-success);stroke-width:2.5px;fill:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.algo-rec-noeud.etat-triee .algo-rec-boite{fill:color-mix(in srgb, var(--color-success) 28%, var(--color-bg))}}.algo-rec-noeud.etat-actif .algo-rec-boite{stroke:var(--color-accent);stroke-width:3px;fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.algo-rec-noeud.etat-actif .algo-rec-boite{fill:color-mix(in srgb, var(--color-accent) 26%, var(--color-bg))}}@media print{.algo.is-hydrated .algo-fallback{display:block!important}.algo-stage,.algo-bar{display:none!important}}.arbres{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.arbres-fallback{display:block}.arbres.is-hydrated .arbres-fallback{display:none}.arbres-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.arbres-etapes{padding-left:var(--space-5);margin:0}.arbres-etapes li{margin:var(--space-1) 0}.arbres-entete{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.arbres-chip{padding:2px var(--space-3);background:var(--color-accent);flex:none}@supports (color:color-mix(in lab, red, red)){.arbres-chip{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}}.arbres-chip{color:var(--color-accent);border:1px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.arbres-chip{border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent)}}.arbres-chip{border-radius:var(--radius-full,999px);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}.arbres-titre-arbre{color:var(--color-text-muted);font-size:var(--text-sm)}.arbres-scene-wrap{padding:var(--space-2) 0;justify-content:center;display:flex}.arbres-scene{width:100%;max-width:44rem;height:auto}.arbres-arete{stroke:var(--color-border-strong);stroke-width:2px}.arbres-noeud circle{fill:var(--color-bg);stroke:var(--color-border-strong);stroke-width:2px;transition:fill .15s,stroke .15s}.arbres-label{fill:var(--color-text);font-size:.82rem}.arbres-label--dedans{font-family:var(--font-mono);font-weight:var(--weight-semibold)}.arbres-label--dessous{font-family:var(--font-body);fill:var(--color-text-muted)}.arbres-noeud.is-visite circle{stroke:var(--color-accent-2);fill:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.arbres-noeud.is-visite circle{fill:color-mix(in srgb, var(--color-accent-2) 22%, var(--color-bg))}}.arbres-noeud.is-visite .arbres-label--dessous{fill:var(--color-text)}.arbres-noeud.is-active circle{stroke:var(--color-accent);fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.arbres-noeud.is-active circle{fill:color-mix(in srgb, var(--color-accent) 28%, var(--color-bg))}}.arbres-noeud.is-active circle{stroke-width:3px}.arbres-noeud.is-active .arbres-label{fill:var(--color-text)}.arbres-stage{padding:var(--space-2) 0}.arbres-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.arbres-prev,.arbres-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.arbres-prev:hover:not(:disabled),.arbres-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.arbres-prev:hover:not(:disabled),.arbres-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.arbres-prev:disabled,.arbres-next:disabled{opacity:.4;cursor:not-allowed}.arbres-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.arbres-noeud circle{transition:none}}@media print{.arbres.is-hydrated .arbres-fallback{display:block!important}.arbres-entete,.arbres-scene-wrap,.arbres-stage,.arbres-bar{display:none!important}}.graphes{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.graphes-fallback{display:block}.graphes.is-hydrated .graphes-fallback{display:none}.graphes-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.graphes-etapes{padding-left:var(--space-5);margin:0}.graphes-etapes li{margin:var(--space-1) 0}.graphes-chemin{margin:var(--space-2) 0 0;font-weight:var(--weight-semibold);color:var(--color-accent)}.graphes-entete{margin-bottom:var(--space-3)}.graphes-chip{padding:2px var(--space-3);background:var(--color-accent);display:inline-block}@supports (color:color-mix(in lab, red, red)){.graphes-chip{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}}.graphes-chip{color:var(--color-accent);border:1px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.graphes-chip{border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent)}}.graphes-chip{border-radius:var(--radius-full,999px);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.graphes-corps{gap:var(--space-4);flex-wrap:wrap;justify-content:center;align-items:flex-start;display:flex}.graphes-scene-wrap{flex:20rem;min-width:16rem;max-width:30rem}.graphes-scene{width:100%;height:auto}.graphes-arete{stroke:var(--color-border-strong);stroke-width:2px}.graphes-arete.is-chemin{stroke:var(--color-accent);stroke-width:3.5px}.graphes-fleche{fill:var(--color-border-strong)}.graphes-noeud circle{fill:var(--color-bg);stroke:var(--color-text-muted);stroke-width:2px;transition:fill .15s,stroke .15s}.graphes-label{fill:var(--color-text);font-size:.82rem}.graphes-label--dedans{font-family:var(--font-mono);font-weight:var(--weight-semibold)}.graphes-label--dessous{font-family:var(--font-body);fill:var(--color-text-muted)}.graphes-noeud.etat-en-attente circle{stroke:var(--color-warning);fill:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.graphes-noeud.etat-en-attente circle{fill:color-mix(in srgb, var(--color-warning) 22%, var(--color-bg))}}.graphes-noeud.etat-traite circle{stroke:var(--color-accent-2);fill:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.graphes-noeud.etat-traite circle{fill:color-mix(in srgb, var(--color-accent-2) 22%, var(--color-bg))}}.graphes-noeud.is-actif circle{stroke:var(--color-accent);stroke-width:3.5px;fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.graphes-noeud.is-actif circle{fill:color-mix(in srgb, var(--color-accent) 28%, var(--color-bg))}}.graphes-noeud.is-chemin circle{stroke:var(--color-accent);stroke-width:3.5px}.graphes-aux-wrap{flex:0 12rem;min-width:9rem}.graphes-aux-titre{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.graphes-aux{padding:var(--space-2);background:var(--color-bg);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:4px;min-height:3rem;display:flex}.graphes-aux--pile{flex-direction:column-reverse}.graphes-aux--file{flex-direction:row}.graphes-cell{min-width:1.9rem;padding:var(--space-1) var(--space-2);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.graphes-cell{background:color-mix(in srgb, var(--color-warning) 22%, var(--color-bg))}}.graphes-cell{border:1px solid var(--color-warning);border-radius:var(--radius-sm,6px);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);text-align:center}.graphes-cell.is-nouveau{animation:.22s graphes-cell-in}.graphes-aux-vide{color:var(--color-text-muted);font-size:var(--text-xs);font-style:italic}@keyframes graphes-cell-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.graphes-visites-wrap{margin-top:var(--space-4)}.graphes-visites-titre{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.graphes-visites{gap:var(--space-2);flex-wrap:wrap;align-items:center;min-height:2rem;display:flex}.graphes-visite-chip{min-width:1.9rem;padding:var(--space-1) var(--space-2);background:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.graphes-visite-chip{background:color-mix(in srgb, var(--color-accent-2) 22%, var(--color-bg))}}.graphes-visite-chip{border:1px solid var(--color-accent-2);border-radius:var(--radius-sm,6px);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);text-align:center}.graphes-visite-chip.is-nouveau{animation:.22s graphes-cell-in}.graphes-visites-vide{color:var(--color-text-muted);font-style:italic}.graphes-stage{padding:var(--space-2) 0}.graphes-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.graphes-prev,.graphes-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.graphes-prev:hover:not(:disabled),.graphes-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.graphes-prev:hover:not(:disabled),.graphes-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.graphes-prev:disabled,.graphes-next:disabled{opacity:.4;cursor:not-allowed}.graphes-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.graphes-noeud circle{transition:none}.graphes-cell.is-nouveau,.graphes-visite-chip.is-nouveau{animation:none}}@media print{.graphes.is-hydrated .graphes-fallback{display:block!important}.graphes-entete,.graphes-corps,.graphes-visites-wrap,.graphes-stage,.graphes-bar{display:none!important}}.crypto{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.crypto-fallback{display:block}.crypto.is-hydrated .crypto-fallback{display:none}.crypto-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.crypto-etapes{padding-left:var(--space-5);margin:0}.crypto-etapes li{margin:var(--space-1) 0}.crypto-stage{padding:var(--space-2) 0}.crypto-scene{gap:var(--space-3);justify-items:center;display:grid}.crypto-entete{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.crypto-chip{padding:2px var(--space-3);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-chip{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}}.crypto-chip{color:var(--color-accent);border:1px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-chip{border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent)}}.crypto-chip{border-radius:var(--radius-full,999px);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.crypto-legende{text-align:center;max-width:42rem;color:var(--color-text);margin:0}.crypto-svg-cadre{width:100%;max-width:100%;overflow-x:auto}.crypto-svg-cadre svg{height:auto;margin:0 auto;display:block}.crypto-message{gap:var(--space-1);justify-items:start;display:grid}.crypto-msg-row{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.crypto-msg-label{min-width:4.5rem;font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.crypto-msg-char{min-width:1.4rem;font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:2px 4px;transition:background .15s,border-color .15s;display:inline-flex}.crypto-msg-char.is-chiffre{color:var(--color-accent-2)}.crypto-msg-char.is-masque{color:var(--color-text-muted);opacity:.5}.crypto-msg-char.is-active{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-msg-char.is-active{background:color-mix(in srgb, var(--color-accent) 18%, var(--color-bg))}}.crypto-msg-char.is-active{font-weight:var(--weight-semibold)}.crypto-cesar-alpha{max-width:44rem}.crypto-cesar-rowlabel{fill:var(--color-text-muted);font-size:.6rem;font-family:var(--font-mono);text-transform:uppercase}.crypto-cesar-box{fill:var(--color-bg);stroke:var(--color-border-strong);stroke-width:1px}.crypto-cesar-lettre{fill:var(--color-text);font-family:var(--font-mono);font-size:.72rem}.crypto-cesar-cell.is-chiffre .crypto-cesar-lettre{fill:var(--color-accent-2)}.crypto-cesar-cell.is-active .crypto-cesar-box{stroke:var(--color-accent);stroke-width:2.5px;fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-cesar-cell.is-active .crypto-cesar-box{fill:color-mix(in srgb, var(--color-accent) 22%, var(--color-bg))}}.crypto-vig-grille{max-width:46rem}.crypto-vig-rowlabel{fill:var(--color-text-muted);font-size:.62rem;font-family:var(--font-mono);text-transform:uppercase}.crypto-vig-box{fill:var(--color-bg);stroke:var(--color-border-strong);stroke-width:1px}.crypto-vig-lettre{fill:var(--color-text);font-family:var(--font-mono);font-size:.82rem}.crypto-vig-cell.is-cle .crypto-vig-lettre{fill:var(--color-warning)}.crypto-vig-cell.is-chiffre .crypto-vig-lettre{fill:var(--color-accent-2)}.crypto-vig-cell.is-masque .crypto-vig-lettre{fill:var(--color-text-muted);opacity:.5}.crypto-vig-cell.is-active .crypto-vig-box{stroke:var(--color-accent);stroke-width:2.5px;fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-vig-cell.is-active .crypto-vig-box{fill:color-mix(in srgb, var(--color-accent) 20%, var(--color-bg))}}.crypto-boite-scene{max-width:42rem}.crypto-acteur-pastille{fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-acteur-pastille{fill:color-mix(in srgb, var(--color-accent) 18%, var(--color-surface))}}.crypto-acteur-pastille{stroke:var(--color-border-strong);stroke-width:1.5px;transition:stroke .15s,fill .15s}.crypto-acteur.is-active .crypto-acteur-pastille{stroke:var(--color-accent);stroke-width:3px;fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-acteur.is-active .crypto-acteur-pastille{fill:color-mix(in srgb, var(--color-accent) 26%, var(--color-surface))}}.crypto-acteur-initiale{fill:var(--color-text);font-family:var(--font-body);font-size:1.1rem;font-weight:var(--weight-semibold)}.crypto-acteur-nom{fill:var(--color-text-muted);font-size:.72rem;font-family:var(--font-body)}.crypto-cle-pastille{stroke-width:1.5px;transition:stroke .15s,fill .15s}.crypto-cle-emoji{font-size:1rem}.crypto-cle--partagee .crypto-cle-pastille,.crypto-cle--publique .crypto-cle-pastille{fill:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.crypto-cle--partagee .crypto-cle-pastille,.crypto-cle--publique .crypto-cle-pastille{fill:color-mix(in srgb, var(--color-accent-2) 22%, var(--color-surface))}}.crypto-cle--partagee .crypto-cle-pastille,.crypto-cle--publique .crypto-cle-pastille{stroke:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.crypto-cle--partagee .crypto-cle-pastille,.crypto-cle--publique .crypto-cle-pastille{stroke:color-mix(in srgb, var(--color-accent-2) 55%, transparent)}}.crypto-cle--privee .crypto-cle-pastille{fill:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.crypto-cle--privee .crypto-cle-pastille{fill:color-mix(in srgb, var(--color-warning) 24%, var(--color-surface))}}.crypto-cle--privee .crypto-cle-pastille{stroke:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.crypto-cle--privee .crypto-cle-pastille{stroke:color-mix(in srgb, var(--color-warning) 60%, transparent)}}.crypto-cle.is-active .crypto-cle-pastille{stroke-width:3px}.crypto-boite-rect{fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-boite-rect{fill:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg))}}.crypto-boite-rect{stroke:var(--color-accent);stroke-width:2px}.crypto-boite-txt{fill:var(--color-accent);font-family:var(--font-body);font-size:.86rem;font-weight:var(--weight-semibold)}.crypto-fleche-trait{stroke:var(--color-accent);stroke-width:2.5px}.crypto-pointe-path{fill:var(--color-accent)}.crypto-fleche-cadenas{font-size:1rem}.crypto-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.crypto-prev,.crypto-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.crypto-prev:hover:not(:disabled),.crypto-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.crypto-prev:hover:not(:disabled),.crypto-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.crypto-prev:disabled,.crypto-next:disabled{opacity:.4;cursor:not-allowed}.crypto-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.crypto-msg-char,.crypto-cesar-box,.crypto-vig-box,.crypto-acteur-pastille,.crypto-cle-pastille{transition:none}}@media print{.crypto.is-hydrated .crypto-fallback{display:block!important}.crypto-stage,.crypto-bar{display:none!important}}.routage{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.routage-fallback{display:block}.routage.is-hydrated .routage-fallback{display:none}.routage-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.routage-etapes{padding-left:var(--space-5);margin:0}.routage-etapes li{margin:var(--space-1) 0}.routage-stage{padding:var(--space-2) 0}.routage-scene{gap:var(--space-3);justify-items:center;display:grid}.routage-entete{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.routage-chip{padding:2px var(--space-3);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.routage-chip{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}}.routage-chip{color:var(--color-accent);border:1px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.routage-chip{border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent)}}.routage-chip{border-radius:var(--radius-full,999px);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.routage-legende{text-align:center;max-width:44rem;color:var(--color-text);margin:0}.routage-evenement{padding:var(--space-1) var(--space-3);background:var(--color-warning);margin:0}@supports (color:color-mix(in lab, red, red)){.routage-evenement{background:color-mix(in srgb, var(--color-warning) 18%, var(--color-bg))}}.routage-evenement{color:var(--color-warning);border:1px solid var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.routage-evenement{border:1px solid color-mix(in srgb, var(--color-warning) 50%, transparent)}}.routage-evenement{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.routage-grille{gap:var(--space-3);flex-wrap:wrap;justify-content:center;width:100%;display:flex}.routage-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);min-width:8.5rem;overflow:hidden}.routage-table-titre{padding:var(--space-1) var(--space-2);background:var(--color-accent);margin:0}@supports (color:color-mix(in lab, red, red)){.routage-table-titre{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.routage-table-titre{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center}.routage-table table{border-collapse:collapse;width:100%}.routage-table th,.routage-table td{padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);text-align:center;border-top:1px solid var(--color-border)}.routage-table th{color:var(--color-text-muted);font-weight:var(--weight-semibold)}.routage-table td{color:var(--color-text)}.routage-metrique{color:var(--color-accent-2);font-weight:var(--weight-semibold)}.routage-table tr.is-maj td{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.routage-table tr.is-maj td{background:color-mix(in srgb, var(--color-accent) 18%, var(--color-bg))}}.routage-table tr.is-maj .routage-metrique{color:var(--color-accent)}.routage-table tr.is-cible td{box-shadow:inset 2px 0 0 var(--color-warning);font-weight:var(--weight-semibold)}.routage-svg-cadre{width:100%;max-width:100%;overflow-x:auto}.routage-topo{max-width:40rem;height:auto;margin:0 auto;display:block}.routage-lien{stroke:var(--color-border-strong);stroke-width:1.5px}.routage-lien.is-chemin{stroke:var(--color-accent);stroke-width:3.5px}.routage-lien.is-cible{stroke:var(--color-warning);stroke-width:4.5px}.routage-cout{fill:var(--color-text-muted);font-family:var(--font-mono);paint-order:stroke;stroke:var(--color-bg);stroke-width:3px;font-size:.72rem}.routage-routeur circle{fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.routage-routeur circle{fill:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface))}}.routage-routeur circle{stroke:var(--color-border-strong);stroke-width:1.5px;transition:fill .15s,stroke .15s}.routage-routeur-label{fill:var(--color-text);font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:.9rem}.routage-dist{fill:var(--color-accent-2);font-family:var(--font-mono);font-size:.72rem;font-weight:var(--weight-semibold)}.routage-routeur.is-source circle{stroke:var(--color-accent);stroke-width:2.5px}.routage-routeur.is-recu circle{fill:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.routage-routeur.is-recu circle{fill:color-mix(in srgb, var(--color-accent-2) 24%, var(--color-surface))}}.routage-routeur.is-visite circle{fill:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.routage-routeur.is-visite circle{fill:color-mix(in srgb, var(--color-success) 22%, var(--color-surface))}}.routage-routeur.is-visite circle{stroke:var(--color-success)}.routage-routeur.is-courant circle{fill:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.routage-routeur.is-courant circle{fill:color-mix(in srgb, var(--color-accent) 26%, var(--color-surface))}}.routage-routeur.is-courant circle{stroke:var(--color-accent);stroke-width:3px}.routage-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.routage-prev,.routage-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.routage-prev:hover:not(:disabled),.routage-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.routage-prev:hover:not(:disabled),.routage-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.routage-prev:disabled,.routage-next:disabled{opacity:.4;cursor:not-allowed}.routage-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.routage-routeur circle{transition:none}}@media print{.routage.is-hydrated .routage-fallback{display:block!important}.routage-stage,.routage-bar{display:none!important}}.ordonnancement{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ordonnancement-fallback{display:block}.ordonnancement.is-hydrated .ordonnancement-fallback{display:none}.ordonnancement-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.ordonnancement-etapes{padding-left:var(--space-5);margin:0}.ordonnancement-etapes li{margin:var(--space-1) 0}.ordonnancement-sequence{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted)}.ordonnancement-stage{padding:var(--space-2) 0}.ordonnancement-scene{gap:var(--space-3);justify-items:center;display:grid}.ordonnancement-entete{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.ordonnancement-chip{padding:2px var(--space-3);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-chip{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}}.ordonnancement-chip{color:var(--color-accent);border:1px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-chip{border:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent)}}.ordonnancement-chip{border-radius:var(--radius-full,999px);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.ordonnancement-marque{padding:2px var(--space-2);border-radius:var(--radius-sm,6px);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.ordonnancement-marque--preemptif{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-marque--preemptif{background:color-mix(in srgb, var(--color-warning) 20%, transparent)}}.ordonnancement-marque--preemptif{color:var(--color-warning)}.ordonnancement-marque--non{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-marque--non{background:color-mix(in srgb, var(--color-success) 20%, transparent)}}.ordonnancement-marque--non{color:var(--color-success)}.ordonnancement-legende{text-align:center;max-width:44rem;color:var(--color-text);margin:0}.ordonnancement-svg-cadre{width:100%;max-width:100%;overflow-x:auto}.ordonnancement-gantt{max-width:42rem;height:auto;margin:0 auto;display:block}.ordonnancement-axe{stroke:var(--color-border-strong);stroke-width:1.5px}.ordonnancement-tick{stroke:var(--color-border-strong);stroke-width:1px}.ordonnancement-tick-label{fill:var(--color-text-muted);font-family:var(--font-mono);font-size:.66rem}.ordonnancement-bloc rect{fill:var(--pc)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-bloc rect{fill:color-mix(in srgb, var(--pc) 30%, var(--color-bg))}}.ordonnancement-bloc rect{stroke:var(--pc);stroke-width:1.5px;transition:fill .15s,stroke-width .15s}.ordonnancement-bloc.is-actif rect{fill:var(--pc)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-bloc.is-actif rect{fill:color-mix(in srgb, var(--pc) 55%, var(--color-bg))}}.ordonnancement-bloc.is-actif rect{stroke-width:3px}.ordonnancement-bloc-label{fill:var(--color-text);font-family:var(--font-mono);font-size:.78rem;font-weight:var(--weight-semibold)}.ordonnancement-arrivee-encoche{stroke:var(--pc);stroke-width:2px}.ordonnancement-arrivee-label{fill:var(--pc);font-family:var(--font-mono);font-size:.66rem;font-weight:var(--weight-semibold)}.ordonnancement-file{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.ordonnancement-file-titre{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.ordonnancement-file-rangee{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ordonnancement-file-item{padding:2px var(--space-2);background:var(--pc);align-items:center;gap:3px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.ordonnancement-file-item{background:color-mix(in srgb, var(--pc) 22%, var(--color-bg))}}.ordonnancement-file-item{border:1px solid var(--pc);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text)}.ordonnancement-file-item.is-reenfile{border-style:dashed}.ordonnancement-file-restant{color:var(--color-text-muted);font-size:.9em}.ordonnancement-file-marque{color:var(--color-text-muted);font-size:.7rem}.ordonnancement-file-vide{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.ordonnancement-bloc--p1,.ordonnancement-proc--p1{--pc:var(--color-accent)}.ordonnancement-bloc--p2,.ordonnancement-proc--p2{--pc:var(--color-accent-2)}.ordonnancement-bloc--p3,.ordonnancement-proc--p3{--pc:var(--color-accent-3)}.ordonnancement-bloc--p4,.ordonnancement-proc--p4{--pc:var(--color-warning)}.ordonnancement-legende-procs{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.ordonnancement-proc{font-size:var(--text-xs);align-items:center;gap:6px;display:inline-flex}.ordonnancement-pastille{background:var(--pc);border-radius:3px;width:.8rem;height:.8rem}@supports (color:color-mix(in lab, red, red)){.ordonnancement-pastille{background:color-mix(in srgb, var(--pc) 45%, var(--color-bg))}}.ordonnancement-pastille{border:1px solid var(--pc)}.ordonnancement-proc-nom{font-family:var(--font-mono);font-weight:var(--weight-semibold);color:var(--color-text)}.ordonnancement-proc-detail{color:var(--color-text-muted)}.ordonnancement-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);max-width:100%;overflow:hidden}.ordonnancement-table-titre{padding:var(--space-1) var(--space-2);background:var(--color-accent);margin:0}@supports (color:color-mix(in lab, red, red)){.ordonnancement-table-titre{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.ordonnancement-table-titre{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center}.ordonnancement-table table{border-collapse:collapse;width:100%}.ordonnancement-table th,.ordonnancement-table td{padding:2px var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);text-align:center;border-top:1px solid var(--color-border)}.ordonnancement-table th{color:var(--color-text-muted);font-weight:var(--weight-semibold)}.ordonnancement-table td{color:var(--color-text)}.ordonnancement-table tr.is-moyenne td{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-table tr.is-moyenne td{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-bg))}}.ordonnancement-table tr.is-moyenne td{font-weight:var(--weight-semibold)}.ordonnancement-table tr.is-courant td{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-table tr.is-courant td{background:color-mix(in srgb, var(--color-accent) 18%, var(--color-bg))}}.ordonnancement-table tr.is-courant td{font-weight:var(--weight-semibold)}.ordonnancement-groupe{background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);font-style:italic;text-align:left!important}.ordonnancement-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.ordonnancement-prev,.ordonnancement-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.ordonnancement-prev:hover:not(:disabled),.ordonnancement-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.ordonnancement-prev:hover:not(:disabled),.ordonnancement-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.ordonnancement-prev:disabled,.ordonnancement-next:disabled{opacity:.4;cursor:not-allowed}.ordonnancement-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media (prefers-reduced-motion:reduce){.ordonnancement-bloc rect{transition:none}}@media print{.ordonnancement.is-hydrated .ordonnancement-fallback{display:block!important}.ordonnancement-stage,.ordonnancement-bar{display:none!important}}.exercice{margin:var(--space-6) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;overflow:hidden}.exercice-accent{background:var(--color-accent-2);flex:0 0 4px}.exercice-body{gap:var(--space-3);min-width:0;padding:var(--space-4);flex:auto;display:grid}.exercice-header{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.exercice-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent-2);background:var(--color-accent-2);padding:.25rem .6rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.exercice-badge{background:color-mix(in srgb, var(--color-accent-2) 12%, var(--color-surface))}}.exercice-glyph{opacity:.75}.exercice-favori{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);margin-left:auto}.exercice-enonce{margin:0}.exercice-enonce>:first-child{margin-top:0}.exercice-enonce>:last-child{margin-bottom:0}.exercice-enonce code{font-family:var(--font-mono);background:var(--color-code-bg);border-radius:.3em;padding:.1em .35em}.exercice-form{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.exercice-label{align-items:center;gap:var(--space-2);flex:auto;min-width:12rem;display:inline-flex}.exercice-label-text{color:var(--color-text-muted)}.exercice-input{min-width:6rem;font-family:var(--font-mono);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md,.4rem);padding:var(--space-2) var(--space-3);flex:auto;font-size:1rem}.exercice-input:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:1px}.exercice-valider{font:inherit;font-weight:var(--weight-semibold);color:var(--color-on-accent);background:var(--color-accent-2);border-radius:var(--radius-md,.4rem);padding:var(--space-2) var(--space-4);cursor:pointer;border:1px solid #0000}.exercice-valider:hover{filter:brightness(1.08)}.exercice-feedback{min-height:1.2em;font-weight:var(--weight-semibold);margin:0}.exercice-feedback.is-correct{color:var(--color-success)}.exercice-feedback.is-incorrect{color:var(--color-danger)}.exercice-feedback.is-neutral{color:var(--color-text-muted)}.exercice-reveal{font:inherit;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md,.4rem);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0;justify-self:start;margin:0;font-size:.9rem}.exercice-reveal:hover{color:var(--color-text);border-color:var(--color-border-strong,var(--color-border))}.exercice-reveal:disabled{opacity:.55;cursor:default}.exercice-solution{color:var(--color-text);font-family:var(--font-mono);margin:0}.exercice-solution:empty{display:none}@media print{.exercice-form,.exercice-feedback,.exercice-reveal,.exercice-solution,.exercice-favori{display:none!important}}.reprise-marque{padding-left:var(--space-2);color:var(--color-text-muted);text-transform:none;letter-spacing:normal;margin-left:auto;font-size:.75em;font-style:italic;font-weight:500}@media print{.reprise-marque{display:none}}.palette{margin:var(--space-4) 0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.palette-outil{gap:var(--space-3);display:grid}.palette-grille{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(84px,1fr));display:grid}.palette-case{border:1px solid var(--color-border);border-radius:var(--radius-md,8px);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;gap:4px;padding:0;display:grid;overflow:hidden}.palette-case:before{content:"";background:var(--pastille);background-image:linear-gradient(var(--pastille), var(--pastille)), conic-gradient(var(--color-border) 25%, transparent 0 50%, var(--color-border) 0 75%, transparent 0);background-size:auto,12px 12px;height:40px;display:block}.palette-case-nom{text-align:center;padding:0 6px 6px}.palette-case:hover{border-color:var(--color-accent)}.palette-case:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.palette-case[aria-pressed=true]{border:2px solid var(--color-accent);font-weight:var(--weight-semibold)}.palette-selecteur{gap:var(--space-2);display:grid}.palette-zone{border:1px solid var(--color-border);border-radius:var(--radius-md,8px);background:linear-gradient(to top, #000, #0000), linear-gradient(to right, #fff, #fff0), var(--teinte,red);cursor:crosshair;touch-action:none;height:150px;position:relative}.palette-bande{border:1px solid var(--color-border);cursor:ew-resize;touch-action:none;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:999px;height:22px;position:relative}.palette-zone:focus-visible,.palette-bande:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.palette-curseur,.palette-curseur-teinte{pointer-events:none;border:2px solid #fff;border-radius:999px;position:absolute;box-shadow:0 0 0 1px #0009}.palette-curseur{background:var(--choisie,transparent);width:16px;height:16px;margin:-8px 0 0 -8px}.palette-curseur-teinte{background:0 0;width:10px;margin-left:-5px;top:-2px;bottom:-2px}.palette-apercu{min-height:96px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);background:var(--choisie,var(--color-bg));place-items:center;display:grid}.palette-apercu-corps{color:var(--encre,var(--color-text));justify-items:center;gap:4px;display:grid}.palette-hex{font-size:var(--text-lg,1.125rem);font-weight:var(--weight-semibold)}.palette .palette-apercu .palette-hex{color:var(--encre,var(--color-text));background:0 0;padding:0}.palette-nom{font-size:var(--text-sm);opacity:.85}.palette-sortie{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.palette-css{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);background:var(--color-bg);flex:auto;overflow-x:auto}.palette-copier{padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-md,8px);background:var(--color-accent);color:var(--color-on-accent);font:inherit;font-weight:var(--weight-semibold);cursor:pointer}.palette-copier:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.palette-annonce{min-height:1.2em;color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.palette-note{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.palette-table{border-collapse:collapse;width:100%}.palette-table th,.palette-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border);text-align:left}.palette-pastille{border:1px solid var(--color-border);background:var(--pastille);vertical-align:middle;border-radius:4px;width:18px;height:18px;display:inline-block}.palette.is-hydrated .palette-repli{display:none}@media print{.palette-outil{display:none}.palette.is-hydrated .palette-repli{display:block}}.table-verite{margin:var(--space-6) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;overflow:hidden}.table-verite-accent{background:var(--color-accent-2);flex:0 0 4px}.table-verite-body{align-items:start;gap:var(--space-3) var(--space-5);min-width:0;padding:var(--space-4);flex:auto;grid-template-columns:minmax(0,1fr) auto;display:grid}.table-verite-header,.table-verite-actions,.table-verite-feedback{grid-column:1/-1}.table-verite .circuit{grid-column:1;align-self:center;margin:0}.table-verite .table-verite-table{grid-column:2;align-self:center}@media (width<=62rem){.table-verite-body{grid-template-columns:1fr}.table-verite .circuit,.table-verite .table-verite-table{grid-column:1}}.table-verite-header{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.table-verite-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent-2);background:var(--color-accent-2);padding:.25rem .6rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.table-verite-badge{background:color-mix(in srgb, var(--color-accent-2) 12%, var(--color-surface))}}.table-verite-glyph{opacity:.75}.prose .table-verite .table-verite-table,.table-verite .table-verite-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:auto;margin:0}.table-verite-table th,.table-verite-table td{padding:var(--space-1) var(--space-2);text-align:center;border:1px solid var(--color-border);width:3rem}.table-verite-table th{font-family:var(--font-mono);color:var(--color-text-muted);font-weight:var(--weight-semibold)}.table-verite-cell{padding:0}.table-verite-input{width:3rem;padding:var(--space-1) 0;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-base);text-align:center;background:0 0;border:0}.table-verite-input:focus-visible{background:var(--color-accent);outline:none}@supports (color:color-mix(in lab, red, red)){.table-verite-input:focus-visible{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}}.table-verite-cell.est-juste,.table-verite-cell.est-faux{position:relative}.table-verite-cell.est-juste{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.table-verite-cell.est-juste{background:color-mix(in srgb, var(--color-success) 16%, transparent)}}.table-verite-cell.est-faux{background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.table-verite-cell.est-faux{background:color-mix(in srgb, var(--color-danger) 16%, transparent)}}.table-verite-cell.est-juste:after,.table-verite-cell.est-faux:after{font-size:var(--text-xs);pointer-events:none;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.table-verite-cell.est-juste:after{content:"✓";color:var(--color-success)}.table-verite-cell.est-faux:after{content:"✗";color:var(--color-danger)}.table-verite-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.table-verite-valider{padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent-2);border-radius:var(--radius-md);color:var(--color-accent-2);font-family:var(--font-body);font-weight:var(--weight-semibold);cursor:pointer;background:0 0}.table-verite-valider:hover:not(:disabled){background:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.table-verite-valider:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent-2) 12%, transparent)}}.table-verite-valider:disabled{opacity:.5;cursor:not-allowed}.table-verite-feedback{min-height:1.4em;color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.compteur-bases{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.compteur-bases-fallback{overflow-x:auto}.compteur-bases-table{border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-sm)}.compteur-bases-table th,.compteur-bases-table td{padding:var(--space-1) var(--space-3);text-align:right;border-bottom:1px solid var(--color-border);color:var(--color-text)}.compteur-bases-table th{color:var(--color-text-muted);text-align:right;font-weight:600}.compteur-bases.is-hydrated .compteur-bases-fallback{display:none}.compteur-bases-rows{gap:var(--space-2);display:grid}.compteur-bases-row{align-items:baseline;gap:var(--space-3);display:flex}.compteur-bases-label{min-width:8.5em;color:var(--color-text-muted);font-size:var(--text-sm);flex:none}.compteur-bases-chiffres{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:.12em;white-space:nowrap;overflow-x:auto}.compteur-bases-chiffre{border-radius:var(--radius-sm);padding:0 .05em;transition:color .15s,background-color .15s;display:inline-block}.compteur-bases-chiffre.is-zero{color:var(--color-text-muted)}.compteur-bases-chiffre.is-sig{color:var(--color-text)}.compteur-bases-chiffre.is-change{color:var(--color-on-accent);background:var(--color-accent);font-weight:700}.compteur-bases-chiffre.is-carry{color:var(--color-on-accent);background:var(--color-warning);font-weight:700}.compteur-bases-controls{gap:var(--space-2);margin-top:var(--space-4);display:flex}.compteur-bases-btn{font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-1) var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,opacity .15s}.compteur-bases-btn:hover:not(:disabled){border-color:var(--color-accent)}.compteur-bases-btn:disabled{opacity:.4;cursor:not-allowed}.compteur-bases-annonce{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}@media print{.compteur-bases.is-hydrated .compteur-bases-fallback{display:block!important}.compteur-bases-live{display:none!important}}.rendu-monnaie{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.rendu-monnaie-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.rendu-monnaie-etapes{padding-left:var(--space-5);color:var(--color-text);margin:0}.rendu-monnaie.is-hydrated .rendu-monnaie-fallback{display:none}.rendu-monnaie-stage{padding:var(--space-3) 0}.rendu-monnaie-scene{gap:var(--space-2);justify-items:center;display:grid}.rendu-monnaie-entete{gap:var(--space-5);flex-wrap:wrap;justify-content:center;align-items:baseline;display:flex}.rendu-monnaie-cible{color:var(--color-text-muted);font-size:var(--text-sm)}.rendu-monnaie-restant{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--color-text);font-weight:700}.rendu-monnaie-restant.is-impossible{color:var(--color-danger)}.rendu-monnaie-label{margin:var(--space-3) 0 0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.rendu-monnaie-pieces,.rendu-monnaie-tas{gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center;min-height:2.5rem;display:flex}.rendu-monnaie-piece,.rendu-monnaie-jeton{min-width:2.5rem;height:2.5rem;padding:0 var(--space-1);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);justify-content:center;align-items:center;transition:background-color .15s,border-color .15s;display:inline-flex}.rendu-monnaie-piece.is-choisie{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.rendu-monnaie-piece.is-choisie{background:color-mix(in srgb, var(--color-accent) 20%, var(--color-bg))}}.rendu-monnaie-piece.is-choisie{color:var(--color-text);font-weight:700}.rendu-monnaie-jeton{border-color:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.rendu-monnaie-jeton{border-color:color-mix(in srgb, var(--color-accent-2) 45%, var(--color-border))}}.rendu-monnaie-jeton{background:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.rendu-monnaie-jeton{background:color-mix(in srgb, var(--color-accent-2) 12%, var(--color-bg))}}.rendu-monnaie-tas-vide{color:var(--color-text-muted);font-size:var(--text-sm)}.rendu-monnaie-total{margin:var(--space-2) 0 0;font-weight:var(--weight-semibold);color:var(--color-success)}.rendu-monnaie-legende{margin:var(--space-3) 0 0;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.rendu-monnaie-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.rendu-monnaie-prev,.rendu-monnaie-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.rendu-monnaie-prev:hover:not(:disabled),.rendu-monnaie-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.rendu-monnaie-prev:hover:not(:disabled),.rendu-monnaie-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.rendu-monnaie-prev:disabled,.rendu-monnaie-next:disabled{opacity:.4;cursor:not-allowed}.rendu-monnaie-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media print{.rendu-monnaie.is-hydrated .rendu-monnaie-fallback{display:block!important}.rendu-monnaie-stage,.rendu-monnaie-bar{display:none!important}}.recursion{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.recursion-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.recursion-etapes{padding-left:var(--space-5);color:var(--color-text);margin:0}.recursion.is-hydrated .recursion-fallback{display:none}.recursion-stage{padding:var(--space-3) 0}.recursion-scene{gap:var(--space-3);justify-items:center;display:grid}.recursion-entete{gap:var(--space-5);flex-wrap:wrap;justify-content:center;align-items:baseline;display:flex}.recursion-appel-init{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted)}.recursion-phase{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;padding:.1rem var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted)}.recursion-pile{flex-direction:column;gap:2px;min-width:min(22rem,100%);display:flex}.recursion-pile-vide{text-align:center;color:var(--color-text-muted);padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-style:italic}.recursion-cadre{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);display:flex}.recursion-cadre.is-actif{border-width:3px;border-color:var(--color-accent);background:var(--color-accent);font-weight:700}@supports (color:color-mix(in lab, red, red)){.recursion-cadre.is-actif{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.recursion-cadre-appel{font-family:var(--font-mono);color:var(--color-text)}.recursion-cadre-retour{font-family:var(--font-mono);color:var(--color-success);font-weight:700}.recursion-cadre-attente{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic}.recursion-cadre-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:.05rem var(--space-1);border:1px solid var(--color-warning);border-radius:var(--radius-sm);color:var(--color-warning)}.recursion-resultat{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--color-success);margin:0;font-weight:700}.recursion-legende{text-align:center;color:var(--color-text);max-width:40rem;margin:0}.recursion-arbre-wrap{width:100%;overflow-x:auto}.recursion-arbre-scene{width:100%;min-width:30rem;height:auto}.recursion-arbre-arete{stroke:var(--color-border-strong);stroke-width:1.5px}.recursion-arbre-boite{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1.5px}.recursion-arbre-txt{fill:var(--color-text);font-family:var(--font-mono);font-size:13px}.recursion-arbre-noeud.is-base .recursion-arbre-boite{stroke-dasharray:3 2;stroke:var(--color-warning)}.recursion-arbre-noeud.is-valeur .recursion-arbre-boite{stroke:var(--color-success)}.recursion-arbre-noeud.is-valeur .recursion-arbre-txt{fill:var(--color-success);font-weight:700}.recursion-arbre-noeud.is-actif .recursion-arbre-boite{stroke-width:3.5px;stroke:var(--color-accent)}.recursion-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.recursion-prev,.recursion-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.recursion-prev:hover:not(:disabled),.recursion-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.recursion-prev:hover:not(:disabled),.recursion-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.recursion-prev:disabled,.recursion-next:disabled{opacity:.4;cursor:not-allowed}.recursion-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media print{.recursion.is-hydrated .recursion-fallback{display:block!important}.recursion-stage,.recursion-bar{display:none!important}}.chaine{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.chaine-titre{margin:0 0 var(--space-2);font-weight:var(--weight-semibold)}.chaine-etapes{padding-left:var(--space-5);color:var(--color-text);margin:0}.chaine.is-hydrated .chaine-fallback{display:none}.chaine-stage{padding:var(--space-3) 0}.chaine-scene-box{gap:var(--space-3);justify-items:center;display:grid}.chaine-entete{gap:var(--space-3);justify-content:center;display:flex}.chaine-chip{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;padding:.1rem var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted)}.chaine-wrap{width:100%;overflow-x:auto}.chaine-scene{width:100%;min-width:28rem;height:auto}.chaine-arete{fill:none;stroke:var(--color-border-strong);stroke-width:1.5px}.chaine-arete.is-actif{stroke:var(--color-accent);stroke-width:3px}.chaine-arrowhead{fill:var(--color-border-strong)}.chaine-arrowhead.is-actif{fill:var(--color-accent)}.chaine-boite{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1.5px}.chaine-sep{stroke:var(--color-border);stroke-width:1px}.chaine-val{fill:var(--color-text);font-family:var(--font-mono);font-size:14px}.chaine-pt{fill:var(--color-text-muted)}.chaine-maillon.is-actif .chaine-boite{stroke:var(--color-accent);stroke-width:3.5px}.chaine-maillon.is-nouveau .chaine-boite{stroke:var(--color-success);stroke-dasharray:4 2}.chaine-maillon.is-nouveau .chaine-val{fill:var(--color-success);font-weight:700}.chaine-maillon.is-supprime{opacity:.4}.chaine-maillon.is-supprime .chaine-boite{stroke-dasharray:2 3}.chaine-none{fill:#0000;stroke:var(--color-border-strong);stroke-width:1.5px}.chaine-none-txt{fill:var(--color-text-muted);font-family:var(--font-mono);font-size:12px}.chaine-tete-label{fill:var(--color-text-muted);font-size:12px;font-weight:600}.chaine-tete-label.is-actif{fill:var(--color-accent)}.chaine-legende{text-align:center;color:var(--color-text);max-width:42rem;margin:0}.chaine-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.chaine-prev,.chaine-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.chaine-prev:hover:not(:disabled),.chaine-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.chaine-prev:hover:not(:disabled),.chaine-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.chaine-prev:disabled,.chaine-next:disabled{opacity:.4;cursor:not-allowed}.chaine-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media print{.chaine.is-hydrated .chaine-fallback{display:block!important}.chaine-stage,.chaine-bar{display:none!important}}.conversion{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.conversion-fallback,.conversion-stage{overflow-x:auto}.conversion-table{border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-sm);margin:0 auto}.conversion-table th{padding:var(--space-1) var(--space-3);text-align:right;color:var(--color-text-muted);font-weight:var(--weight-semibold);white-space:nowrap}.conversion-table td,.conversion-cell{padding:var(--space-1) var(--space-2);text-align:center;border:1px solid var(--color-border);min-width:2.6rem;color:var(--color-text)}.conversion-table sup{font-size:.7em}.conversion-bit{color:var(--color-accent);font-weight:700}.conversion-cell.is-active{border:2px solid var(--color-accent);background:var(--color-accent);font-weight:700}@supports (color:color-mix(in lab, red, red)){.conversion-cell.is-active{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg))}}.conversion.is-hydrated .conversion-fallback{display:none}.conversion-stage{padding:var(--space-3) 0}.conversion-scene{gap:var(--space-3);justify-items:center;display:grid}.conversion-bilan{gap:var(--space-4);flex-wrap:wrap;justify-content:center;align-items:baseline;display:flex}.conversion-reste,.conversion-somme{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-text)}.conversion-addition{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-text);font-weight:700}.conversion-resultat{font-family:var(--font-mono);font-size:var(--text-lg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-success);font-weight:700}@supports (color:color-mix(in lab, red, red)){.conversion-resultat{background:color-mix(in srgb, var(--color-success) 18%, var(--color-bg))}}.conversion-resultat{border:1px solid var(--color-success)}@supports (color:color-mix(in lab, red, red)){.conversion-resultat{border:1px solid color-mix(in srgb, var(--color-success) 45%, var(--color-border))}}.conversion-resultat{color:var(--color-text)}.conversion-legende{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.conversion-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.conversion-prev,.conversion-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.conversion-prev:hover:not(:disabled),.conversion-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.conversion-prev:hover:not(:disabled),.conversion-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.conversion-prev:disabled,.conversion-next:disabled{opacity:.4;cursor:not-allowed}.conversion-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media print{.conversion.is-hydrated .conversion-fallback{display:block!important}.conversion-stage,.conversion-bar{display:none!important}}.ascii{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ascii-note{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.ascii-table{border-collapse:collapse;font-family:var(--font-mono);font-size:var(--text-sm)}.ascii-table th,.ascii-table td{padding:var(--space-1) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text)}.ascii-table th{color:var(--color-text-muted);font-weight:var(--weight-semibold)}.ascii.is-hydrated .ascii-fallback{display:none}.ascii-onglets{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);display:flex}.ascii-onglet{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000}.ascii-onglet:hover{color:var(--color-text)}.ascii-onglet.is-actif{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--weight-semibold)}.ascii-panneau.is-cache{display:none}.ascii-bloc{margin-bottom:var(--space-4)}.ascii-bloc:last-child{margin-bottom:0}.ascii-label{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);flex-direction:column;display:flex}.ascii-input{padding:var(--space-2);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-md)}.ascii-input:focus{border-color:var(--color-accent);outline:none}.ascii-sortie{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:flex-end;min-height:2.5rem;display:flex}.ascii-octet{flex-direction:column;align-items:center;gap:2px;display:inline-flex}.ascii-octet-car{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted)}.ascii-octet-bin{font-family:var(--font-mono);font-size:var(--text-sm);padding:2px var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);letter-spacing:.05em}.ascii-octet.is-invalide .ascii-octet-bin,.ascii-lettre.is-invalide{border-color:var(--color-danger);color:var(--color-danger);font-weight:700}.ascii-sortie-mot{font-family:var(--font-mono)}.ascii-lettre{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--color-text);padding:0 2px}.ascii-msg{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-text-muted);min-height:1.2em}.ascii-msg.is-bon{color:var(--color-success);font-weight:var(--weight-semibold)}.ascii-msg.is-mauvais{color:var(--color-danger);font-weight:var(--weight-semibold)}.ascii-defi-entete{justify-content:flex-end;display:flex}.ascii-defi-score{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text)}.ascii-defi-consigne{margin:var(--space-2) 0;color:var(--color-text)}.ascii-defi-prompt{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;min-height:2.5rem;display:flex}.ascii-defi-mot{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--color-accent);font-weight:700}.ascii-defi-octet{font-size:var(--text-sm)}.ascii-defi-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.ascii-btn{padding:var(--space-1) var(--space-3);background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer}.ascii-btn:disabled{opacity:.4;cursor:not-allowed}.ascii-btn-ghost{color:var(--color-accent);border-color:var(--color-border-strong);background:0 0}.ascii-btn-ghost:hover{border-color:var(--color-accent)}@media print{.ascii.is-hydrated .ascii-fallback{display:block!important}.ascii-live{display:none!important}}.recherche-motif{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.recherche-motif-fb-ligne{margin:0 0 var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text)}.recherche-motif-fb-conclusion{margin:var(--space-2) 0 0;font-weight:var(--weight-semibold);color:var(--color-text)}.recherche-motif.is-hydrated .recherche-motif-fallback{display:none}.recherche-motif-stage{padding:var(--space-3) 0;overflow-x:auto}.recherche-motif-scene{gap:var(--space-3);display:grid}.recherche-motif-entete{gap:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.recherche-motif-algo{font-size:var(--text-sm);color:var(--color-text-muted)}.recherche-motif-compteur{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-accent);font-weight:700}.recherche-motif-table{gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;display:flex}.recherche-motif-table-titre{color:var(--color-text-muted)}.recherche-motif-table-paire{padding:2px var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text)}.recherche-motif-grille{gap:var(--space-1);width:max-content;display:grid}.recherche-motif-ligne{gap:2px;display:flex}.recherche-motif-cell{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);flex-direction:column;align-items:center;min-width:1.9rem;padding:2px 0;display:flex}.recherche-motif-ligne-motif .recherche-motif-cell{background:0 0;border-color:#0000}.recherche-motif-ligne-motif .recherche-motif-cell.is-compare,.recherche-motif-ligne-motif .recherche-motif-cell.is-match,.recherche-motif-ligne-motif .recherche-motif-cell.is-mismatch{border-color:var(--color-border-strong);background:var(--color-bg)}.recherche-motif-glyphe{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-text);line-height:1.3}.recherche-motif-glyphe.is-espace{color:var(--color-text-muted)}.recherche-motif-index{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.65rem}.recherche-motif-cell.is-compare{border:2px solid var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.recherche-motif-cell.is-compare{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg))}}.recherche-motif-cell.is-match{border:2px solid var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.recherche-motif-cell.is-match{background:color-mix(in srgb, var(--color-success) 16%, var(--color-bg))}}.recherche-motif-cell.is-match .recherche-motif-glyphe{font-weight:700}.recherche-motif-cell.is-mismatch{border:2px solid var(--color-danger);background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.recherche-motif-cell.is-mismatch{background:color-mix(in srgb, var(--color-danger) 16%, var(--color-bg))}}.recherche-motif-cell.is-mismatch .recherche-motif-glyphe{color:var(--color-danger);font-weight:700}.recherche-motif-legende{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.recherche-motif-bar{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}.recherche-motif-prev,.recherche-motif-next{padding:var(--space-1) var(--space-3);color:var(--color-accent);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none}.recherche-motif-prev:hover:not(:disabled),.recherche-motif-next:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.recherche-motif-prev:hover:not(:disabled),.recherche-motif-next:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.recherche-motif-prev:disabled,.recherche-motif-next:disabled{opacity:.4;cursor:not-allowed}.recherche-motif-status{text-align:center;min-width:8rem;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex:1;margin:0}@media print{.recherche-motif.is-hydrated .recherche-motif-fallback{display:block!important}.recherche-motif-stage,.recherche-motif-bar{display:none!important}}.sticker{margin:0}.sticker img{width:100%;height:auto;display:block}.sticker--petit{width:7rem}.sticker--moyen{width:10.5rem}.sticker--grand{width:14rem}.sticker--tres-grand{width:19.5rem}.sticker--droite{float:right;margin:var(--space-1) 0 var(--space-3) var(--space-4)}.sticker--gauche{float:left;margin:var(--space-1) var(--space-4) var(--space-3) 0}.sticker--centre{float:none;clear:both;margin:var(--space-4) auto}@media (width<=30rem){.sticker--droite,.sticker--gauche{float:none;margin:var(--space-3) auto}}.tables-routage{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-5) 0;background:var(--color-surface)}.tables-routage.is-reussi{border-color:var(--color-success,#2fa84f)}.tables-routage-objectif-live{margin:0 0 var(--space-3);font-weight:600}.tables-routage-scene{margin-bottom:var(--space-3);overflow-x:auto}.tables-routage-svg{width:100%;min-width:420px;height:auto}.tr-lien{stroke:var(--color-border-strong);stroke-width:2px}.tr-lien.is-actif{stroke:var(--color-accent);stroke-width:4px}.tr-routeur rect{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:2px}.tr-routeur text{fill:var(--color-text);text-anchor:middle;font-size:.85rem;font-weight:600}.tr-routeur.is-actif rect{stroke:var(--color-accent);stroke-width:3px}.tr-routeur.is-panne rect{stroke-dasharray:4 3;opacity:.55}.tr-routeur.is-panne text{opacity:.55}.tr-reseau rect{fill:var(--color-accent-2,#7c5cff)}@supports (color:color-mix(in lab, red, red)){.tr-reseau rect{fill:color-mix(in srgb, var(--color-accent-2,#7c5cff) 10%, transparent)}}.tr-reseau rect{stroke:var(--color-border-strong);stroke-width:1.5px}.tr-reseau-netid{fill:var(--color-text);text-anchor:middle;font-size:.82rem;font-weight:700}.tr-machine{text-anchor:start;font-size:.78rem}.tr-switch-boite{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1.5px}.tr-switch{fill:var(--color-text-muted);text-anchor:middle;font-size:.72rem;font-weight:600}.tr-icone{fill:none;stroke:var(--color-text-muted);stroke-width:5px}.tr-machine-nom{fill:var(--color-text-muted)}.tr-netid-part{fill:var(--color-accent);font-weight:700}.tr-host-part{fill:var(--color-text-muted)}.tables-routage-tables{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));display:grid}.tables-routage-carte{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2)}.tables-routage-carte.is-panne{opacity:.6;border-style:dashed}.tables-routage-carte-titre{margin:0 0 var(--space-1);font-size:.95rem;font-weight:600}.tables-routage-mini{border-collapse:collapse;width:100%;font-size:.85rem}.tables-routage-mini th,.tables-routage-mini td{text-align:left;border-bottom:1px solid var(--color-border);padding:2px 4px}.tables-routage-mini th{color:var(--color-text-muted);font-size:.75rem;font-weight:500}.tables-routage-vide{color:var(--color-text-muted);font-style:italic}.tables-routage-sup{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;padding:0 4px;line-height:1}.tables-routage-sup:hover,.tables-routage-sup:focus-visible{color:var(--color-danger,#e5484d)}.tables-routage-ajout{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.tables-routage-ajout select{background:var(--color-bg);min-width:4.5rem;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm,4px);flex:4.5rem;padding:2px 4px;font-size:.8rem}.tables-routage-ajouter,.tables-routage-envoyer,.tables-routage-reset{color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:4px 10px;font-size:.85rem}.tables-routage-ajouter:hover,.tables-routage-envoyer:hover,.tables-routage-reset:hover{border-color:var(--color-accent)}.tables-routage-flux{gap:var(--space-2);flex-wrap:wrap;display:flex}.tables-routage-envoyer{font-weight:600}.tables-routage-rejeu:not(:empty){margin-top:var(--space-3)}.tables-routage-stage{min-height:2.5rem}.tables-routage-etape{padding:var(--space-2);border-left:4px solid var(--color-border-strong);background:var(--color-bg);border-radius:var(--radius-sm,4px);margin:0}.tables-routage-etape.is-livraison{border-left-color:var(--color-success,#2fa84f)}.tables-routage-etape.is-perdu{border-left-color:var(--color-danger,#e5484d)}.tables-routage-etape.is-transmission{border-left-color:var(--color-accent)}.tables-routage-bar{align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}.tables-routage-status{color:var(--color-text-muted);flex:1;margin:0;font-size:.85rem}.tables-routage-prev,.tables-routage-next{color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:3px 10px}.tables-routage-prev[disabled],.tables-routage-next[disabled]{opacity:.4;cursor:default}.tables-routage-banniere:empty{display:none}.tables-routage-banniere{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-success,#2fa84f);font-weight:600}@supports (color:color-mix(in lab, red, red)){.tables-routage-banniere{background:color-mix(in srgb, var(--color-success,#2fa84f) 15%, transparent)}}.tables-routage-banniere{border:1px solid var(--color-success,#2fa84f)}.tables-routage.is-hydrated .tables-routage-fallback{display:none}.tables-routage-table{border-collapse:collapse;width:100%;margin:var(--space-2) 0}.tables-routage-table th,.tables-routage-table td{text-align:left;border:1px solid var(--color-border);padding:4px 8px}.tables-routage-sous-titre{margin:var(--space-3) 0 var(--space-1);font-weight:600}@media print{.tables-routage.is-hydrated .tables-routage-fallback{display:block}.tables-routage-scene,.tables-routage-tables,.tables-routage-flux,.tables-routage-rejeu,.tables-routage-banniere,.tables-routage-objectif-live{display:none}}.tables-routage-mini tr.is-locale td,.tables-routage-table tr.is-locale td{color:var(--color-text-muted);font-style:italic}.annotation-hote{left:var(--space-3);z-index:9997;display:inline-flex;position:fixed;top:50%;transform:translateY(-50%)}.annotation-hote.is-ouverte{display:none}.annotation-toggle{background:var(--color-surface);border:1px solid var(--color-border-strong);width:2.75rem;height:2.75rem;color:var(--color-text);opacity:.55;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.15rem;line-height:1;transition:opacity .2s,border-color .2s,transform .1s;display:inline-flex;box-shadow:0 4px 16px #00000040}.annotation-toggle:hover,.annotation-toggle:focus-visible{opacity:1;border-color:var(--color-accent);transform:scale(1.06)}.annotation-canvas{z-index:9998;cursor:crosshair;touch-action:none;width:100vw;height:100vh;position:fixed;inset:0}.annotation-canvas.is-gomme{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='34' height='34'><circle cx='17' cy='17' r='15' fill='rgba(255,255,255,0.55)' stroke='%23111' stroke-width='1.5'/><circle cx='17' cy='17' r='15' fill='none' stroke='rgba(255,255,255,0.9)' stroke-width='0.75'/></svg>") 17 17,crosshair}.annotation-barre{z-index:9999;left:var(--space-3);align-items:center;gap:var(--space-2);padding:var(--space-2);max-height:calc(100vh - 2 * var(--space-4));background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);opacity:.7;flex-direction:column;transition:opacity .2s;display:flex;position:fixed;top:50%;overflow-y:auto;transform:translateY(-50%);box-shadow:0 8px 30px #00000059}.annotation-barre:hover,.annotation-barre:focus-within{opacity:1}.annotation-groupe{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.annotation-groupe+.annotation-groupe{border-top:1px solid var(--color-border);padding-top:var(--space-2);width:100%}.annotation-btn{width:2.25rem;height:2.25rem;color:var(--color-text);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;transition:border-color .15s,background-color .15s;display:inline-flex}.annotation-btn:hover,.annotation-btn:focus-visible{border-color:var(--color-accent)}.annotation-btn.is-active{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.annotation-btn.is-active{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}}.annotation-btn.is-active{color:var(--color-text)}.annotation-btn-quitter{color:var(--color-text-muted)}.annotation-poignee{width:100%;padding:2px 0 var(--space-1);color:var(--color-text-muted);cursor:grab;touch-action:none;border-radius:var(--radius-md);justify-content:center;line-height:1;display:flex}.annotation-poignee:hover,.annotation-poignee:focus-visible{color:var(--color-text)}.annotation-poignee-grip{font-size:var(--text-base);letter-spacing:.1em}.annotation-barre.is-saisie .annotation-poignee{cursor:grabbing}.annotation-barre.is-saisie{opacity:1}.annotation-barre.is-deplacee{top:auto;transform:none}.annotation-couleurs{gap:var(--space-1)}.annotation-couleur{border:2px solid var(--color-border-strong);background:var(--c);cursor:pointer;border-radius:50%;width:1.6rem;height:1.6rem;padding:0;transition:transform .1s,border-color .15s}.annotation-couleur:hover{transform:scale(1.1)}.annotation-couleur.is-active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-accent)}.annotation-couleur-libre{border:2px solid var(--color-border-strong);cursor:pointer;background:0 0;border-radius:50%;width:1.6rem;height:1.6rem;padding:0;transition:transform .1s,border-color .15s}.annotation-couleur-libre:hover{transform:scale(1.1)}.annotation-couleur-libre.is-active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-accent)}.annotation-couleur-libre::-webkit-color-swatch-wrapper{padding:0}.annotation-couleur-libre::-webkit-color-swatch{border:none;border-radius:50%}.annotation-couleur-libre::-moz-color-swatch{border:none;border-radius:50%}@media print{.annotation-canvas,.annotation-barre,.annotation-hote{display:none!important}}.bac-a-sable{max-width:60rem;margin:0 auto}.bac-a-sable>.muted{margin-bottom:var(--space-4)}.bac-a-sable .python-console-editor .cm-editor{min-height:24rem}.bac-a-sable-toolbar{gap:var(--space-2);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.bac-a-sable-nom{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:inline-flex}.bac-a-sable-nom input{padding:var(--space-1) var(--space-2);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);min-width:10rem}.bac-a-sable-nom input:focus{border-color:var(--color-accent);outline:none}.bac-a-sable-btn{padding:var(--space-1) var(--space-3);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;transition:border-color .15s,background-color .15s}.bac-a-sable-btn:hover{border-color:var(--color-accent)}.bac-a-sable-btn.is-stop{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.bac-a-sable-btn.is-stop{border-color:color-mix(in srgb, var(--color-danger) 55%, var(--color-border-strong))}}.bac-a-sable-btn.is-stop{color:var(--color-danger)}.bac-a-sable-btn.is-stop:hover{border-color:var(--color-danger);background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.bac-a-sable-btn.is-stop:hover{background:color-mix(in srgb, var(--color-danger) 12%, transparent)}}.bac-a-sable-nojs{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bac-a-sable-nojs{background:color-mix(in srgb, var(--color-warning) 10%, transparent)}}.bac-a-sable-nojs{color:var(--color-text)}.epreuve-pratique{max-width:68rem;margin:0 auto}.epreuve-pratique-grille{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.epreuve-pratique-sujet{padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-decoration:none;transition:border-color .15s;display:block}.epreuve-pratique-sujet:hover{border-color:var(--color-accent)}.epreuve-pratique-sujet h3{margin:0 0 var(--space-2)}.epreuve-pratique-sujet .ep-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.epreuve-pratique .ep-consigne{margin:var(--space-4) 0}.epreuve-pratique .ep-pdf{margin:var(--space-3) 0 var(--space-4)}.epreuve-pratique .ep-onglets{gap:var(--space-1);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.epreuve-pratique .ep-onglet{padding:var(--space-1) var(--space-3);color:var(--color-text-muted);border:1px solid var(--color-border-strong);border-radius:var(--radius-md) var(--radius-md) 0 0;font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;background:0 0;border-bottom:none}.epreuve-pratique .ep-onglet.is-active{color:var(--color-text);border-color:var(--color-accent)}.epreuve-pratique .ep-editeur{display:none}.epreuve-pratique .ep-editeur.is-active{display:block}.epreuve-pratique .cm-editor{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);min-height:20rem}.epreuve-pratique .ep-barre{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.epreuve-pratique .ep-btn{padding:var(--space-1) var(--space-3);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;transition:border-color .15s,background-color .15s}.epreuve-pratique .ep-btn:hover{border-color:var(--color-accent)}.epreuve-pratique .ep-btn.is-run{border-color:var(--color-accent);color:var(--color-accent)}.epreuve-pratique .ep-btn.is-tests{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.epreuve-pratique .ep-btn.is-tests{border-color:color-mix(in srgb, var(--color-success) 55%, var(--color-border-strong))}}.epreuve-pratique .ep-btn.is-tests{color:var(--color-success)}.epreuve-pratique .ep-btn.is-stop{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.epreuve-pratique .ep-btn.is-stop{border-color:color-mix(in srgb, var(--color-danger) 55%, var(--color-border-strong))}}.epreuve-pratique .ep-btn.is-stop{color:var(--color-danger)}.epreuve-pratique .ep-sortie{padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);min-height:3rem;max-height:24rem;font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;color:var(--color-text);margin:0;overflow:auto}.epreuve-pratique .ep-sortie.has-error{color:var(--color-danger)}.epreuve-pratique .ep-tests{gap:var(--space-1);margin:var(--space-3) 0;flex-direction:column;display:flex}.epreuve-pratique .ep-test{align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);display:flex}.epreuve-pratique .ep-test.is-ok{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.epreuve-pratique .ep-test.is-ok{background:color-mix(in srgb, var(--color-success) 12%, transparent)}}.epreuve-pratique .ep-test.is-ko{background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.epreuve-pratique .ep-test.is-ko{background:color-mix(in srgb, var(--color-danger) 12%, transparent)}}.epreuve-pratique .ep-test-etat{font-weight:700}.epreuve-pratique .ep-test.is-ok .ep-test-etat{color:var(--color-success)}.epreuve-pratique .ep-test.is-ko .ep-test-etat{color:var(--color-danger)}.epreuve-pratique .ep-test-nom{font-family:var(--font-mono)}.epreuve-pratique .ep-test-msg{color:var(--color-text-muted);font-style:italic}.epreuve-pratique .ep-figures{gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.epreuve-pratique .ep-figure{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;max-width:100%;height:auto}.epreuve-pratique .ep-aide{margin:var(--space-2) 0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.epreuve-pratique .ep-aide>summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--text-sm)}.epreuve-pratique-nojs{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.epreuve-pratique-nojs{background:color-mix(in srgb, var(--color-warning) 10%, transparent)}}.fiches-grille{gap:var(--space-4);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));display:grid}.fiches-carte{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.fiches-carte:hover,.fiches-carte:focus-visible{border-color:var(--color-accent);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.fiches-carte{transition:none}.fiches-carte:hover,.fiches-carte:focus-visible{transform:none}}.fiches-vignette{aspect-ratio:1/1.414;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);justify-content:center;align-items:center;width:100%;max-width:100%;display:flex;overflow:hidden}.fiches-vignette img{object-fit:cover;object-position:top center;width:100%;max-width:100%;height:100%}.fiches-vignette-generique{gap:var(--space-2);padding:var(--space-3);text-align:center;color:var(--color-text-muted);background:linear-gradient(160deg, var(--color-accent), var(--color-surface));flex-direction:column}@supports (color:color-mix(in lab, red, red)){.fiches-vignette-generique{background:linear-gradient(160deg, color-mix(in srgb, var(--color-accent) 10%, var(--color-surface)), var(--color-surface))}}.fiches-vignette-generique .fiches-glyphe{font-size:2rem;line-height:1}.fiches-vignette-generique .fiches-extrait{font-size:.78rem;line-height:1.35}.fiches-titre{font-weight:600;line-height:1.3}.fiches-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:.72rem}.fiches-vide{padding:var(--space-5);text-align:center;color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.videos-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.videos-carrousel{min-width:0;margin:var(--space-5) 0 var(--space-6)}.videos-carrousel-titre{margin:0 0 var(--space-3)}.videos-piste{gap:var(--space-3);padding:0 0 var(--space-2);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;margin:0;list-style:none;display:flex;overflow-x:auto}.videos-piste:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.videos-item{scroll-snap-align:start;flex:none;width:min(200px,72vw)}.videos-vignette{gap:var(--space-2);color:inherit;flex-direction:column;text-decoration:none;display:flex}.videos-poster{aspect-ratio:16/9;background:var(--color-accent);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.videos-poster{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.videos-poster{border:1px solid var(--color-border);border-radius:var(--radius-lg)}.videos-poster img{object-fit:cover;width:100%;height:100%}.videos-poster-generique{color:var(--color-text-muted);font-size:1.8rem}.videos-play{width:36px;height:36px;color:var(--color-on-accent);background:var(--color-accent);place-items:center;padding-left:2px;font-size:.95rem;display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.videos-play{background:color-mix(in srgb, var(--color-accent) 85%, transparent)}}.videos-play{border-radius:50%}.videos-vignette:hover .videos-play,.videos-vignette:focus-visible .videos-play{background:var(--color-accent)}.videos-legende{flex-direction:column;gap:2px;display:flex}.videos-titre{font-size:.9rem;font-weight:600;line-height:1.3}.videos-duree{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.72rem}.videos-modale{z-index:1000;padding:var(--space-4);background:#000000a8;place-items:center;display:grid;position:fixed;inset:0}.videos-panneau{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;width:min(560px,92vw);height:min(70dvh,600px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000073}.videos-modale-fermer{top:var(--space-2);right:var(--space-2);z-index:2;width:36px;height:36px;color:var(--color-text);background:var(--color-surface);font-size:1.1rem;line-height:1;position:absolute}@supports (color:color-mix(in lab, red, red)){.videos-modale-fermer{background:color-mix(in srgb, var(--color-surface) 85%, transparent)}}.videos-modale-fermer{border:1px solid var(--color-border);cursor:pointer;border-radius:50%}.videos-fil{overscroll-behavior-y:contain;scroll-snap-type:y mandatory;flex:1;min-height:0;overflow-y:auto}.videos-ecran{justify-content:center;align-items:center;gap:var(--space-2);height:100%;padding:var(--space-3);scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;display:flex}.videos-ecran video{border-radius:var(--radius-md);background:#000;max-width:100%;max-height:72%}.videos-ecran-titre{text-align:center;margin:0;font-size:1rem}.videos-indice{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.72rem}@media (prefers-reduced-motion:reduce){.videos-fil,.videos-piste{scroll-behavior:auto}}@media print{.videos-carrousel{display:none}}.bac-a-sable-web{max-width:72rem;margin:0 auto}.bac-a-sable-web>.muted{margin-bottom:var(--space-4)}.bac-a-sable-web .apercu .cm-editor{min-height:12rem}.bac-a-sable-web .apercu-preview{min-height:26rem}.bac-a-sable-web-toolbar{align-items:center;gap:var(--space-2);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.bac-a-sable-web .basw-nom{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:inline-flex}.bac-a-sable-web .basw-nom input{padding:var(--space-1) var(--space-2);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);min-width:12rem}.bac-a-sable-web .basw-nom input:focus{border-color:var(--color-accent);outline:none}.bac-a-sable-web .basw-btn{padding:var(--space-1) var(--space-3);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;transition:border-color .15s,background-color .15s}.bac-a-sable-web .basw-btn:hover{border-color:var(--color-accent)}.bac-a-sable-web-nojs{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bac-a-sable-web-nojs{background:color-mix(in srgb, var(--color-warning) 10%, transparent)}}.calendrier{max-width:72rem;margin:0 auto}.calendrier .cal-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.calendrier .cal-retour{color:var(--color-text-muted);white-space:nowrap;text-decoration:none}.calendrier .cal-retour:hover{color:var(--color-text)}.calendrier .cal-flash{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-flash{background:color-mix(in srgb, var(--color-success) 15%, transparent)}}.calendrier .cal-flash{border:1px solid var(--color-success)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-flash{border:1px solid color-mix(in srgb, var(--color-success) 40%, transparent)}}.calendrier .cal-flash-err{background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-flash-err{background:color-mix(in srgb, var(--color-danger) 15%, transparent)}}.calendrier .cal-flash-err{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-flash-err{border-color:color-mix(in srgb, var(--color-danger) 40%, transparent)}}.calendrier .cal-note{color:var(--color-text-muted)}.calendrier .cal-note-special{color:var(--color-warning);font-weight:600}.calendrier .cal-periode{font-family:var(--font-display,inherit);font-size:var(--text-lg);margin:var(--space-4) 0 var(--space-2)}.calendrier .cal-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.calendrier .cal-vues,.calendrier .cal-nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.calendrier .cal-vue-btn,.calendrier .cal-nav-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);text-decoration:none}.calendrier .cal-vue-btn.is-active{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.calendrier .cal-vue-btn:hover,.calendrier .cal-nav-btn:hover{border-color:var(--color-accent)}.calendrier .cal-p0{--t:var(--color-accent);--pc:var(--color-accent)}.calendrier .cal-p1{--t:var(--color-accent-2);--pc:var(--color-accent-2)}.calendrier .cal-p2{--t:var(--color-warning);--pc:var(--color-warning)}.calendrier .cal-p3{--t:var(--color-success);--pc:var(--color-success)}.calendrier .cal-p4{--t:var(--color-danger);--pc:var(--color-danger)}.calendrier .cal-p5{--t:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-p5{--t:color-mix(in srgb, var(--color-accent) 55%, var(--color-accent-2))}}.calendrier .cal-p5{--pc:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-p5{--pc:color-mix(in srgb, var(--color-accent) 55%, var(--color-accent-2))}}.calendrier .cal-p6{--t:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-p6{--t:color-mix(in srgb, var(--color-warning) 55%, var(--color-danger))}}.calendrier .cal-p6{--pc:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-p6{--pc:color-mix(in srgb, var(--color-warning) 55%, var(--color-danger))}}.calendrier .cal-p7{--t:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-p7{--t:color-mix(in srgb, var(--color-success) 55%, var(--color-accent-2))}}.calendrier .cal-p7{--pc:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-p7{--pc:color-mix(in srgb, var(--color-success) 55%, var(--color-accent-2))}}.calendrier .cal-tag{font-size:var(--text-xs);border-radius:var(--radius-sm);padding:0 .4em;display:inline-block}.calendrier .cal-tag-type{background:var(--t,var(--color-accent))}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-tag-type{background:color-mix(in srgb, var(--t,var(--color-accent)) 22%, transparent)}}.calendrier .cal-tag-type{color:var(--color-text)}.calendrier .cal-tag-special{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-tag-special{background:color-mix(in srgb, var(--color-warning) 22%, transparent)}}.calendrier .cal-tag-special{color:var(--color-text)}.calendrier .cal-grille{margin-top:var(--space-2);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendrier .cal-jourhead{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-1) 0;text-transform:uppercase}.calendrier .cal-day{min-height:5.5rem;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex;overflow:hidden}.calendrier .cal-day:hover{border-color:var(--color-accent)}.calendrier .cal-day.has-type{border-left:3px solid var(--t);background:var(--t)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-day.has-type{background:color-mix(in srgb, var(--t) 8%, var(--color-surface))}}.calendrier .cal-day.is-weekend{background:var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-day.is-weekend{background:color-mix(in srgb, var(--color-text-muted) 8%, var(--color-bg))}}.calendrier .cal-day.is-hors-annee,.calendrier .cal-day.is-hors-mois{opacity:.45}.calendrier .cal-day.is-today{outline:2px solid var(--color-accent);outline-offset:-2px}.calendrier .cal-day.is-special{border-color:var(--color-warning);background-image:repeating-linear-gradient(45deg, var(--color-warning) 0 2px, var(--color-warning) 2px 9px)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-day.is-special{background-image:repeating-linear-gradient(45deg, var(--color-warning) 0 2px, color-mix(in srgb, var(--color-warning) 20%, transparent) 2px 9px)}}.calendrier .cal-day-num{font-weight:600;font-size:var(--text-sm)}.calendrier .cal-day-apercu{font-size:var(--text-xs);color:var(--color-text-muted)}.calendrier .cal-semaine{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.calendrier .cal-semjour{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);flex-direction:column;gap:2px;text-decoration:none;display:flex}.calendrier .cal-semjour.has-type{border-left:4px solid var(--t)}.calendrier .cal-semjour.is-weekend{opacity:.7}.calendrier .cal-semjour.is-today{outline:2px solid var(--color-accent);outline-offset:-2px}.calendrier .cal-semjour-date{text-transform:capitalize;font-weight:600}.calendrier .cal-semjour-txt{font-size:var(--text-sm);color:var(--color-text-muted)}.calendrier .cal-annee{gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.calendrier .cal-mini-titre{color:var(--color-text);text-transform:capitalize;margin-bottom:var(--space-1);font-weight:600;text-decoration:none;display:block}.calendrier .cal-mini-titre:hover{color:var(--color-accent)}.calendrier .cal-mini-grille{grid-template-columns:repeat(7,1fr);gap:1px}.calendrier .cal-mini-head{text-align:center;color:var(--color-text-muted);font-size:9px}.calendrier .cal-mini-jour{aspect-ratio:1;color:var(--color-text);background:var(--color-surface);border-radius:2px;justify-content:center;align-items:center;font-size:10px;text-decoration:none;display:flex}.calendrier .cal-mini-jour.has-type{background:var(--t);color:var(--color-on-accent)}.calendrier .cal-mini-jour.is-weekend{background:var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-mini-jour.is-weekend{background:color-mix(in srgb, var(--color-text-muted) 12%, var(--color-bg))}}.calendrier .cal-mini-jour.is-hors-mois{opacity:.3}.calendrier .cal-mini-jour.is-special{background-image:repeating-linear-gradient(45deg, var(--color-warning) 0 2px, var(--color-warning) 2px 6px)}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-mini-jour.is-special{background-image:repeating-linear-gradient(45deg, var(--color-warning) 0 2px, color-mix(in srgb, var(--color-warning) 25%, transparent) 2px 6px)}}.calendrier .cal-mini-jour.is-special{box-shadow:inset 0 0 0 1px var(--color-warning)}.calendrier .cal-mini-jour.is-today{outline:2px solid var(--color-accent)}.calendrier .cal-face{margin:var(--space-4) 0}.calendrier .cal-liens{margin:var(--space-2) 0 0;gap:var(--space-1);flex-direction:column;padding:0;list-style:none;display:flex}.calendrier .cal-liens a{color:var(--color-accent);text-decoration:none}.calendrier .cal-liens a:hover{text-decoration:underline}.calendrier-edit .cal-edit-form,.calendrier-edit .cal-special-form,.calendrier-admin .cal-annee-form{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.calendrier-edit fieldset,.calendrier-edit .cal-special-form,.calendrier-admin fieldset{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3)}.calendrier-edit label,.calendrier-admin label{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.calendrier-edit select[multiple]{min-height:8rem}.calendrier-admin .cal-jw{align-items:center;gap:var(--space-2);flex-direction:row}.calendrier .btn-effacer{border:1px solid var(--color-danger);background:0 0}@supports (color:color-mix(in lab, red, red)){.calendrier .btn-effacer{border:1px solid color-mix(in srgb, var(--color-danger) 50%, transparent)}}.calendrier .btn-effacer{color:var(--color-danger)}.calendrier .cal-bande{font-size:var(--text-xs);background:var(--pc,var(--color-accent));border-radius:2px;min-height:.5em;margin-top:auto;padding:0 .3em;line-height:1.3;display:block}@supports (color:color-mix(in lab, red, red)){.calendrier .cal-bande{background:color-mix(in srgb, var(--pc,var(--color-accent)) 30%, transparent)}}.calendrier .cal-bande{border-left:3px solid var(--pc,var(--color-accent));color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendrier .cal-semjour .cal-bande{margin-top:2px;display:inline-block}.calendrier .cal-mini-jour{position:relative}.calendrier .cal-mini-bande{background:var(--pc,var(--color-accent));border-radius:2px;height:3px;position:absolute;bottom:0;left:1px;right:1px}.calendrier .cal-legendes{gap:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-4);flex-wrap:wrap;display:flex}.calendrier .cal-legende h2{font-size:var(--text-md);margin:0 0 var(--space-2)}.calendrier .cal-legende-liste{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendrier .cal-legende-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.calendrier .cal-puce{border-radius:var(--radius-sm);background:var(--pc,var(--color-accent));flex:none;width:1rem;height:1rem;display:inline-block}.calendrier .cal-panel{margin-top:var(--space-5);border-top:1px solid var(--color-border);padding-top:var(--space-4)}.calendrier .cal-panel-liste{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.calendrier .cal-panel-liste li{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.calendrier .cal-chapitre-item{align-items:flex-end}.calendrier .cal-chapitre-item>.cal-bande{align-self:center}.calendrier .cal-chapitre-edit{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendrier .cal-chapitre-edit label{gap:var(--space-1);font-size:var(--text-xs);flex-direction:column;display:flex}.calendrier .cal-inline-form{align-items:flex-end;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.calendrier .cal-inline-form label{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.calendrier .cal-hint{margin-top:var(--space-2);font-size:var(--text-xs)}.calendrier .cal-couleurs{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.calendrier .cal-couleur-opt{cursor:pointer;align-items:center;gap:2px;flex-direction:row!important}.writeups{border-top:1px solid var(--color-border,#ffffff14);margin-top:3rem;padding-top:2rem}.writeups-titre{margin:0 0 .25rem}.writeups-intro{color:var(--color-text-muted);margin:0 0 1.5rem}.writeups-flash{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.writeups-flash{background:color-mix(in srgb, var(--color-success) 18%, var(--color-surface))}}.writeups-flash{border:1px solid var(--color-success);color:var(--color-text);border-radius:8px;margin:0 0 1.25rem;padding:.6rem 1rem}.writeups-vide{color:var(--color-text-muted);margin:0 0 1.5rem;font-style:italic}.writeup-galerie{gap:1.25rem;margin-bottom:2rem;display:grid}.writeup-carte{background:var(--color-surface);border:1px solid var(--color-border,#ffffff0f);border-radius:12px;padding:1.25rem 1.5rem}.writeup-carte-tete{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.writeup-carte-titre{font-size:1.1rem;font-weight:700}.writeup-carte-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.writeup-pill{background:var(--color-text-muted);border-radius:999px;padding:.15rem .6rem;font-size:.78rem}@supports (color:color-mix(in lab, red, red)){.writeup-pill{background:color-mix(in srgb, var(--color-text-muted) 22%, transparent)}}.writeup-pill{color:var(--color-text)}.writeup-pill-cat{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.writeup-pill-cat{background:color-mix(in srgb, var(--color-accent) 26%, transparent)}}.writeup-auteur{color:var(--color-text-muted);font-size:.85rem}.writeup-corps{margin-top:.5rem}.writeup-carte-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.writeup-form{background:var(--color-surface);border:1px solid var(--color-border,#ffffff0f);border-radius:12px;padding:1.5rem}.writeup-form-titre{margin:0 0 1rem}.writeup-champ{flex-direction:column;flex:12rem;gap:.35rem;margin-bottom:1rem;display:flex}.writeup-champ label{font-size:.9rem;font-weight:600}.writeup-ligne{flex-wrap:wrap;gap:1rem;display:flex}.writeup-champ input,.writeup-champ select,.writeup-champ textarea{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border,#ffffff26);font:inherit;border-radius:8px;width:100%;padding:.55rem .75rem}.writeup-erreur{color:var(--color-danger);font-size:.85rem}.writeup-form-actions{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.writeup-btn{cursor:pointer}.writeup-btn-primaire{background:var(--gradient-accent,var(--color-accent));color:var(--color-on-accent);border:none}.writeup-btn-danger{border:1px solid var(--color-danger);color:var(--color-danger);background:0 0}.writeup-edit-page{max-width:900px;margin:2rem auto}.writeup-retour{margin-bottom:.5rem}.writeups-entete{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.writeups-lien-banque{white-space:nowrap;font-size:.9rem}.writeup-cours{color:var(--color-accent);font-size:.85rem}.writeups-banque{max-width:60rem;margin:2rem auto}.banque-bascule{background:var(--color-surface);border:1px solid var(--color-border,#ffffff14);border-radius:10px;gap:.25rem;margin:1rem 0;padding:.25rem;display:inline-flex}.banque-onglet{color:var(--color-text-muted);border-radius:7px;padding:.4rem 1rem;text-decoration:none}.banque-onglet.is-actif{background:var(--gradient-accent,var(--color-accent));color:var(--color-on-accent);font-weight:600}.banque-filtres{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.banque-filtres input[type=search],.banque-filtres select{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border,#ffffff26);font:inherit;border-radius:8px;padding:.5rem .75rem}.banque-filtres input[type=search]{flex:16rem}.banque-reinit{color:var(--color-text-muted);font-size:.85rem}.banque-groupe{margin-bottom:2rem}.banque-groupe-titre{border-bottom:1px solid var(--color-border,#ffffff14);align-items:center;gap:.6rem;margin:0 0 1rem;padding-bottom:.4rem;font-size:1.15rem;display:flex}.banque-compte{color:var(--color-text-muted);background:var(--color-text-muted);font-size:.8rem}@supports (color:color-mix(in lab, red, red)){.banque-compte{background:color-mix(in srgb, var(--color-text-muted) 20%, transparent)}}.banque-compte{border-radius:999px;padding:.05rem .55rem}@media print{.writeup-form,.writeup-carte-actions,.banque-bascule,.banque-filtres,.writeups-lien-banque{display:none}}.cm-editor .cm-cursor,.cm-editor .cm-dropCursor{border-left-color:var(--color-text)}.cm-editor .cm-content{caret-color:var(--color-text)}.python-console{margin:var(--space-5) 0;gap:var(--space-2);display:grid}.python-console-fallback{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);margin:0;overflow:auto}.python-console.is-enhanced .python-console-fallback{display:none}.python-console-editor{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.python-console-editor .cm-editor{min-height:15rem;max-height:32rem;font-family:var(--font-mono);font-size:var(--text-sm)}.python-console-editor .cm-editor.cm-focused{outline:none}.python-console-editor .cm-focused{box-shadow:inset 0 0 0 2px var(--color-accent)}.python-console-editor .cm-activeLine,.python-console-editor .cm-activeLineGutter{background-color:#0000}.python-console-controls{align-items:center;gap:var(--space-3);display:flex}.python-console-run{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--gradient-accent);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;border:0}.python-console-run:disabled{opacity:.6;cursor:progress}.python-console-run:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.python-console-hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.python-console-stdin-wrap{gap:var(--space-1);display:grid}.python-console-stdin-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.python-console-stdin{min-height:2.4rem;max-height:12rem;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text);resize:vertical;line-height:1.5;overflow:auto}.python-console-stdin:focus-visible{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);outline:none}.python-console-stdin::placeholder{color:var(--color-text-muted);opacity:.7}.python-console-stdin-help{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.python-console-output{min-height:2.5rem;padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;color:var(--color-text);margin:0}.python-console-output.has-error{color:var(--color-accent-3);border-color:var(--color-accent-3)}@supports (color:color-mix(in lab, red, red)){.python-console-output.has-error{border-color:color-mix(in srgb, var(--color-accent-3) 45%, transparent)}}.python-console-retry{padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;justify-self:start;display:none}.python-console.has-load-error .python-console-retry{display:inline-block}.python-console-retry:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.python-console-source{margin:var(--space-6) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;overflow:hidden}.python-console-accent{background:var(--color-accent);flex:0 0 4px}.python-console-source.is-example .python-console-accent{background:var(--color-accent)}.python-console-source.is-exercise .python-console-accent{background:var(--color-accent-2)}.python-console-body{gap:var(--space-3);min-width:0;padding:var(--space-4);flex:auto;display:grid}.python-console-header{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.python-console-favori{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);margin-left:auto}.python-console-badge{justify-self:start;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);background:var(--color-accent);padding:.25rem .6rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.python-console-badge{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.python-console-source.is-exercise .python-console-badge{color:var(--color-accent-2);background:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.python-console-source.is-exercise .python-console-badge{background:color-mix(in srgb, var(--color-accent-2) 12%, var(--color-surface))}}.python-console-glyph{opacity:.75}.python-console-static{padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm);margin:0;overflow:auto}.python-console-open{padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;justify-self:start;display:none}.python-console-source.is-exercise .python-console-open{border-color:var(--color-accent-2);color:var(--color-accent-2)}.python-console-source.is-enhanced .python-console-open{display:inline-block}.python-console-open:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.python-console-host{display:none}.python-console-source.is-open .python-console-host{display:block}.python-console-host .python-console{margin:0}.python-console-source.is-open .python-console-static{display:none}@media print{.python-console-editor,.python-console-stdin-wrap,.python-console-controls,.python-console-output,.python-console-retry,.python-console-open,.python-console-source.is-open .python-console-host,.python-console-host{display:none!important}.python-console-source.is-open .python-console-static,.python-console-static,.python-console.is-enhanced .python-console-fallback{display:block!important}}.sql-console-source{margin:var(--space-4) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;overflow:hidden}.sql-console-accent{background:var(--color-accent);flex:0 0 4px}.sql-console-source.is-exercise .sql-console-accent{background:var(--color-accent-2)}.sql-console-body{min-width:0;padding:var(--space-3);flex:auto}.sql-console-header{margin-bottom:var(--space-2)}.sql-console-badge{font-family:var(--font-mono);letter-spacing:.06em;border-radius:var(--radius-sm);color:var(--color-accent);background:var(--color-accent);padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}@supports (color:color-mix(in lab, red, red)){.sql-console-badge{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.sql-console-source.is-exercise .sql-console-badge{color:var(--color-accent-2);background:var(--color-accent-2)}@supports (color:color-mix(in lab, red, red)){.sql-console-source.is-exercise .sql-console-badge{background:color-mix(in srgb, var(--color-accent-2) 12%, var(--color-surface))}}.sql-console-glyph{opacity:.75}.sql-console-static{margin:0;overflow-x:auto}.sql-console-open{margin-top:var(--space-2);font-family:var(--font-mono);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.3rem .75rem;font-size:.8rem;display:none}.sql-console-source.is-exercise .sql-console-open{color:var(--color-accent-2);border-color:var(--color-accent-2)}.sql-console-source.is-enhanced .sql-console-open{display:inline-block}.sql-console-open:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sql-console-host{display:none}.sql-console-source.is-open .sql-console-host{display:block}.sql-console-source.is-open .sql-console-static{display:none}.sql-console-editor{margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.sql-console-editor:focus-within{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.sql-console-controls{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.sql-console-run,.sql-console-reset,.sql-console-retry{font-family:var(--font-mono);border-radius:var(--radius-sm);cursor:pointer;padding:.3rem .75rem;font-size:.8rem}.sql-console-run{color:var(--color-on-accent);background:var(--color-accent);border:1px solid var(--color-accent)}.sql-console-run:disabled{opacity:.55;cursor:default}.sql-console-reset{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.sql-console-reset:hover{color:var(--color-text);border-color:var(--color-text-muted)}.sql-console-hint{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.7rem}.sql-console-retry{margin-top:var(--space-2);color:var(--color-accent);border:1px solid var(--color-accent);background:0 0;display:none}.sql-console.has-load-error .sql-console-retry{display:inline-block}.sql-console-resultat{margin-top:var(--space-2);font-size:.85rem}.sql-console-resultat:empty{display:none}.sql-console-message,.sql-console-compte{margin:var(--space-1) 0 0;font-family:var(--font-mono);color:var(--color-text-muted);font-size:.75rem}.sql-console-erreur{padding:var(--space-2);font-family:var(--font-mono);color:var(--color-danger);background:var(--color-danger);margin:0;font-size:.78rem}@supports (color:color-mix(in lab, red, red)){.sql-console-erreur{background:color-mix(in srgb, var(--color-danger) 8%, transparent)}}.sql-console-erreur{border:1px solid var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.sql-console-erreur{border:1px solid color-mix(in srgb, var(--color-danger) 45%, transparent)}}.sql-console-erreur{border-radius:var(--radius-sm)}.sql-console-grille-cadre{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-x:auto}.sql-console-grille{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.78rem}.sql-console-grille th,.sql-console-grille td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border);padding:.3rem .6rem}.sql-console-grille th{color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.sql-console-grille th{background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface))}}.sql-console-grille th{font-weight:600}.sql-console-grille tbody tr:last-child td{border-bottom:0}.sql-console-grille td.is-null{color:var(--color-text-muted);font-style:italic}@media print{.sql-console-editor,.sql-console-controls,.sql-console-resultat,.sql-console-retry,.sql-console-open,.sql-console-source.is-open .sql-console-host,.sql-console-host{display:none!important}.sql-console-source.is-open .sql-console-static,.sql-console-static{display:block!important}}.prose p:has(>img:only-child){text-align:center}.prose p:has(>img:nth-of-type(2)){flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;display:flex}.prose p>img,.prose figure>img{max-width:100%;margin-left:auto;margin-right:auto;display:block}.prose p:has(>img:nth-of-type(2))>img{max-width:calc(50% - 1rem);margin:0}.prose figure.hero img,.prose img[src*=-hero\.]{border:3px solid var(--ch-bord-teinte);background:#fff;border-radius:44px;max-width:66%;margin:0 auto;padding:6px;display:block;box-shadow:0 6px 20px #1f7fd02e}.deroule-card{box-sizing:border-box;border-radius:1rem;width:100%;max-width:100%;margin:2rem 0;padding:1.25rem 1.5rem;overflow:hidden;box-shadow:0 10px 30px -5px #00000080,0 0 15px #3ed4ff1f;color:#e2e8f0!important;background:#0b1020!important;border:1px solid #3ed4ff59!important}.deroule-header{border-bottom:1px solid #8aa0c72e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.875rem;padding-bottom:.625rem;display:flex}.deroule-title{align-items:center;gap:.5rem;display:flex;color:#3ed4ff!important;font-size:1rem!important;font-weight:700!important}.deroule-title *{color:inherit!important}.deroule-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.8125rem;font-weight:700;display:inline-flex;color:#3ed4ff!important;background:#3ed4ff1f!important;border:1px solid #3ed4ff59!important}.deroule-streak{border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.8125rem;font-weight:700;display:inline-flex;color:#f0a24d!important;background:#f0a24d26!important;border:1px solid #f0a24d59!important}.deroule-instruction{margin-bottom:.875rem;line-height:1.5;color:#e2e8f0!important;font-size:.9375rem!important}.deroule-instruction *{color:inherit}.deroule-code-box{border-radius:.625rem;margin-bottom:1.25rem;padding:.875rem 1.125rem;position:relative;box-shadow:inset 0 2px 6px #0009;background:#070c18!important;border:1px solid #1e293b!important}.deroule-code-tag{text-transform:uppercase;letter-spacing:.08em;border-radius:.25rem;padding:.12rem .4rem;font-size:.625rem;font-weight:700;position:absolute;top:.4rem;right:.6rem;color:#64748b!important;background:#1e293bcc!important;border:1px solid #64748b4d!important}.deroule-code-box pre{overflow-x:auto;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important}.deroule-code-box code{display:block;color:#f8fafc!important;background:0 0!important;border:none!important;padding:0!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important;font-size:.95rem!important;line-height:1.6!important}.deroule-code-box .keyword{font-weight:700;color:#c084fc!important}.deroule-code-box .variable{font-weight:600;color:#38bdf8!important}.deroule-code-box .number{font-weight:600;color:#4ade80!important}.deroule-code-box .string{font-weight:500;color:#fb923c!important}.deroule-code-box .operator{padding:0 .15rem;font-weight:800;color:#f43f5e!important}.deroule-code-box .punct{font-weight:500;color:#cbd5e1!important}.deroule-code-box .comment{font-style:italic;color:#64748b!important}.deroule-table-wrapper{box-sizing:border-box;border-radius:.625rem;width:100%;max-width:100%;overflow-x:auto;background:#070c18!important;border:1px solid #8aa0c740!important}.deroule-table{border-collapse:collapse;text-align:center;table-layout:auto;width:100%;font-size:.8125rem}.deroule-table th{color:#3ed4ff!important;text-transform:uppercase!important;letter-spacing:.03em!important;vertical-align:middle!important;background:#102a45!important;border-bottom:2px solid #3ed4ff59!important;padding:.6rem .5rem!important;font-size:.75rem!important;font-weight:700!important;line-height:1.4!important}.deroule-table th *{color:inherit}.deroule-table th code{color:#38bdf8!important;text-transform:none!important;background:#071526!important;border:1px solid #3ed4ff66!important;border-radius:.3rem!important;margin-bottom:.2rem!important;padding:.15rem .45rem!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:.88em!important;font-weight:700!important;display:inline-block!important}.deroule-table td{vertical-align:middle!important;color:#e2e8f0!important;border-bottom:1px solid #8aa0c71f!important;padding:.5rem .4rem!important}.deroule-table tr:last-child td{border-bottom:none!important}.deroule-table tr:nth-child(2n){background:#ffffff05}.deroule-col-tour{text-align:center;width:72px;min-width:60px;max-width:80px;font-size:.8125rem;font-weight:700;color:#38bdf8!important}.deroule-input{text-align:center;box-sizing:border-box;border-radius:.3rem;width:100%;max-width:110px;font-family:inherit;font-weight:600;transition:all .2s;display:inline-block;color:#fff!important;background:#0b1020!important;border:1px solid #8aa0c766!important;padding:.4rem .5rem!important;font-size:.8125rem!important}.deroule-input:focus{outline:none;border-color:#3ed4ff!important;box-shadow:0 0 0 2px #3ed4ff59!important}.deroule-select{cursor:pointer;box-sizing:border-box;text-align:center;border-radius:.3rem;width:100%;max-width:145px;font-family:inherit;font-weight:600;transition:all .2s;display:inline-block;color:#fff!important;background:#0b1020!important;border:1px solid #8aa0c766!important;padding:.4rem .5rem!important;font-size:.8125rem!important}.deroule-select:focus{outline:none;border-color:#3ed4ff!important;box-shadow:0 0 0 2px #3ed4ff59!important}.deroule-cell-correct{color:#6ee7b7!important;background-color:#10b98133!important;border-color:#10b981!important;box-shadow:0 0 0 1px #10b981!important}.deroule-cell-wrong{color:#fca5a5!important;background-color:#ef444433!important;border-color:#ef4444!important;box-shadow:0 0 0 1px #ef4444!important}.deroule-footer{border-top:1px solid #8aa0c726;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.875rem;display:flex}.deroule-btn-check{cursor:pointer;align-items:center;gap:.35rem;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 2px 10px #3ed4ff59;color:#031018!important;background:linear-gradient(135deg,#1e9fff,#3ed4ff)!important;border:none!important;border-radius:.45rem!important;padding:.5rem 1.25rem!important;font-size:.8125rem!important;font-weight:700!important}.deroule-btn-check:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 14px #3ed4ff80}.deroule-btn-check:active{transform:translateY(0)}.deroule-btn-next{cursor:pointer;align-items:center;gap:.35rem;transition:background .2s,border-color .2s;display:inline-flex;color:#e6f1ff!important;background:#8aa0c726!important;border:1px solid #8aa0c74d!important;border-radius:.45rem!important;padding:.5rem 1.25rem!important;font-size:.8125rem!important;font-weight:600!important}.deroule-btn-next:hover{background:#8aa0c740!important;border-color:#3ed4ff80!important}.deroule-feedback{border-radius:.45rem;margin-top:1rem;padding:.75rem 1rem;font-size:.8125rem;line-height:1.45;animation:.3s fadeIn}.deroule-feedback.success{color:#6ee7b7!important;background:#10b98126!important;border:1px solid #10b98159!important}.deroule-feedback.error{color:#fca5a5!important;background:#ef444426!important;border:1px solid #ef444459!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.defi-card{box-sizing:border-box;border-radius:1rem;width:100%;max-width:100%;margin:2rem 0;padding:1.25rem 1.5rem;box-shadow:0 10px 30px -5px #00000080,0 0 15px #7c5cff1f;color:#e2e8f0!important;background:#0b1020!important;border:1px solid #7c5cff59!important}.defi-header{border-bottom:1px solid #8aa0c72e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.defi-title{align-items:center;gap:.5rem;display:flex;color:#c084fc!important;font-size:1rem!important;font-weight:700!important}.defi-streak{border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .8rem;font-size:.8125rem;font-weight:700;display:inline-flex;color:#f0a24d!important;background:#f0a24d26!important;border:1px solid #f0a24d59!important}.defi-mission{border-radius:.5rem;margin-bottom:1rem;padding:.875rem 1rem;color:#f1f5f9!important;background:#17255466!important;border:1px solid #38bdf84d!important;border-left:4px solid #38bdf8!important;font-size:.9375rem!important;line-height:1.6!important;display:block!important}.defi-mission *{color:inherit}.defi-mission strong{font-weight:700;color:#38bdf8!important}.defi-mission code,.defi-card code{font-weight:600;display:inline-block;color:#38bdf8!important;background:#0f172a!important;border:1px solid #38bdf84d!important;border-radius:.25rem!important;padding:.15rem .4rem!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:.88em!important}.defi-editor-wrap{border-radius:.625rem;margin-bottom:1rem;overflow:hidden;box-shadow:inset 0 2px 6px #0009;background:#070c18!important;border:1px solid #334155!important;flex-direction:row!important;display:flex!important}.defi-line-numbers{text-align:right;-webkit-user-select:none;user-select:none;box-sizing:border-box;overflow:hidden;color:#64748b!important;background:#0b1020!important;border-right:1px solid #1e293b!important;flex-direction:column!important;width:44px!important;min-width:44px!important;padding:.75rem .4rem!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important;font-size:.95rem!important;line-height:1.6!important;display:flex!important}.defi-line-numbers span{height:1.6em!important;line-height:1.6em!important;display:block!important}.defi-textarea{resize:vertical;box-sizing:border-box;tab-size:4;min-height:150px;color:#f8fafc!important;background:0 0!important;border:none!important;outline:none!important;flex:1!important;padding:.75rem .85rem!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important;font-size:.95rem!important;line-height:1.6!important}.defi-console-preview{border-radius:.5rem;box-shadow:inset 0 2px 5px #000000b3;background:#050810!important;border:1px solid #1e293b!important;margin-bottom:1rem!important;padding:.75rem 1rem!important}.defi-console-label{text-transform:uppercase!important;letter-spacing:.05em!important;color:#64748b!important;margin-bottom:.35rem!important;font-family:ui-monospace,monospace!important;font-size:.75rem!important;font-weight:700!important;display:block!important}.defi-console-output{color:#38bdf8!important;white-space:pre-wrap!important;word-break:break-word!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:.9rem!important;line-height:1.5!important}.defi-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.defi-btn-run{cursor:pointer;align-items:center;gap:.4rem;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 2px 10px #7c5cff59;color:#fff!important;background:linear-gradient(135deg,#7c5cff,#3ed4ff)!important;border:none!important;border-radius:.45rem!important;padding:.5rem 1.25rem!important;font-size:.8125rem!important;font-weight:700!important}.defi-btn-run:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 14px #7c5cff80}.defi-btn-run:disabled{opacity:.6;cursor:not-allowed}.defi-btn-next{cursor:pointer;align-items:center;gap:.4rem;transition:background .2s,border-color .2s;display:inline-flex;color:#e6f1ff!important;background:#8aa0c726!important;border:1px solid #8aa0c74d!important;border-radius:.45rem!important;padding:.5rem 1.25rem!important;font-size:.8125rem!important;font-weight:600!important}.defi-btn-next:hover{background:#8aa0c740!important;border-color:#a78bfa80!important}.defi-feedback{border-radius:.5rem;margin-top:1rem;padding:.85rem 1.125rem;font-size:.875rem;line-height:1.5;animation:.3s fadeIn}.defi-feedback.success{color:#6ee7b7!important;background:#10b98126!important;border:1px solid #10b98159!important}.defi-feedback.error{color:#fca5a5!important;background:#ef444426!important;border:1px solid #ef444459!important}.defi-feedback.running{color:#7dd3fc!important;background:#38bdf826!important;border:1px solid #38bdf859!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
