:root{--bg:#050505;--bg-2:#0d0c0b;--panel:#14130f;--border:#2b2823;--text:#e9e4d8;--muted:#9a9184;--stone:#a89b82;--stone-2:#d9cfbb;--glow:#bfe3ff;--glow-2:#7cc4ff;--danger:#ff8a80;--font-display:"Jost", "Futura", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-sans:"IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--radius:6px;--max:1312px;--wordmark:#fff;--output-bg:#000;--shadow:#0009;--glow-shadow:#7cc4ff2e;color-scheme:dark}:root[data-theme=light]{--bg:#f5f0e6;--bg-2:#ece6d8;--panel:#fbf8f2;--border:#d6cdba;--text:#1e1a14;--muted:#6b6354;--stone:#7a6b50;--stone-2:#4a4030;--glow:#1f5f9a;--glow-2:#2b7bc4;--danger:#b3261e;--wordmark:#1e1a14;--output-bg:#1e1a14;--shadow:#281e0a40;--glow-shadow:#2b7bc438;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6;transition:background-color .2s,color .2s}body{flex-direction:column;min-height:100vh;margin:0;display:flex}body.drawer-open{overflow:hidden}a{color:var(--glow);text-decoration:none}a:hover{color:#fff;text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-display);color:var(--stone-2);letter-spacing:.01em;font-weight:500;line-height:1.12}h1{margin:0 0 .6rem;font-size:clamp(1.9rem,4vw,2.75rem)}h2{border-bottom:1px solid var(--border);margin:2.2rem 0 .8rem;padding-bottom:.35rem;font-size:1.5rem}h3{margin:1.6rem 0 .6rem;font-size:1.15rem}p,ul,ol{margin:0 0 1rem}li{margin:.3rem 0}img{max-width:100%;height:auto}code{font-family:var(--font-mono);background:var(--panel);border:1px solid var(--border);color:var(--stone-2);border-radius:4px;padding:.05em .35em;font-size:.88em}pre{font-family:var(--font-mono);max-width:100%;font-size:.9rem;line-height:1.55;overflow-x:auto}pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}pre.astro-code{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1rem;padding:1.1rem 1.4rem;background:var(--panel)!important}strong{color:var(--stone-2);font-weight:600}.astro-code,.astro-code span{color:var(--shiki-dark)}:root[data-theme=light] .astro-code,:root[data-theme=light] .astro-code span{color:var(--shiki-light)}em{color:var(--muted)}.wordmark{font-family:var(--font-display);letter-spacing:.18em;color:var(--wordmark);font-weight:600}.button{border-radius:var(--radius);border:1px solid var(--stone);min-height:44px;color:var(--stone-2);font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:1rem;font-weight:500;display:inline-flex}.button:hover{border-color:var(--glow);color:var(--glow);text-decoration:none}.button.primary{background:var(--stone-2);color:var(--bg);border-color:var(--stone-2)}.button.primary:hover{background:var(--wordmark);border-color:var(--wordmark);color:var(--bg)}.button:disabled{opacity:.5;cursor:wait}.actions{flex-wrap:wrap;gap:.85rem;margin-top:1.6rem;display:flex}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .inner{max-width:var(--max);align-items:center;gap:1.5rem;height:64px;margin:0 auto;padding:0 1.25rem;display:flex}.site-header .brand{font-size:1.35rem}.site-header .brand:hover{color:var(--glow);text-decoration:none}.site-nav{gap:2rem;margin-left:auto;margin-right:.5rem;display:flex}.site-nav a{color:var(--stone-2);letter-spacing:.02em;font-size:.95rem}.site-nav a[aria-current=page]{color:var(--glow)}.header-tools{align-items:center;gap:.25rem;display:flex}.lang-switch{border:1px solid var(--border);border-radius:var(--radius);min-width:44px;height:36px;font-family:var(--font-display);letter-spacing:.1em;color:var(--stone-2);justify-content:center;align-items:center;padding:0 .6rem;font-size:.85rem;font-weight:500;display:inline-flex}.lang-switch:hover{border-color:var(--glow);color:var(--glow);text-decoration:none}.theme-toggle{width:44px;height:44px;color:var(--stone-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--glow)}.theme-toggle .icon-moon,:root[data-theme=light] .theme-toggle .icon-sun{display:none}:root[data-theme=light] .theme-toggle .icon-moon{display:block}.menu-toggle{width:44px;height:44px;color:var(--stone-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:none}.drawer-backdrop{z-index:30;background:var(--shadow);position:fixed;inset:0}.drawer{z-index:31;background:var(--bg-2);border-right:1px solid var(--border);width:min(300px,85vw);box-shadow:12px 0 40px var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.drawer-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 .75rem 0 1.25rem;display:flex}.drawer-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.drawer-close{width:44px;height:44px;color:var(--stone-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.drawer-tree{padding:.75rem}.drawer-tree a{padding:.6rem .75rem;font-size:1rem}.drawer-links{border-top:1px solid var(--border);flex-direction:column;margin-top:auto;padding:1rem 1.25rem;display:flex}.drawer-links a{color:var(--stone-2);padding:.6rem 0;font-size:1rem;display:block}.drawer-links a[aria-current=page]{color:var(--glow)}@media (width>=900px){.drawer,.drawer-backdrop{display:none!important}}@media (width<=899px){.site-nav{display:none}.menu-toggle{display:flex}.header-tools{margin-left:auto}}main.main-page{width:100%;max-width:var(--max);flex:1;margin:0 auto;padding:2.5rem 1.25rem 4rem}main.main-hero{flex-direction:column;flex:1;display:flex}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.8rem}.site-footer .inner{max-width:var(--max);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin:0 auto;padding:1rem 1.25rem;display:flex}.hero{flex:1;justify-content:center;align-items:center;min-height:calc(100vh - 124px);padding:4rem 1.25rem;display:flex;position:relative;overflow:hidden}.hero .circuit{opacity:.35;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.circuit .traces{stroke:var(--stone)}.circuit .nodes{fill:var(--glow)}.hero-inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:780px;display:flex;position:relative}.hero-text{flex-direction:column;align-items:center;display:flex}.hero-archie{width:170px;height:auto;filter:drop-shadow(0 0 28px var(--glow-shadow))}@media (width>=900px){.hero-inner{text-align:left;flex-direction:row;align-items:center;gap:3.5rem;max-width:1100px}.hero-text{align-items:flex-start}.hero-archie{width:min(34vw,360px);filter:drop-shadow(0 0 44px var(--glow-shadow));flex-shrink:0}.hero .actions{justify-content:flex-start}}.hero-title{letter-spacing:.08em;color:var(--wordmark);margin:0;font-size:clamp(3.6rem,9vw,8rem);line-height:1}.hero-subtitle{font-family:var(--font-display);letter-spacing:.32em;text-transform:uppercase;color:var(--stone);margin:1.1rem 0 2.2rem;font-size:clamp(.72rem,1.2vw,.95rem);font-weight:500}.hero-pitch{margin:0;font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.5}.hero .actions{justify-content:center;margin-top:2.5rem}@media (width<=599px){.hero .actions{flex-direction:column;width:100%}.hero .actions .button{width:100%}}.intro-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem;display:grid}.intro-figure{flex-direction:column;align-items:center;gap:.6rem;margin:0;display:flex}.intro-figure img{width:200px;filter:drop-shadow(0 0 24px var(--glow-shadow))}.intro-figure figcaption{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.intro-article{min-width:0;max-width:680px}@media (width>=900px){.intro-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;padding-top:1.5rem}.intro-figure{align-self:start;position:sticky;top:6rem}.intro-figure img{width:min(100%,520px);filter:drop-shadow(0 0 40px var(--glow-shadow))}}.cours-layout{grid-template-columns:minmax(0,1fr);gap:2rem;display:grid}.sidebar{display:none}@media (width>=900px){.cours-layout{grid-template-columns:260px minmax(0,1fr);gap:3.5rem}.sidebar{align-self:start;max-height:calc(100vh - 7rem);padding-right:.5rem;display:block;position:sticky;top:6rem;overflow-y:auto}}.sidebar ol,.drawer-tree ol{margin:0;padding:0;list-style:none}.sidebar ol ol,.drawer-tree ol ol{border-left:1px solid var(--border);margin-left:.75rem;padding-left:.75rem}.sidebar li,.drawer-tree li{margin:.1rem 0}.sidebar a,.drawer-tree a{color:var(--stone-2);border-radius:4px;align-items:baseline;gap:.6rem;padding:.35rem .6rem;font-size:.93rem;line-height:1.35;display:flex}.sidebar a:hover,.drawer-tree a:hover{background:var(--bg-2);text-decoration:none}.sidebar a[aria-current=page],.drawer-tree a[aria-current=page]{color:var(--glow);background:var(--panel)}.num{font-family:var(--font-mono);color:var(--muted);font-size:.8em}.section-number{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;font-size:.78rem;display:block}article{min-width:0;max-width:800px}.lead{color:var(--muted);margin-top:0;font-size:1.12rem;line-height:1.5}.subsection{border-top:1px solid var(--border);margin-top:3.25rem;padding-top:1.75rem;scroll-margin-top:84px}.subsection>h2,.subsection>h3,.subsection>h4{border-bottom:0;margin-top:0;margin-bottom:.6rem;padding-bottom:0}.subsection>h2{font-size:1.8rem}.subsection>.lead{font-size:1.05rem}.children{margin:1rem 0;padding:0;list-style:none}.children li{border-top:1px solid var(--border);padding:.5rem 0}.children li a{align-items:baseline;gap:.6rem;display:inline-flex}.children li p{color:var(--muted);margin:.15rem 0 0;font-size:.95rem}.pager{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1rem;font-size:.95rem;display:flex}.pager a{max-width:48%}.pager .next{text-align:right;margin-left:auto}.toc ol{padding:0;list-style:none}.toc ol ol{padding-left:1.5rem}.toc li{margin:.35rem 0}.toc li a{align-items:baseline;gap:.6rem;display:inline-flex}.toc p{color:var(--muted);margin:0;font-size:.92rem}.arc-example{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);max-width:100%;margin:1.2rem 0 1.6rem;overflow:hidden}.arc-example>pre.astro-code{border:0;border-radius:0;margin:0}.arc-runner{border-top:1px solid var(--border)}.arc-toolbar{background:var(--bg-2);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .9rem;display:flex}.arc-toolbar .button{min-height:40px;padding:0 1rem;font-size:.95rem}.arc-status{color:var(--muted);font-size:.82rem;font-family:var(--font-mono);margin-left:auto}.arc-status.error{color:var(--danger)}@media (width<=599px){.arc-status{flex-basis:100%;margin-left:0}.arc-toolbar .button{min-height:44px}}.arc-editor{resize:vertical;background:var(--panel);width:100%;min-height:8rem;color:var(--text);font-family:var(--font-mono);tab-size:4;border:0;outline:none;padding:1.1rem 1.4rem;font-size:.9rem;line-height:1.55;display:block}.arc-editor:focus{box-shadow:inset 0 0 0 1px var(--glow-2)}.arc-ed{background:var(--panel);tab-size:4;min-width:0;display:grid}.arc-ed[hidden]{display:none}.arc-ed>*{grid-area:1/1;min-width:0}.arc-hl{scrollbar-gutter:stable;pointer-events:none;overflow:hidden}.arc-hl>pre.astro-code{white-space:pre-wrap;overflow-wrap:break-word;border:0;border-radius:0;margin:0;padding:1.1rem 1.4rem;overflow:visible;background:0 0!important}.arc-ed>.arc-editor{overflow-wrap:break-word;scrollbar-gutter:stable;background:0 0}.arc-ed.lit>.arc-editor{color:#0000;caret-color:var(--text)}.arc-ed.lit>.arc-editor::selection{background:color-mix(in srgb, var(--glow-2) 32%, transparent)}.arc-output{border-top:1px solid var(--border);background:var(--output-bg);color:#bfe3ff;white-space:pre-wrap;word-break:break-word;min-height:2.5rem;max-height:24rem;margin:0;padding:.85rem 1.4rem;font-size:.88rem;overflow:auto}.arc-output .stderr{color:#ff8a80}.arc-output .note{color:#9a9184}body.bare{height:100dvh;min-height:0;overflow:hidden}main.main-bare{flex:1;min-height:0;display:flex}.pg{flex-direction:column;flex:1;min-height:0;display:flex}.pg-bar{background:var(--bg-2);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem .9rem;display:flex}.pg-bar .brand{font-size:1.15rem}.pg-bar .brand:hover{color:var(--glow);text-decoration:none}.pg-file{min-width:0;font-family:var(--font-mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.pg-actions{gap:.6rem;margin-left:.5rem;display:flex}.pg-bar .button{min-height:40px;padding:0 1rem;font-size:.95rem}.pg-bar .arc-status{text-align:right;margin-left:auto}.pg-panes{grid-template-columns:var(--split,50%) 7px minmax(0, 1fr);flex:1;min-height:0;display:grid}.pg-panes.dragging{user-select:none;cursor:col-resize}.pg-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.pg-label{background:var(--bg-2);border-bottom:1px solid var(--border);font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:baseline;gap:.75rem;padding:.5rem 1.4rem;font-size:.72rem;display:flex}.pg-hint{font-family:var(--font-mono);letter-spacing:0;text-transform:none;margin-left:auto;font-size:.7rem}.pg-editor{resize:none;flex:1;min-height:0;overflow:auto}.pg-pane>.arc-ed{flex:1;min-height:0}.pg-output{border-top:0;flex:1;min-height:0;max-height:none;overflow:auto}.pg-split{background:var(--border);cursor:col-resize;touch-action:none}.pg-split:hover,.pg-split:focus-visible{background:var(--glow-2);outline:none}@media (width<=899px){.pg-panes{grid-template-columns:none;grid-template-rows:var(--split,50%) 7px minmax(0, 1fr)}.pg-panes.dragging,.pg-split{cursor:row-resize}}@media (width<=699px){.pg-bar{flex-wrap:wrap;gap:.5rem}.pg-hint{display:none}.pg-bar .brand{font-size:1rem}.pg-file{order:1}.pg-bar .arc-status{text-align:left;flex-basis:100%;order:2;margin-left:0}.pg-actions{order:1;margin-left:auto}.pg-bar .header-tools{order:1}}[hidden]{display:none!important}
