:root{color:#e9ecf3;background:#090a0f;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%}#root{width:100%;overflow-x:clip}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 8%,rgba(255,132,0,.14),transparent 38%),radial-gradient(circle at 88% 15%,rgba(77,137,255,.18),transparent 42%),linear-gradient(180deg,#0a0b11,#090a0f);overflow:hidden}button,input,textarea{font:inherit}input{min-width:0}.eyebrow{margin:0;color:#9ea8bb;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(520px,100%);border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 80% 0%,rgba(91,127,255,.12),transparent 42%),radial-gradient(circle at 10% 10%,rgba(255,138,31,.1),transparent 40%),#0e0f14d1;border-radius:22px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.15rem;box-shadow:0 24px 80px #00000059}.auth-card h1{margin:.35rem 0 0;font-size:clamp(1.4rem,4vw,2rem)}.auth-copy{margin:.65rem 0 0;color:#b7bfd0}.auth-form{margin-top:1rem;display:grid;gap:.7rem}.auth-form label{font-size:.88rem;color:#d9e0ee}.auth-form input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#090a0fcc;color:#eef2fb;padding:.85rem .9rem}.auth-form button[type=submit]{border:none;border-radius:12px;padding:.85rem .9rem;background:linear-gradient(135deg,#ff8a1f,#ff5d53);color:#fff;font-weight:600;cursor:pointer}.auth-form button[disabled]{opacity:.5;cursor:not-allowed}.auth-actions{margin-top:.1rem;display:flex;gap:.5rem;flex-wrap:wrap}.auth-alert{margin:.85rem 0 0;border-radius:10px;padding:.65rem .75rem;font-size:.88rem}.auth-alert.is-error{color:#ffd6d6;border:1px solid rgba(255,99,99,.25);background:#ff636314}.auth-alert.is-info{color:#d8e5ff;border:1px solid rgba(91,127,255,.25);background:#5b7fff14}.auth-loading{text-align:left}.chat-app{display:grid;grid-template-columns:320px minmax(0,1fr) 360px;gap:1rem;height:100dvh;padding:1rem;box-sizing:border-box;overflow:hidden}.mobile-only{display:none}.sidebar,.chat-shell,.inspector{border:1px solid rgba(255,255,255,.08);background:#0e0f14c7;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar{padding:1rem;display:flex;flex-direction:column;gap:1rem;overflow:auto;min-height:0}.brand-block h1{margin:.35rem 0 0;font-size:1.65rem;font-weight:650}.sidebar-copy{margin:.55rem 0 0;color:#b7bfd0;font-size:.92rem}.sidebar-panel{border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#ffffff05;padding:.9rem}.accent-panel{background:linear-gradient(180deg,#ff8a1f0f,#5b7fff08),#ffffff05}.sidebar-panel h2{margin:0 0 .65rem;font-size:.98rem}.history-list{display:flex;flex-direction:column;gap:.45rem;max-height:240px;overflow:auto}.history-item{border:1px solid rgba(255,255,255,.06);background:#ffffff05;border-radius:10px;padding:.55rem .6rem}.history-item__top{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.35rem;color:#9eabc2;font-size:.72rem}.history-role{border-radius:999px;padding:.12rem .4rem;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.history-role.is-user{border-color:#ff8a1f40;background:#ff8a1f14;color:#ffd7b2}.history-role.is-assistant{border-color:#5b7fff40;background:#5b7fff14;color:#d2dcff}.history-item p{margin:0;color:#dfe6f4;font-size:.8rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.demo-chip-list{display:flex;flex-direction:column;gap:.45rem;margin:.65rem 0 .75rem}.demo-chip{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);gap:.55rem;align-items:start;text-align:left;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#e8edf8;padding:.6rem .7rem;cursor:pointer}.demo-chip span:first-child{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:.72rem;background:#ff8a1f1f;color:#ffd7b2;border:1px solid rgba(255,138,31,.2)}.demo-chip:hover{background:#ffffff0f}.danger-ghost{width:100%;border:1px solid rgba(255,99,99,.2);background:#ff63630f;color:#ffd0d0;border-radius:10px;padding:.6rem .75rem;cursor:pointer}.danger-ghost:hover{background:#ff63631a}.sidebar-panel label{display:block;margin-bottom:.45rem;font-size:.84rem;color:#cfd6e3}.sidebar-panel input{width:100%;border:1px solid rgba(255,255,255,.12);background:#07080cbf;color:#eef2f9;border-radius:10px;padding:.7rem .8rem}.sidebar-note{margin:.55rem 0 0;font-size:.79rem;color:#98a4ba}.auth-identity{margin-top:.65rem;margin-bottom:.6rem;display:grid;gap:.25rem;font-size:.78rem;color:#a7b3c8}.auth-identity code{color:#eef2fb;word-break:break-all}.sidebar-panel button{width:100%;text-align:left;margin-top:.45rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08;color:#e8edf8;padding:.65rem .75rem;cursor:pointer}.sidebar-panel button:hover{background:#ffffff0f}.chat-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;min-width:0}.chat-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 1rem .85rem;border-bottom:1px solid rgba(255,255,255,.06);min-width:0}.header-actions{display:flex;gap:.55rem;align-items:center;min-width:0}.chat-header h2{margin:.2rem 0 0;font-size:1.1rem}.ghost-btn{border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#dce3ef;border-radius:999px;padding:.45rem .75rem;cursor:pointer}.ghost-btn.is-block{width:100%;text-align:center;border-radius:12px}.ghost-btn:hover{background:#ffffff0f}.icon-btn{width:36px;height:36px;padding:0;display:grid;place-items:center;font-size:1rem;line-height:1}.status-pill{border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#cfd7e6;padding:.45rem .7rem;border-radius:999px;font-size:.82rem;white-space:nowrap;min-width:0}.chat-stream{overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;gap:.9rem;min-width:0}.empty-state{border:1px dashed rgba(255,255,255,.12);border-radius:16px;background:#ffffff04;padding:1rem;margin-bottom:.25rem}.empty-state h3{margin:.35rem 0 .45rem;font-size:1rem}.empty-state p:last-child{margin:0;color:#b5bfd0;font-size:.9rem}.message-hit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;text-align:left;color:inherit;width:100%;min-width:0}.message-hit.is-inspectable{cursor:pointer}.message-hit.is-selected .message-card{outline:1px solid rgba(255,138,31,.45);box-shadow:0 0 0 3px #ff8a1f14}.message-signals{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}.signal-chip{border-radius:999px;border:1px solid rgba(91,127,255,.18);background:#5b7fff12;color:#aebcf1;padding:.15rem .42rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.signal-chip.active{color:#d8e2ff;border-color:#5b7fff52;background:#5b7fff24}.signal-chip.review{border-color:#6ee8ff2e;background:#6ee8ff0d;color:#b7edf6}.signal-chip.review.active{border-color:#6ee8ff57;background:#6ee8ff1f;color:#d5fbff}.signal-chip.warm{border-color:#ff8a1f29;background:#ff8a1f0d;color:#f2c8a6}.signal-chip.warm.active{border-color:#ff8a1f52;background:#ff8a1f24;color:#ffe0c2}.signal-chip.mood{border-color:#ff69b433;background:#ff69b414;color:#ffd9ec}.signal-chip.mood.active{border-color:#ff69b459;background:#ff69b429;color:#ffe9f4}.signal-chip.persona{border-color:#78ffad2e;background:#78ffad12;color:#d4ffe8}.signal-chip.persona.active{border-color:#78ffad52;background:#78ffad24;color:#f0fff7}.message-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.7rem;align-items:start;min-width:0;max-width:70%}.message-row.is-assistant{margin-right:auto}.message-row.is-user{grid-template-columns:minmax(0,1fr) 34px;margin-left:auto}.message-row.is-user .avatar{grid-column:2}.message-row.is-user .message-card{grid-column:1}.message-row.is-user .message-meta{flex-direction:row-reverse}.message-row.is-user .message-signals{justify-content:flex-end}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:.85rem;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.message-row.is-user .avatar{background:#ff84001f;border-color:#ff840047;color:#ffd9ad}.message-row.is-assistant .avatar{background:#5b7fff24;border-color:#5b7fff42;color:#ced9ff}.message-card{border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff06;padding:.75rem .85rem;min-width:0;max-width:min(900px,100%)}.message-row.is-user .message-card{background:linear-gradient(180deg,#ff84000f,#ffffff05)}.message-row.is-assistant .message-card{background:linear-gradient(180deg,#5b7fff0f,#ffffff05)}.message-meta{display:flex;gap:.6rem;justify-content:space-between;align-items:center;color:#a9b4c8;font-size:.76rem;margin-bottom:.4rem}.message-card p{margin:0;color:#edf1f9;white-space:pre-wrap;word-break:break-word}.typing{display:inline-flex;align-items:center;gap:.35rem;min-height:1rem}.typing span{width:6px;height:6px;border-radius:999px;background:#b7c2d8;opacity:.4;animation:pulse 1.1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}.chat-app.theme-light{color:#182130}.chat-app.theme-light .sidebar,.chat-app.theme-light .chat-shell,.chat-app.theme-light .inspector{border-color:#14274614;background:#ffffffe0;box-shadow:0 10px 35px #11224414}.chat-app.theme-light .brand-block h1,.chat-app.theme-light .chat-header h2,.chat-app.theme-light .inspector-header h3,.chat-app.theme-light .inspector-section h4{color:#162135}.chat-app.theme-light .eyebrow,.chat-app.theme-light .sidebar-copy,.chat-app.theme-light .sidebar-note,.chat-app.theme-light .message-meta,.chat-app.theme-light .status-pill,.chat-app.theme-light .timing-card span,.chat-app.theme-light .kv-row span,.chat-app.theme-light .score-pill,.chat-app.theme-light .inspector-empty{color:#5f6f86}.chat-app.theme-light .sidebar-panel,.chat-app.theme-light .history-item,.chat-app.theme-light .inspector-section,.chat-app.theme-light .timing-card,.chat-app.theme-light .signal-card{border-color:#14274614;background:#f8fafff2}.chat-app.theme-light .thread-select p,.chat-app.theme-light .history-item p,.chat-app.theme-light .message-card p,.chat-app.theme-light .signal-card p,.chat-app.theme-light .inspector-text{color:#1a2438}.chat-app.theme-light .ghost-btn,.chat-app.theme-light .sidebar-panel button{border-color:#1427461f;background:#f4f7ffe6;color:#22324c}.chat-app.theme-light .ghost-btn:hover,.chat-app.theme-light .sidebar-panel button:hover{background:#ebf1fcf2}.chat-app.theme-light .status-pill{border-color:#1427461a;background:#f3f7ffe6}.chat-app.theme-light .message-row.is-user .avatar{background:#ff840024;border-color:#ff840047;color:#9c4b00}.chat-app.theme-light .message-row.is-assistant .avatar{background:#4d89ff1f;border-color:#4d89ff3d;color:#1f4ea8}.chat-app.theme-light .message-card{border-color:#14274614;background:#fffffffa}.chat-app.theme-light .message-row.is-user .message-card{background:linear-gradient(180deg,#ff840014,#fffffffa)}.chat-app.theme-light .message-row.is-assistant .message-card{background:linear-gradient(180deg,#4d89ff14,#fffffffa)}.chat-app.theme-light .message-hit.is-selected .message-card{outline-color:#ff840059;box-shadow:0 0 0 3px #ff840014}.chat-app.theme-light .signal-chip{border-color:#4d89ff33;background:#4d89ff14;color:#45639f}.chat-app.theme-light .signal-chip.active{border-color:#4d89ff57;background:#4d89ff29;color:#24468f}.chat-app.theme-light .signal-chip.review{border-color:#0093ad38;background:#0093ad14;color:#196b7b}.chat-app.theme-light .signal-chip.review.active{border-color:#0093ad57;background:#0093ad29;color:#0f5562}.chat-app.theme-light .signal-chip.warm{border-color:#ff840033;background:#ff840014;color:#9a580f}.chat-app.theme-light .signal-chip.warm.active{border-color:#ff840057;background:#ff840024;color:#7e4500}.chat-app.theme-light .signal-chip.mood{border-color:#ff69b447;background:#ff69b41f;color:#8d2f60}.chat-app.theme-light .signal-chip.mood.active{border-color:#ff69b46b;background:#ff69b42e;color:#74214d}.chat-app.theme-light .signal-chip.persona{border-color:#78ffad42;background:#78ffad1f;color:#0f6a35}.chat-app.theme-light .signal-chip.persona.active{border-color:#78ffad66;background:#78ffad29;color:#0b582c}.chat-app.theme-light .composer-wrap{border-top-color:#10142073;background:#0b0e18eb}.chat-app.theme-light .composer{border-color:#ffffff24;background:#0d101bf5}.chat-app.theme-light .composer textarea{color:#fff;background:#0f172a}.chat-app.theme-light .composer textarea::placeholder{color:#ffffffc7}.chat-app.theme-light .inspector-json,.chat-app.theme-light .prompt-box,.chat-app.theme-light .kv-row code,.chat-app.theme-light .auth-identity code{border-color:#14274614;background:#f5f8fffa;color:#23324b}.chat-app.theme-light .history-role{border-color:#1427461a;background:#f5f8fff2;color:#4f627e}.chat-app.theme-light .history-role.is-user{border-color:#ff840038;background:#ff840014;color:#99540d}.chat-app.theme-light .history-role.is-assistant{border-color:#4d89ff38;background:#4d89ff14;color:#335ea8}@keyframes pulse{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-3px);opacity:1}}.composer-wrap{border-top:1px solid rgba(255,255,255,.06);padding:.85rem 1rem 1rem;background:#08090d8c;min-width:0}.composer-topline{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.6rem;color:#a8b5cb;font-size:.78rem}.composer-topline code{color:#eef2fb}.error-banner{margin:0 0 .65rem;color:#ffd2d2;font-size:.86rem;border:1px solid rgba(255,105,105,.25);background:#ff696914;padding:.55rem .7rem;border-radius:10px}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;min-width:0}.composer textarea{width:100%;resize:none;min-height:54px;max-height:180px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#12131ae6;color:#eef2fb;padding:.9rem .95rem}.composer button{border:none;border-radius:14px;padding:.9rem 1rem;min-width:84px;font-weight:600;background:linear-gradient(135deg,#ff8a1f,#ff5d53);color:#fff;cursor:pointer}.composer button:disabled{opacity:.45;cursor:not-allowed}.inspector{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;min-height:0}.inspector:not(.is-open){display:none}.overlay-backdrop{display:none}.inspector-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.inspector-header h3{margin:.25rem 0 0;font-size:1rem}.inspector-scroll{overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.9rem}.inspector-placeholder{margin:0;padding:1rem}.inspector-section{border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#ffffff05;padding:.85rem}.inspector-section h4{margin:0 0 .6rem;font-size:.88rem;color:#d9e1f0}.inspector-empty{margin:0;color:#9aa7bc;font-size:.85rem}.inspector-text{margin:0;color:#edf1f9;white-space:pre-wrap}.inspector-json{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.78rem;line-height:1.45;color:#dce6fb;background:#08090dd1;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.65rem}.stack-list{display:flex;flex-direction:column;gap:.55rem}.signal-card{border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#090a0f99;padding:.7rem}.signal-card p{margin:.45rem 0 0;color:#edf1f9;font-size:.88rem;white-space:pre-wrap}.signal-topline{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.tag{border-radius:999px;padding:.2rem .45rem;font-size:.72rem;border:1px solid rgba(91,127,255,.24);background:#5b7fff1a;color:#cfd9ff;text-transform:lowercase}.tag.warm{border-color:#ff8a1f40;background:#ff8a1f1a;color:#ffd7b2}.score-pill{color:#a7b4cb;font-size:.75rem}.timing-grid{display:grid;grid-template-columns:1fr;gap:.45rem}.timing-card{border:1px solid rgba(255,255,255,.05);border-radius:10px;background:#ffffff05;padding:.55rem .65rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.timing-card span{color:#a9b5c9;font-size:.78rem}.timing-card strong{color:#edf1f9;font-size:.8rem}.kv-list{display:flex;flex-direction:column;gap:.45rem}.kv-row{display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-size:.82rem}.kv-row span{color:#a9b4c7}.kv-row code{color:#f0f4fb;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);padding:.15rem .35rem;border-radius:6px}.prompt-box{margin:0;background:#08090dcc;border:1px solid rgba(255,255,255,.06);color:#dfe7f8;border-radius:10px;padding:.75rem;font-size:.78rem;white-space:pre-wrap;overflow-x:auto}@media (max-width: 960px){.chat-app{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:100dvh;padding:0;gap:0;width:100%;overflow-x:hidden;overflow-y:hidden}.auth-screen{padding:.85rem}.auth-card{border-radius:18px;padding:1rem}.mobile-only{display:inline-grid}.overlay-backdrop.mobile-only{display:none}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:none;margin:0;padding:0;background:#05070a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30;cursor:pointer}.overlay-backdrop.is-open{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,360px);padding:.9rem;z-index:40;transform:translate(calc(-100% - 1rem));transition:transform .18s ease;box-shadow:0 20px 60px #00000059}.sidebar.is-open{transform:translate(0)}.chat-shell{min-height:100dvh;height:100%;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;border-radius:0;border-left:none;border-right:none;width:100%;max-width:100vw}.chat-header{position:sticky;top:0;z-index:5}.inspector{position:fixed;left:0;right:0;bottom:0;top:auto;height:min(75dvh,620px);z-index:50;display:grid;transform:translateY(calc(100% + 1rem));transition:transform .18s ease;box-shadow:0 20px 60px #0006;border-radius:18px 18px 0 0;border-bottom:none}.inspector.is-open{transform:translateY(0)}.inspector:not(.is-open){display:grid}.composer-topline{flex-direction:column;align-items:flex-start}.header-actions{gap:.4rem;flex-shrink:1}.status-pill{max-width:36vw;overflow:hidden;text-overflow:ellipsis}.chat-header{align-items:center}.chat-header>div:first-child{min-width:0}.chat-header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-stream{overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;gap:.9rem;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.composer{grid-template-columns:minmax(0,1fr) 72px;gap:.5rem}.composer textarea{min-width:0}.composer-wrap{position:sticky;bottom:0;z-index:5;padding-bottom:calc(.85rem + env(safe-area-inset-bottom,0px))}}.thread-item.is-active{border-color:#5b7fff66;background:#5b7fff14}.thread-select{width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:0;cursor:pointer}.thread-item small{color:#a4b0c7;font-size:.72rem;display:block;margin-top:.35rem}.thread-actions{margin-top:.5rem;display:flex;gap:.4rem}.thread-actions button{flex:1;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#e8edf8;border-radius:8px;padding:.3rem .45rem;font-size:.72rem;cursor:pointer}
