.otto-chat{position:relative}.chat-window{background:linear-gradient(180deg,#0f1014,#0b0c0f);border:1px solid var(--rule-strong);border-radius:14px;overflow:hidden;box-shadow:0 1px #ffffff0a inset,0 30px 60px -28px #000000b3,0 12px 28px -16px #5eafff2e}.oi-window-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--rule);background:linear-gradient(180deg,#14161b,#0f1014)}.oi-rec-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--accent-rose);box-shadow:0 0 0 3px #fb71852e;animation:oi-rec-pulse 1.2s ease-in-out infinite}@keyframes oi-rec-pulse{50%{box-shadow:0 0 0 6px #fb718500}}.oi-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.01em}.oi-mode-badge{font-family:var(--font-mono);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);background:var(--bg-elev);border:1px solid var(--rule-strong);padding:2px 7px;border-radius:999px;white-space:nowrap}.oi-elapsed{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);font-variant-numeric:tabular-nums;margin-left:auto}.oi-min-btn{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--rule);border-radius:6px;color:var(--text-soft);font-size:14px;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease}.oi-min-btn:hover{background:#ffffff0a;color:var(--text)}.oi-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--rule);height:460px}@media(max-width:720px){.oi-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:560px}}.oi-pane{background:var(--bg-card);display:flex;flex-direction:column;min-width:0}.oi-pane-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 14px 8px;border-bottom:1px solid var(--rule);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft)}.oi-pane-meta{font-size:10px;letter-spacing:.06em;color:var(--accent-teal);text-transform:none}.oi-trans-list{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow-y:auto;font-size:12.5px;line-height:1.5;color:var(--text)}.oi-trans-item{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.oi-trans-speaker{font-family:var(--font-mono);font-size:10.5px;color:var(--text-soft);flex-shrink:0;font-variant-numeric:tabular-nums}.oi-trans-item .oi-trans-text{color:var(--text-mute)}.oi-trans-partial{font-style:italic;color:var(--text-soft);border-left:2px solid rgba(94,175,255,.45);padding:2px 0 2px 8px;margin-top:2px}.oi-symptom-list{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto}.oi-symptom{border:1px solid var(--rule);border-radius:8px;background:#ffffff04}.oi-symptom--pending{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.oi-symptom--accepted{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#1bcfa50f;border-color:#1bcfa552}.oi-sym-check{flex-shrink:0;color:var(--accent-teal);font-weight:600;font-size:14px}.oi-sym-acc-title{flex:1;font-size:12.5px;color:var(--text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oi-sym-acc-status{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-teal)}.oi-sym-row1{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.oi-sym-title-area{flex:1;min-width:0}.oi-sym-title{font-size:13px;font-weight:500;color:var(--text);line-height:1.35;margin-bottom:4px}.oi-sym-quote{font-size:11.5px;font-style:italic;color:var(--text-soft);line-height:1.4}.oi-sym-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0}.oi-sym-badge{font-family:var(--font-mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:4px;white-space:nowrap}.oi-cat-repair{background:#fbbf2429;color:var(--accent-amber)}.oi-cat-maintenance{background:#5eafff29;color:var(--accent-hi)}.oi-cat-drivability{background:#c4b5fd2e;color:var(--accent-violet)}.oi-cat-safety{background:#fb718529;color:var(--accent-rose)}.oi-sym-urgency{font-family:var(--font-mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.oi-urg-routine{color:var(--text-mute)}.oi-urg-soon{color:var(--accent-amber)}.oi-urg-urgent{color:var(--accent-rose)}.oi-urg-safety-critical{color:var(--accent-violet)}.oi-sym-confidence{display:flex;align-items:center;gap:8px}.oi-conf-track{flex:1;height:4px;border-radius:2px;background:var(--rule);overflow:hidden}.oi-conf-fill{height:100%;border-radius:2px;transition:width .2s ease}.oi-conf-pct{font-family:var(--font-mono);font-size:11px;color:var(--text-mute);font-variant-numeric:tabular-nums;flex-shrink:0}.oi-sym-actions{display:flex;gap:6px}.oi-sym-btn{flex:1;border:1px solid var(--rule-strong);background:var(--bg-elev);color:var(--text-mute);font-size:11.5px;font-weight:500;padding:6px 10px;border-radius:6px;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.oi-sym-btn:hover{background:#ffffff0d;color:var(--text)}.oi-btn--accept{background:var(--accent-teal);border-color:var(--accent-teal);color:#0a0a0a}.oi-btn--accept:hover{background:#2de0bb;color:#0a0a0a}@keyframes oi-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes oi-symptom-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes oi-conf-fill{0%{width:0}}.oi-msg.is-new,.oi-trans-partial.is-new{animation:oi-fade-in .24s ease-out forwards}.oi-symptom.is-new{animation:oi-symptom-in .32s cubic-bezier(.2,.7,.2,1) forwards}.oi-conf-fill.is-filling{animation:oi-conf-fill .6s ease-out 80ms both}.oi-word{display:inline;opacity:0;transition:opacity .14s ease}.oi-word.is-shown{opacity:1}.oi-cursor{display:inline-block;width:6px;height:12px;margin-left:1px;background:var(--accent-teal);vertical-align:-1px;animation:oi-cursor-blink 1s steps(1) infinite}@keyframes oi-cursor-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.oi-msg.is-new,.oi-trans-partial.is-new,.oi-symptom.is-new,.oi-conf-fill.is-filling{animation:none}.oi-word{opacity:1;transition:none}.oi-cursor{animation:none;opacity:0}}
