.classroom-tool{color:var(--cm-text,#173d34);width:100%;min-width:0}.tool-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.tool-heading h2{margin:3px 0 7px;font-size:32px;letter-spacing:-.04em}.tool-heading p{margin:0;color:var(--cm-muted,#647d71);line-height:1.7}.tool-actions{display:flex;flex-wrap:wrap;gap:8px}.tool-status{padding:10px 14px;min-height:42px;border-radius:12px;background:var(--cm-surface,#fffdf7);color:var(--cm-muted,#607b70);font-size:13px;margin-bottom:14px}.tool-count{display:inline-grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:#d9e8d8;color:#234b38;font-size:14px}.tool-hint{font-size:12px!important;line-height:1.7!important;color:var(--cm-muted,#657c71)}.classroom-tool label{display:flex;gap:7px;align-items:center}.classroom-tool input[type=checkbox]{width:17px;height:17px;accent-color:#2a7460}.classroom-tool input[type=number],.classroom-tool select{border:1px solid var(--cm-border,#b9ccc0);border-radius:9px;padding:8px;background:var(--cm-surface,#fffefa);color:inherit;min-width:0}.classroom-tool button:focus-visible,.classroom-tool input:focus-visible{outline:3px solid #c99232;outline-offset:3px}
.seating-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.seating-toolbar label{font-size:13px}.seating-toolbar input{width:65px}.seating-workspace{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px}.seating-canvas{min-width:0;overflow:auto;border:1px solid var(--cm-border,#cad5cb);border-radius:22px;padding:20px;background:var(--cm-surface,#f6f5ed)}.seating-view-controls{display:flex;gap:15px;align-items:center;justify-content:space-between;position:sticky;left:0;min-width:250px;font-size:13px}.seating-podium{text-align:center;letter-spacing:.4em;background:#244c41;color:#fff5d9;border-radius:9px;padding:9px 35px;max-width:260px;margin:18px auto;font-weight:800}.seating-grid{display:grid;gap:11px;min-width:min-content;margin:20px 0}.seating-cell{position:relative;border:1px solid #b6ccbd;background:var(--cm-surface-strong,#fffef8);border-radius:13px;min-width:76px;min-height:104px;box-shadow:0 3px 0 rgba(28,68,50,.07)}.seating-cell.has-aisle{margin-right:25px}.seating-cell.is-selected{outline:3px solid #cb9d3e;outline-offset:1px}.seating-cell.is-fixed{border-color:#b28b3b;background:#fbf4d9}.seating-cell.is-disabled{background:repeating-linear-gradient(135deg,#e8ece6,#e8ece6 8px,#dfe5dc 8px,#dfe5dc 10px);border-style:dashed;box-shadow:none}.seating-seat{background:none;border:0;width:100%;min-height:104px;padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:inherit;cursor:pointer;gap:2px;border-radius:13px}.seating-seat small{font-size:9px;opacity:.65}.seating-seat strong{font-size:27px;line-height:1.2}.seating-seat span{font-size:12px;overflow-wrap:anywhere}.seat-pin{position:absolute;right:3px;top:3px;width:23px;height:23px;border:0;border-radius:7px;background:transparent;color:#997321;cursor:pointer}.is-grouped .seating-cell{border-bottom:5px solid var(--seat-group,#d5ddd5)}.seating-options{border:1px solid var(--cm-border,#ced9cd);border-radius:20px;padding:18px;background:var(--cm-surface,#fffdf7);align-self:start}.seating-options h3{margin:0 0 12px;font-size:20px}.seating-options p{font-size:13px;line-height:1.7}.seating-options label{font-size:13px}.seating-roster{display:flex;gap:6px;flex-wrap:wrap;max-height:320px;overflow:auto;margin:16px 0}.seating-person{border:1px solid #bacdbd;background:#eef3e9;color:#254a39;border-radius:9px;padding:8px;display:flex;gap:6px;align-items:center;cursor:pointer;font-size:12px}.seating-person.is-selected{background:#ffe09a;border-color:#b39036}.seating-aisles{display:flex;gap:8px;flex-wrap:wrap}.seating-aisles label{background:#eef2ea;border-radius:7px;padding:7px}.fc-seating.is-projecting,.quiet-challenge.is-projecting{position:fixed;inset:0;z-index:1600;padding:24px;background:#e9efe4;overflow:auto}.fc-seating.is-projecting .seating-workspace{display:block}.fc-seating.is-projecting .seating-seat strong{font-size:36px}.fc-seating.is-projecting .tool-status{display:none}
.quiet-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.dragon-scene{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;border:1px solid #516862;min-height:700px;padding:24px;color:#fff4d0;background:radial-gradient(ellipse at 50% 63%,#1e595b 0,#102f3a 47%,#0d1b2b 100%);box-shadow:0 18px 42px #0d293428}.dragon-stars{position:absolute;inset:0;z-index:-1;opacity:.25;background-image:radial-gradient(#fff2b4 1px,transparent 1px);background-size:67px 83px}.quiet-topline{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em;opacity:.7}.quiet-clock{text-align:center;font-size:72px;line-height:1.2;margin-top:20px;font-family:Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.dragon-whisper{text-align:center;font-size:16px;letter-spacing:.14em;color:#a8d6d0;margin-top:8px}.dragon-canvas{display:block;width:100%;height:350px;position:relative;margin-top:-10px;filter:drop-shadow(0 16px 14px #020c18aa)}.quiet-distress{max-width:390px;margin:-8px auto 22px;display:flex;align-items:center;gap:10px;font-size:12px;color:#a9c4bf}.quiet-track{height:8px;border-radius:8px;background:#ffffff1f;overflow:hidden;position:relative;flex:1}.quiet-track i{height:100%;display:block;width:0;background:linear-gradient(90deg,#73c5b3,#f3c55c,#db6c5a);transition:width .16s linear;border-radius:8px}.quiet-reward{display:flex;justify-content:center;align-items:baseline;gap:12px;color:#f4cc73}.quiet-reward strong{font:52px/1 Georgia,serif}.quiet-reward small{font-size:11px;color:#b8cdc0}.quiet-volume{max-width:390px;margin:24px auto 16px;display:flex;align-items:center;gap:10px;font-size:11px;color:#b5c9c5}.quiet-volume .quiet-track{overflow:visible}.quiet-volume .quiet-track b{position:absolute;top:-5px;height:18px;border-left:2px solid #ffedae}.quiet-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:20px 0 10px}.quiet-controls .cm-button{background:#f7f1dc;color:#1b463d;border-color:#c4d3c0}.quiet-controls .cm-primary{background:#ead08a;color:#193c34;border-color:#ead08a}.quiet-message{text-align:center;min-height:42px;color:#d7e0c9;font-size:12px;line-height:1.7;max-width:440px;margin:12px auto 0}.is-awake.dragon-scene{background:radial-gradient(ellipse at 50% 55%,#225364,#29233c 55%,#291f2b)}.is-awake .dragon-whisper,.is-awake .quiet-reward{color:#f0ad8e}.quiet-settings{background:var(--cm-surface,#fffdf5);border:1px solid var(--cm-border,#ced7c9);border-radius:23px;padding:22px;align-self:start}.quiet-settings h3{font-size:21px;margin:0 0 12px}.quiet-settings p{font-size:13px;line-height:1.8}.quiet-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.quiet-fields label{display:grid;font-size:12px;align-items:start}.quiet-fields input{width:100%;box-sizing:border-box}.quiet-settings>label{display:grid;font-size:13px;margin:18px 0}.quiet-settings input[type=range]{width:100%;accent-color:#407d68}.quiet-participants{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:260px;overflow:auto;margin-top:15px}.quiet-participants label{font-size:11px}.quiet-settings details{margin-top:20px}.quiet-settings summary{cursor:pointer;font-size:14px;font-weight:700}.quiet-challenge.is-projecting{background:#101f2d;color:#fff6da}.quiet-challenge.is-projecting .quiet-layout{display:block;max-width:1400px;margin:auto}.quiet-challenge.is-projecting .dragon-scene{min-height:calc(100dvh - 140px)}.quiet-challenge.is-projecting .dragon-canvas{height:45dvh}.quiet-challenge.is-projecting .tool-heading p{color:#b7ccc0}.module-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-settings-grid label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--cm-border);border-radius:10px;font-size:14px}.module-settings-grid input{width:17px;height:17px;accent-color:#3b7f68}.cm-nav-list .cm-nav-link[hidden]{display:none!important}
@media(max-width:1000px){.seating-workspace{grid-template-columns:minmax(0,1fr)}.seating-options{max-width:none}.quiet-layout{grid-template-columns:minmax(0,1fr)}.quiet-settings{max-width:none}.quiet-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.quiet-participants{grid-template-columns:repeat(4,minmax(0,1fr))}.quiet-settings>label{max-width:450px}.tool-heading{flex-wrap:wrap}}
@media(max-width:600px){.tool-heading h2{font-size:28px}.tool-heading p{font-size:13px}.tool-heading{gap:12px}.seating-canvas{padding:12px}.seating-toolbar{gap:7px}.seating-toolbar .cm-button{font-size:12px;padding:9px}.quiet-fields{grid-template-columns:1fr 1fr}.quiet-participants{grid-template-columns:1fr 1fr}.dragon-scene{min-height:640px;padding:16px;border-radius:20px}.dragon-canvas{height:290px}.quiet-clock{font-size:62px}.quiet-reward{gap:7px;flex-wrap:wrap}.quiet-reward small{font-size:10px}.fc-seating.is-projecting,.quiet-challenge.is-projecting{padding:12px}.module-settings-grid{grid-template-columns:1fr}.quiet-topline{font-size:10px}}

.classroom-tool .tool-actions .cm-button{white-space:nowrap;flex-shrink:0}.classroom-tool .tool-heading>.tool-actions{flex-shrink:0}

/* Functional safeguards for complete dragon art and projection. */
.dragon-art{position:relative}
.dragon-art-state{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:inherit;font-size:13px}
.module-settings-grid input[type=checkbox]{appearance:auto!important;flex:0 0 17px!important;width:17px!important;height:17px!important;min-height:17px!important;max-width:17px!important;padding:0!important;margin:0!important}
body:has(.classroom-tool.is-projecting) .cm-main{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;animation:none!important}
body:has(.classroom-tool.is-projecting) :is(.teacher-quick-dock,.feature-help-launcher),body:has(.homework-live-backdrop) :is(.teacher-quick-dock,.feature-help-launcher){visibility:hidden;pointer-events:none}

/* Keep the classroom palette; give arranging and reviewing separate space. */
.fc-seating .seating-summary{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;margin:0 0 16px;padding:13px 16px;background:var(--cm-surface,#fffdf7);border:1px solid var(--cm-border,#cad5cb);border-radius:13px;font-size:13px}
.fc-seating .seating-summary strong{font-size:21px}.fc-seating .needs-attention{color:#986513;font-weight:700}.fc-seating .seating-save-state{margin-left:auto;color:#477662}.fc-seating .seating-save-state.is-dirty{color:#946510}
.fc-seating .seating-toolbar{justify-content:space-between;gap:12px}.fc-seating .seating-history{gap:6px}.fc-seating .seating-selection{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;margin-bottom:14px;border:1px solid #d6b761;background:#fff5d6;border-radius:12px;font-size:13px}.fc-seating .seating-selection span{display:block;font-size:12px;margin-top:3px}
.fc-seating .seating-workspace{grid-template-columns:minmax(0,1fr) 225px;gap:16px}.fc-seating .seating-options{padding:16px}.fc-seating .seating-start{padding:16px;text-align:center;margin-top:16px;border:1px dashed var(--cm-border,#b9ccc0);border-radius:12px}.fc-seating .seating-start p{margin:7px 0 0;font-size:12px;line-height:1.7}
.fc-seating .seating-search{display:block}.fc-seating .seating-search input{width:100%;min-width:0;box-sizing:border-box;padding:10px 11px;border:1px solid var(--cm-border,#b9ccc0);border-radius:9px;background:var(--cm-surface,#fffefa);color:inherit;font:inherit;font-size:13px}.fc-seating .seating-search>.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.fc-seating .seating-roster{gap:7px;max-height:275px;margin:12px 0}.fc-seating .seating-person{min-height:40px}.fc-seating .seating-person strong{font-size:14px;min-width:19px;text-align:center}.fc-seating .seating-layout-options{border-top:1px solid var(--cm-border,#ced9cd);padding-top:16px;margin-top:17px}.fc-seating .seating-layout-options h4{margin:0 0 12px;font-size:14px}.fc-seating .seating-layout-options>label{justify-content:space-between}.fc-seating .seating-layout-options select{max-width:125px}.fc-seating .seating-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 16px}.fc-seating .seating-dimensions label{display:grid;gap:6px}.fc-seating .seating-dimensions input{width:100%;box-sizing:border-box}.fc-seating .seating-layout-options details{font-size:12px}.fc-seating .seating-layout-options summary{cursor:pointer;font-weight:700;margin-bottom:12px}.fc-seating .seating-aisles{gap:5px}.fc-seating .seating-legend{margin-bottom:0}.fc-seating .seat-pin{width:28px;height:28px}.fc-seating.is-projecting .seating-workspace{display:block}
.quiet-participants{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px}.quiet-participants label{min-height:38px;padding:5px 6px;border:1px solid var(--cm-border,#ced7c9);border-radius:8px;justify-content:center;font-size:12px;white-space:nowrap}.quiet-participants label:has(input:checked){background:var(--cm-surface-strong,#edf4e8)}.quiet-participants input[type=checkbox]{flex:0 0 17px}
@media(max-width:1000px){.fc-seating .seating-workspace{grid-template-columns:minmax(0,1fr)}.fc-seating .seating-options{display:block}.fc-seating .seating-roster{max-height:180px}.fc-seating .seating-layout-options{max-width:540px}}
@media(max-width:600px){.fc-seating .seating-summary{gap:8px 14px;font-size:12px}.fc-seating .seating-save-state{margin-left:0}.fc-seating .seating-selection{align-items:flex-start}.fc-seating .seating-selection .cm-button{flex-shrink:0}.fc-seating .seating-view-controls{gap:8px}.fc-seating .seating-view-controls .cm-button{font-size:12px;padding:8px}.fc-seating .seating-toolbar>.tool-actions{width:100%}.fc-seating .seating-toolbar .cm-primary{flex:1}.fc-seating .tool-heading>.tool-actions{flex-wrap:wrap;max-width:100%}}

.fc-seating .seating-cell,.fc-seating .seating-seat{min-height:88px}.fc-seating .seating-seat{padding:8px 7px}.fc-seating .seating-grid{gap:9px;margin:15px 0}.fc-seating .seating-seat strong{font-size:26px}.fc-seating.is-projecting .seating-cell,.fc-seating.is-projecting .seating-seat{min-height:104px}
