.law-class-home .law-board{text-align:center;padding:9px;border-radius:8px;color:#fff;background:#345d50;font-size:13px}.law-seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px 0}.law-seats button{min-height:55px!important;font-weight:700}.law-seats button[aria-pressed=true]{background:#306b59;color:white;border-color:#306b59}.law-questions{box-sizing:border-box;width:min(780px,calc(100vw - 24px));max-height:90dvh;border:1px solid #d2dbc9;border-radius:20px;padding:0;background:#faf9f2;box-shadow:0 25px 90px #122d3544}.law-questions[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}.law-questions::backdrop{background:#17352b88}.law-questions header,.law-questions footer{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;gap:15px;background:#eaf0e4}.law-questions h2{margin:3px 0;font-size:22px}.law-questions h3{font-size:16px;margin:8px 0}.law-question-body{display:grid;gap:13px;overflow:auto;overscroll-behavior:contain;padding:22px}.law-questions textarea{min-height:120px}.law-questions button{padding:9px 14px;min-height:40px}.law-questions button.primary{background:#306b59;color:#fff}.law-question-body .sr-card p{white-space:pre-wrap;overflow-wrap:anywhere}.law-questions .sr-status{min-height:18px}
.chat-composer{position:sticky;bottom:0;display:grid;gap:7px;background:var(--paper);padding-top:8px;border-top:1px solid var(--line)}.chat-form textarea{box-sizing:border-box;flex:1;min-width:0;min-height:76px;max-height:150px;resize:vertical;padding:12px;font:16px/1.6 var(--font-sans,system-ui);border:1px solid #b9cfc6;border-radius:12px;background:#fffefa;color:var(--ink)}.chat-form textarea:focus{outline:2px solid #518d7c;outline-offset:1px}.chat-form{align-items:stretch}.chat-form button{align-self:stretch;min-width:58px}.chat-composer small{font-size:11px;color:var(--muted)}.panel:not(.mini):has(.chat) .chat{grid-template-rows:minmax(70px,1fr) auto auto auto}.chat .chips button{min-height:32px}.chat-message-status{font-size:12px;color:#306b59;min-height:16px}.panel:not(.mini):has(.chat) #pDesc{font-size:13px;line-height:1.6}.counter-speech{position:fixed;z-index:6;pointer-events:auto;max-width:min(330px,calc(100vw - 38px));padding:14px 17px;background:#fffdf4;border:2px solid #79a58c;border-radius:22px 22px 22px 4px;box-shadow:0 8px 28px #193e3533;text-align:left;white-space:pre-wrap;font-size:15px;line-height:1.65;color:#24463b}.counter-speech small{display:block;color:#6b7d6b;font-size:11px;margin-bottom:4px}.counter-speech span{display:block;overflow-wrap:anywhere}.counter-speech[hidden]{display:none}.law-class-entry{background:#306b59!important;color:#fff!important}
@media(max-width:760px){.counter-speech{max-width:240px;font-size:13px;z-index:4}.panel:not(.mini):has(.chat) #pDesc{display:none}.chat-form textarea{min-height:65px}.law-questions header,.law-questions footer{padding:14px}.law-question-body{padding:16px}.law-questions{max-height:94dvh}}
.law-questions:not([open]){display:none!important}.law-class-home .sr-row button[aria-pressed=true]{background:#306b59;color:white;border-color:#306b59}
/* Speak next to the student at the counter; source cards stay in the side panel. */
.counter-composer{position:fixed;z-index:7;box-sizing:border-box;left:24px;bottom:auto;top:62vh;width:420px;max-width:calc(100vw - 32px);padding:14px 16px 10px;background:#fffdf5;border:2px solid #88aa91;border-radius:4px 20px 20px 20px;box-shadow:0 10px 30px #173d3533;pointer-events:auto}.counter-composer>b{font-size:12px;color:#486c5c}.counter-composer .chat-form{margin:0}.counter-composer .chat-form textarea{min-height:78px;max-height:140px;background:#fffef9}.counter-composer .chat-form button{padding:9px 14px}.counter-composer .chat-message-status:empty{display:none}.panel:not(.mini):has(.chat-counter) .chat{grid-template-rows:minmax(70px,1fr) auto auto}.in-student-flat .counter-composer{position:static;width:auto!important;max-width:none;box-shadow:none}.in-student-flat .panel:not(.mini):has(.chat-counter) .chat{grid-template-rows:minmax(70px,1fr) auto auto auto}
@media(max-width:760px){.counter-composer{left:12px!important;right:12px;top:auto!important;bottom:12px;width:calc(100vw - 24px)!important;max-width:none;padding:10px 12px;border-radius:16px}.counter-composer .chat-form textarea{min-height:65px}.panel:not(.mini):has(.chat-counter){bottom:190px;height:calc(100dvh - 295px);max-height:calc(100dvh - 295px)}.in-student-flat .panel:not(.mini):has(.chat-counter){bottom:12px;height:auto;max-height:none}}
.chat-log{align-content:start}
.counter-speech:hover,.counter-speech:focus-visible{background:#fffdf4}
.counter-speech{width:min(360px,calc(100vw - 32px));box-sizing:border-box;cursor:default;background:#fffdf4}.counter-speech-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.counter-speech-header small{margin:0}.counter-speech-header button{flex-shrink:0;font-size:11px;padding:3px 7px;border:1px solid #c9d8c7;border-radius:7px;background:#f1f6eb;color:#306b59;min-height:26px}.counter-speech .counter-reply-text{max-height:4.65em;overflow:auto;overscroll-behavior:contain;font-size:14px;line-height:1.55}.counter-official-links{display:grid;gap:5px;max-height:90px;overflow:auto;overscroll-behavior:contain;margin-top:8px;padding-right:3px}.counter-official-links a{display:block;padding:5px 7px;border:1px solid #cddcc8;border-radius:7px;background:#f3f7ee;color:#276758;font-size:12px;line-height:1.45;text-decoration:none;overflow-wrap:anywhere}.counter-official-links a:hover,.counter-official-links a:focus-visible{background:#e1edde;outline:2px solid #709b7c;outline-offset:-2px}
/* Use one conversation surface at a time: scene bubble in 3D, history panel in 2D. */
body.in-counter-chat:not(.in-counter-flat) #panel{visibility:hidden;pointer-events:none}body.in-counter-chat:not(.in-counter-flat) #panel .counter-composer{visibility:visible;pointer-events:auto}body.in-counter-chat #labels>.tag{visibility:hidden!important}.counter-speech{left:0;top:0}.in-counter-chat:not(.in-counter-flat) .counter-speech{max-width:calc(100vw - 32px);max-height:calc(100dvh - 148px);overflow:auto;overscroll-behavior:contain}.in-counter-chat:not(.in-counter-flat) .counter-reply-text{max-height:none;overflow:visible}.in-counter-chat:not(.in-counter-flat) .counter-official-links{max-height:none;overflow:visible}.counter-view-tools{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.counter-view-tools button{font-size:12px;min-height:32px;padding:5px 10px;border:1px solid #c9d8c7;background:#eff5e8;color:#2e6657}.counter-view-tools button:hover{background:#e0ecda}body.in-counter-flat #stage{background:linear-gradient(135deg,#e1eadd,#f3edde);pointer-events:none}body.in-counter-flat #stage>canvas,body.in-counter-flat #labels,body.in-counter-flat #btnRotate,body.in-counter-flat #touchTip{display:none!important}body.in-counter-flat #panel{visibility:visible;left:50%;right:auto;transform:translateX(-50%);top:120px;bottom:24px;width:min(820px,calc(100vw - 32px));max-height:none;height:auto;pointer-events:auto}.in-counter-flat .counter-composer{position:static!important;width:auto!important;max-width:none;box-shadow:none;border-width:1px}.in-counter-flat .panel:not(.mini):has(.chat-counter) .chat{grid-template-rows:minmax(70px,1fr) auto auto auto}
@media(max-width:760px){body.in-counter-flat #panel{top:116px;bottom:12px;width:calc(100vw - 24px);max-height:none;height:auto}.in-counter-chat:not(.in-counter-flat) .counter-speech{max-height:calc(100dvh - 350px)}.counter-composer .counter-view-tools{gap:6px}.counter-view-tools button{min-height:30px;font-size:11px}}

body.in-counter-flat #pEyebrow,body.in-counter-flat #pDesc,body.in-counter-flat #panel>.row,body.in-counter-flat #pLinks>.exit{display:none}body.in-counter-flat #panel{padding:20px;gap:8px}body.in-counter-flat #pTitle{margin:0;font-size:23px}body.in-counter-flat #pCrumb{margin:0}.in-counter-flat .counter-composer{padding:10px 12px}.in-counter-flat .counter-composer>b{display:none}.in-counter-flat .counter-composer .chat-form textarea{min-height:60px;max-height:110px}.in-counter-flat .chat-note{font-size:11px}.in-counter-flat .chat-log{padding:8px 3px}
