/* Character calls stay warm and legible; Atlas keeps a distinct outside-world palette. */
.live-panel{--call-tint:#d9f8b4;--call-line:#748962;min-width:0;border:1px solid #65735a;border-radius:22px;padding:22px;background:radial-gradient(ellipse at top right,#667d4833,transparent 55%),linear-gradient(150deg,#303a2d,#272f34 70%);box-shadow:0 15px 35px #090e1530;scroll-margin-top:24px;color:var(--text)}
.live-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#e1f4d5;font-size:12px;font-weight:650;line-height:1.5;letter-spacing:.5px}
.live-panel-top>span:first-child{display:flex;align-items:center;gap:7px;min-width:0}
.live-panel-top .icon{width:17px;height:17px;color:#defcae}
.live-indicator{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;white-space:nowrap;padding:5px 9px;border-radius:8px;color:#d3e0eb;background:#303a42;border:1px solid #697985}
.live-indicator.connected{border-color:#c5f277;color:#ecffc8;background:#3e522f;box-shadow:0 0 14px #d5f89e22}
.companion-profile{display:grid;grid-template-columns:74px minmax(0,1fr);gap:3px 15px;align-items:center;text-align:left;margin:23px 0 18px}
.contact-kind{grid-column:1/-1;display:block;font-size:12px;line-height:1.55;letter-spacing:.65px;font-weight:650;color:#def4c5;margin-bottom:15px}
.companion-avatar{grid-column:1;grid-row:2/4;width:74px;height:82px;display:grid;place-items:center;border-radius:23px;background:linear-gradient(135deg,#dcffae,#92c563);color:#25421f;font-size:39px;font-weight:650;border:2px solid #e4ffc1;box-shadow:0 8px 20px #08172638,0 0 0 6px #c3f57712;transform:rotate(-5deg)}
.companion-profile h2{grid-column:2;grid-row:2;align-self:end;font-size:31px;line-height:1.15;letter-spacing:-.6px;margin:0 0 4px;color:#fff;overflow-wrap:anywhere}
.companion-profile>span:last-of-type{grid-column:2;grid-row:3;align-self:start;font-size:15px;line-height:1.6;color:#e0edda;overflow-wrap:anywhere}
.companion-profile p{grid-column:1/-1;font-size:16px;line-height:1.7;color:#d5e5dd;margin:16px 0 0}
.character-activity{font-size:16px;line-height:1.7;text-align:left;min-height:48px;padding:13px 15px;border:1px solid #6e8258;border-left:3px solid #d7f6ab;border-radius:11px;background:#303e2c;color:#ebf5e1;overflow-wrap:anywhere}
.voice-visual{display:flex;align-items:center;justify-content:center;gap:4px;height:42px;margin:14px 0 7px}
.voice-visual i{height:var(--h);width:3px;border-radius:5px;background:#c3e3a7;opacity:.9}
.voice-visual.active i{background:var(--accent);animation:wave 1s ease-in-out infinite alternate;animation-delay:var(--d)}
@keyframes wave{0%{transform:scaleY(.4)}100%{transform:scaleY(1.3)}}
.call-status{font-size:14px;line-height:1.6;color:#d9e7d5;text-align:center;margin:0 0 14px;overflow-wrap:anywhere}
.mic-option{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:2px 9px;min-height:52px;margin:10px 0 13px;font-size:15px;line-height:1.55;color:#f0f5ee;cursor:pointer}
.mic-option input{width:20px;height:20px;min-height:20px;margin:0;grid-column:1;grid-row:1/3;cursor:pointer}
.mic-option span{grid-column:2;font-size:13px;line-height:1.5;color:#c9d9d1}
#connect-call{font-size:17px;min-height:54px;padding:14px 17px;gap:9px;border-radius:12px;box-shadow:0 4px 0 #6f903d55,0 6px 20px #b4e6751a}
#connect-call .icon{width:21px;height:21px}
.call-controls{display:flex;gap:10px}
.call-controls button{flex:1;min-width:0;font-size:16px;min-height:50px;padding:12px 10px}
.call-controls .icon{width:19px;height:19px}
.live-disclosure{font-size:16px;line-height:1.75;color:#c8dbd0;text-align:center;margin:17px 0 20px}
.live-error{font-size:16px;line-height:1.7;color:#ffe1e7;overflow-wrap:anywhere;background:#643e58;border:1px solid #e7a9c2;border-radius:11px;padding:13px 15px;margin:14px 0}
.live-error:empty{display:none}
.conversation-log{border-top:1px solid #5d6b57;padding-top:18px;max-height:300px;min-height:120px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#9eb994 #293238;overscroll-behavior:contain}
.conversation-empty>span{font-size:14px;line-height:1.6;font-weight:500;color:#d7e7d0;display:block;margin-bottom:12px}
.conversation-empty>button{display:block;text-align:left;min-height:48px;padding:11px 13px;background:#303e32;border:1px solid #829376;border-radius:10px;font-size:15px;line-height:1.7;color:#eff6e6;margin-bottom:10px;width:100%}
.conversation-empty>button:hover{background:#42563c;border-color:#bfdf9e;color:#fff}
.transcript-line{margin-bottom:13px;padding:13px 15px;border:1px solid #627452;border-radius:12px;background:#2f3b30}
.transcript-line.user{background:#323640;border-color:#64677f}
.transcript-line strong{display:block;font-size:14px;line-height:1.5;color:#e4ffbd;font-weight:650;margin-bottom:6px}
.transcript-line.user strong{color:#e4deff}
.transcript-line p{font-size:16px;line-height:1.75;margin:0;color:#eff5ec;white-space:pre-wrap;overflow-wrap:anywhere}
.transcript-line.action{border:0;background:transparent;padding:5px 0}
.transcript-line.action p{font-size:14px;line-height:1.7;color:#d7f0bb}
.live-chat-form{display:flex;position:relative;margin-top:18px;min-width:0}
.live-chat-form input{width:100%;min-width:0;font-size:16px;line-height:1.6;min-height:58px;padding:13px 61px 13px 14px;border:1px solid #82909f;border-radius:12px;background:#1d232c;color:#f7fbff}
.live-chat-form input::placeholder{color:#c3d3df;opacity:1}
.live-chat-form button{position:absolute;right:6px;top:7px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #b9d797;border-radius:9px;background:#405730;color:#f1ffd8}
.live-chat-form button:hover{background:#536f3f}
.live-chat-form button .icon{width:21px;height:21px}
.live-footnote{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:16px;font-size:12px;line-height:1.7;color:#cee0c3;text-align:center}
.live-footnote .status-dot{width:6px;height:6px;margin-top:7px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.world-subtitle{position:absolute;z-index:4;bottom:18px;left:50%;transform:translateX(-50%);max-width:92%;width:max-content;pointer-events:none;background:#222d32f7;border:1px solid #91a27f;box-shadow:0 5px 30px #0004;border-radius:14px;padding:13px 18px;color:#f7fbff;text-align:center;line-height:1.6;backdrop-filter:blur(10px)}
.world-subtitle strong{display:block;color:#e1ffb8;font-size:14px;font-weight:650;margin-bottom:5px}
.world-subtitle span{display:block;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:hidden}
.companion-avatar.speaking{box-shadow:0 0 0 7px #d9ffa331,0 0 30px #cbea9c50}
.live-panel[data-contact-kind="guide"],.live-panel[data-contact-kind="copilot"],.live-panel[data-contact-kind="narrator"]{--call-tint:#c2f0ff;border-color:#64858c;background:radial-gradient(ellipse at top right,#739d9e30,transparent 65%),linear-gradient(145deg,#303e44,#29343c)}
.live-panel[data-contact-kind="guide"] .contact-kind{color:#c9f3ff}
.live-panel[data-contact-kind="guide"] .companion-avatar{background:linear-gradient(135deg,#c9f5ff,#8db9ed);color:#24416a;border-color:#d9f7ff;box-shadow:0 8px 20px #08172638,0 0 0 6px #beeafa12}
.live-panel[data-contact-kind="guide"] .character-activity{background:#35474e;border-color:#789ba4;border-left-color:#b3efff;color:#edfaff}
.live-panel[data-contact-kind="guide"] .live-panel-top{color:#d9f4ff}
.live-panel[data-contact-kind="guide"] .live-panel-top .icon{color:#bdecff}
.live-panel[data-contact-kind="guide"] .companion-profile>span:last-of-type,.live-panel[data-contact-kind="guide"] .companion-profile p,.live-panel[data-contact-kind="guide"] .call-status,.live-panel[data-contact-kind="guide"] .mic-option span,.live-panel[data-contact-kind="guide"] .live-disclosure,.live-panel[data-contact-kind="guide"] .live-footnote{color:#d8e9f8}
.live-panel[data-contact-kind="guide"] .conversation-log{border-color:#617c85}
.live-panel[data-contact-kind="guide"] .conversation-empty>span{color:#d2ebff}
.live-panel[data-contact-kind="guide"] .conversation-empty>button{background:#33434b;border-color:#7b949e;color:#eff9ff}
.live-panel[data-contact-kind="guide"] .voice-visual i{background:#b2e7ff}
.live-panel[data-contact-kind="guide"] .live-chat-form input{border-color:#82909f;background:#1d252d}
.live-panel[data-contact-kind="guide"] .live-chat-form button{background:#3d5862;border-color:#9ac5ce;color:#e7faff}
.live-panel[data-contact-kind="guide"] .transcript-line{background:#33434b;border-color:#7b949e}
.live-panel[data-contact-kind="guide"] .transcript-line strong{color:#c4f1ff}
@media(min-width:701px) and (max-width:1120px){
 .live-panel{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr);gap:10px 28px;padding:26px}
 .live-panel-top{grid-column:1/-1;margin-bottom:7px}
 .companion-profile{grid-column:1;grid-row:2;margin:10px 0 5px}
 .character-activity{grid-column:1;grid-row:3}
 .voice-visual{grid-column:1;grid-row:4;margin:5px 0}
 .call-status{grid-column:1;grid-row:5;margin:0}
 .mic-option{grid-column:1;grid-row:6;margin:5px 0}
 .live-panel>#connect-call,.call-controls{grid-column:1;grid-row:7}
 .live-disclosure{grid-column:1;grid-row:8;margin:11px 0 0}
 .conversation-log{grid-column:2;grid-row:2/6;min-height:200px;max-height:380px;border-top:0;padding-top:5px}
 .live-chat-form{grid-column:2;grid-row:6;align-self:start;margin-top:5px}
 .live-footnote{grid-column:2;grid-row:7;align-self:start;margin-top:10px}
 .live-error{grid-column:1/-1;grid-row:9}
}
@media(max-width:700px){
 .live-panel{padding:22px;border-radius:20px}.live-panel-top{font-size:12px;gap:8px}.live-indicator{font-size:12px;padding:5px 8px}
 .companion-profile{grid-template-columns:76px minmax(0,1fr);gap:3px 17px;margin-top:23px}.companion-avatar{width:76px;height:84px;font-size:39px}
 .companion-profile h2{font-size:32px}.companion-profile>span:last-of-type{font-size:16px}.companion-profile p{font-size:16px}.contact-kind{font-size:12px}
 .character-activity{font-size:16px}.call-status{font-size:14px}.mic-option{font-size:16px}.mic-option span{font-size:14px}
 #connect-call{font-size:18px;min-height:56px}.call-controls button{font-size:16px;min-height:52px}.live-disclosure{font-size:16px}
 .conversation-empty>span{font-size:15px}.conversation-empty>button{font-size:16px;min-height:50px}.conversation-log{max-height:340px}
 .live-chat-form input{font-size:16px}.live-footnote{font-size:13px}.world-subtitle{max-width:94%;bottom:12px;padding:12px 14px}.world-subtitle span{font-size:16px}.world-subtitle strong{font-size:14px}
}
@media(max-width:380px){
 .live-panel{padding:18px}.live-panel-top{align-items:flex-start;gap:6px}.live-panel-top>span:first-child{gap:5px}.live-indicator{padding:4px 6px}
 .companion-profile{grid-template-columns:66px minmax(0,1fr);gap:4px 14px}.companion-avatar{width:66px;height:75px;border-radius:20px;font-size:35px}.companion-profile h2{font-size:29px}
 .live-chat-form input{padding-left:12px}.mic-option span{font-size:14px}.live-footnote{font-size:12px}
}