.status-economy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.status-economy>div{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:4px;padding:7px;background:#152c36;border:1px solid #4c6b76;border-radius:7px}.status-economy>div>span{display:none}.status-economy small{font-size:10px;white-space:nowrap;color:#bed2d8}.status-economy b{font-size:19px;font-variant-numeric:tabular-nums;color:#f3f8f9}.status-section-title{font-size:10px;margin:5px 0;color:#b5d1d9;font-weight:600}.status-problems{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.problem-level{--severity:#68c39b;border:1px solid var(--severity);border-left:3px solid var(--severity);border-radius:5px;background:#142b34;padding:6px;min-width:0}.problem-level[data-level=orange]{--severity:#f3af55}.problem-level[data-level=red]{--severity:#ef7777;background:#422b32}.problem-level span,.problem-level b{display:block}.problem-level span{font-size:10px;color:#d7e5e9}.problem-level b{color:var(--severity);font-size:11px;margin-top:3px}.problem-level small{display:none;color:#b6cad2;font-size:9px;line-height:1.3;margin-top:4px}.group-status,.sim-group-status{min-width:0;min-height:0;overflow:hidden}.city-open{width:100%;background:#315d6a!important;color:#eff9fa!important;border:1px solid #84b6c1!important;border-radius:7px!important;padding:5px 9px!important;min-height:36px!important;cursor:pointer;font-size:12px}.status-legend{font-size:10px;color:#abc2cc}.teacher-body[data-room-status=waiting] .group-status,.teacher-body[data-room-status=waiting] .city-open{display:none}.sim-teacher-card{cursor:default}.sim-teacher-card>header{font-size:13px;font-weight:700}.sim-teacher-card .sim-group-status{flex:1}.sim-teacher-card .city-open{flex:none}.sim-teacher-card p{height:16px;min-height:0;max-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
/* Active classroom status fits the viewport: roster editing remains in the waiting room. */
.teacher-body.dashboard-active:not([data-room-status=waiting]){height:100dvh;overflow:hidden}.teacher-body.dashboard-active:not([data-room-status=waiting]) .teacher-shell{height:calc(100dvh - 68px);display:flex;flex-direction:column;min-height:0;padding:10px 14px}.teacher-body:not([data-room-status=waiting]) .teacher-workspace{grid-template-columns:190px minmax(0,1fr);min-height:0;flex:1}.teacher-body:not([data-room-status=waiting]) .group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:unset;gap:8px;min-height:0;overflow:hidden;flex:1}.teacher-body:not([data-room-status=waiting]) .group-card{min-height:0;overflow:hidden!important;padding:7px;gap:3px}.teacher-body:not([data-room-status=waiting]) .group-card .members,.teacher-body:not([data-room-status=waiting]) .group-card footer,.teacher-body:not([data-room-status=waiting]) .group-card .learning-notes{display:none}.teacher-body:not([data-room-status=waiting]) .group-status{flex:1}.teacher-body:not([data-room-status=waiting]) .data-note,.teacher-body:not([data-room-status=waiting]) .ai-role-note{margin:3px 0;font-size:9px}.teacher-body:not([data-room-status=waiting]) .join-panel{overflow:hidden}.teacher-body:not([data-room-status=waiting]) .group-card .city-open{flex:none}.teacher-body:not([data-room-status=waiting]) .status-economy b{font-size:17px}
@media(max-height:800px),(max-width:1100px){.status-economy>div{padding:5px;gap:3px}.status-economy b{font-size:16px}.status-economy small{font-size:9px}.problem-level{padding:4px}.problem-level span{font-size:9px}.problem-level b{font-size:10px;margin-top:2px}.status-section-title{font-size:9px;margin:3px 0}.sim-teacher-card .sim-group-status{flex:1}.teacher-body:not([data-room-status=waiting]) .teacher-heading h1{font-size:17px}.teacher-body:not([data-room-status=waiting]) #teacherHint{padding:4px 8px;font-size:10px}.teacher-body:not([data-room-status=waiting]) .teacher-heading{min-height:32px}.teacher-body:not([data-room-status=waiting]) .join-panel{padding:7px}.teacher-body:not([data-room-status=waiting]) .room-code{font-size:24px}.teacher-body:not([data-room-status=waiting]) .status-economy{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-body:not([data-room-status=waiting]) .status-economy>div{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:4px}.teacher-body:not([data-room-status=waiting]) .status-economy b{font-size:14px}.teacher-body:not([data-room-status=waiting]) .status-problems{grid-template-columns:1fr;gap:3px}.teacher-body:not([data-room-status=waiting]) .problem-level{display:flex;align-items:center;justify-content:space-between;padding:3px 5px}.teacher-body:not([data-room-status=waiting]) .problem-level b{margin:0}}
@media(max-width:800px){.teacher-body.dashboard-active:not([data-room-status=waiting]) .teacher-shell{height:calc(100dvh - 60px);padding:5px}.teacher-body:not([data-room-status=waiting]) .teacher-workspace{display:flex;flex-direction:column;gap:4px}.teacher-body:not([data-room-status=waiting]) .join-panel{position:static;display:flex;align-items:center;gap:7px;padding:4px 7px;flex:none;min-height:36px}.teacher-body:not([data-room-status=waiting]) .join-panel .qr,.teacher-body:not([data-room-status=waiting]) .join-panel p,.teacher-body:not([data-room-status=waiting]) .join-panel .small,.teacher-body:not([data-room-status=waiting]) #copyJoin{display:none}.teacher-body:not([data-room-status=waiting]) .room-code{font-size:18px;margin:0}.teacher-body:not([data-room-status=waiting]) .teacher-controls{flex-direction:row;margin:0;gap:4px}.teacher-body:not([data-room-status=waiting]) .teacher-controls button{min-height:30px;font-size:10px;padding:4px 7px}.teacher-body:not([data-room-status=waiting]) .group-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-rows:unset;flex:1}.teacher-body:not([data-room-status=waiting]) .group-card{padding:4px;gap:2px}.teacher-body:not([data-room-status=waiting]) .group-card h2{font-size:12px}.teacher-body:not([data-room-status=waiting]) .status-economy b{font-size:12px}.teacher-body:not([data-room-status=waiting]) .status-economy>div{padding:2px 4px;gap:2px}.teacher-body:not([data-room-status=waiting]) .status-section-title{display:none}.teacher-body:not([data-room-status=waiting]) .data-note,.teacher-body:not([data-room-status=waiting]) .ai-role-note{display:none}.city-open{min-height:30px!important;font-size:10px}.teacher-body:not([data-room-status=waiting]) .problem-level{padding:2px 4px}.teacher-body:not([data-room-status=waiting]) .problem-level b{font-size:9px}.teacher-body:not([data-room-status=waiting]) .teacher-heading{min-height:26px}.teacher-body:not([data-room-status=waiting]) .teacher-heading h1{font-size:14px}.sim-teacher-card .status-economy{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-teacher-card .status-economy>div{padding:3px;gap:2px}.sim-teacher-card .status-economy b{font-size:13px}.sim-teacher-card .status-section-title{display:none}.sim-teacher-card .status-problems{grid-template-columns:1fr;gap:2px;margin-top:4px}.sim-teacher-card .problem-level{display:flex;align-items:center;justify-content:space-between;padding:2px 4px}.sim-teacher-card .problem-level b{margin:0;font-size:9px}.sim-teacher-card .problem-level span{font-size:9px}}
@media(max-height:650px) and (orientation:landscape){.teacher-body:not([data-room-status=waiting]) .group-grid,body[data-sim-screen=teacher] .sim-teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.teacher-body:not([data-room-status=waiting]) .status-economy,.sim-teacher-card .status-economy{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-body:not([data-room-status=waiting]) .status-economy>div,.sim-teacher-card .status-economy>div{flex-direction:column;padding:2px;gap:1px}.teacher-body:not([data-room-status=waiting]) .status-economy b,.sim-teacher-card .status-economy b{font-size:11px}.teacher-body:not([data-room-status=waiting]) .status-economy small,.sim-teacher-card .status-economy small{font-size:8px}.teacher-body:not([data-room-status=waiting]) .status-problems,.sim-teacher-card .status-problems{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-body:not([data-room-status=waiting]) .problem-level,.sim-teacher-card .problem-level{display:block;padding:2px}.teacher-body:not([data-room-status=waiting]) .problem-level span,.sim-teacher-card .problem-level span{font-size:8px}.teacher-body:not([data-room-status=waiting]) .status-section-title,.sim-teacher-card .status-section-title{display:none}.teacher-body:not([data-room-status=waiting]) .city-open,.sim-teacher-card .city-open{min-height:25px!important;font-size:9px}.teacher-body:not([data-room-status=waiting]) .group-card h2{font-size:11px}}

.waiting-box .waiting-student-name{color:#fff4cb;font-size:clamp(30px,7vw,50px);font-weight:800;line-height:1.15;overflow-wrap:anywhere;margin:.3em 0}

body[data-teacher-view] #buildTools{display:none}

.start-guide{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;padding:clamp(16px,4vw,30px);color:#f0f6f1;background:#20343d;border:1px solid #799c9f;border-radius:16px;box-shadow:0 24px 80px #0009}
.start-guide::backdrop{background:#0d1c26cc}
.start-guide h2{margin:.45em 0;font-size:clamp(22px,4vw,32px);line-height:1.32}
.start-guide p{line-height:1.65}
.start-guide-count{color:#abdfd3;font-size:14px;font-weight:700;margin:0}
.start-guide-copy{font-size:17px}
.start-guide-prompt{padding:12px 14px;background:#2c4850;border-radius:9px;color:#ffe1a4;font-weight:700}
.start-guide-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.start-guide-actions button{min-height:46px;min-width:90px}
body[data-teacher-view] #replayStartGuide{display:none}
