:root{--brand: #A0522D;--brand-2: #7A3B2E;--on-brand: #fff;--brand-tint: #f6ede8;--brand-tint-2: #ecd8ce;--brand-deep: #78402a;--ink: #221c18;--ink-2: #5f5751;--ink-3: #978d86;--paper: #ffffff;--paper-2: #f7f3f0;--line: #e6dfda;--ok: #2f7a4d;--warn: #b3541e;--danger: #b42318;--radius: 14px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--paper-2);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--brand-deep)}:focus-visible{outline:3px solid var(--brand-tint-2);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.app{height:100dvh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;background:var(--paper)}@media(min-width:761px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.topbar{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:var(--brand);color:var(--on-brand);flex:none}.topbar .logo{height:28px;width:auto;max-width:140px;object-fit:contain}.topbar .title{font-weight:650;letter-spacing:-.01em;font-size:17px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iconbtn{background:transparent;border:0;color:inherit;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;cursor:pointer}.iconbtn:active{background:#00000026}.iconbtn svg{width:22px;height:22px}.banner{padding:8px 14px;font-size:14px;display:flex;gap:10px;align-items:center;flex:none}.banner.offline{background:#3a332f;color:#fff}.banner.install{background:var(--brand-tint);color:var(--ink);border-bottom:1px solid var(--line)}.banner .grow{flex:1}.btn{border:0;border-radius:10px;padding:8px 14px;font-weight:600;cursor:pointer;background:var(--brand);color:var(--on-brand)}.btn.quiet{background:transparent;color:var(--ink-2)}.btn.line{background:transparent;border:1.5px solid var(--line);color:var(--ink)}.btn.danger{background:transparent;color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:5px 10px;font-size:14px}.thread{flex:1;overflow-y:auto;padding:16px 14px 8px;scroll-behavior:smooth}.welcome{margin:24px auto 8px;max-width:34ch;text-align:center;color:var(--ink-2)}.welcome h2{font-size:22px;font-weight:650;letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}.welcome .hint{display:flex;flex-direction:column;gap:8px;margin-top:18px;text-align:left}.hint button{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;color:var(--ink)}.hint button:active{background:var(--brand-tint)}.msg{display:flex;margin:0 0 14px}.msg.user{justify-content:flex-end}.msg.user .bubble{background:var(--brand);color:var(--on-brand);border-radius:18px 18px 4px;padding:10px 14px;max-width:85%;white-space:pre-wrap}.msg.assistant .bubble{max-width:100%;width:100%}.answer{display:grid;grid-template-columns:1fr}.answer .body{background:var(--paper-2);border-radius:4px 18px 18px;padding:12px 14px}.answer .body p{margin:0 0 10px}.answer .body p:last-child{margin:0}.answer .body ol,.answer .body ul{margin:0 0 10px;padding-left:22px}.answer .body li{margin:3px 0}.answer .body.declined{background:#fbf4ec;border:1px solid #f0dcc6}.cite{display:inline-block;font-size:11px;font-weight:700;background:var(--brand-tint-2);color:var(--brand-deep);border-radius:5px;padding:0 5px;margin-left:2px;vertical-align:2px}.cursor:after{content:"▍";color:var(--brand);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-left:6px}.tab{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:4px 10px 4px 8px;border-radius:3px 10px 10px 3px;background:var(--brand-tint);color:var(--brand-deep);border-left:3px solid var(--brand);max-width:100%}.tab b{font-weight:700}.tab span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab small{color:var(--ink-3)}.composer{flex:none;display:flex;gap:8px;align-items:flex-end;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.composer textarea{flex:1;resize:none;border:1.5px solid var(--line);border-radius:16px;padding:11px 14px;max-height:140px;min-height:46px;background:var(--paper-2)}.composer textarea:focus{border-color:var(--brand);outline:none;background:#fff}.send{width:46px;height:46px;border-radius:50%;border:0;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;flex:none;cursor:pointer}.send:disabled{background:var(--line);color:var(--ink-3)}.send svg{width:20px;height:20px}.scrim{position:fixed;inset:0;background:#140c0859;z-index:20}.drawer{position:fixed;top:0;bottom:0;left:0;width:min(320px,86vw);background:var(--paper);z-index:21;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);box-shadow:8px 0 30px #00000026}.drawer header{padding:16px 16px 8px;display:flex;align-items:center;justify-content:space-between}.drawer header b{font-size:15px}.drawer .list{flex:1;overflow-y:auto;padding:0 8px}.drawer .item{display:flex;gap:6px;align-items:center;border-radius:10px}.drawer .item>button:first-child{flex:1;text-align:left;background:none;border:0;padding:11px 10px;border-radius:10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer .item.active>button:first-child{background:var(--brand-tint);color:var(--brand-deep);font-weight:600}.drawer footer{border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));font-size:14px;color:var(--ink-2);display:flex;flex-direction:column;gap:8px}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--brand)}.card{background:var(--paper);border-radius:20px;padding:28px 24px;width:100%;max-width:380px}.card .logo{height:44px;margin-bottom:8px}.card h1{font-size:22px;margin:6px 0 4px;letter-spacing:-.02em}.card p.sub{color:var(--ink-2);margin:0 0 20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:14px;font-weight:600;color:var(--ink-2)}.field input{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--paper-2)}.field input:focus{border-color:var(--brand);outline:none;background:#fff}.error{color:var(--danger);font-size:14px;margin:6px 0 10px}.btn.wide{width:100%;padding:13px;font-size:16px}.admin{flex:1;overflow-y:auto;padding:14px 14px 40px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.tabs button{background:none;border:0;padding:10px 12px;font-weight:600;color:var(--ink-2);border-bottom:2.5px solid transparent;cursor:pointer;white-space:nowrap}.tabs button.on{color:var(--brand-deep);border-bottom-color:var(--brand)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:18px}.stat{background:var(--paper-2);border-radius:12px;padding:12px 14px}.stat b{display:block;font-size:24px;letter-spacing:-.02em}.stat span{color:var(--ink-2);font-size:13px}.row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.row .grow{flex:1;min-width:0}.row .grow div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row small{color:var(--ink-2);display:block}.pill{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--paper-2);color:var(--ink-2);white-space:nowrap}.pill.active{background:#e3f2e8;color:var(--ok)}.pill.processing,.pill.pending{background:#fdf1e3;color:var(--warn)}.pill.failed{background:#fbe4e2;color:var(--danger)}.pill.retired{background:var(--paper-2);color:var(--ink-3)}.upload{display:flex;flex-direction:column;gap:10px;background:var(--paper-2);border-radius:12px;padding:14px;margin-bottom:14px}.upload input[type=text],.upload input[type=email],.upload select{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.upload input[type=file]{font-size:14px}.q{padding:10px 0;border-bottom:1px solid var(--line)}.q .qq{font-weight:600}.q .qa{color:var(--ink-2);font-size:14px;margin-top:4px;white-space:pre-wrap;max-height:5.5em;overflow:hidden}.q .meta{font-size:12px;color:var(--ink-3);margin-top:4px}.note{font-size:13px;color:var(--ink-2);background:var(--brand-tint);padding:8px 12px;border-radius:10px;word-break:break-all}.center{text-align:center;color:var(--ink-2);padding:40px 0}
