/* r77 — chat disponibile anche nei quiz, note vocali e cronologia leggibile. */
body.exam-mode #cloudLiveDock,
body.quiz-active #cloudLiveDock{display:block!important;visibility:visible!important;pointer-events:none!important;z-index:10040!important}
body.exam-mode #cloudLiveDock:not(.open) .cloud-live-toggle,
body.quiz-active #cloudLiveDock:not(.open) .cloud-live-toggle{opacity:.92;transform:scale(.92);transform-origin:right bottom}
body.exam-mode #cloudLiveDock.open,
body.quiz-active #cloudLiveDock.open{max-height:min(82dvh,760px)}
#cloudLiveDock .cloud-live-chat-title{align-items:flex-start;gap:10px}
#cloudLiveDock .cloud-live-chat-title small{max-width:210px;text-align:right;line-height:1.25}
#cloudLiveDock .cloud-live-messages article{grid-template-columns:auto minmax(0,1fr) auto}
#cloudLiveDock .cloud-live-messages article>p,
#cloudLiveDock .cloud-live-messages article>.cloud-chat-audio{grid-column:2/-1}
#cloudLiveDock .cloud-chat-audio{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:9px;width:min(100%,310px);padding:8px 10px;border:1px solid rgba(19,73,112,.1);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(19,73,112,.07));box-shadow:0 3px 10px rgba(14,49,75,.06)}
#cloudLiveDock .cloud-chat-audio>audio{display:none}
#cloudLiveDock .cloud-chat-audio-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#1769a7;color:#fff;box-shadow:0 5px 13px rgba(23,105,167,.24);font:900 18px/1 system-ui;cursor:pointer;touch-action:manipulation}
#cloudLiveDock .cloud-chat-audio-toggle span{display:block;transform:translateX(1px)}
#cloudLiveDock .cloud-chat-audio.playing .cloud-chat-audio-toggle{background:#c62335}
#cloudLiveDock .cloud-chat-audio.playing .cloud-chat-audio-toggle span{transform:none;font-size:16px;letter-spacing:-3px}
#cloudLiveDock .cloud-chat-audio-toggle:focus-visible{outline:3px solid #f2c94c;outline-offset:2px}
#cloudLiveDock .cloud-chat-audio-body{position:relative;display:grid;grid-template-rows:21px 18px;min-width:0}
#cloudLiveDock .cloud-chat-audio-wave{display:flex;align-items:center;gap:2px;min-width:0;height:21px;overflow:hidden;opacity:.44}
#cloudLiveDock .cloud-chat-audio-wave i{flex:1 1 2px;max-width:3px;height:var(--wave);border-radius:4px;background:#174d75}
#cloudLiveDock .cloud-chat-audio.playing .cloud-chat-audio-wave{opacity:.72}
#cloudLiveDock .cloud-chat-audio input[type=range]{position:absolute;inset:0 0 auto;width:100%;height:21px;margin:0;opacity:.01;cursor:pointer}
#cloudLiveDock .cloud-chat-audio-body:after{content:"";position:absolute;top:9px;left:0;width:var(--chat-audio-progress,0%);height:3px;border-radius:4px;background:#1769a7;pointer-events:none}
#cloudLiveDock .cloud-chat-audio-meta{display:flex;align-items:end;justify-content:flex-end;min-width:0}
#cloudLiveDock .cloud-chat-audio time{color:#617487;font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap}
#cloudLiveDock #cloudChatForm{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:7px;align-items:center}
#cloudLiveDock #cloudChatForm .cloud-chat-record{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:13px;background:#173e5e;color:#fff;font-size:18px;cursor:pointer}
#cloudLiveDock #cloudChatForm .cloud-chat-record.recording{background:#c62335;animation:chat-r77-pulse 1s ease-in-out infinite}
#cloudLiveDock #cloudChatForm .cloud-chat-cancel{grid-column:1/2;border:1px solid #d8dee5;border-radius:10px;background:#fff;color:#8a2531;padding:8px;font-weight:800}
#cloudLiveDock #cloudChatForm .cloud-chat-recording{grid-column:2/-1;color:#b1192a;font-size:11px;font-weight:900}
@keyframes chat-r77-pulse{50%{box-shadow:0 0 0 7px rgba(198,35,53,.16)}}
@media(max-width:700px){
  body.exam-mode #cloudLiveDock.open,
  body.quiz-active #cloudLiveDock.open{position:fixed!important;inset:8px!important;width:auto!important;max-width:none!important;max-height:none!important;height:calc(100dvh - 16px)!important}
  #cloudLiveDock .cloud-chat-audio{width:100%}
}
@media(prefers-reduced-motion:reduce){#cloudLiveDock #cloudChatForm .cloud-chat-record.recording{animation:none}}

/* r83: the invisible dock rectangle must never swallow page controls. */
body #cloudLiveDock{pointer-events:none!important}
body #cloudLiveDock:not(.open){width:max-content!important;max-width:calc(100vw - 24px)!important;background:transparent!important;box-shadow:none!important}
body #cloudLiveDock > .cloud-live-toggle,
body #cloudLiveDock > .cloud-simulator-launcher,
body #cloudLiveDock > .cloud-live-body:not([hidden]){pointer-events:auto!important}
body #cloudLiveDock > .cloud-live-body[hidden]{display:none!important;pointer-events:none!important}
#view-intersections.active{padding-bottom:240px;scroll-padding-bottom:240px}
#view-intersections [data-intersection-check]{scroll-margin-bottom:240px;touch-action:manipulation}
/* Auxiliary radio controls inserted by the existing voice module remain usable. */
body #cloudLiveDock :is(button,a,input,select,textarea,audio,[role="button"]){pointer-events:auto!important}
