@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-cyrillic-ext-600-normal.D_E8FDgP.woff2)format("woff2"),url(/_astro/source-serif-4-cyrillic-ext-600-normal.DiT2IGQm.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-cyrillic-600-normal.BDP5YDHD.woff2)format("woff2"),url(/_astro/source-serif-4-cyrillic-600-normal.DFnC3vAY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-greek-600-normal.DdRkKr-1.woff2)format("woff2"),url(/_astro/source-serif-4-greek-600-normal.DhXQw1Kl.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-vietnamese-600-normal.CznyfUKR.woff2)format("woff2"),url(/_astro/source-serif-4-vietnamese-600-normal.B0WJbuqT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-latin-ext-600-normal.0sIUyHMO.woff2)format("woff2"),url(/_astro/source-serif-4-latin-ext-600-normal.C6NNqpJh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-latin-600-normal.DouSKlru.woff2)format("woff2"),url(/_astro/source-serif-4-latin-600-normal.DMD1h6_f.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff;--surface:#f6f7f9;--line:#e3e6ec;--ink:#0f1b2d;--muted:#4d5a70;--faint:#7d8798;--violet:#4a42d4;--cyan:#0f6e8c;--amber:#a16207;--green:#15803d;--sans:"Geist Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Geist Mono",ui-monospace,"SF Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}.wrap{max-width:1120px;margin:0 auto;padding:0 32px}.site-header{z-index:10;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0}.nav{white-space:nowrap;align-items:center;gap:18px;max-width:1220px;height:64px;display:flex}.nav .btn{padding:8px 12px;font-size:13.5px}@media (width<=1500px){.navlink{display:none}}@media (width<=1240px){.brand .bw small{display:none}}@media (width<=1060px){.nav .btn{display:none}}.brand{letter-spacing:.14em;align-items:center;gap:10px;font-size:15px;font-weight:650;display:inline-flex}.brand .bw{flex-direction:column;line-height:1.1;display:flex}.brand .bw small{font-family:var(--mono);letter-spacing:.06em;color:var(--faint);text-transform:none;white-space:nowrap;margin-top:3px;font-size:9.5px;font-weight:400}.nav nav{color:var(--muted);gap:18px;margin-left:auto;font-size:13.5px;display:flex}.nav nav a:hover,.nav nav a[aria-current]{color:var(--ink)}.btn{background:var(--violet);color:#fff;box-shadow:none;border:1px solid #0000;border-radius:6px;padding:9px 18px;font-size:14.5px;font-weight:560;transition:filter .15s;display:inline-block}.btn:hover{filter:brightness(1.1)}::selection{background:#4f46e529}.btn.ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.btn.ghost:hover{color:var(--ink);border-color:#18233859}.crumbs{font-family:var(--mono);color:var(--faint);padding:26px 0 0;font-size:12px}.crumbs a:hover{color:var(--ink)}section{padding:88px 0}.kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-size:12px;color:var(--faint)!important}h2{letter-spacing:-.015em;max-width:22em;font-size:clamp(25px,3vw,33px);font-weight:620;line-height:1.22}.body{color:var(--muted);max-width:38em;margin-top:18px}.split{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.capture{border:1px solid var(--line);background:linear-gradient(var(--surface),var(--surface)), repeating-linear-gradient(0deg,transparent 0 23px,#1823380d 23px 24px), repeating-linear-gradient(90deg,transparent 0 23px,#1823380d 23px 24px);aspect-ratio:16/10;border-radius:12px;align-items:end;padding:16px;display:flex}.capture span{font-family:var(--mono);color:var(--faint);font-size:12px}.capture img{object-fit:cover;border-radius:11px;width:100%;height:100%}.final{border-top:1px solid var(--line);text-align:center;padding:110px 0}.final h2{margin:0 auto}.final p{color:var(--muted);margin:16px auto 34px}.site-footer{border-top:1px solid var(--line);color:var(--faint);padding:48px 0 60px;font-size:14px}.fgrid{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr 1fr;gap:28px;display:grid}.navlink{color:var(--muted);font-size:14.5px}.navlink:hover{color:var(--ink)}.site-footer h4{color:var(--muted);margin-bottom:14px;font-size:13px;font-weight:590}.site-footer li{margin:8px 0;list-style:none}.site-footer a:hover{color:var(--ink)}.legal{border-top:1px solid var(--line);font-family:var(--mono);justify-content:space-between;margin-top:40px;padding-top:24px;font-size:12px;display:flex}@media (width<=900px){.split,.fgrid{grid-template-columns:1fr}.nav nav{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.nav nav{gap:6px}.nav nav>details{position:relative}.nav nav>details>summary{cursor:pointer;color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;list-style:none;display:flex}.nav nav>details>summary::-webkit-details-marker{display:none}.nav nav>details>summary:after{content:"";opacity:.6;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transform:rotate(45deg)translateY(-2px)}.nav nav>details[open]>summary,.nav nav>details>summary:hover{color:var(--ink);background:var(--surface)}.nav nav>a{border-radius:8px;padding:8px 12px}.nav nav>a:hover{background:var(--surface)}.menu{border:1px solid var(--line);z-index:20;background:#fff;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px 22px;min-width:520px;padding:18px;display:grid;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 24px 60px -24px #0f1b2d59}.menu h5{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);grid-column:1/-1;margin:6px 0 4px;font-size:10.5px}.menu a{color:var(--ink);border-radius:8px;padding:8px 10px;display:block}.menu a:hover{background:var(--surface);text-decoration:none}.menu a b{font-size:14.5px;font-weight:600;display:block}.menu a span{color:var(--faint);font-size:13px;line-height:1.4;display:block}.menu a.tag b:after{content:" · disponible";color:var(--green);font-size:12px;font-weight:500}.brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.brand img{display:block}html[data-display=serif] h1,html[data-display=serif] h2,html[data-display=serif] .final h2{letter-spacing:-.01em;font-family:"Source Serif 4",Georgia,serif;font-weight:600}html[data-display=serif] h1{letter-spacing:-.015em}html[data-theme=dark]{--bg:#0f1b2d;--surface:#16233a;--line:#26344c;--ink:#eef2f8;--muted:#b3bdcc;--faint:#8593a8;--violet:#8b84ff;--green:#4ade80;--amber:#fbbf24;--cyan:#67c5e6}html[data-theme=dark] .site-header{background:#0f1b2deb}html[data-theme=dark] .btn{background:#6c63ff}html[data-theme=dark] .stage,html[data-theme=dark] .panel,html[data-theme=dark] .cp,html[data-theme=dark] .cp .card,html[data-theme=dark] .trace,html[data-theme=dark] .fig,html[data-theme=dark] .mark,html[data-theme=dark] .strip,html[data-theme=dark] .tr .email b{background:var(--surface);color:var(--ink)}html[data-theme=dark] .grid-bg{background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px)}html[data-theme=dark] .cp .grid{background-image:none}html[data-theme=dark] .gate .ft,html[data-theme=dark] .cp .ft,html[data-theme=dark] .cp .hd,html[data-theme=dark] .trace .thd,html[data-theme=dark] .chip{background:#1c2b45}html[data-theme=dark] .gate .badge,html[data-theme=dark] .view{background:#1c2b45;border-color:#2f4060}html[data-theme=dark] .tab.carol,html[data-theme=dark] .tab.alice{color:var(--faint)}html[data-theme=dark] .tok rect,html[data-theme=dark] .ink .hole{fill:var(--surface)}html[data-theme=dark] .ink rect,html[data-theme=dark] .ink path,html[data-theme=dark] .ink line{stroke:#eef2f8}html[data-theme=dark] .ink .fill{fill:#eef2f8}html[data-theme=dark] .dot{fill:#ffffff40}html[data-theme=dark] .lbl{fill:#b3bdcc}html[data-theme=dark] .logos img{filter:invert()brightness(1.4)}html[data-theme=dark] .capture{background:var(--surface)}html[data-theme=pastel] .statement{background:#f7f0dc}html[data-theme=pastel] .agents{background:#ecebfb;border-top:0}html[data-theme=pastel] .diagram-sec{background:#e8f1f5}html[data-theme=pastel] .proofs{background:#e6f4ea}html[data-theme=pastel] .facts3 li,html[data-theme=pastel] .brick,html[data-theme=pastel] .ptable div{background:#fff}html[data-theme=pastel] .kicker:before{background:currentColor}html[data-theme=warm] .statement{background:#f7f0dc}html[data-theme=warm] .diagram-sec{background:#e8f1f5}html[data-theme=warm] .proofs{background:#e6f4ea}html[data-theme=warm] .agents{background:#f3efe9;border-top:0}html[data-theme=warm] .final{background:#f7f0dc}html[data-theme=warm] .facts3 li,html[data-theme=warm] .brick,html[data-theme=warm] .ptable div{background:#fff}html[data-theme=cool] .statement{background:#f3f5f9}html[data-theme=cool] .agents{border-top:1px solid var(--line);background:#fff}html[data-theme=cool] .diagram-sec{background:#e9eef5}html[data-theme=cool] .proofs{background:#f3f5f9}html[data-theme=cool] #briques{background:#fff}html[data-theme=cool] .final{background:#e9eef5}html[data-theme=cool] .facts3 li,html[data-theme=cool] .brick,html[data-theme=cool] .ptable div{background:#fff}html[data-theme=bands] .agents{color:#eef2f8;--ink:#eef2f8;--muted:#b3bdcc;--faint:#8593a8;--surface:#16233a;--line:#26344c;--violet:#8b84ff;--green:#4ade80;background:#0f1b2d;border-top:0}html[data-theme=bands] .agents .kicker{color:#8b84ff!important}html[data-theme=bands] .statement{background:#f7f0dc}html[data-theme=bands] .proofs{background:#e6f4ea}html[data-theme=bands] .facts3 li,html[data-theme=bands] .ptable div{background:#fff}html[data-theme=bands] .agents .stage,html[data-theme=bands] .agents .panel,html[data-theme=bands] .agents .cp,html[data-theme=bands] .agents .cp .card,html[data-theme=bands] .agents .trace,html[data-theme=bands] .agents .fig,html[data-theme=bands] .agents .mark,html[data-theme=bands] .agents .strip,html[data-theme=bands] .agents .tr .email b{background:var(--surface);color:var(--ink)}html[data-theme=bands] .agents .grid-bg{background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px)}html[data-theme=bands] .agents .cp .grid{background-image:none}html[data-theme=bands] .agents .gate .ft,html[data-theme=bands] .agents .cp .ft,html[data-theme=bands] .agents .cp .hd,html[data-theme=bands] .agents .trace .thd,html[data-theme=bands] .agents .chip{background:#1c2b45}html[data-theme=bands] .agents .gate .badge,html[data-theme=bands] .agents .view{background:#1c2b45;border-color:#2f4060}html[data-theme=bands] .agents .tab.carol,html[data-theme=bands] .agents .tab.alice{color:var(--faint)}html[data-theme=bands] .agents .tok rect,html[data-theme=bands] .agents .ink .hole{fill:var(--surface)}html[data-theme=bands] .agents .ink rect,html[data-theme=bands] .agents .ink path,html[data-theme=bands] .agents .ink line{stroke:#eef2f8}html[data-theme=bands] .agents .ink .fill{fill:#eef2f8}html[data-theme=bands] .agents .dot{fill:#ffffff40}html[data-theme=bands] .agents .lbl{fill:#b3bdcc}.social{align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.social a{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.social a:hover{border-color:var(--muted)}.social img{opacity:.8;width:16px;height:16px}.lang{font-family:var(--mono);color:var(--faint);margin-left:6px;font-size:12.5px}.motif{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 168'%3E%3Cg fill='none' stroke='%230f1b2d' stroke-opacity='.07'%3E%3Crect x='70' y='70' width='28' height='28' rx='4'/%3E%3Crect x='77' y='77' width='14' height='14' rx='2'/%3E%3C/g%3E%3Crect x='81.5' y='81.5' width='5' height='5' rx='1' fill='%230f1b2d' fill-opacity='.10'/%3E%3C/svg%3E");background-size:168px 168px}.motif-dark{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 168'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.09'%3E%3Crect x='70' y='70' width='28' height='28' rx='4'/%3E%3Crect x='77' y='77' width='14' height='14' rx='2'/%3E%3C/g%3E%3Crect x='81.5' y='81.5' width='5' height='5' rx='1' fill='%23ffffff' fill-opacity='.12'/%3E%3C/svg%3E");background-size:168px 168px}.topmeta{align-items:center;gap:10px;margin-left:4px;display:inline-flex}.topmeta a{opacity:.75;align-items:center;display:inline-flex}.topmeta a:hover{opacity:1}.topmeta .lang{opacity:1;margin-left:4px}@media (width<=1180px){.topmeta a:not(.lang){display:none}}.flags[data-astro-cid-tgltoctm]{vertical-align:-2px;gap:5px;margin-left:6px;display:inline-flex}.flags[data-astro-cid-tgltoctm] svg[data-astro-cid-tgltoctm]{border-radius:2px;box-shadow:0 0 0 1px #0f1b2d1f}
