:root{--ink:#0a0a0a;--ink-soft:#2a2a2a;--ink-mute:#6e6e6e;--paper:#fff;--cream:#fbfaf7;--cream-warm:#f2eee6;--rule:#0a0a0a;--rule-soft:#e2e0da;--accent:#0a0a0a;--accent-glow:#0a0a0a0d;--ok:#0a0a0a;--warn:#0a0a0a;--danger:#b00020;--danger-soft:#b0002014;--font-display:"Oswald", "Archivo Narrow", "Bebas Neue", Impact, sans-serif;--font-funky:"Honk", "Oswald", system-ui, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Menlo", monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--page-w:980px;--reading-w:680px;--radius:4px;--radius-lg:6px;--ease:cubic-bezier(.32, .72, 0, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--dur-fast:.16s;--dur:.28s;--dur-slow:.5s;--shadow-1:0 1px 0 #0a0a0a0f;--shadow-2:0 2px 8px #0a0a0a14, 0 1px 0 #0a0a0a0a;--shadow-3:0 16px 40px #0a0a0a1f, 0 2px 4px #0a0a0a0f;--accent-deep:var(--ink);--accent-warm:var(--ink);--gold:var(--ink);--gold-soft:var(--accent-glow);--font-serif:var(--font-display)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);min-height:100vh;font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:.02em}h1{text-transform:uppercase;letter-spacing:.04em;font-size:clamp(2.4rem,5.5vw,3.4rem);font-weight:600;line-height:1}h2{text-transform:uppercase;letter-spacing:.05em;font-size:1.75rem;font-weight:600;line-height:1.1}h3{letter-spacing:.02em;font-size:1.05rem;font-weight:500;line-height:1.25}h4{font-size:.74rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-mute);font-weight:700}p{margin:0}a{color:var(--ink);transition:opacity var(--dur-fast) var(--ease);border-bottom:1px solid;text-decoration:none}a:hover{opacity:.6}code,kbd,pre{font-family:var(--font-mono);font-size:.86em}::selection{background:var(--ink);color:var(--paper)}input[type=text],input[type=search],input[type=email],input[type=password],textarea{font:inherit;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--radius);padding:var(--s-3) var(--s-4);width:100%;transition:box-shadow var(--dur-fast) var(--ease)}input:focus,textarea:focus{box-shadow:4px 4px 0 var(--ink);outline:0;transform:translate(-2px,-2px)}input::placeholder{color:var(--ink-mute)}button{font:inherit;cursor:pointer;color:inherit;transition:all var(--dur-fast) var(--ease);background:0 0;border:0}button:disabled{opacity:.4;cursor:not-allowed}select{font:inherit;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--radius);padding:var(--s-2) var(--s-4);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease)}select:focus{box-shadow:3px 3px 0 var(--ink);outline:0}.page{max-width:var(--page-w);padding:0 var(--s-6);margin:0 auto}@media (width<=720px){.page{padding:0 var(--s-4)}body{font-size:14px}}.pill{align-items:center;gap:var(--s-1);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;background:var(--paper);color:var(--ink);border:1.5px solid var(--ink);white-space:nowrap;border-radius:0;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.pill--accent{background:var(--ink);color:var(--paper)}.pill--gold{background:var(--paper);color:var(--ink);border-style:dashed}.pill--ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}.confidence{font-family:var(--font-sans);color:var(--ink);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--ink);background:var(--paper);align-items:center;gap:6px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.confidence:before{content:"";background:currentColor;width:7px;height:7px}.confidence--haute{background:var(--ink);color:var(--paper)}.confidence--moyenne{background:var(--paper);color:var(--ink)}.confidence--basse{background:var(--paper);color:var(--ink);border-style:dashed}.btn{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-5);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;transition:all var(--dur-fast) var(--ease);border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:0;font-size:.86rem;font-weight:600;display:inline-flex;position:relative}.btn--primary{background:var(--ink);color:var(--paper)}.btn--primary:hover:not(:disabled){box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.btn--ghost{background:var(--paper);color:var(--ink)}.btn--ghost:hover:not(:disabled){background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{animation:fadeIn var(--dur) var(--ease)}.fade-up{animation:fadeUp var(--dur) var(--ease)}.skeleton{background:linear-gradient(90deg, var(--cream-warm) 25%, var(--rule-soft) 37%, var(--cream-warm) 63%);background-size:400% 100%;border-radius:0;animation:1.4s linear infinite shimmer}.cite{font-family:var(--font-mono);color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);vertical-align:1px;transition:all var(--dur-fast) var(--ease);border-radius:0;margin:0 2px;padding:1px 5px;font-size:.72em;font-weight:700;display:inline-block}.cite:hover{background:var(--ink);color:var(--paper);border-bottom:1.5px solid var(--ink)}hr{border:0;border-top:2px solid var(--ink);margin:var(--s-6) 0}hr.fancy{background:var(--ink);border:0;height:2px}.dash-rule{align-items:center;gap:var(--s-3);color:var(--ink);margin:var(--s-5) 0;display:flex}.dash-rule:before,.dash-rule:after{content:"";background:var(--ink);flex:1;height:2px}.dash-rule>*{font-family:var(--font-funky);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);font-size:1.6rem;font-weight:400}.empty{text-align:center;padding:var(--s-9) var(--s-5);color:var(--ink-mute)}.empty h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--s-2);color:var(--ink);font-weight:500}.empty p{font-size:.92rem}.app.svelte-12qhfyh{flex-direction:column;min-height:100vh;display:flex}header.svelte-12qhfyh{z-index:10;position:relative}.hero-band.svelte-12qhfyh{background:var(--ink);color:var(--paper);padding:var(--s-5) var(--s-5) var(--s-6);text-align:center;border-bottom:2px solid var(--ink)}.brand.svelte-12qhfyh{align-items:center;gap:var(--s-3);color:var(--paper);border-bottom:0;flex-direction:column;display:inline-flex}.brand.svelte-12qhfyh:hover{opacity:1;border-bottom:0}.brand.svelte-12qhfyh:hover .brand-tnt:where(.svelte-12qhfyh){background:var(--paper);color:var(--ink)}.brand-tnt.svelte-12qhfyh{border:2px solid var(--paper);min-width:90px;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--paper);background:var(--ink);transition:all var(--dur-fast) var(--ease);justify-content:center;align-items:center;padding:6px 16px;font-size:1.1rem;font-weight:700;display:inline-flex}.brand-name.svelte-12qhfyh{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--paper);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:500;line-height:1}.brand-tagline.svelte-12qhfyh{font-family:var(--font-sans);letter-spacing:.32em;text-transform:uppercase;color:var(--paper);opacity:.85;font-size:.7rem;font-weight:500}.nav-band.svelte-12qhfyh{background:var(--paper);border-bottom:2px solid var(--ink);z-index:9;-webkit-backdrop-filter:saturate(140%)blur(12px);position:sticky;top:0}.nav-row.svelte-12qhfyh{justify-content:space-between;align-items:center;gap:var(--s-4);padding:0 var(--s-6);min-height:48px;display:flex}nav.svelte-12qhfyh{flex-wrap:wrap;gap:0;display:flex}nav.svelte-12qhfyh a:where(.svelte-12qhfyh){font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);padding:var(--s-3) var(--s-4);transition:all var(--dur-fast) var(--ease);border-bottom:2px solid #0000;margin-bottom:-2px;font-size:.8rem;font-weight:500;position:relative}nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--ink);opacity:1;border-bottom:0}nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:var(--ink);border-bottom:2px solid var(--ink)}main.svelte-12qhfyh{padding:var(--s-7) 0 var(--s-9);animation:svelte-12qhfyh-fadeIn .4s var(--ease);flex:1}footer.svelte-12qhfyh{border-top:2px solid var(--ink);padding:var(--s-4) 0;background:var(--paper);color:var(--ink-soft);font-size:.72rem;font-family:var(--font-sans)}.footer-inner.svelte-12qhfyh{gap:var(--s-3);text-transform:uppercase;letter-spacing:.16em;justify-content:center;align-items:center;font-weight:500;display:flex}.footer-inner.svelte-12qhfyh code:where(.svelte-12qhfyh){font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--ink)}.dot.svelte-12qhfyh{opacity:.5}@media (width<=720px){.nav-row.svelte-12qhfyh{padding:var(--s-3) var(--s-4);align-items:stretch;gap:var(--s-2);flex-direction:column}nav.svelte-12qhfyh{justify-content:center}.user-menu.svelte-12qhfyh{border:0;justify-content:center;padding:0}}@keyframes svelte-12qhfyh-fadeIn{0%{opacity:0}to{opacity:1}}.user-menu.svelte-12qhfyh{align-items:center;gap:var(--s-3);padding-left:var(--s-3);display:flex}.user-email.svelte-12qhfyh{font-family:var(--font-mono);color:var(--ink-mute);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.7rem;overflow:hidden}.logout.svelte-12qhfyh{background:var(--paper);border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;transition:all var(--dur-fast) var(--ease);border-radius:0;align-items:center;padding:5px 7px;display:inline-flex}.logout.svelte-12qhfyh:hover{background:var(--ink);color:var(--paper)}.boot.svelte-12qhfyh{justify-content:center;align-items:center;gap:var(--s-3);background:var(--ink);min-height:100vh;color:var(--paper);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;flex-direction:column;font-size:.86rem;display:flex}.boot.svelte-12qhfyh .brand-mark:where(.svelte-12qhfyh),.boot.svelte-12qhfyh .brand-mark{font-family:var(--font-display);border:2px solid var(--paper);letter-spacing:.18em;padding:6px 18px;font-size:1.6rem;font-weight:700;animation:1.6s ease-in-out infinite svelte-12qhfyh-pulse}@keyframes svelte-12qhfyh-pulse{0%,to{opacity:.5}50%{opacity:1}}
