/*! tailwindcss v4.3.3 | 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-border-style:solid;--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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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]){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;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:where(:not(iframe)){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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.hidden{display:none}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.backdrop-filter{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,)}}:root{color-scheme:dark;--bg-base:#05070f;--bg-deep:#080d1d;--halo-a:#38bdf833;--halo-b:#8b5cf629;--halo-c:#2dd4bf1f;--halo-d:#2563eb29;--glass:#ffffff0e;--glass-hi:#ffffff1a;--glass-low:#ffffff09;--glass-border:#ffffff24;--glass-border-hi:#ffffff42;--glass-sheen:#ffffff1c;--glass-blur:18px;--glass-sat:150%;--text:#eef2ff;--text-soft:#c3cce8;--text-mute:#929dc0;--accent:#7dd3fc;--accent-2:#a78bfa;--accent-ink:#052437;--gradient-accent:linear-gradient(120deg, #38bdf8, #818cf8 55%, #2dd4bf);--ok:#4ade80;--warn:#fbbf24;--danger:#fb7185;--r-sm:12px;--r-md:18px;--r-lg:28px;--r-full:999px;--shadow-1:inset 0 1px 0 #ffffff12, 0 18px 40px -26px #020617e6;--shadow-2:inset 0 1px 0 #ffffff17, 0 34px 80px -38px #020617;--ring:0 0 0 3px #7dd3fc73;--maxw:1200px;--pad:clamp(1rem, 2.5vw, 2rem);--font-sans:"Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"Cascadia Code", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}[data-theme=light]{color-scheme:light;--bg-base:#e7edfb;--bg-deep:#f2f6ff;--halo-a:#0ea5e942;--halo-b:#7c3aed33;--halo-c:#0d94882e;--halo-d:#2563eb2e;--glass:#ffffff8c;--glass-hi:#ffffffc7;--glass-low:#ffffff5c;--glass-border:#0f172a1f;--glass-border-hi:#0f172a38;--glass-sheen:#ffffffd9;--glass-blur:16px;--glass-sat:130%;--text:#0d1630;--text-soft:#2e3c5c;--text-mute:#59678c;--accent:#0369a1;--accent-2:#6d28d9;--accent-ink:#f8fbff;--gradient-accent:linear-gradient(120deg, #0284c7, #6366f1 55%, #0d9488);--shadow-1:inset 0 1px 0 #ffffffd9, 0 18px 40px -28px #0f172a73;--shadow-2:inset 0 1px 0 #fffffff2, 0 34px 80px -40px #0f172a80;--ring:0 0 0 3px #0284c759}@media (prefers-contrast:more){:root{--glass:#ffffff1f;--glass-border:#fff6;--glass-border-hi:#fff9;--text-mute:#aab4d4}[data-theme=light]{--glass:#ffffffd9;--glass-border:#0f172a59;--glass-border-hi:#0f172a8c;--text-mute:#3f4c6d}}html{scroll-behavior:smooth;background-color:var(--bg-base);background-image:radial-gradient(900px 620px at 10% -8%, var(--halo-a), transparent 62%), radial-gradient(820px 620px at 90% 2%, var(--halo-b), transparent 64%), radial-gradient(1100px 760px at 50% 118%, var(--halo-c), transparent 62%), linear-gradient(180deg, var(--bg-deep), var(--bg-base) 72%);background-attachment:fixed;min-height:100vh}body{min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.65}body:after{content:"";z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.orb{z-index:-2;pointer-events:none;filter:blur(60px);opacity:.55;border-radius:50%;position:fixed}.orb-a{background:radial-gradient(circle, var(--halo-a), transparent 68%);width:520px;height:520px;animation:26s ease-in-out infinite alternate orb-drift-a;top:-180px;left:-120px}.orb-b{background:radial-gradient(circle, var(--halo-b), transparent 68%);width:620px;height:620px;animation:32s ease-in-out infinite alternate orb-drift-b;bottom:-200px;right:-160px}@keyframes orb-drift-a{to{transform:translate(80px,60px)scale(1.12)}}@keyframes orb-drift-b{to{transform:translate(-70px,-50px)scale(1.08)}}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;margin:0 0 .6em;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{margin-top:1.6em;font-size:clamp(1.5rem,3vw,2.1rem)}h3{margin-top:1.4em;font-size:clamp(1.15rem,2vw,1.4rem)}p{margin:0 0 1em}ul,ol{margin:0 0 1em;padding-left:1.5em}ul{list-style:outside}ol{list-style:decimal}li{margin:.3em 0}li::marker{color:var(--accent)}a{color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){a{-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}}a{text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}strong{color:var(--text)}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}code{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:.12em .4em}pre{border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--bg-deep);margin:1.1em 0;padding:1rem 1.1rem;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){pre{background:color-mix(in srgb, var(--bg-deep) 72%, transparent)}}pre{-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-1)}pre code{-webkit-backdrop-filter:none;background:0 0;border:0;padding:0}blockquote{border-left:3px solid var(--accent);color:var(--text-soft);margin:1.4em 0;padding:.2em 1.2em}hr{border:0;border-top:1px solid var(--glass-border);margin:2.4em 0}table{border-collapse:collapse;width:100%;margin:1.4em 0}th,td{text-align:left;border-bottom:1px solid var(--glass-border);padding:.6em .8em}th{color:var(--text-soft);font-size:.92em;font-weight:600}::selection{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}}:focus-visible{box-shadow:var(--ring);border-radius:var(--r-sm);outline:none}.skip-link{z-index:100;border-radius:var(--r-sm);background:var(--glass-hi);border:1px solid var(--glass-border-hi);-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text);padding:.6rem 1rem;transition:transform .15s;position:fixed;top:.6rem;left:.6rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orb{animation:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=768px){body{background-attachment:scroll}.orb{filter:blur(44px)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass:#11182deb;--glass-hi:#18213af2;--glass-low:#0e1426e6}[data-theme=light]{--glass:#fffffff0;--glass-hi:#fffffffa;--glass-low:#f8faffeb}}.glass{border:1px solid var(--glass-border);border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));box-shadow:var(--shadow-1);position:relative}.glass:before{content:"";border-radius:inherit;background:linear-gradient(90deg, transparent, var(--glass-sheen), transparent);pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.glass-strong{background:var(--glass-hi);box-shadow:var(--shadow-2)}.glass-soft{background:var(--glass-low)}.card{color:inherit;padding:1.4rem 1.5rem;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:block}a.card:hover,a.card:focus-visible{border-color:var(--glass-border-hi);box-shadow:var(--shadow-2);transform:translateY(-3px)}.card h3{margin:0 0 .35em;font-size:1.12rem}.card p{color:var(--text-soft);margin:0;font-size:.95em}.card-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.55em;font-size:.74rem;font-weight:700;display:block}.btn{border:1px solid var(--glass-border-hi);border-radius:var(--r-full);background:var(--glass-hi);-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--text);cursor:pointer;align-items:center;gap:.5rem;padding:.72rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-flex}.btn:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.btn-primary{background:var(--gradient-accent);color:var(--accent-ink);border-color:#0000}.btn-ghost{border-color:var(--glass-border);background:0 0}.badge,.chip{border:1px solid var(--glass-border);border-radius:var(--r-full);background:var(--glass);color:var(--text-soft);letter-spacing:.02em;align-items:center;gap:.4rem;padding:.28rem .8rem;font-size:.78rem;font-weight:600;display:inline-flex}.chip-ok{color:var(--ok);border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){.chip-ok{border-color:color-mix(in srgb, var(--ok) 45%, transparent)}}.chip-warn{color:var(--warn);border-color:var(--warn)}@supports (color:color-mix(in lab, red, red)){.chip-warn{border-color:color-mix(in srgb, var(--warn) 45%, transparent)}}.chip-danger{color:var(--danger);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.chip-danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}}kbd{border:1px solid var(--glass-border-hi);background:var(--glass-hi);border-bottom-width:2px;border-radius:7px;padding:.15em .5em;font-size:.85em}.callout{border:1px solid var(--glass-border);border-left:4px solid var(--accent);border-radius:var(--r-md);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur));margin:1.1rem 0;padding:1rem 1.2rem 1rem 1.4rem}.callout>:last-child{margin-bottom:0}.callout-title{margin-bottom:.25em;font-weight:700;display:block}.callout-info{border-left-color:var(--accent)}.callout-ok{border-left-color:var(--ok)}.callout-warn{border-left-color:var(--warn)}.callout-danger{border-left-color:var(--danger)}.site-header{z-index:50;border-bottom:1px solid var(--glass-border);background:var(--bg-deep);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg-deep) 55%, transparent)}}.site-header{-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 6px)) saturate(var(--glass-sat))}.header-inner{max-width:var(--maxw);padding:.7rem var(--pad);align-items:center;gap:1rem;margin:0 auto;display:flex}.brand{color:var(--text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.65rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--gradient-accent);width:34px;height:34px;color:var(--accent-ink);box-shadow:var(--shadow-1);border-radius:11px;place-items:center;font-size:1rem;display:grid}.brand-name small{color:var(--text-mute);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:600;display:block}.header-nav{align-items:center;gap:.15rem;margin-left:auto;display:flex}.header-nav a{border-radius:var(--r-full);color:var(--text-soft);padding:.45rem .7rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.header-nav a:hover,.header-nav a[aria-current=page]{background:var(--glass-hi);color:var(--text)}.header-tools{align-items:center;gap:.5rem;display:flex}.menu-mobile{display:none;position:relative}.menu-mobile summary{border:1px solid var(--glass-border);border-radius:var(--r-full);background:var(--glass);color:var(--text);cursor:pointer;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.menu-mobile summary::-webkit-details-marker{display:none}.menu-panel{border:1px solid var(--glass-border-hi);border-radius:var(--r-md);background:var(--bg-deep);width:min(88vw,340px);max-height:72vh;padding:1rem;position:absolute;top:calc(100% + .6rem);right:0;overflow:auto}@supports (color:color-mix(in lab, red, red)){.menu-panel{background:color-mix(in srgb, var(--bg-deep) 88%, transparent)}}.menu-panel{-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 8px));box-shadow:var(--shadow-2)}.menu-panel a{border-radius:var(--r-sm);color:var(--text-soft);padding:.45rem .6rem;font-size:.92rem;font-weight:600;text-decoration:none;display:block}.menu-panel a:hover{background:var(--glass-hi);color:var(--text)}.menu-panel .menu-group{color:var(--text-mute);letter-spacing:.14em;text-transform:uppercase;margin-top:.7rem;padding:0 .6rem .25rem;font-size:.7rem;font-weight:700}@media (width<=900px){.header-nav{display:none}.menu-mobile{display:block}}@media (width>=901px){.menu-mobile{display:none}}.theme-toggle{border:1px solid var(--glass-border);border-radius:var(--r-full);background:var(--glass);width:38px;height:38px;color:var(--text);cursor:pointer;place-items:center;transition:transform .2s,background .2s;display:grid}.theme-toggle:hover{background:var(--glass-hi);transform:translateY(-2px)}.theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-sun{display:block}[data-theme=light] .theme-toggle .icon-moon{display:none}.page-hero{max-width:72ch;margin-bottom:clamp(1.6rem,4vw,2.8rem);position:relative}.page-hero .kicker{border:1px solid var(--glass-border);border-radius:var(--r-full);background:var(--glass);color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem;padding:.3rem .85rem;font-size:.76rem;font-weight:700;display:inline-block}.page-hero h1{margin-bottom:.5rem}.page-hero .lead{color:var(--text-soft);margin:0;font-size:clamp(1.02rem,1.6vw,1.16rem)}.doc-shell{max-width:var(--maxw);padding:clamp(1.4rem, 4vw, 3rem) var(--pad) 4rem;grid-template-columns:minmax(230px,262px) minmax(0,1fr);align-items:start;gap:clamp(1.4rem,3vw,2.6rem);margin:0 auto;display:grid}@media (width<=880px){.doc-shell{grid-template-columns:1fr}}.sidebar{max-height:calc(100vh - 110px);padding:1.1rem;position:sticky;top:84px;overflow:auto}.sidebar .menu-group{color:var(--text-mute);letter-spacing:.15em;text-transform:uppercase;padding:.55rem .5rem .2rem;font-size:.68rem;font-weight:700}.sidebar a{border-radius:var(--r-sm);color:var(--text-soft);padding:.42rem .6rem;font-size:.9rem;font-weight:600;text-decoration:none;display:block}.sidebar a:hover{background:var(--glass-hi);color:var(--text)}.sidebar a[aria-current=page]{background:var(--glass-hi);color:var(--text);border-left:3px solid var(--accent)}.sidebar details{margin-top:.9rem}.sidebar summary{cursor:pointer;color:var(--text-soft);font-size:.85rem;font-weight:700}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1rem;margin:1rem 0 1.3rem;display:grid}.section-title{align-items:baseline;gap:.8rem;margin:clamp(2rem,5vw,3.2rem) 0 1rem;display:flex}.section-title h2{margin:0}.section-title small{color:var(--text-mute);font-size:.82rem;font-weight:600}.pipeline{counter-reset:step;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;display:grid}@media (width<=980px){.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}}.pipeline.steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=560px){.pipeline{grid-template-columns:1fr}}.pipeline .step{counter-increment:step;padding:1.2rem 1.1rem 1.1rem;position:relative}.pipeline .step:after{content:counter(step, decimal-leading-zero);letter-spacing:-.03em;color:var(--accent);font-size:1.5rem;font-weight:800;position:absolute;top:.7rem;right:.9rem}@supports (color:color-mix(in lab, red, red)){.pipeline .step:after{color:color-mix(in srgb, var(--accent) 55%, transparent)}}.pipeline .step h3{margin:0 0 .3em;padding-right:2.2rem;font-size:1rem}.pipeline .step p{color:var(--text-soft);margin:0;font-size:.88rem}.pipeline .step a{margin-top:.6rem;font-size:.85rem;font-weight:700;display:inline-block}.pipeline .step .step-note{border-top:1px dashed var(--glass-border);color:var(--text-mute);margin-top:.5em;padding-top:.5em;font-size:.82rem}.site-footer{border-top:1px solid var(--glass-border);background:var(--bg-deep)}@supports (color:color-mix(in lab, red, red)){.site-footer{background:color-mix(in srgb, var(--bg-deep) 45%, transparent)}}.site-footer{-webkit-backdrop-filter:blur(var(--glass-blur))}.footer-inner{max-width:var(--maxw);padding:2.2rem var(--pad);grid-template-columns:1.4fr 1fr 1fr;gap:1.6rem;margin:0 auto;display:grid}@media (width<=720px){.footer-inner{grid-template-columns:1fr}}.footer-inner h4{letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);margin:0 0 .5em;font-size:.78rem}.footer-inner a{color:var(--text-soft);padding:.2rem 0;font-size:.9rem;text-decoration:none;display:block}.footer-inner a:hover{color:var(--text)}.footer-legal{max-width:var(--maxw);padding:0 var(--pad) 2rem;color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;margin:0 auto;font-size:.82rem;display:flex}.home-hero{max-width:var(--maxw);padding:clamp(2rem, 6vw, 4.4rem) var(--pad) 0;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(1.2rem,3vw,2.2rem);margin:0 auto;display:grid}@media (width<=960px){.home-hero{grid-template-columns:1fr}}.hero-glass{padding:clamp(1.5rem,4vw,2.6rem)}.hero-glass h1{margin:.55rem 0 .6rem;font-size:clamp(2rem,5.2vw,3.4rem)}.grad{background:var(--gradient-accent);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-cta{flex-wrap:wrap;gap:.7rem;margin:1.3rem 0 1rem;display:flex}.hero-meta{color:var(--text-mute);flex-wrap:wrap;gap:.45rem .8rem;margin:0;padding:0;font-size:.84rem;list-style:none;display:flex}.hero-meta li{align-items:center;gap:.4rem;display:flex}.hero-meta li:before{content:"";background:var(--gradient-accent);border-radius:50%;width:6px;height:6px}.term{font-size:.85rem;overflow:hidden}.term-bar{border-bottom:1px solid var(--glass-border);color:var(--text-mute);align-items:center;gap:.45rem;padding:.65rem .9rem;font-size:.78rem;display:flex}.term-dot{background:var(--glass-border-hi);border-radius:50%;width:10px;height:10px}.term-body{font-family:var(--font-mono);padding:1rem 1.1rem 1.2rem;font-size:.82rem;line-height:1.7}.term-body p{margin:0 0 .65em}.term-user:before{content:"▸ ";color:var(--accent)}.term-agent{color:var(--text-soft)}.term-agent:before{content:"● ";color:var(--ok)}.term-cursor{vertical-align:text-bottom;background:var(--accent);width:.55em;height:1.05em;margin-left:2px;animation:1.1s step-end infinite term-blink;display:inline-block}@keyframes term-blink{50%{opacity:0}}.band{flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;padding:clamp(1.2rem,3vw,1.8rem);display:flex}.band .band-text{flex:22rem}.band h2{margin:0 0 .3em;font-size:clamp(1.25rem,2.4vw,1.6rem)}.band p{color:var(--text-soft);margin:0}.shell{max-width:var(--maxw);padding:0 var(--pad);margin:0 auto}.rules{counter-reset:rule;gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.rules li{counter-increment:rule;border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur));padding:.95rem 1.1rem .95rem 3.1rem;position:relative}.rules li:before{content:counter(rule);background:var(--gradient-accent);width:1.6rem;height:1.6rem;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid;position:absolute;top:.9rem;left:.95rem}.rules-steps li{padding-left:1.1rem}.rules-steps li:before{content:none}.checklist{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.checklist label{border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--glass);cursor:pointer;align-items:flex-start;gap:.65rem;padding:.65rem .9rem;display:flex}.checklist input{width:1rem;height:1rem;accent-color:var(--accent);margin-top:.3rem}.checklist input:checked+span{color:var(--text-mute);text-decoration:line-through}.leak-grid{gap:1rem;display:grid}.leak{padding:1rem 1.1rem}.leak-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.leak-file{font-family:var(--font-mono);color:var(--accent);font-size:.84rem}.leak pre{margin:.7rem 0 .9rem;font-size:.8rem}.leak-actions{flex-wrap:wrap;gap:.5rem;display:flex}.leak[data-answered] .leak-actions{display:none}.leak-verdict{margin:.6rem 0 .25rem;font-weight:700}.leak-verdict.ok{color:var(--ok)}.leak-verdict.ko{color:var(--danger)}.leak-why{color:var(--text-soft);margin:0;font-size:.94rem}.leak-score{border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--glass);margin:0;padding:.7rem 1rem;font-weight:700}.leak-score-final{border-color:var(--glass-border-hi);box-shadow:var(--shadow-1)}.cycle{flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 1.3rem;display:flex}.cycle .chip{font-weight:700}.cycle-arrow{color:var(--accent);font-weight:800}.phase-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.phase{padding:1.15rem 1.25rem}.phase h3{margin:0 0 .5em}.phase p{color:var(--text-soft);margin:.4em 0;font-size:.95rem}.phase .who{color:var(--accent);font-weight:700}.phase .who-agent{color:var(--accent-2);font-weight:700}.phase p.exit,.card p.exit{border-top:1px dashed var(--glass-border);color:var(--text-mute);margin-top:.75em;padding-top:.65em;font-size:.88rem}.timeline{gap:1.2rem;margin:0;padding:0;list-style:none;display:grid}.timeline li{padding-left:1.9rem;position:relative}.timeline li:before{content:"";background:var(--gradient-accent);border-radius:50%;width:.7rem;height:.7rem;position:absolute;top:.7rem;left:.05rem}.timeline li:after{content:"";background:linear-gradient(180deg, var(--accent), var(--accent));width:2px;position:absolute;top:1.55rem;bottom:-1.25rem;left:.37rem}@supports (color:color-mix(in lab, red, red)){.timeline li:after{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 65%, transparent), color-mix(in srgb, var(--accent) 22%, transparent))}}.timeline li:last-child:after{display:none}.timeline h3{margin:.45em 0 .3em;font-size:1.06rem}.timeline pre{white-space:pre-wrap;margin:.5rem 0 .6rem;font-size:.82rem}.timeline .result{color:var(--text-soft);margin:0}.timeline .note{color:var(--text-mute);margin:.45em 0 0;font-size:.9rem}.myths{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.myth{padding:1.15rem 1.25rem}.myth .said{color:var(--text-mute);margin:0 0 .5em;font-style:italic}.myth .reality{color:var(--text-soft);margin:0}.prompt-card{padding:1.15rem 1.25rem}.prompt-card pre{white-space:pre-wrap;margin:.5rem 0 0;font-size:.82rem}.card ul{margin:.2em 0 0}.calc{margin:1.2rem 0;padding:clamp(1.1rem,2.5vw,1.6rem)}.calc-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem;display:grid}.calc-field{color:var(--text-soft);flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600;display:flex}.calc-field input[type=number],.calc-field select{border:1px solid var(--glass-border);background:var(--glass-hi);color:var(--text);font:inherit;border-radius:10px;padding:.5rem .6rem;font-weight:500}.calc-field input[type=range]{accent-color:var(--accent)}.calc-field output{color:var(--accent);font-size:.85rem;font-weight:700}.calc-period{border:1px solid var(--glass-border);border-radius:var(--r-md);margin:0;padding:.55rem .7rem}.calc-period legend{color:var(--text-mute);padding:0 .3rem;font-size:.78rem}.calc-period label{align-items:center;gap:.35rem;margin-right:.8rem;font-weight:500;display:inline-flex}.calc-period-info{color:var(--text-mute);margin:1rem 0 .3rem;font-size:.88rem}.calc-total{margin:.2rem 0 1rem;font-size:1.15rem;font-weight:800}.calc-note{color:var(--text-mute);margin:.9rem 0 0;font-size:.82rem}.tui{border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--bg-deep);margin:1rem 0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.tui{background:color-mix(in srgb, var(--bg-deep) 78%, transparent)}}.tui{box-shadow:var(--shadow-1);font-family:var(--font-mono);font-size:.8rem}.tui-top,.tui-footer{color:var(--text-mute);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.55rem .8rem;display:flex}.tui-top{border-bottom:1px solid var(--glass-border)}.tui-footer{border-top:1px solid var(--glass-border)}.tui-body{gap:.7rem;padding:.9rem .9rem 1rem;display:grid}.tui-body p{margin:0}.tui-user{color:var(--text)}.tui-agent{color:var(--text-soft)}.tui-tool{color:var(--text-mute);font-size:.76rem}.tui-tag{background:var(--gradient-accent);min-width:1.15rem;height:1.15rem;color:var(--accent-ink);font-family:var(--font-sans);vertical-align:middle;border-radius:50%;place-items:center;margin-right:.35rem;font-size:.66rem;font-weight:800;display:inline-grid}.tui-legend{counter-reset:tui;gap:.45rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.tui-legend li{counter-increment:tui;color:var(--text-soft);padding-left:1.9rem;font-size:.92rem;position:relative}.tui-legend li:before{content:counter(tui);border:1px solid var(--glass-border-hi);background:var(--glass-hi);border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-size:.7rem;font-weight:800;display:grid;position:absolute;top:.15rem;left:0}.table-scroll{margin:1.2rem 0;overflow-x:auto}.table-scroll table{min-width:640px;margin:0}.duo{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.duo-item{gap:.45rem;padding:1.1rem 1.2rem;display:grid}.duo-item p{margin:0}.duo-label{letter-spacing:.12em;text-transform:uppercase;margin-right:.5rem;font-size:.7rem;font-weight:800;display:inline-block}.duo-bad .duo-label{color:var(--danger)}.duo-good .duo-label{color:var(--ok)}.duo-bad code{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.duo-bad code{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}}.duo-good code{border-color:var(--ok)}@supports (color:color-mix(in lab, red, red)){.duo-good code{border-color:color-mix(in srgb, var(--ok) 45%, transparent)}}.duo-why{color:var(--text-mute);font-size:.88rem}.anatomy{gap:.8rem;display:grid}.anatomy-part{border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur));grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 1.1rem;display:grid}.anatomy-tag{background:var(--gradient-accent);width:1.7rem;height:1.7rem;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.82rem;font-weight:800;display:grid}.anatomy-part h3{margin:0 0 .25em;font-size:1.02rem}.anatomy-exemple{color:var(--text);font-family:var(--font-mono);margin:0 0 .4em;font-size:.86rem}.anatomy-pourquoi{color:var(--text-mute);margin:0;font-size:.9rem}.builder{margin:1.2rem 0;padding:clamp(1.1rem,2.5vw,1.6rem)}.builder-presets{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.builder-label{color:var(--text-mute);font-size:.82rem;font-weight:600}.builder-fields{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;display:grid}.builder-fields textarea{border:1px solid var(--glass-border);background:var(--glass-hi);color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:.55rem .65rem;font-size:.9rem}.builder-status{color:var(--text-mute);margin:1rem 0 .4rem;font-size:.88rem}.builder-output{white-space:pre-wrap;margin:0}.builder-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.builder-hint{max-width:60ch;color:var(--text-mute);font-size:.84rem}.antipatterns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.antipattern{padding:1.1rem 1.2rem}.antipattern p{margin:0 0 .45em}.antipattern p:last-child{margin-bottom:0}.antipattern-probleme,.antipattern-correction{color:var(--text-soft);font-size:.92rem}.duo-prompt{color:var(--text);font-family:var(--font-mono);font-size:.86rem}.promptotheque{margin-top:1.2rem}.prompt-filtres{flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;display:flex}.prompt-compte{border-radius:var(--r-full);background:var(--bg-deep);place-items:center;min-width:1.35rem;height:1.35rem;margin-left:.3rem;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.prompt-compte{background:color-mix(in srgb, var(--bg-deep) 50%, transparent)}}.prompt-compte{font-size:.72rem;font-weight:800}.prompt-vide{color:var(--text-mute)}.prompt-liste{gap:1.2rem;display:grid}.prompt-carte{padding:clamp(1.1rem,2.5vw,1.5rem)}.prompt-carte h3{margin:.55em 0 .25em}.prompt-intention{color:var(--text-soft);margin:0 0 .9rem}.prompt-texte{white-space:pre-wrap;margin:0 0 .8rem;font-size:.84rem}.prompt-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.prompt-confirmation{color:var(--ok);font-size:.86rem;font-weight:600}.prompt-notes{border-top:1px dashed var(--glass-border);margin-top:1.1rem;padding-top:.9rem}.prompt-label{color:var(--text-mute);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35em;font-size:.78rem;font-weight:800}.prompt-notes ul{color:var(--text-soft);margin:0 0 .8em;font-size:.92rem}.prompt-adapter{color:var(--text-soft);margin:0;font-size:.92rem}.depot{margin:1.2rem 0;padding:clamp(1.1rem,2.5vw,1.6rem)}.depot-grille{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.9rem;margin-bottom:.9rem;display:grid}.depot .calc-field input[type=text],.depot .calc-field input[type=password],.depot .calc-field input[type=search],.depot .calc-field textarea{border:1px solid var(--glass-border);background:var(--glass-hi);color:var(--text);font:inherit;border-radius:10px;padding:.5rem .6rem;font-size:.9rem}.depot .calc-field textarea{resize:vertical;font-family:var(--font-mono)}.depot-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.depot-message{font-size:.9rem;font-weight:600}.depot-message[data-etat=ok]{color:var(--ok)}.depot-message[data-etat=erreur]{color:var(--danger)}.depot-stats{color:var(--text-mute);margin-top:1rem;font-size:.9rem}.prof-barre{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:.9rem;margin-bottom:1rem;display:grid}.prof-boutons{flex-wrap:wrap;gap:.5rem;display:flex}.prof-etat{color:var(--text-mute);font-size:.9rem}.prof-liste{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.prof-item{padding:1rem 1.1rem}.prof-entete{color:var(--text-mute);font-family:var(--font-mono);margin:0 0 .6rem;font-size:.78rem}.prof-prompt{border:1px solid var(--glass-border);border-radius:var(--r-sm);background:var(--bg-deep);margin:0;padding:.8rem .9rem}@supports (color:color-mix(in lab, red, red)){.prof-prompt{background:color-mix(in srgb, var(--bg-deep) 70%, transparent)}}.prof-prompt{white-space:pre-wrap;font-size:.82rem}.depannage-filtres{gap:1rem;margin-bottom:1rem;display:grid}.panne{gap:.5rem;padding:1.1rem 1.2rem;display:grid}.panne h3{margin:.35em 0 .2em;font-size:1rem}.panne .panne-message{font-family:var(--font-mono);word-break:break-word}.panne p{color:var(--text-soft);margin:0;font-size:.92rem}.panne-label{color:var(--text-mute);letter-spacing:.08em;text-transform:uppercase;margin-right:.35rem;font-size:.76rem;font-weight:800;display:inline-block}.glossaire{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin:0;display:grid}.terme{cursor:pointer;padding:1rem 1.1rem}.terme dt{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1.02rem;font-weight:700;display:flex}.terme dd{color:var(--text-soft);margin:.5rem 0 0;font-size:.92rem}.terme .terme-def{transition:filter .2s}.terme .terme-exemple{color:var(--text-mute)}.glossaire[data-revision=oui] .terme:not([data-revele]) .terme-def,.glossaire[data-revision=oui] .terme:not([data-revele]) .terme-exemple{filter:blur(5px);-webkit-user-select:none;user-select:none}.terme:focus-visible{box-shadow:var(--ring);outline:none}.quiz-carte{gap:.9rem;margin-bottom:1rem;padding:clamp(1.2rem,3vw,1.8rem);display:grid}.quiz-consigne{color:var(--text-soft);margin:0}.quiz-progression{color:var(--text-mute);margin:0;font-size:.85rem;font-weight:600}.quiz-options{gap:.6rem;display:grid}.quiz-carte>.btn{justify-self:start}.quiz-option{text-align:left;justify-content:flex-start;width:100%}.quiz-bonne{border-color:var(--ok);color:var(--ok)}.quiz-fausse{border-color:var(--danger);color:var(--danger)}.quiz-feedback{color:var(--text-soft);margin:0}.quiz-feedback[data-etat=ok]{color:var(--ok)}.quiz-feedback[data-etat=ko]{color:var(--danger)}.quiz-score{margin:0;font-size:1.3rem;font-weight:800}.projet-revele{display:none}html[data-revele=oui] .projet-revele{display:block}html[data-revele=oui] .projet-verrou{display:none}.compte{border:1px solid var(--glass-border-hi);border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));box-shadow:var(--shadow-2);text-align:center;margin-bottom:1.2rem;padding:clamp(1.2rem,3vw,1.8rem)}.compte-date{color:var(--text-soft);margin:0 0 1rem}.compte-grille{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;max-width:560px;margin:0 auto;display:grid}.compte-case{border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--glass-hi);padding:.8rem .4rem}.compte-case span{letter-spacing:-.02em;font-size:clamp(1.5rem,4vw,2.4rem);font-weight:800;display:block}.compte-case small{color:var(--text-mute);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem;font-size:.72rem;display:block}.compte-etat{color:var(--text-mute);margin:1rem 0 0;font-size:.9rem}.projet-teaser{margin-top:1.2rem}@media (width<=560px){.compte-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}.mission{gap:1rem;margin-bottom:1.4rem;padding:clamp(1.2rem,3vw,1.6rem);display:grid}.mission h2{margin:0}.mission-objectif{color:var(--text-soft);margin:.4rem 0 0}.mission-duree{color:var(--text-mute);margin:.3rem 0 0;font-size:.86rem}.mission-progression{grid-template-columns:1fr auto;align-items:center;gap:.5rem;display:grid}.mission-barre{border-radius:var(--r-full);background:var(--glass-hi);grid-column:1/-1;height:.5rem;overflow:hidden}.mission-barre span{background:var(--gradient-accent);width:0;height:100%;transition:width .25s;display:block}.mission-compteur{color:var(--text-soft);margin:0;font-size:.9rem}.mission-etapes{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.mission-etape{border:1px solid var(--glass-border);border-radius:var(--r-md);background:var(--glass);cursor:pointer;align-items:flex-start;gap:.7rem;padding:.6rem .8rem;display:flex}.mission-etape input{width:1rem;height:1rem;accent-color:var(--accent);margin-top:.28rem}.mission-etape span{color:var(--text-soft);font-size:.94rem}.mission-etape input:checked+span{color:var(--text-mute)}.mission-etape code{margin-top:.35rem;display:inline-block}.mission-fin{color:var(--text-soft);margin:0}.mission-lien{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.list-plain{margin:0;padding:0;list-style:none}.planned li{border-bottom:1px dashed var(--glass-border);color:var(--text-soft);padding:.55rem 0}.planned li:last-child{border-bottom:0}.planned li:before{content:"→";color:var(--accent);margin-right:.6rem;font-weight:700}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}
