:root{--bg:#faf9f5;--panel:#f0eee6;--ink:#1f1e1d;--muted:#73726c;--line:#dedbd0;--accent:#d97757;--accent-ink:#fff;--danger:#b3261e;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;-webkit-text-size-adjust:100%}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:10px;min-height:40px;padding:0 14px}button:disabled{cursor:default;opacity:.45}.app{height:100dvh;display:flex}main{flex-direction:column;flex:1;min-width:0;display:flex}header{padding:max(8px, env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.icon-button{width:44px;min-width:44px;min-height:44px;padding:0;font-size:1.15rem}.chat-list{z-index:20;width:min(86vw,340px);padding:max(12px, env(safe-area-inset-top)) 12px 12px;background:var(--panel);border-right:1px solid var(--line);visibility:hidden;flex-direction:column;gap:10px;transition:transform .2s,visibility .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.chat-list.open{visibility:visible;transform:none}.backdrop{z-index:10;background:#00000059;border:0;border-radius:0;position:fixed;inset:0}.chat-list h1{margin:0;font-size:1.05rem}.chat-list ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.primary,.new-chat button:not(.link){background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.new-chat{flex-direction:column;gap:6px;display:flex}.link{color:var(--muted);background:0 0;border:0}.row{border-radius:10px;align-items:center;gap:4px;display:flex;position:relative}.row.selected{background:#e6e3d8}.row-title{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.row-title span:not(.dot){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-title small{color:var(--muted)}.row .icon-button{background:0 0;border:0}.row.editing form,.row.confirm{flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:4px 0;display:flex}.row.editing input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;min-height:40px;padding:0 10px;font-size:16px}.dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.menu{z-index:5;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;top:100%;right:4px;box-shadow:0 6px 20px #0000001f}.menu button{text-align:left;border:0}.danger{color:var(--danger);border-color:var(--danger)}.banner{color:var(--danger);background:#fbe9e7;border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem}@media (width>=900px){.chat-list{visibility:visible;flex:none;width:300px;position:static;transform:none}.backdrop,.menu-button{display:none}}.thread{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.thread.dragging:after{content:"Déposez vos fichiers ici";border:2px dashed var(--accent);color:var(--accent);background:#faf9f5e6;border-radius:14px;place-items:center;font-weight:600;display:grid;position:absolute;inset:8px}.viewport{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 12px;display:flex;overflow-y:auto}.message{overflow-wrap:anywhere;max-width:min(100%,760px)}.message.user{background:var(--panel);border-radius:16px;align-self:flex-end;padding:8px 14px}.message.user p{white-space:pre-wrap;margin:0}.message.assistant{align-self:stretch}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown pre,.markdown code{font-family:ui-monospace,Menlo,monospace;font-size:.88em}.markdown pre{background:var(--panel);border-radius:10px;padding:10px 12px;overflow-x:auto}.markdown table{border-collapse:collapse;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--line);padding:4px 10px}.tool-card{border:1px solid var(--line);background:#fff;border-radius:10px;margin:8px 0;font-size:.85rem;overflow:hidden}.tool-head{background:var(--panel);gap:8px;padding:6px 10px;display:flex}.tool-name{font-family:ui-monospace,Menlo,monospace;font-weight:600}.tool-detail{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.terminal{color:#e8e6dc;white-space:pre-wrap;word-break:break-all;background:#1f1e1d;margin:0;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:.8rem;overflow-x:auto}.terminal.output{color:#bdbbb0;border-top:1px solid #3a3936}.terminal.failed{color:#f2b8b5}.prompt{color:#7ec699;-webkit-user-select:none;user-select:none}.tool-more{border:0;border-top:1px solid var(--line);width:100%;min-height:36px;color:var(--muted);border-radius:0}.sources{flex-wrap:wrap;gap:6px;padding:8px 10px;display:flex}.chips,.outputs{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);max-width:100%;min-height:36px;color:inherit;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;text-decoration:none;display:inline-flex;position:relative}.chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip-status{color:var(--muted);white-space:nowrap;font-size:.8rem}.chip.upload.failed{border-color:var(--danger)}.chip.expired{background:var(--panel);color:var(--muted);text-decoration:line-through}.chip-x{background:0 0;border:0;min-height:28px;padding:0 6px}.chip-progress{width:calc(100% - 24px);height:3px;position:absolute;inset:auto 12px 2px}.hint{color:var(--danger);flex-basis:100%;margin:0;font-size:.85rem}.error-card{border:1px solid var(--danger);background:#fbe9e7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.error-card p{flex:1;margin:0}.error-card.forbidden{margin:20vh 16px 0}.composer{padding:8px 10px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex-direction:column;flex:none;gap:6px;display:flex}.composer form{align-items:flex-end;gap:6px;display:flex}.composer textarea{border:1px solid var(--line);resize:none;field-sizing:content;background:#fff;border-radius:14px;flex:1;min-width:0;min-height:44px;max-height:140px;padding:10px 12px;font-size:16px}.send{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stop{background:var(--ink);color:#fff}.empty{padding:24px 16px max(6px, env(safe-area-inset-bottom));color:var(--muted);flex-direction:column;flex:1;justify-content:space-between;display:flex}.sign-in{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--bg);justify-content:center;align-items:center;display:flex}.sign-in-column{text-align:center;width:100%;max-width:420px}.sign-in h1{margin:0 0 8px;font-size:1.5rem}.sign-in-subtitle{color:var(--muted);margin:0 0 24px}.sign-in-form{width:100%}button{min-width:44px;min-height:44px}.chip{min-height:44px}.chip-x{min-width:44px;min-height:44px;margin-right:-12px}.tool-more,.menu button,.new-chat button{min-height:44px}.outputs-title{color:var(--muted);flex-basis:100%;margin:0;font-size:.8rem}
