/* AI teacher: a quiet card beside the white reading surface. */
#calm-reader{--rt-rail:#fff;--rt-card:#fff;--rt-card-line:#e3e5e8;--rt-input:#fff;--rt-rail-extra:40px}
#calm-reader[data-paper=night]{--rt-rail:color-mix(in srgb,var(--cr-bg) 94%,#000);--rt-card:color-mix(in srgb,var(--cr-bg) 92%,#fff);--rt-card-line:var(--cr-line);--rt-input:var(--cr-bg)}
#calm-reader[data-panel=ai] #cr-panel{display:flex;flex-direction:column;overflow:hidden;padding:10px 10px 12px;border-left:0;background:var(--rt-rail)}
#calm-reader[data-panel=ai] .rt-sidebar-card{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;padding:0 12px 12px;border:1px solid var(--rt-card-line);border-radius:12px;background:var(--rt-card);box-shadow:0 4px 18px #1822300d,0 1px 4px #18223008}
#calm-reader[data-panel=ai] .cr-panel-heading{position:static;flex:none;padding:6px 0 4px;background:transparent;border-bottom:0}
#calm-reader[data-panel=ai] .cr-panel-heading button{display:grid;place-items:center;box-sizing:border-box;width:32px;height:32px;min-height:32px;padding:0;line-height:22px}
@media(min-width:1101px){
 #calm-reader[data-panel=ai]:not(.cr-focus){--rt-base-rail:calc((100% - min(var(--cr-body-width),100% - var(--cr-side-min) * 2))/2)}
 #calm-reader[data-panel=ai]:not(.cr-focus) .cr-shell .cr-layout{grid-template-columns:var(--rt-base-rail) minmax(0,1fr) calc(var(--rt-base-rail) + var(--rt-rail-extra))!important}
 #calm-reader[data-panel=ai]:not(.cr-focus) .cr-shell .cr-layout>.cr-panel{max-width:calc(340px + var(--rt-rail-extra))}
}
#calm-reader[data-panel=ai] #reader-teacher-host{display:flex;flex:1;min-height:0;min-width:0;padding-top:0}
.rt-chat{display:flex;flex:1;min-height:0;min-width:0;flex-direction:column;gap:8px;color:var(--cr-text);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.rt-scene{position:relative;aspect-ratio:16/9;flex:none;overflow:hidden;border-radius:4px;background:var(--cr-chrome)}.rt-scene>img,.rt-scene canvas{display:block;width:100%;height:100%;object-fit:contain}.rt-scene>[data-rt-avatar]{position:absolute;inset:0}.rt-scene [hidden]{display:none}.rt-source{flex:none;font-size:12px;color:var(--cr-muted)}.rt-source summary{display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;list-style:none;border:0;border-radius:4px;background:color-mix(in srgb,var(--cr-muted) 6%,var(--cr-bg));cursor:pointer}.rt-source summary::-webkit-details-marker{display:none}.rt-source summary::marker{content:""}.rt-source summary>span{min-width:0;flex:1}.rt-source summary svg{flex:none;width:16px;height:16px}.rt-source-chevron{margin-left:auto}.rt-source[open] .rt-source-chevron{transform:rotate(180deg)}.rt-source summary:focus-visible{outline:2px solid #647f9b;outline-offset:2px}.rt-source p{max-height:100px;overflow:auto;white-space:pre-wrap;margin:6px 0}.rt-dialogue{position:relative;display:flex;flex:1;min-height:0;flex-direction:column}.rt-log{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px 0}.rt-turn{margin:0 0 12px;padding:4px 0;border:0;overflow-wrap:anywhere}.rt-turn[data-role=user]{width:fit-content;max-width:88%;margin-left:auto;padding:8px 12px;background:#e8f3ff;border-radius:4px;white-space:pre-wrap}.rt-message{white-space:pre-wrap}.rt-turn[data-role=assistant] .rt-message{white-space:normal}.rt-message p{margin:0 0 10px}.rt-message>:last-child{margin-bottom:0}.rt-message ul,.rt-message ol{margin:10px 0;padding-left:1.5em}.rt-message pre,.rt-message .cr-table-wrap{max-width:100%;overflow:auto}.rt-message table{border-collapse:collapse;font-size:inherit}.rt-message th,.rt-message td{padding:4px 6px;border:1px solid var(--cr-line);text-align:left}.rt-message :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:600;line-height:inherit;margin:10px 0}.rt-message blockquote{margin:10px 0;padding-left:10px;border-left:2px solid var(--cr-line);color:var(--cr-muted)}#calm-reader[data-paper=night] .rt-turn[data-role=user]{background:#253c54}.rt-waiting{color:var(--cr-muted);margin:6px 0}.rt-log-empty{display:grid;place-items:center}.rt-welcome{display:flex;align-items:center;flex-direction:column;gap:12px;padding:12px;text-align:center;color:var(--cr-muted);font-size:13px;line-height:1.7}.rt-welcome svg{width:24px;height:24px}.rt-welcome p{margin:0}.rt-chat[data-voice-active=true] .rt-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.rt-status{flex:none;color:var(--cr-muted);font-size:12px;line-height:1.6;margin:0;min-height:0}.rt-composer{flex:none;margin:0;padding:8px;border:1px solid var(--rt-card-line,var(--cr-line));border-radius:4px;background:var(--rt-input,var(--cr-bg))}#calm-reader .rt-composer textarea{font-family:inherit;font-size:14px;line-height:1.6;width:100%;resize:vertical;min-height:56px;max-height:160px;padding:4px;color:var(--cr-text);background:transparent;border:0;border-radius:4px}#calm-reader .rt-chat button{font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;border-radius:4px;padding:5px 8px;min-height:30px}.rt-composer svg{width:18px;height:18px;flex:none;vertical-align:middle}#calm-reader .rt-chat button:focus-visible{outline:2px solid var(--cr-accent);outline-offset:2px}.rt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-height:740px){.rt-scene{max-height:142px}.rt-composer textarea{min-height:60px}}#calm-reader .rt-chat [hidden]{display:none!important}
body:has(#calm-reader[open][data-panel=ai]) #floating-companion{display:none}

/* Voice actions belong to one compact composer; the sphere reflects call state. */
.rt-voice-stage{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px 0}.rt-voice-label{margin:0;text-align:center;font-size:13px;line-height:1.7;color:var(--cr-muted)}
.rt-chat[data-voice-active=true][data-has-messages=true] .rt-voice-stage{flex:none;flex-direction:row;gap:8px;padding:4px 0}
.rt-chat[data-has-messages=true] .rt-voice-orb{width:24px;height:24px}
.rt-chat[data-has-messages=true] .rt-voice-label{font-size:12px}
.rt-voice-orb{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 30% 15%,#3977f6 0%,#86a8ff 46%,#dce6ff 100%);box-shadow:inset 0 0 12px #ffffff99;animation:rt-voice-breathe 4s ease-in-out infinite}
.rt-voice-mark{position:absolute;inset:25%;width:50%;height:50%;object-fit:contain;z-index:1;transform-origin:center;pointer-events:none}.rt-chat[data-voice-active=true] .rt-voice-mark{animation:rt-mark-spin 3s linear infinite}
@keyframes rt-mark-spin{to{transform:rotate(360deg)}}
.rt-voice-orb::before{content:"";position:absolute;inset:-12px;background:radial-gradient(ellipse at 25% 58%,#ffffffed 0 9%,transparent 28%),radial-gradient(ellipse at 50% 48%,#fffffff0 0 11%,transparent 31%),radial-gradient(ellipse at 76% 40%,#ffffffe6 0 10%,transparent 29%),linear-gradient(150deg,transparent 30%,#eff4ffdd 47%,#ffffffd9 54%,transparent 73%);filter:blur(3px);animation:rt-voice-cloud 12s linear infinite}
.rt-chat[data-voice-phase=waiting] .rt-voice-orb{animation-duration:8s}
.rt-chat[data-voice-phase=speaking] .rt-voice-orb{animation-duration:2.8s}
.rt-composer-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:4px}
.rt-composer-end{display:flex;align-items:center;gap:6px;min-width:0}
#calm-reader .rt-composer .rt-icon-button{display:inline-grid;place-items:center;flex:none;box-sizing:border-box;width:32px;height:32px;min-height:32px;padding:0;border:0;background:transparent;color:var(--cr-muted);border-radius:4px;box-shadow:none;cursor:pointer}
#calm-reader .rt-composer .rt-icon-button:hover{color:var(--cr-text);background:transparent}
#calm-reader .rt-composer .rt-icon-button:disabled{opacity:.4;cursor:default}
#calm-reader .rt-composer [data-rt-mic][aria-pressed=true],#calm-reader .rt-composer [data-rt-read][aria-pressed=true]{color:#347cf1;background:transparent}
#calm-reader .rt-composer [data-rt-call]{border-radius:50%;background:#347cf1;color:#fff}
#calm-reader .rt-composer [data-rt-call]:hover{background:#2567d6;color:#fff}
#calm-reader .rt-composer .rt-icon-button:focus-visible{outline:2px solid #647f9b;outline-offset:2px}
.rt-call-end{display:none}
[data-rt-call][aria-pressed=true] .rt-call-waves{display:none}
[data-rt-call][aria-pressed=true] .rt-call-end{display:block}
#calm-reader .rt-composer .rt-send:not(:disabled){color:var(--cr-accent)}
#calm-reader .rt-composer textarea:focus-visible{outline:none;box-shadow:none}
#calm-reader .rt-composer:focus-within{border-color:#b7c8da}
.rt-text-only .rt-composer-end{margin-left:auto}
@keyframes rt-voice-breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1.04)}}
@keyframes rt-voice-cloud{0%,100%{transform:translate(-3%,3%) rotate(-6deg)}50%{transform:translate(3%,-3%) rotate(6deg)}}
@media(prefers-reduced-motion:reduce){.rt-voice-orb,.rt-voice-orb::before,.rt-chat[data-voice-active=true] .rt-voice-mark{animation:none}}
@media(forced-colors:active){#calm-reader .rt-composer [data-rt-call]{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}.rt-voice-orb{background:Canvas;outline:1px solid CanvasText}}
