:root{--green:#0f6e4f;--green-strong:#0b5a40;--sand:#f6e7c8;--gold:#e0a526;--bg:#fbf8f2;--surface:#fff;--text:#1d1b16;--muted:#6b665c;--border:#e6dfd0;--user-bubble:#0f6e4f;--user-text:#fff;--assistant-bubble:#fff;--danger:#b3261e;--notice-bg:#fff4dc;--notice-border:#f0d9a4;--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12140f;--surface:#1c1f19;--text:#ece8de;--muted:#a39f95;--border:#2e322a;--user-bubble:#1a8a64;--assistant-bubble:#1c1f19;--notice-bg:#2a2516;--notice-border:#4a3f20;--danger:#f2b8b5}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-text-size-adjust:100%;overscroll-behavior:none;margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#app{height:100dvh}a{color:var(--green)}@media (prefers-color-scheme:dark){a{color:#6fd3a8}}button,input,textarea{font:inherit;color:inherit}input:not([type=checkbox]),textarea{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;padding:12px 14px;font-size:16px}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;min-height:44px;padding:10px 16px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--green);border-color:var(--green);color:#fff;width:100%;font-weight:600}button.primary:not(:disabled):active{background:var(--green-strong)}button.primary.small{width:auto}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.icon{background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;padding:0;font-size:28px;line-height:1;display:inline-flex}span.icon,a.icon{min-width:44px;color:inherit;justify-content:center;align-items:center;font-size:28px;text-decoration:none;display:inline-flex}button.icon.small{min-width:36px;min-height:36px;color:var(--muted);font-size:22px}.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:12px;margin:12px 0;padding:10px 14px}.notice{background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:12px;margin:16px 0;padding:12px 14px;font-size:14px}.splash{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.welcome,.page{max-width:560px;padding:calc(16px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));height:100%;margin:0 auto;overflow-y:auto}.welcome-head{text-align:center;margin-top:24px}.welcome-head h1{margin:12px 0 0;font-size:28px}.greeting{color:var(--green);margin:4px 0;font-size:20px;font-weight:600}.tagline{color:var(--muted)}.fine{color:var(--muted);text-align:center;font-size:13px}.contact{overflow-wrap:anywhere;margin:8px 0 0}.tabs{gap:8px;margin:16px 0 8px;display:flex}.tabs button{flex:1}.tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin:12px 0;padding:16px;display:flex}.card h2{margin:0;font-size:17px}.card p{margin:0}.card.danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.card label{font-weight:600}.card small{color:var(--muted);margin-top:-6px}label.check,label.switch{align-items:flex-start;gap:12px;font-weight:400;display:flex}label.check input,label.switch input{width:22px;height:22px;accent-color:var(--green);flex:none;margin-top:2px}label.switch span{font-weight:600}.prose h2{margin-top:24px;font-size:18px}.prose li{margin:6px 0}.chat{grid-template-rows:auto 1fr auto auto;grid-template-columns:minmax(0,1fr);height:100%;display:grid}.topbar{padding:calc(4px + var(--safe-top)) 4px 4px;background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--border);z-index:2;align-items:center;gap:4px;display:flex;position:sticky;top:0}.page .topbar{margin:calc(-16px - var(--safe-top)) -16px 8px}.topbar .title{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:17px;overflow:hidden}.messages{-webkit-overflow-scrolling:touch;flex-direction:column;gap:10px;padding:16px 12px 8px;display:flex;overflow-y:auto}.bubble{border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-width:85%;padding:10px 14px}.bubble.user{background:var(--user-bubble);color:var(--user-text);border-bottom-right-radius:6px;align-self:flex-end}.bubble.assistant{background:var(--assistant-bubble);border:1px solid var(--border);white-space:normal;border-bottom-left-radius:6px;align-self:flex-start}.bubble p{margin:0 0 8px}.bubble p:last-child,.bubble ul:last-child,.bubble ol:last-child{margin-bottom:0}.bubble ul,.bubble ol{margin:0 0 8px;padding-left:22px}.dots{background:radial-gradient(circle, var(--muted) 4px, transparent 5px) 0 50% / 12px 10px repeat-x;width:36px;height:10px;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.3}}.empty{text-align:center;max-width:420px;margin:auto;padding:16px 8px}.empty h2{color:var(--green);margin:8px 0 4px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.chip{border-radius:999px;min-height:40px;font-size:14px}.composer{padding:8px 12px calc(8px + var(--safe-bottom));background:var(--bg);border-top:1px solid var(--border);align-items:flex-end;gap:8px;display:flex}.composer textarea{resize:none;border-radius:22px;max-height:160px;padding:10px 16px}.composer .send{background:var(--green);border-color:var(--green);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.drawer-link{border-top:1px solid var(--border);color:inherit;padding:12px 8px;font-weight:600;text-decoration:none}.contribute .tabs{margin-top:4px}.welcome-message summary{cursor:pointer;font-weight:600}.consent-list{margin:0;padding-left:20px}.consent-list li{margin:4px 0}.contrib-task{gap:12px}.contrib-sentence{overflow-wrap:anywhere;font-size:22px;font-weight:600;line-height:1.4}.contrib-fr{color:var(--muted);font-size:17px;font-style:italic}.contrib-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.contrib-actions button{flex:auto}.contrib-thanks{color:var(--green);font-weight:600}.contrib-task audio{width:100%}.contrib-stats select{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:inherit;border-radius:12px;padding:8px 12px}.small-tabs{margin:0}.small-tabs button{min-height:40px;font-size:14px}.link-button{color:var(--muted);background:0 0;border:none;min-height:44px;margin-top:16px;text-decoration:underline}.move-banner{z-index:1;background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;font-size:14px;display:flex;position:sticky;top:0}.move-banner p{margin:0}.move-banner .primary.small{align-self:flex-start}a.button{border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;text-decoration:none;display:inline-flex}a.button.primary{background:var(--green);color:#fff;font-weight:600}.composer .mic{width:44px;height:44px;color:var(--green);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.composer .mic.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:1.6s ease-out infinite rec-pulse}@keyframes rec-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 45%, transparent)}to{box-shadow:0 0 0 12px #0000}}.composer-field{flex:1;min-width:0;display:flex;position:relative}.composer textarea[readonly]{color:var(--muted);padding-right:56px}.composer-dots{position:absolute;bottom:17px;right:14px}.voice-head{justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.elapsed{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:400}.voice-sub{color:var(--muted)}.voice-done{color:var(--green);font-weight:600}.level-meter{align-items:center;gap:3px;height:28px;margin:8px 0 6px;display:flex}.level-meter span{background:var(--user-bubble);border-radius:2px;flex:1;height:100%;transition:transform 60ms linear;transform:scaleY(.08)}.voice-panel{border-top:1px solid var(--border);background:var(--notice-bg);padding:10px 14px;font-size:14px}.voice-panel p,.voice-panel .error{margin:0}.voice-panel .fine{text-align:left;margin-top:6px}.voice-panel progress{width:100%;accent-color:var(--green);margin-top:6px}.voice-actions{gap:8px;margin-top:8px;display:flex}.rec-dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulse;display:inline-block}.scrim{z-index:9;background:#00000059;position:fixed;inset:0}.drawer{background:var(--surface);border-right:1px solid var(--border);z-index:10;width:min(84vw,320px);padding:calc(12px + var(--safe-top)) 12px calc(12px + var(--safe-bottom));visibility:hidden;flex-direction:column;gap:8px;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.drawer.open{visibility:visible;transform:none}.drawer-head{align-items:center;gap:10px;padding:4px 4px 8px;display:flex}.drawer h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 4px 0;font-size:13px}.conv-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.conv-list li{border-radius:12px;align-items:center;display:flex}.conv-list li.current{background:color-mix(in srgb, var(--green) 12%, transparent)}.conv-list a{min-width:0;color:inherit;flex-direction:column;flex:1;padding:10px;text-decoration:none;display:flex}.conv-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conv-date{color:var(--muted);font-size:12px}.drawer-foot{border-top:1px solid var(--border);color:inherit;padding:12px 8px;text-decoration:none}.spinner{vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}button:not(.send):not(.icon) .spinner{margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}button[aria-busy=true]:disabled{opacity:.85;cursor:progress}@media (prefers-reduced-motion:reduce){.drawer{transition:none}.spinner{animation-duration:2s}.dots,.rec-dot,.composer .mic.recording{animation:none}.level-meter span{transition:none}}@media (min-width:900px){.chat{grid-template-rows:auto 1fr auto auto;grid-template-columns:300px minmax(0,1fr)}.drawer{visibility:visible;grid-row:1/5;width:auto;position:static;transform:none}.scrim,.topbar button[aria-label=Conversations]{display:none}.topbar,.messages,.voice-panel,.composer{grid-column:2}}
