@import url("https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=DM+Serif+Display:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--ink:#0f1117;--ink-soft:#4a4540;--ink-muted:#8a8078;--paper:#f8f6f1;--paper-warm:#f0ece3;--paper-card:#ffffff;--accent:#d4622a;--accent-hover:#b8521f;--accent-soft:#f0c4a8;--accent-dim:rgba(212,98,42,0.12);--teal:#2a7d6f;--teal-hover:#226659;--teal-soft:#a8d8d0;--teal-dim:rgba(42,125,111,0.12);--gold:#c9933a;--gold-dim:rgba(201,147,58,0.15);--border:rgba(15,17,23,0.10);--border-med:rgba(15,17,23,0.18);--border-strong:rgba(15,17,23,0.28);--deep:var(--ink);--sage:var(--teal);--mist:var(--paper-warm);--shadow:0 2px 12px rgba(15,17,23,0.07);--shadow-md:0 4px 20px rgba(15,17,23,0.10);--shadow-lg:0 8px 40px rgba(15,17,23,0.14);--radius:12px;--radius-lg:20px;--paper-blur:rgba(248,246,241,0.97);--font-sans:"Sora",sans-serif;--font-serif:"DM Serif Display",serif;--font-display:"DM Serif Display",serif;--font-mono:"JetBrains Mono",monospace}html.dark{--ink:#e6edf3;--ink-soft:#8d96a0;--ink-muted:#636c76;--paper:#0d1117;--paper-warm:#161b22;--paper-card:#21262d;--border:rgba(240,246,252,0.10);--border-med:rgba(240,246,252,0.16);--border-strong:rgba(240,246,252,0.28);--shadow:0 2px 12px rgba(0,0,0,0.40);--shadow-md:0 4px 20px rgba(0,0,0,0.50);--shadow-lg:0 8px 40px rgba(0,0,0,0.60);--accent-dim:rgba(212,98,42,0.20);--teal-dim:rgba(42,125,111,0.20);--gold-dim:rgba(201,147,58,0.20);--paper-blur:rgba(13,17,23,0.95)}html.dark input:not([type=file]),html.dark select,html.dark textarea{background:var(--paper-card)!important;color:var(--ink)!important}html.dark input::-moz-placeholder,html.dark textarea::-moz-placeholder{color:var(--ink-muted)!important}html.dark input::placeholder,html.dark textarea::placeholder{color:var(--ink-muted)!important}html{font-size:16px}body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);line-height:1.6;min-height:100vh}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}@keyframes bubbleIn{0%{opacity:0;transform:scale(.92) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes micPulse{0%,to{box-shadow:0 0 0 0 rgba(212,98,42,.4)}50%{box-shadow:0 0 0 8px rgba(212,98,42,0)}}.animate-fadeUp{animation:fadeUp .5s ease both}.animate-fadeIn{animation:fadeIn .3s ease both}.bubble-in{animation:bubbleIn .2s ease both}.slide-up{animation:slideUp .25s ease both}.dot-1{animation:dotBounce 1.2s ease-in-out infinite}.dot-2{animation:dotBounce 1.2s ease-in-out .2s infinite}.dot-3{animation:dotBounce 1.2s ease-in-out .4s infinite}h1,h2,h3{font-family:var(--font-serif);line-height:1.2}.font-display,.font-serif{font-family:var(--font-serif)!important}.mono{font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--radius);font-family:var(--font-sans);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;text-decoration:none;line-height:1}.btn-primary{background:var(--accent);color:white}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-teal{background:var(--teal);color:white}.btn-teal:hover{background:var(--teal-hover);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--ink);border:1.5px solid var(--border-strong)}.btn-secondary:hover{background:var(--paper-warm);border-color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-soft);padding:8px 14px}.btn-ghost:hover{background:var(--paper-warm);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--paper-card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);padding:24px}.card:hover{box-shadow:var(--shadow-md)}.input{width:100%;padding:10px 14px;border:1.5px solid var(--border-med);border-radius:var(--radius);font-family:var(--font-sans);font-size:14px;background:white;color:var(--ink);transition:border-color .2s;outline:none}.input:focus{border-color:var(--accent)}.input::-moz-placeholder{color:rgba(15,17,23,.35)}.input::placeholder{color:rgba(15,17,23,.35)}label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--ink-soft)}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600;font-family:var(--font-mono)}.badge-6{background:#e8f4fd;color:#1a6fa3}.badge-5{background:#e8f7f0;color:#1a7a4a}.badge-4{background:#fdf4e8;color:#9a6200}.badge-3{background:#fde8e8;color:#a32020}.spinner{width:20px;height:20px;border:2px solid var(--border-med);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.fiche-html h1,.fiche-html h2,.fiche-html h3,.fiche-html h4{font-family:var(--font-serif);color:var(--ink);margin:1.1em 0 .4em;line-height:1.25}.fiche-html h1{font-size:1.35em}.fiche-html h2{font-size:1.18em}.fiche-html h3{font-size:1.05em}.fiche-html p{margin:.6em 0}.fiche-html ol,.fiche-html ul{padding-left:1.4em;margin:.5em 0}.fiche-html li{margin:.25em 0}.fiche-html table{border-collapse:collapse;width:100%;margin:.8em 0;font-size:13px}.fiche-html td,.fiche-html th{border:1px solid var(--border-med);padding:6px 10px;text-align:left}.fiche-html th{background:var(--accent-dim);font-weight:600;color:var(--ink)}.fiche-html b,.fiche-html strong{font-weight:700;color:var(--ink)}.fiche-html em,.fiche-html i{font-style:italic}.fiche-html blockquote{border-left:3px solid var(--accent);padding:6px 12px;margin:.6em 0;background:var(--accent-dim);border-radius:0 8px 8px 0}.fiche-html code,.fiche-html pre{font-family:var(--font-mono);font-size:12px;background:var(--paper-warm);padding:2px 6px;border-radius:4px}.fiche-html img{max-width:100%;border-radius:8px;margin:.5em 0}.fiche-html a{color:var(--accent)}