:root{--bg: #f4f6f9;--surface: #ffffff;--ink: #16233a;--muted: #5c6a80;--line: #dde3ec;--navy: #1b3b6f;--navy-deep: #12294e;--star-gold: #f0a500;--star-gray: #b6bfcc;--ok-bg: #eef3fb;--font-display: "Space Grotesk", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55}button{font-family:inherit}.app{height:100%;display:flex;flex-direction:column}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}.topbar-inner{max-width:960px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between}.topbar-left{display:flex;align-items:center;gap:14px}.company-logo{height:24px;width:auto;display:block}.topbar-agent{display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:500;font-size:15px;padding-left:14px;border-left:1px solid var(--line)}.internal-badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-deep);background:var(--ok-bg);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.library{max-width:960px;width:100%;margin:0 auto;padding:44px 24px 80px;flex:1;overflow-y:auto}.library-header{margin-bottom:36px}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.library-header h1{font-family:var(--font-display);font-size:44px;font-weight:700;margin:0 0 10px;color:var(--navy-deep);letter-spacing:-.01em}.lede{color:var(--muted);max-width:72ch;margin:0}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.agent-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 18px 16px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .15s,box-shadow .15s}.agent-card:hover:not(:disabled){border-color:var(--navy);transform:translateY(-2px);box-shadow:0 8px 20px #12294e14}.agent-card:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.agent-card.is-offline{opacity:.55;cursor:not-allowed}.agent-card-top{display:flex;justify-content:space-between;align-items:center}.agent-version{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.agent-card h3{font-family:var(--font-display);font-size:19px;margin:2px 0 0}.agent-card p{color:var(--muted);font-size:14px;margin:0;flex:1}.agent-card-cta{color:var(--navy);font-size:13px;font-weight:600;margin-top:8px}.is-offline .agent-card-cta{color:var(--muted);font-weight:400}.status-star{font-size:14px;line-height:1}.status-star.online{color:var(--star-gold)}.status-star.offline{color:var(--star-gray)}.agent-card.skeleton{pointer-events:none;gap:10px}.sk-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#e8ecf2 25%,#f3f6fa,#e8ecf2 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.sk-short{width:20%}.sk-title{width:55%;height:16px}.sk-half{width:45%}@keyframes shimmer{to{background-position:-200% 0}}.banner{background:var(--ok-bg);border:1px solid var(--line);border-radius:8px;padding:12px 16px;color:var(--muted);margin-bottom:20px}.banner.error{background:#fdf1f2;border-color:#f1c5cb;color:#8f1d2c}.chat{max-width:760px;width:100%;margin:0 auto;flex:1;min-height:0;display:flex;flex-direction:column;padding:0 20px}.back{background:none;border:none;color:var(--navy);font-size:14px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:6px}.back:hover{background:var(--ok-bg)}.messages{flex:1;overflow-y:auto;padding:24px 0}.empty-chat{text-align:center;color:var(--muted);margin-top:15vh}.empty-chat .hint{font-size:13px}.message{display:flex;margin-bottom:16px;gap:10px}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-body{display:flex;flex-direction:column;max-width:78%}.message.user .message-body{align-items:flex-end}.avatar{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.timestamp{font-size:11px;color:var(--star-gray);margin-top:3px}.bubble{padding:10px 14px;border-radius:12px;overflow-wrap:break-word}.message.user .bubble{background:var(--navy);color:#fff;border-bottom-right-radius:4px}.message.assistant .bubble{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble p:first-child{margin-top:0}.bubble p:last-child{margin-bottom:0}.bubble pre{background:#0f1a2e;color:#e6ecf5;padding:10px 12px;border-radius:8px;overflow-x:auto;font-family:var(--font-mono);font-size:13px}.bubble code{font-family:var(--font-mono);font-size:.92em}.bubble.thinking{color:var(--muted);font-style:italic}.citations{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.citations-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.citation-chip{background:var(--ok-bg);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:12px;color:var(--navy-deep)}.ungrounded{margin-top:6px;font-size:12px;color:#8a6d1a;background:#fbf4de;border:1px solid #eddfae;border-radius:6px;padding:4px 10px}.composer{display:flex;gap:10px;padding:14px 0 22px;border-top:1px solid var(--line)}.composer textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-family:var(--font-body);font-size:15px;background:var(--surface);color:var(--ink)}.composer textarea:focus{outline:2px solid var(--navy);border-color:var(--navy)}.send{background:var(--navy);color:#fff;border:none;border-radius:10px;padding:0 22px;font-size:15px;font-weight:600;cursor:pointer}.send:hover:not(:disabled){background:var(--navy-deep)}.send:disabled{opacity:.45;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.agent-card{transition:none}}@media(max-width:560px){.library{padding:28px 16px 60px}.library-header h1{font-size:32px}.message-body{max-width:92%}.topbar-inner{padding:10px 16px}}.signin{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.signin-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:40px 44px;max-width:420px;text-align:center}.signin-card h1{font-family:var(--font-display);color:var(--navy-deep);margin:6px 0 10px;font-size:32px}.signin-btn{margin-top:20px;padding:12px 26px}.model-picker{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:999px;background-color:var(--ok-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231b3b6f' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;color:var(--navy-deep);font-family:var(--font-mono);font-size:12px;font-weight:500;padding:0 30px 0 14px;max-width:180px;cursor:pointer;transition:border-color .15s,background-color .15s}.model-picker:hover{border-color:var(--navy);background-color:#fff}.model-picker:focus{outline:2px solid var(--navy);outline-offset:1px;border-color:var(--navy)}.composer-area{border-top:1px solid var(--line);padding:12px 0 22px}.composer-area .composer{border-top:none;padding:0}.attach-row{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px}.attach{width:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:border-color .15s}.attach:hover{border-color:var(--navy);background:var(--ok-bg)}.file-chip{display:inline-flex;align-items:center;gap:6px;background:var(--ok-bg);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-family:var(--font-mono);font-size:11px;color:var(--navy-deep)}.chip-x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:13px;padding:0;line-height:1}.chip-x:hover{color:#8f1d2c}.sent-files{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.topbar-right{display:flex;align-items:center;gap:12px}.signout{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-family:var(--font-body);font-size:13px;font-weight:500;padding:4px 14px;cursor:pointer;transition:border-color .15s,color .15s}.signout:hover{border-color:var(--navy);color:var(--navy)}
