:root{--bg-0: #1b1710;--bg-1: #231d14;--bg-2: #2d2418;--panel: rgb(33 27 19 / 84%);--panel-strong: rgb(40 32 22 / 90%);--border: rgb(255 236 194 / 10%);--border-strong: rgb(255 236 194 / 18%);--text-0: #f7efd6;--text-1: rgb(247 239 214 / 80%);--text-2: rgb(247 239 214 / 58%);--accent: #f5c86c;--accent-2: #d4c483;--accent-3: #f0ab52;--success: #9ed38e;--warn: #f2cf7f;--danger: #f2a88f;font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--text-0);background:radial-gradient(circle at 10% 10%,rgb(245 200 108 / 18%),transparent 42%),radial-gradient(circle at 90% 15%,rgb(212 196 131 / 14%),transparent 45%),radial-gradient(circle at 75% 80%,rgb(240 171 82 / 15%),transparent 42%),linear-gradient(180deg,#18130d,#120f0b 70%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}body{min-height:100vh}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem;min-height:100vh;padding:1rem}.control-panel{display:flex;flex-direction:column;gap:1rem}.panel-card{border:1px solid var(--border);border-radius:20px;padding:1rem;background:linear-gradient(180deg,#ffffff08,#ffffff03),var(--panel);box-shadow:0 16px 35px #0000003d,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-card h1{margin:.25rem 0 0;font-size:1.45rem;line-height:1.2}.panel-copy{margin:.75rem 0 0;color:var(--text-1)}.tab-switch{margin-top:.9rem;display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.25rem;border-radius:12px;background:#ffffff05;border:1px solid var(--border)}.tab{border:1px solid transparent;background:transparent;color:var(--text-1);border-radius:10px;padding:.55rem .75rem;cursor:pointer}.tab.active{background:linear-gradient(135deg,#f5c86c29,#f0ab521a,#d4c48314),#ffffff08;border-color:#f5c86c3d;color:var(--text-0)}.stack{display:grid;gap:.85rem}.stack label{display:grid;gap:.35rem}.stack span{font-size:.85rem;color:var(--text-1)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#ffffff0a,#ffffff05),#ffffff05;color:inherit;padding:.7rem .85rem;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;appearance:none;-webkit-appearance:none}input:focus,select:focus,textarea:focus{outline:none;border-color:#f5c86c8c;box-shadow:0 0 0 3px #f5c86c29}select{background-image:linear-gradient(45deg,transparent 50%,rgb(244 241 255 / 75%) 50%),linear-gradient(135deg,rgb(244 241 255 / 75%) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.2rem}select option{color:#f4f1ff;background-color:#171526}textarea{resize:vertical;min-height:100px}input:disabled{opacity:.75}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.toggle{display:flex;align-items:center;gap:.55rem;border:1px solid var(--border);border-radius:12px;padding:.65rem .75rem;background:linear-gradient(180deg,#ffffff08,#ffffff03);cursor:pointer}.toggle input{width:auto;margin:0;accent-color:#f5c86c}.auth-status-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border);border-radius:12px;padding:.75rem;background:linear-gradient(180deg,#ffffff08,#ffffff03)}.auth-status-card>div{display:grid;gap:.18rem}.auth-status-label{font-size:.75rem;color:var(--text-2)}.auth-status{color:var(--warn);font-size:.88rem}.auth-status.unlocked{color:var(--success)}.request-id-box{border-radius:12px;border:1px dashed rgb(245 200 108 / 28%);padding:.75rem;display:grid;gap:.25rem;background:#f5c86c0d}.request-id-box span{font-size:.75rem;color:var(--text-2)}.request-id-box code{font-size:.75rem;overflow-wrap:anywhere}.row-between{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.run-list{display:grid;gap:.5rem;max-height:420px;overflow:auto}.run-item{text-align:left;border:1px solid var(--border);border-radius:12px;padding:.65rem .75rem;background:#ffffff05;color:inherit;cursor:pointer}.run-item:hover{border-color:#f5c86c4d;background:#ffffff0a}.run-item.active{border-color:#f5c86c6b;background:linear-gradient(135deg,rgb(245 200 108 / 12%),rgb(212 196 131 / 5%) 70%,transparent),#ffffff0a}.run-item-top{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.2rem}.run-item-top span{font-size:.78rem;color:var(--text-1)}.run-item-meta{display:grid;gap:.1rem}.run-item-meta span{font-size:.78rem;color:var(--text-2)}.chat-stage{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem}.chat-header{border:1px solid var(--border);border-radius:20px;padding:1rem 1.1rem;background:linear-gradient(120deg,rgb(245 200 108 / 9%),rgb(212 196 131 / 5%) 55%,transparent),var(--panel);display:flex;justify-content:space-between;align-items:center;gap:1rem}.chat-header h2{margin:.15rem 0 0;font-size:1.25rem}.eyebrow{margin:0;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.ghost-button,.composer button{border:1px solid var(--border-strong);background:linear-gradient(180deg,#ffffff12,#ffffff08),#ffffff08;color:inherit;border-radius:12px;padding:.65rem .9rem;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.ghost-button:hover,.composer button:hover{background:linear-gradient(180deg,#f5c86c24,#d4c48312),#ffffff0f;border-color:#f5c86c66;transform:translateY(-1px)}.composer button:disabled{opacity:.55;cursor:not-allowed}.chat-log{border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,rgb(255 255 255 / 2%),transparent 18%),var(--panel-strong);padding:1rem;overflow:auto;min-height:400px;box-shadow:inset 0 1px #ffffff0d,inset 0 0 0 1px #ffffff03}.eval-dashboard{min-height:540px}.eval-detail{display:grid;gap:.75rem}.eval-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.metric-card{border:1px solid var(--border);border-radius:12px;background:#ffffff05;padding:.65rem;display:grid;gap:.15rem}.metric-card span{color:var(--text-2);font-size:.75rem}.metric-card strong{font-size:.95rem}.eval-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}.eval-table{width:100%;border-collapse:collapse;min-width:720px}.eval-table th,.eval-table td{padding:.65rem .7rem;border-bottom:1px solid rgb(255 255 255 / 6%);text-align:left;vertical-align:top}.eval-table th{font-size:.78rem;color:var(--text-2);background:#ffffff05;position:sticky;top:0}.case-cell{display:grid;gap:.2rem}.case-cell span{color:var(--text-2);font-size:.78rem}.status-pass,.status-fail{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.76rem;border:1px solid transparent}.status-pass{color:var(--success);border-color:#61e8a83d;background:#61e8a814}.status-fail{color:var(--danger);border-color:#ff9ca838;background:#ff9ca814}.empty-state{display:grid;place-items:center;text-align:center;min-height:100%;color:var(--text-1);padding:2rem}.hint{color:var(--text-2);margin:0}.message-card{border-radius:14px;border:1px solid rgb(255 255 255 / 9%);padding:.9rem;background:#ffffff05;margin-bottom:.85rem}.message-card.user{border-color:#d4c4833d;background:linear-gradient(135deg,rgb(212 196 131 / 8%),transparent 60%),#38311f2e}.message-card.assistant{border-color:#f5c86c42;background:linear-gradient(135deg,rgb(245 200 108 / 10%),rgb(240 171 82 / 6%) 60%,transparent),#3a2b1633}.message-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.6rem}.role-tag{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:#f4f1ffd6}.meta-pill{border:1px solid rgb(255 255 255 / 14%);border-radius:999px;padding:.15rem .5rem;font-size:.73rem;color:var(--text-1);background:#ffffff05}.message-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.45}.subpanel{margin-top:.8rem;border-top:1px solid rgb(255 255 255 / 7%);padding-top:.75rem}.subpanel h3{margin:0 0 .5rem;font-size:.85rem;color:var(--text-1)}.subpanel ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.subpanel code{font-size:.75rem;overflow-wrap:anywhere}.chunk-list{display:grid;gap:.5rem}.chunk-card{border:1px solid rgb(255 255 255 / 9%);background:linear-gradient(180deg,#ffffff08,#ffffff03);border-radius:10px;padding:.65rem}.chunk-card-header{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.35rem;color:#f4f1ebd1}.chunk-card-header span{font-size:.78rem;color:var(--text-2)}.chunk-card p{margin:0;color:var(--text-1)}.composer{border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,rgb(255 255 255 / 3%),transparent 24%),var(--panel);padding:1rem}.composer textarea{min-height:120px}.composer-footer{margin-top:.75rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.error-text{color:var(--danger);margin:0}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:1rem;background:#06060ca8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999}.modal-card{width:min(460px,100%);border:1px solid var(--border-strong);border-radius:18px;padding:1rem;background:linear-gradient(180deg,#ffffff0a,#ffffff05),var(--panel-strong);box-shadow:0 20px 45px #0000005c;display:grid;gap:.8rem}.modal-card h3{margin:0}.modal-card label{display:grid;gap:.35rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.composer button{background:linear-gradient(135deg,#f5c86c38,#f0ab5226 48%,#d4c4831f),#ffffff0d;border-color:#f5c86c59}.composer button:hover{border-color:#f5c86c8c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.app-shell{grid-template-columns:1fr;padding:.75rem}.chat-log{min-height:320px}.eval-summary-grid{grid-template-columns:1fr 1fr}.composer-footer{align-items:flex-start;flex-direction:column}}
