.live-chat{overflow:hidden;min-width:0;margin-top:20px}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.chat-head h2{font-size:18px;margin:0 0 5px}.chat-head small,.chat-demo,.chat-identity,.chat-send small{color:var(--muted);font-size:13px}.chat-demo{padding:0 20px}.chat-mode{display:flex;align-items:center;gap:12px;padding:0 20px 14px;font-size:14px}.chat-mode select{flex:1;min-width:0}.chat-messages{height:320px;overflow:auto;padding:16px;overscroll-behavior:auto}.chat-message{padding:12px;margin-bottom:12px;border-radius:14px;background:var(--bg);border:1px solid var(--line)}.chat-message.own{border-color:#777ce5}.chat-message header{display:flex;justify-content:space-between;gap:12px;font-size:14px}.chat-message header span{font-size:12px;color:var(--muted)}.chat-message time{font-size:12px;color:var(--muted)}.chat-message p,.chat-pin p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:15px;margin:10px 0}.chat-actions{display:flex;gap:5px;flex-wrap:wrap}.chat-actions button,.chat-emoji{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:8px;padding:6px 9px;cursor:pointer}.chat-compose{padding:16px;border-top:1px solid var(--line)}.chat-compose textarea{width:100%;resize:vertical;margin:9px 0;min-height:80px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}.chat-emojis{display:flex;gap:5px;flex-wrap:wrap}.chat-emoji{font-size:20px}.chat-send{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.chat-send small{max-width:210px}.chat-status{padding:0 20px;font-size:14px;color:var(--muted)}.chat-pin{padding:12px 20px;background:var(--bg);border-bottom:1px solid var(--line)}.chat-empty{text-align:center;padding:50px 10px;color:var(--muted)}.chat-window{max-width:760px;margin:auto;padding:18px}.chat-window h1{font-size:22px}.chat-window .chat-messages{height:calc(100dvh - 430px);min-height:180px}.chat-window .live-chat{margin-top:12px}.live-chat [hidden]{display:none!important}@media(min-width:1100px){.lesson-layout:has(.live-chat){grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr)}.lesson-layout:has(.live-chat) .lesson-aside{align-self:start}.lesson-layout:has(.live-chat) .live-chat{margin-top:0}}@media(max-width:600px){.chat-send small{display:none}.chat-send{justify-content:flex-end}.chat-message p{font-size:16px}}
.chat-mode select{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:9px;padding:9px}.chat-window{padding-top:24px}.chat-window h1{line-height:1.3;overflow-wrap:anywhere}.chat-window .live-chat{box-shadow:none}
/* Compact chat controls and a readable discussion on narrow screens. */
.live-chat .chat-message{margin-bottom:8px;padding:12px 14px}.live-chat .chat-message.own{border-color:var(--line)}.live-chat .chat-message.host{border-inline-start:3px solid var(--ink);background:var(--card)}.live-chat .chat-message header{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}.live-chat .chat-message header>strong{min-width:0;flex:1;overflow-wrap:anywhere}.live-chat .chat-message header>strong span{display:block;font-weight:400}.live-chat .chat-message time{white-space:nowrap}.live-chat .chat-message p{margin:6px 0 0}.live-chat .chat-menu{flex:none;position:relative}.live-chat summary{cursor:pointer;list-style:none}.live-chat summary::-webkit-details-marker{display:none}.live-chat .chat-menu summary{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--muted)}.live-chat summary:hover,.live-chat details[open]>summary{background:var(--bg);color:var(--ink)}.live-chat summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.live-chat .chat-actions{position:absolute;right:0;top:36px;width:190px;display:grid;z-index:5;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 8px 25px #0002}.live-chat .chat-actions button{text-align:left;background:transparent;border:0;min-height:44px;padding:10px;border-radius:7px;font:inherit;font-size:14px}.live-chat .chat-actions button:hover{background:var(--bg)}.live-chat .chat-actions [data-delete]{color:#b23b32}.live-chat .chat-compose{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;padding:12px 16px}.live-chat .chat-identity{grid-column:1/-1;font-size:12px}.live-chat .chat-compose textarea{grid-column:1/-1;min-height:64px;max-height:160px;margin:0;font-size:16px}.live-chat .chat-compose .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.live-chat .chat-send{margin:0;justify-content:flex-end;min-width:0}.live-chat .chat-send .btn{flex:0 1 auto;min-height:42px;padding:9px 18px}.live-chat .chat-emoji-picker{position:relative;align-self:center}.live-chat .chat-emoji-picker summary{display:grid;place-items:center;width:40px;height:40px;font-size:25px;border:1px solid var(--line);border-radius:10px}.live-chat .chat-emojis{position:absolute;bottom:48px;left:0;z-index:6;display:flex;flex-wrap:nowrap;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;gap:0;box-shadow:0 8px 24px #0002}.live-chat .chat-emojis .chat-emoji{min-width:32px;min-height:40px;padding:5px;border:0;background:transparent;font-size:20px}.live-chat .chat-new{display:block;margin:6px auto;border:1px solid var(--line);border-radius:20px;padding:8px 14px;background:var(--card);color:var(--ink);cursor:pointer;font:inherit;font-size:13px}.live-chat .chat-status:empty{display:none}.chat-window{max-width:760px;padding:16px}.chat-window .chat-messages{height:clamp(220px,calc(100dvh - 440px),800px)}.chat-window #chat-return{font-size:14px;min-height:40px}.chat-window .chat-demo{margin:8px 16px;font-size:12px}.chat-window .chat-mode{padding:0 16px 10px;flex-wrap:nowrap}.chat-window .chat-mode select{width:auto;flex-basis:auto}.chat-window .chat-head{padding:12px 16px}.chat-window h1{font-size:18px;margin:12px 0}.chat-window .chat-messages{padding:10px}.chat-window .live-chat{margin-top:8px}@media(max-width:600px){.live-chat .chat-menu summary{width:40px;height:40px}.live-chat .chat-message{padding:10px}.chat-window{padding:10px}.chat-window .chat-messages{height:clamp(240px,calc(100dvh - 405px),700px)}.live-chat .chat-compose{padding:10px 12px}.live-chat .chat-actions{width:175px}}
.chat-window{height:100dvh;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.chat-window>h1{flex:none;margin:4px 0}.chat-window>.live-chat{display:flex;flex-direction:column;flex:1;min-height:0;margin:0}.chat-window [data-chat-body]{display:flex;flex-direction:column;flex:1;min-height:0}.chat-window .chat-messages{height:auto;min-height:100px;flex:1}.chat-window .chat-compose,.chat-window .chat-head,.chat-window .chat-mode,.chat-window .chat-pin{flex:none}.chat-window .chat-pin{max-height:125px;overflow:auto}.chat-window #chat-error:empty{display:none}.chat-window #chat-return{align-self:flex-start;flex:none}.chat-window .chat-status{margin:6px 16px;padding:0}.live-chat .chat-menu.up .chat-actions{top:auto;bottom:36px}.chat-window .chat-demo:first-of-type{display:none}
.chat-window{position:relative}.chat-window>.auth-theme{position:absolute;top:10px;right:12px;margin:0}.chat-window>h1{padding-right:100px;min-height:44px;display:flex;align-items:center;line-height:1.3}.chat-window .live-chat:has(.chat-mode) .chat-head{display:none}.chat-window .chat-pin{max-height:90px;padding:10px 16px;font-size:13px}.chat-window .chat-pin p{font-size:14px;margin:5px 0}.chat-window .chat-identity{display:none}.chat-window .chat-compose textarea{min-height:56px}.chat-window .chat-demo{line-height:1.4}

/* The list owns scrolling; browser anchoring must not compete with it. */
.live-chat .chat-messages{overflow-anchor:none;overscroll-behavior:contain;scroll-behavior:auto}.live-chat .chat-status{min-height:1.4em}.chat-window .chat-compose textarea{resize:none;max-height:120px}
