*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Roboto,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-x-0{left:0;right:0}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.right-0{right:0}.right-4{right:1rem}.right-5{right:1.25rem}.top-0{top:0}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-\[360px\]{height:360px}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:16rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-\[2px\]{width:2px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[200px\]{min-width:200px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[7rem\]{max-width:7rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.scroll-mt-20{scroll-margin-top:5rem}.scroll-mt-24{scroll-margin-top:6rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-16{padding-bottom:4rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pr-1\.5{padding-right:.375rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-2\.5{padding-top:.625rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.font-sans{font-family:Roboto,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#00d977\]{--tw-text-opacity:1;color:rgb(0 217 119/var(--tw-text-opacity,1))}.text-\[\#4fc3f7\]{--tw-text-opacity:1;color:rgb(79 195 247/var(--tw-text-opacity,1))}.text-\[\#626262\]{--tw-text-opacity:1;color:rgb(98 98 98/var(--tw-text-opacity,1))}.text-\[\#9f9fa0\]{--tw-text-opacity:1;color:rgb(159 159 160/var(--tw-text-opacity,1))}.text-\[\#e7b3e0\]{--tw-text-opacity:1;color:rgb(231 179 224/var(--tw-text-opacity,1))}.text-\[\#e8e6e1\]{--tw-text-opacity:1;color:rgb(232 230 225/var(--tw-text-opacity,1))}.text-\[\#ffa500\]{--tw-text-opacity:1;color:rgb(255 165 0/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.invert{--tw-invert:invert(100%);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-blur{--tw-backdrop-blur:blur(8px);-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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#08070c;--bg-elevated:#0c0b12;--surface:#121118;--surface-hover:#19171f;--border:#221f2b;--border-strong:#322e3f;--ink:#f3f2f7;--ink-dim:#b9b5c6;--muted:#847e9a;--accent-from:#8c8cfa;--accent-to:#e7b3e0;--accent-solid:#a99df8;--on-accent:#0a0910;--code-bg:#0a0910;--code-ink:#e7e4f0;--success:#3ecf8e;--danger:#f2685f;--warning:#e0ac3f}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--ink);overflow-x:hidden}:focus-visible{outline:2px solid var(--accent-solid);outline-offset:2px;border-radius:4px}.accent-gradient{background:linear-gradient(135deg, var(--accent-from), var(--accent-to))}.accent-gradient-text{background:linear-gradient(135deg, var(--accent-from), var(--accent-to));color:#0000;-webkit-background-clip:text;background-clip:text}.badge{letter-spacing:.02em;text-transform:uppercase;color:var(--ink);background:#f3f2f71a;border-radius:999px;justify-content:center;align-items:center;padding:.32rem .6rem;font-size:.72rem;font-weight:400;line-height:1;transition-property:background-color,transform;transition-duration:.15s;transition-timing-function:ease-out;display:inline-flex}.badge:hover{background:#f3f2f729}.badge:active{transform:scale(.96)}.badge-easy{color:#6fdba7;background:#6fdba724}.badge-medium{color:var(--warning);background:#e0ac3f24}.badge-hard{color:var(--danger);background:#f2685f24}.badge-success{color:var(--success);background:#3ecf8e24}.badge-premium{color:var(--on-accent);background:linear-gradient(135deg, var(--accent-from), var(--accent-to))}.panel{border:1px solid var(--border);background:var(--surface);border-radius:.375rem;box-shadow:0 1px 2px #0006,0 8px 24px -14px #8b5cf640}.btn-ghost{background:0 0;transition-property:background-color,border-color,transform;transition-duration:.15s;transition-timing-function:ease-out}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.btn-ghost:active:not(:disabled){transform:scale(.96)}.btn-primary{color:var(--on-accent);transition-property:opacity,transform,box-shadow;transition-duration:.15s;transition-timing-function:ease-out;box-shadow:0 1px 2px #0006,0 8px 20px -8px #8b5cf659}.btn-primary:hover:not(:disabled){opacity:.92;box-shadow:0 1px 2px #0006,0 10px 26px -8px #8b5cf680}.btn-primary:active:not(:disabled){transform:scale(.96)}.btn-primary:disabled{box-shadow:none}.link-quiet{transition-property:color;transition-duration:.15s;transition-timing-function:ease-out}.link-quiet:hover{color:var(--ink)}input[type=checkbox],input[type=radio]{accent-color:var(--accent-solid)}.input{border:1px solid var(--border-strong);color:var(--ink);background:0 0;border-radius:.375rem;padding:.6rem .75rem;font-size:.875rem;transition-property:border-color,background-color;transition-duration:.15s;transition-timing-function:ease-out}.input::placeholder{color:var(--muted)}.input:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.input:disabled{opacity:.6}.row-link{transition-property:background-color,border-color,transform,box-shadow;transition-duration:.15s;transition-timing-function:ease-out}.row-link:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 4px 16px -8px #00000080}.row-link:active{transform:translateY(0)scale(.995)}.nav-link{color:var(--ink-dim);font-size:.875rem;font-weight:700;transition-property:color;transition-duration:.15s;transition-timing-function:ease-out}.nav-link:hover,.nav-link[aria-current=page]{color:var(--ink)}.mobile-nav{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.5rem;box-shadow:0 8px 32px -12px #0009}.dropdown-row{min-height:36px;color:var(--ink-dim);border-radius:.375rem;align-items:center;margin:0 .15rem;padding:0 .6rem;font-size:.8125rem;font-weight:400;transition-property:background-color,color;transition-duration:.15s;transition-timing-function:ease-out;display:flex}.dropdown-row:hover{background:var(--surface-hover);color:var(--ink)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-size:.95rem;font-weight:700;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::marker{content:""}.faq-item .faq-icon{border:1px solid var(--border-strong);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-weight:700;transition-property:transform,background-color;transition-duration:.15s;transition-timing-function:ease-out;display:inline-flex}.faq-item[open] .faq-icon{background:var(--surface-hover);transform:rotate(45deg)}.faq-item .faq-answer{padding-bottom:1.25rem;padding-right:2rem}:root{--tint-blue:#5eb8f0;--tint-blue-bg:#5eb8f024;--tint-violet:#a99df8;--tint-violet-bg:#a99df824;--tint-pink:#e08fd0;--tint-pink-bg:#e08fd024}.halo{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.halo:before,.halo:after{content:"";filter:blur(64px);border-radius:50%;position:absolute}.halo:before{opacity:.35;background:radial-gradient(circle, var(--accent-from), transparent 70%);width:420px;height:420px;top:-160px;right:-120px}.halo:after{opacity:.22;background:radial-gradient(circle, var(--accent-to), transparent 70%);width:360px;height:360px;top:-80px;right:160px}.halo-hero{width:100vw;margin-left:-50vw;left:50%;right:auto}.halo-hero:before{opacity:.3;filter:blur(110px);width:640px;height:640px;top:-260px;right:-8%}.halo-hero:after{opacity:.18;filter:blur(110px);width:560px;height:560px;top:-180px;left:-8%;right:auto}@media (max-width:640px){.halo-hero:before{opacity:.24;filter:blur(70px);width:320px;height:320px;top:-140px}.halo-hero:after{opacity:.16;filter:blur(70px);width:280px;height:280px;top:-100px}}.code-preview{z-index:1;border:1px solid var(--border);background:var(--code-bg);border-radius:.5rem;position:relative;overflow:hidden;box-shadow:0 1px 2px #0006,0 20px 48px -20px #8b5cf64d}.code-preview-bar{border-bottom:1px solid var(--border);align-items:center;gap:.4rem;padding:.6rem .8rem;display:flex}.code-preview-bar span:not(.code-preview-file){background:var(--border-strong);border-radius:50%;width:.6rem;height:.6rem}.code-preview-file{color:var(--muted);margin-left:.5rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:400}.code-preview-body{color:var(--code-ink);margin:0;padding:1.1rem 1.25rem 1.3rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;line-height:1.7;overflow-x:auto}.tok-kw{color:var(--tint-pink);font-weight:700}.tok-ty{color:var(--tint-blue);font-weight:400}.tok-fn{color:var(--tint-violet);font-weight:700}.callout{border:1px solid var(--border);border-left-width:3px;border-radius:.5rem;gap:.75rem;margin:1.25rem 0;padding:.9rem 1rem;display:flex}.callout-piege{border-left-color:var(--danger);background:#f2685f12}.callout-astuce{border-left-color:var(--tint-blue);background:var(--tint-blue-bg)}.callout-retenir{border-left-color:var(--tint-violet);background:var(--tint-violet-bg)}.callout-quand{border-left-color:var(--tint-pink);background:var(--tint-pink-bg)}.callout-icon{border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.callout-piege .callout-icon{color:var(--danger);background:#f2685f29}.callout-astuce .callout-icon{color:var(--tint-blue);background:#5eb8f02e}.callout-retenir .callout-icon{color:var(--tint-violet);background:#a99df82e}.callout-quand .callout-icon{color:var(--tint-pink);background:#e08fd02e}.callout-label{letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem;font-size:.7rem;font-weight:700}.callout-piege .callout-label{color:var(--danger)}.callout-astuce .callout-label{color:var(--tint-blue)}.callout-retenir .callout-label{color:var(--tint-violet)}.callout-quand .callout-label{color:var(--tint-pink)}.callout-body p:last-child{margin-bottom:0}.icon-tile{border:1px solid var(--border);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.icon-tile-blue{color:var(--tint-blue);background:var(--tint-blue-bg);border-color:#5eb8f04d}.icon-tile-violet{color:var(--tint-violet);background:var(--tint-violet-bg);border-color:#a99df84d}.icon-tile-pink{color:var(--tint-pink);background:var(--tint-pink-bg);border-color:#e08fd04d}.icon-tile-sm{border-radius:.4rem;width:1.75rem;height:1.75rem}.stepper{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.stepper-step{color:var(--muted);align-items:center;gap:.5rem;font-size:.8rem;font-weight:400;text-decoration:none;transition-property:color;transition-duration:.15s;transition-timing-function:ease-out;display:inline-flex}.stepper-step:hover{color:var(--ink-dim)}.stepper-step[data-active=true]{color:var(--ink)}.stepper-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.stepper-step[data-active=true] .stepper-dot,.stepper-step[data-done=true] .stepper-dot{background:var(--accent-solid)}.stepper-sep{background:var(--border);flex-shrink:0;width:1.25rem;height:1px}.exercise-step{align-items:center;gap:.4rem;min-height:40px;transition-property:background-color,border-color,transform;transition-duration:.15s;transition-timing-function:ease-out;display:inline-flex}.exercise-step:active:not(:disabled){transform:scale(.97)}.progress-track{background:var(--surface-hover);border-radius:999px;height:.4rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-from), var(--accent-to));border-radius:999px;height:100%;transition:width .3s ease-out}@keyframes xp-toast{0%{opacity:0;transform:translateY(.5rem)}10%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(.25rem)}}.xp-toast{animation:2.6s ease-out forwards xp-toast}@media (prefers-reduced-motion:reduce){.xp-toast{animation:none}}@keyframes enter-fade{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.enter-fade{animation:.2s ease-out enter-fade}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.pop-in{animation:.24s ease-out pop-in}@media (prefers-reduced-motion:reduce){.enter-fade,.pop-in{animation:none}}.modal-overlay{z-index:50;background:#08070cb3;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out enter-fade;display:flex;position:fixed;inset:0}.modal-panel{width:100%;max-width:28rem;animation:.18s ease-out pop-in}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-panel{animation:none}}.legal-body h2{color:var(--ink);letter-spacing:-.01em;margin-top:2.25rem;margin-bottom:.75rem;font-size:1.125rem;font-weight:700}.legal-body h2:first-child{margin-top:0}.legal-body h3{color:var(--ink);margin-top:1.5rem;margin-bottom:.5rem;font-size:.95rem;font-weight:700}.legal-body p{margin-bottom:.9rem}.legal-body ul{margin-bottom:.9rem;padding-left:1.25rem;list-style:outside}.legal-body ul li{margin-bottom:.4rem}.legal-body strong{color:var(--ink)}.legal-body a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.legal-body a:hover{color:var(--accent-solid)}.legal-body table{border-collapse:collapse;width:100%;margin:.5rem 0 1.5rem;font-size:.8125rem}.legal-body th,.legal-body td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .65rem}.legal-body th{color:var(--ink);background:var(--surface);font-weight:700}.legal-body>.callout{margin:0 0 1.75rem}@keyframes print-glitch{0%{transform:scale(1)}35%{transform:scale(1.015)}to{transform:scale(1)}}.print-glitch{animation:.4s ease-out print-glitch}@media (prefers-reduced-motion:reduce){.print-glitch{animation:none}}.premium-pseudo{align-items:center;gap:.25rem;display:inline-flex}.premium-pseudo-icon{width:.85em;height:.85em;color:var(--accent-to);flex-shrink:0}@keyframes premium-ring-spin{to{transform:rotate(360deg)}}.premium-avatar-ring{position:relative}.premium-avatar-ring:before{content:"";background:conic-gradient(var(--accent-from), var(--accent-to), var(--accent-from));pointer-events:none;border-radius:999px;animation:7s linear infinite premium-ring-spin;position:absolute;inset:-2.5px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#fff calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#fff calc(100% - 2px))}@media (prefers-reduced-motion:reduce){.premium-avatar-ring:before{animation:none}}.panel-premium{background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(135deg, var(--accent-from), var(--accent-to)) border-box;border:1px solid #0000;border-radius:.375rem;position:relative;box-shadow:0 1px 2px #0006,0 8px 24px -12px #8b5cf659}@keyframes premium-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.premium-shimmer-bg{background:linear-gradient(120deg,#8c8cfa14,#e7b3e014,#8c8cfa14) 0 0/200% 200%;animation:8s ease-in-out infinite premium-shimmer}@media (prefers-reduced-motion:reduce){.premium-shimmer-bg{background-position:50%;animation:none}}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:inline{display:inline}.sm\:h-\[520px\]{height:520px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1fr_1fr_auto_auto\]{grid-template-columns:1fr 1fr auto auto}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:p-8{padding:2rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:pb-24{padding-bottom:6rem}.md\:pt-10{padding-top:2.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-\[15px\]{font-size:15px}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-20{top:5rem}.lg\:max-h-\[calc\(100vh-6rem\)\]{max-height:calc(100vh - 6rem)}.lg\:w-\[380px\]{width:380px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:items-start{align-items:flex-start}.lg\:gap-16{gap:4rem}.lg\:self-start{align-self:flex-start}.lg\:overflow-y-auto{overflow-y:auto}.lg\:pr-1{padding-right:.25rem}}
