:root{--bg: #0f1115;--surface: #181b22;--surface-2: #21252e;--border: #2a2f3a;--text: #e6e8ec;--muted: #9aa3b2;--accent: #7aa2f7;--user: #2a3550;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55}.app{max-width:780px;margin:0 auto;height:100%;display:flex;flex-direction:column;padding:0 1rem}.header{text-align:center;padding:1.5rem 0 .75rem;border-bottom:1px solid var(--border)}.header h1{margin:0;font-size:1.7rem;font-weight:600}.header p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.chat{flex:1;overflow-y:auto;padding:1.25rem 0;display:flex;flex-direction:column;gap:1rem}.empty{margin:auto;text-align:center;color:var(--muted)}.suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.chip{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.5rem .85rem;border-radius:999px;font-size:.85rem;cursor:pointer;transition:border-color .15s,background .15s}.chip:hover{border-color:var(--accent);background:var(--surface-2)}.msg{display:flex}.msg-user{justify-content:flex-end}.msg-bubble{max-width:85%;padding:.75rem 1rem;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.msg-user .msg-bubble{background:var(--user);border-color:transparent}.msg-content{white-space:pre-wrap;word-wrap:break-word}.badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:.1rem .45rem;border-radius:6px;margin-bottom:.4rem}.badge-high{background:#4ade802e;color:#4ade80}.badge-medium{background:#facc152e;color:#facc15}.badge-low,.badge-abstain{background:#f871712e;color:#f87171}.sources{margin-top:.6rem;font-size:.82rem}.sources>summary{cursor:pointer;color:var(--muted)}.source-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem}.source-item{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);overflow:hidden}.source-item>summary{display:flex;align-items:center;gap:.6rem;padding:.45rem .65rem;cursor:pointer;list-style:none}.source-item>summary::-webkit-details-marker{display:none}.source-item[open]>summary{border-bottom:1px solid var(--border)}.src-num{flex:0 0 auto;font-weight:700;font-size:.7rem;color:var(--accent);background:#7aa2f71f;padding:.1rem .4rem;border-radius:5px}.src-file{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-score{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums}.src-body{padding:.65rem .75rem;max-height:320px;overflow-y:auto}.src-context{margin:0 0 .5rem;color:var(--muted);white-space:pre-wrap}.src-quote{margin:0;padding-left:.75rem;border-left:2px solid var(--accent);color:var(--text);white-space:pre-wrap}.src-empty{margin:0;color:var(--muted);font-style:italic}.src-doc{margin-top:.6rem;padding-top:.5rem;border-top:1px solid var(--border)}.src-doc-btn{background:transparent;border:1px solid var(--border);color:var(--accent);border-radius:6px;padding:.35rem .7rem;font-size:.78rem;cursor:pointer;transition:border-color .15s,background .15s}.src-doc-btn:hover{border-color:var(--accent);background:#7aa2f71a}.src-doc-text{margin:.5rem 0 0;padding:.65rem .75rem;max-height:360px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.typing{display:flex;gap:4px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.4s infinite both}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.error{color:#f87171;font-size:.9rem;text-align:center}.composer{display:flex;gap:.5rem;padding:.75rem 0;border-top:1px solid var(--border)}.composer textarea{flex:1;resize:none;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:.7rem .9rem;font:inherit;max-height:160px}.composer textarea:focus{outline:none;border-color:var(--accent)}.composer button{background:var(--accent);color:#0f1115;border:none;border-radius:12px;padding:0 1.25rem;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}.quota{text-align:center;color:var(--muted);font-size:.78rem;margin:0 0 .25rem}.disclaimer{text-align:center;color:var(--muted);font-size:.72rem;margin:0 0 .75rem}
