:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#17202a;background:radial-gradient(circle at 10% 10%,#eaf4ff,#f5efe4 55%,#f8f5f0 100%);line-height:1.4;font-weight:400}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}.page{margin:0 auto;max-width:1100px;padding:28px 20px 60px}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.page-header h1{margin:0}.page-header p{color:#4e5969;margin:6px 0 0}.header-actions{display:flex;gap:10px}.lookup-panel{background:#ffffffcc;border:1px solid #d7deea;border-radius:14px;margin-top:20px;padding:14px}.lookup-form{align-items:center;display:flex;gap:10px}.recent-lookups{margin-top:10px}.recent-lookup-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.recent-lookup-chip{background:#165fc7;border:1px solid #165fc7;border-radius:999px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 12px;transition:background-color .12s ease,border-color .12s ease,transform .12s ease,opacity .12s ease}.recent-lookup-chip:hover{background:#1155b5;border-color:#1155b5;transform:translateY(-1px)}.input{border:1px solid #bac8dc;border-radius:10px;flex:1;min-width:0;padding:10px 12px}.primary-button,.secondary-button,.tertiary-button{border:0;border-radius:10px;cursor:pointer;font-weight:600;padding:10px 14px}.primary-button{background:#165fc7;color:#fff}.secondary-button{background:#eef3fb;color:#193868}.tertiary-button{background:#f6f6f6;color:#374151}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.6}.meta-text{color:#3e4c66;margin:10px 0 0}.error-text{color:#b72136;font-weight:500;margin:10px 0 0}.status-page{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:100vh;padding:20px;text-align:center}.auth-shell{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border:1px solid #d7deea;border-radius:20px;box-shadow:0 14px 32px #193a681a;max-width:430px;padding:26px;width:100%}.auth-card h1{margin:0}.auth-card p{color:#4a5a73}.auth-logo{display:block;height:42px;margin:0 auto 16px;width:auto}.auth-card>.primary-button{width:100%}.stack{display:flex;flex-direction:column;gap:10px}.divider{align-items:center;display:flex;gap:10px;margin:12px 0}.divider:before,.divider:after{background:#d5deeb;content:"";flex:1;height:1px}.divider span{color:#68758b;font-size:.9rem}.session-list{display:grid;gap:14px;margin-top:20px}.session-search-row{display:grid;gap:8px;grid-template-columns:minmax(220px,1fr) minmax(140px,180px)}.session-search-input,.session-date-input{min-width:0}.results-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:20px}.results-layout.has-overview{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.user-overview{background:#ffffffd6;border:1px solid #d7deea;border-radius:14px;max-height:calc(100vh - 220px);overflow:auto;padding:12px;position:sticky;top:16px}.user-overview h2{font-size:1rem;margin:0 0 10px}.blob-search-input{margin-bottom:10px}.user-photo-card{align-items:center;background:#f5f9ff;border:1px solid #dbe6f5;border-radius:10px;display:flex;justify-content:center;margin-bottom:10px;padding:10px}.user-photo{border:1px solid #d0dff4;border-radius:50%;display:block;height:84px;object-fit:cover;width:84px}.user-photo-fallback{align-items:center;background:#edf4ff;border:1px solid #d0dff4;border-radius:50%;color:#3a628e;display:flex;height:84px;justify-content:center;width:84px}.user-photo-fallback svg{fill:currentcolor;height:44px;width:44px}.blob-grid{display:grid;gap:10px}.blob-item{background:#f8fbff;border:1px solid #dbe6f5;border-radius:10px;padding:8px 10px}.blob-key{color:#3c5779;font-size:.74rem;font-weight:700;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.blob-value{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.lookup-form .input{min-height:42px;text-align:left}.session-card{background:#fff;border:1px solid #d4deed;border-radius:14px;overflow:hidden}.session-summary{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;justify-content:space-between;padding:14px;text-align:left;width:100%}.session-summary h3{margin:0}.session-mode{align-items:center;color:#49729d;display:flex;flex-wrap:wrap;font-size:.78rem;gap:8px;font-weight:700;letter-spacing:.04em;margin:0 0 6px}.session-id-label{white-space:nowrap}.session-id-value{background:#edf4ff;border:1px solid #c6daf8;border-radius:6px;color:#2f4f7c;cursor:pointer;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:600;letter-spacing:0;padding:3px 8px}.session-id-value:hover{background:#d7e7ff}.session-dates{color:#5d6c82;font-size:.84rem;text-align:right}.session-dates p{margin:4px 0}.session-details{border-top:1px solid #e4e8f0;padding:12px}.midi-row{background:#f7faff;border:1px solid #dae6f8;border-radius:10px;padding:10px}.midi-row p{color:#405376;margin:0 0 8px}.midi-chip-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.midi-chip{align-items:center;background:#e5efff;border:1px solid #b9cff6;border-radius:10px;color:#114796;cursor:pointer;display:inline-flex;gap:8px;font-size:.82rem;font-weight:600;line-height:1;padding:8px 12px;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.midi-chip:hover{background:#d7e7ff;border-color:#9cb8ef;color:#0a3d87;transform:translateY(-1px)}.midi-chip:focus-visible{outline:2px solid #7aa8f4;outline-offset:2px}.midi-chip:active{cursor:grabbing;transform:translateY(0)}.midi-chip-icon{color:inherit;display:inline-block;font-size:.95rem;line-height:1;transform:translateY(-1px)}.midi-action-row{display:flex;align-items:center;gap:8px}.midi-control-button{background:#edf4ff;border:1px solid #c6daf8;border-radius:8px;color:#0f3f85;cursor:pointer;font-size:.78rem;font-weight:700;padding:6px 10px}.midi-control-button.icon{align-items:center;display:inline-flex;font-size:.95rem;font-weight:800;height:40px;justify-content:center;line-height:1;min-width:40px;padding:0}.midi-control-button:hover{background:#deecff}.midi-control-button.stop{background:#ffece8;border-color:#f1c0b5;color:#8e2a14}.midi-control-button.stop:hover{background:#ffdcd6}.muted{color:#76859b;font-size:.9rem}.chat-log{display:flex;font-family:Satoshi,Geist,Avenir Next,Segoe UI,sans-serif;flex-direction:column;gap:10px;margin-top:12px}.bubble-row{display:flex}.bubble-row.right{justify-content:flex-end}.bubble-row.left{justify-content:flex-start}.bubble-stack{display:flex;flex-direction:column;gap:6px;width:80%}.bubble-stack.right{align-items:flex-end}.bubble-stack.left{align-items:flex-start}.bubble{border-radius:12px;max-width:100%;min-width:100%;padding:10px}.bubble.right{background:#dcecff;border:1px solid #bfdaf8}.bubble.left{background:#eee5fb;border:1px solid #d7c6f3}.bubble-role{color:#4f5f75;font-size:.8rem;font-weight:700;letter-spacing:.04em;margin:0}.generation-id-row{align-items:center;display:flex;gap:8px;margin:0 0 8px}.generation-id-label{color:#6944a0;font-size:.78rem;font-weight:700;letter-spacing:.03em}.generation-id-chip{background:#f2eaff;border:1px solid #ceb9f2;border-radius:6px;color:#5e4290;cursor:pointer;display:inline-block;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;padding:3px 8px}.generation-id-chip:hover{background:#e7d7ff}.bubble pre{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.93rem;line-height:1.5;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.assistant-sections{display:grid;gap:10px}.assistant-sections-highlight{background:#f8efe0;border:1px solid #ead7b7;border-radius:10px;padding:10px}.bubble.left:has(.assistant-sections-highlight){background:transparent;border:0;padding:0}.assistant-section h4{color:#27364e;font-size:.8rem;letter-spacing:.03em;margin:0 0 4px;text-transform:uppercase}.assistant-section p{font-size:.98rem;line-height:1.55;margin:0;white-space:pre-wrap}.inline-midi-wrap{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.midi-metadata{width:100%}.assistant-section pre{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.5;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.footer-actions{display:flex;justify-content:center;margin-top:18px}@media (max-width: 850px){.lookup-form,.page-header{flex-direction:column}.session-summary{align-items:flex-start;flex-direction:column;gap:10px}.session-dates{text-align:left}.results-layout,.session-search-row{grid-template-columns:1fr}.user-overview{max-height:none;position:static}.bubble{max-width:100%}.bubble-stack{width:96%}}
