:root{--bg: #f5f7f9;--surface: #ffffff;--surface-2: #eef1f5;--border: #e1e6ec;--text: #101828;--muted: #667085;--primary: #0e7490;--primary-weak: #e2f1f7;--high: #dc2626;--med: #d97706;--low: #059669;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 16px 42px rgba(16, 24, 40, .08);--radius: 14px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 var(--font-sans);-webkit-font-smoothing:antialiased}button,textarea,input{font:inherit}.centered{align-items:center;justify-content:center}.muted{color:var(--muted)}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.app-frame{width:min(880px,100%);height:min(860px,92vh);display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.brand,.login-brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.brand{font-size:17px}.login-brand{flex-direction:column;gap:12px;text-align:center;font-size:21px}.brand-mark,.msg-avatar{display:inline-block;flex-shrink:0;background:url(/rootline-mark.svg) center / contain no-repeat}.brand-mark{width:30px;height:30px}.login-brand .brand-mark{width:46px;height:46px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.header-actions{display:flex;align-items:center;gap:16px}button.link{background:none;border:none;color:var(--muted);cursor:pointer;padding:0}button.link:hover{color:var(--text)}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:24px;background:var(--bg)}.chat{display:flex;flex-direction:column;gap:16px}.msg{display:flex;gap:10px;align-items:flex-start}.msg.user{justify-content:flex-end}.msg-avatar{width:28px;height:28px;margin-top:2px}.bubble{white-space:pre-wrap;overflow-wrap:anywhere}.msg.user .bubble{max-width:80%;padding:10px 14px;color:#fff;background:var(--primary);border-radius:14px 14px 4px}.msg.assistant .bubble{max-width:92%;padding:12px 16px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px 14px 14px 4px;box-shadow:var(--shadow)}.bubble-error{color:var(--high)}.typing{color:var(--muted);font-style:italic}.report-block{margin-top:14px;white-space:normal}.report-actions{display:flex;justify-content:flex-end;margin-bottom:10px}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text);padding:7px 14px;border-radius:8px;font-size:13px;cursor:pointer}button.ghost:hover{border-color:var(--primary)}.composer-dock{flex-shrink:0;padding:14px 16px;background:var(--surface);border-top:1px solid var(--border)}.examples{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.examples-label{color:var(--muted);font-size:13px;margin-right:4px}.example{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:999px;font-size:13px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.example:hover{border-color:var(--primary);color:var(--primary)}.composer{display:flex;gap:10px;align-items:flex-end;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.chat-input textarea{flex:1;width:100%;border:none;background:transparent;color:var(--text);resize:none;outline:none}textarea::placeholder{color:var(--muted)}button.primary{background:var(--primary);color:#fff;border:none;padding:10px 18px;border-radius:9px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;transition:filter .15s ease}button.primary:hover{filter:brightness(1.07)}button.primary:disabled{opacity:.5;cursor:default}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #1018280a;padding:18px 20px}.card h2{margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.card.subtle{background:var(--surface-2);box-shadow:none}.report{display:flex;flex-direction:column;gap:14px}.summary-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.summary-text{margin:0 0 14px;font-size:15.5px}.assessment-text{margin:0;white-space:pre-wrap}.facts{display:flex;flex-wrap:wrap;gap:22px}.fact{display:flex;flex-direction:column;gap:2px}.fact-k{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.badge.sm{padding:1px 8px;font-size:11px}.conf-high{color:var(--low);background:color-mix(in srgb,var(--low) 14%,transparent)}.conf-med{color:var(--med);background:color-mix(in srgb,var(--med) 14%,transparent)}.conf-low{color:var(--high);background:color-mix(in srgb,var(--high) 14%,transparent)}.ok-note{margin:0;color:var(--low)}.notify-list{display:flex;flex-direction:column;gap:12px}.notify-item{padding:12px 14px;background:var(--surface-2);border-radius:10px;border-left:3px solid var(--primary)}.notify-who{display:flex;align-items:baseline;gap:8px;font-weight:600}.notify-role{color:var(--muted);font-weight:400;font-size:12.5px}.notify-why{color:var(--muted);margin-top:2px;font-size:13.5px}.causes,.actions{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.causes li{display:flex;align-items:center;justify-content:space-between;gap:10px}.actions li{padding-left:4px}.evidence{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.evidence li{display:flex;gap:10px;align-items:baseline;font-size:14px}.src{flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:600;color:var(--primary);background:var(--primary-weak);padding:2px 7px;border-radius:5px}.hint-list{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.need-detail h2{color:var(--text);text-transform:none;font-size:17px;letter-spacing:0}.trace{margin-top:14px}.trace-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:var(--text);font-weight:600;font-size:14px;cursor:pointer;padding:0}.trace-caret{color:var(--muted);font-size:13px;font-weight:400}.trace-list{margin:14px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:14px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:32px 26px 28px;display:flex;flex-direction:column;gap:14px}.login-sub{text-align:center;color:var(--muted);margin:-2px 0 6px;font-size:14px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.login-card input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:9px;padding:10px 12px;outline:none}.login-card input:focus{border-color:var(--primary)}.login-card .primary{margin-top:4px;width:100%}.login-error{color:var(--high);font-size:13px;text-align:center}@media(max-width:720px){.app-shell{padding:0;align-items:stretch}.app-frame{width:100%;min-height:100vh;height:100vh;border:none;border-radius:0}.app-header{padding:14px 16px}.brand{font-size:16px}.chat-scroll{padding:18px 14px}.msg.assistant .bubble,.msg.user .bubble{max-width:calc(100% - 38px)}.composer-dock{padding:12px}.composer{align-items:stretch;flex-direction:column}.composer .primary{align-self:flex-end}.summary-head,.notify-who,.causes li,.evidence li{align-items:flex-start;flex-direction:column}}@media print{body{background:#fff}.no-print,.msg.user,.typing,.msg-avatar,.trace{display:none!important}.app-shell{display:block;min-height:auto;padding:0}.app-frame{width:100%;height:auto;border:none;box-shadow:none;border-radius:0}.chat-scroll{overflow:visible;height:auto;padding:0;background:#fff}.bubble>div:first-child{display:none!important}.msg.assistant .bubble{border:none;box-shadow:none;padding:0;max-width:100%}.report-block{margin:0!important}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.chat{gap:0}}
