:root{color:#102033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7fbff;font-family:Pretendard,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}#root{min-height:100vh}:root{--bg:#f7fbff;--surface:#fff;--ink:#102033;--muted:#64748b;--line:#dbe7f3;--blue:#2563eb;--mint:#12b981;--violet:#7c3aed;--amber:#f59e0b;--red:#ef4444;--shadow:0 18px 48px #1e40af1a}.page{width:min(1180px,100% - 40px);margin:0 auto;padding:28px 0 44px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:34px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brandMark{color:#fff;background:linear-gradient(135deg,#2563eb,#12b981);border-radius:14px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 14px 30px #2563eb38}.brandName{flex-direction:column;gap:1px;min-width:0;display:flex}.brandName strong{font-size:20px;font-weight:900}.brandName span{color:var(--muted);font-size:13px;font-weight:700}.topActions{align-items:center;gap:10px;display:flex}.iconBtn,.textBtn,.primaryBtn,.secondaryBtn{cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.iconBtn{color:#334155;background:#ffffffc7;border:1px solid #dbe7f3e6;border-radius:12px;width:42px;height:42px}.textBtn{color:#334155;background:#ffffffc7;border:1px solid #dbe7f3e6;border-radius:12px;height:42px;padding:0 16px;font-weight:800}.textBtn:disabled{cursor:wait;opacity:.72}.userMenu{background:#ffffffd1;border:1px solid #dbe7f3f2;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 6px 6px 8px;display:grid}.userMenu img,.userMenu>span{border-radius:50%;width:34px;height:34px}.userMenu img{object-fit:cover}.userMenu>span{color:#fff;background:var(--blue);place-items:center;font-size:14px;font-weight:900;display:grid}.userMenu div{gap:1px;min-width:0;display:grid}.userMenu strong,.userMenu small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.userMenu strong{color:var(--ink);font-size:13px;font-weight:900}.userMenu small{color:var(--muted);font-size:11px;font-weight:700}.ghostBtn{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:11px;height:34px;padding:0 11px;font-size:12px;font-weight:900}.authError{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;margin:-18px 0 22px;padding:12px 14px;font-size:14px;font-weight:800}.rolePanel{background:#ffffffe6;border:1px solid #dbe7f3f5;border-radius:8px;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);align-items:center;gap:18px;margin:-12px 0 24px;padding:20px;display:grid;box-shadow:0 14px 36px #1e40af14}.roleCopy span{color:#0f766e;margin-bottom:8px;font-size:12px;font-weight:900;display:inline-flex}.roleCopy h2{color:var(--ink);margin:0 0 8px;font-size:24px;font-weight:900;line-height:1.2}.roleCopy p{color:var(--muted);margin:0;font-size:14px;font-weight:700;line-height:1.55}.roleActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.roleCard{text-align:left;cursor:pointer;border:1px solid var(--line);min-height:128px;color:var(--ink);background:#f8fbff;border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:18px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.roleCard:hover{transform:translateY(-1px);box-shadow:0 14px 28px #1e40af14}.roleCard:disabled{cursor:wait;opacity:.7}.roleCard.teacher{border-color:#2563eb47}.roleCard.student{border-color:#12b98152}.roleCard svg{color:var(--blue)}.roleCard.student svg{color:var(--mint)}.roleCard strong{font-size:16px;font-weight:900}.roleCard span{color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.roleSaving{color:var(--muted);grid-column:1/-1;align-items:center;gap:7px;font-size:13px;font-weight:900;display:inline-flex}.roleSaving svg{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.primaryBtn{color:#fff;background:var(--blue);border-radius:16px;min-height:54px;padding:0 22px;font-size:16px;font-weight:900;box-shadow:0 16px 30px #2563eb47}.primaryBtn:disabled,.joinBox button:disabled{cursor:wait;opacity:.78}.spinIcon{animation:.8s linear infinite spin}.secondaryBtn{color:#0f766e;background:#e6fffb;border:1px solid #b8efe7;border-radius:16px;min-height:54px;padding:0 20px;font-size:16px;font-weight:900}.iconBtn:hover,.textBtn:hover,.primaryBtn:hover,.secondaryBtn:hover{transform:translateY(-1px)}.shell{grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr);align-items:stretch;gap:24px;display:grid}.hero{grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;display:grid}.heroPanel{min-height:424px;box-shadow:var(--shadow);background:#ffffffdb;border:1px solid #dbe7f3eb;border-radius:8px;padding:34px;position:relative;overflow:hidden}.heroPanel:after{content:"";opacity:.8;background:conic-gradient(from 190deg,#2563eb24,#12b98129,#7c3aed1f,#2563eb24);border-radius:50%;width:320px;height:320px;position:absolute;bottom:-120px;right:-90px}.eyebrow{color:#0f766e;background:#dcfce7;border-radius:999px;align-items:center;gap:8px;height:34px;margin-bottom:18px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}h1{letter-spacing:0;max-width:650px;margin:0;font-size:clamp(38px,5vw,68px);font-weight:900;line-height:1.02}.heroCopy{color:#475569;max-width:620px;margin:20px 0 28px;font-size:18px;font-weight:600;line-height:1.72}.heroActions{z-index:2;flex-wrap:wrap;gap:12px;display:flex;position:relative}.joinBox{z-index:2;grid-template-columns:1fr auto;gap:10px;max-width:462px;margin-top:20px;display:grid;position:relative}.joinBox input{border:1px solid var(--line);width:100%;min-height:50px;color:var(--ink);background:#f8fbff;border-radius:14px;outline:none;padding:0 15px;font-weight:800}.joinBox button{color:#fff;cursor:pointer;background:#102033;border:0;border-radius:14px;min-height:50px;padding:0 18px;font-weight:900}.activeRoomPanel{background:#ffffffe6;border:1px solid #dbe7f3f5;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(220px,auto);align-items:center;gap:14px;margin-top:24px;padding:18px;display:grid;box-shadow:0 14px 36px #1e40af14}.activeRoomMain{align-items:center;gap:14px;min-width:0;display:flex}.activeRoomIcon{color:#fff;background:linear-gradient(135deg, var(--blue), var(--mint));border-radius:15px;flex:none;place-items:center;width:48px;height:48px;display:grid}.activeRoomLabel{color:#0f766e;margin-bottom:4px;font-size:12px;font-weight:900;display:inline-flex}.activeRoomMain h2{color:var(--ink);margin:0 0 5px;font-size:19px;font-weight:900}.activeRoomMain p{color:var(--muted);margin:0;font-size:13px;font-weight:700;line-height:1.45}.roomCodeBox{border:1px solid var(--line);background:#f8fbff;border-radius:8px;min-width:178px;padding:12px}.roomCodeBox span{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.roomCodeBox strong{color:var(--ink);letter-spacing:0;margin:5px 0 10px;font-size:28px;font-weight:900;line-height:1;display:block}.roomCodeBox button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;height:34px;font-size:13px;font-weight:900;display:inline-flex}.roomNextBox{color:#0f766e;background:#e6fffb;border:1px solid #b8efe7;border-radius:8px;align-items:center;gap:10px;min-height:78px;padding:14px;font-size:13px;font-weight:900;line-height:1.45;display:flex}.roomControlBox,.roomEndedBox{border:1px solid var(--line);border-radius:8px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.roomControlBox{background:#fff7ed}.roomControlBox button,.roomEndedBox button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-weight:900;display:inline-flex}.roomControlBox button{color:#fff;background:#ea580c}.roomControlBox button:disabled{cursor:wait;opacity:.74}.roomControlBox span{color:#9a3412;font-size:13px;font-weight:900;line-height:1.45}.roomEndedBox{background:#e9fbf2}.roomEndedBox strong{color:#0f766e;font-size:15px;font-weight:900}.roomEndedBox button{color:#fff;background:var(--mint)}.avatarBoard{border:1px solid var(--line);background:#f8fbff;border-radius:8px;grid-column:1/-1;padding:18px}.avatarBoardHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.avatarBoardHeader span{color:#0f766e;margin-bottom:4px;font-size:12px;font-weight:900;display:inline-flex}.avatarBoardHeader h3{color:var(--ink);margin:0;font-size:19px;font-weight:900}.cameraAvatarBtn{color:#0f766e;cursor:pointer;background:#dcfce7;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:13px;font-weight:900;display:inline-flex}.cameraAvatarBtn.on{color:#b91c1c;background:#fee2e2}.cameraNote{color:var(--muted);margin:0 0 14px;font-size:13px;font-weight:700;line-height:1.45}.avatarCameraVideo{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.avatarGrid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.avatarCard{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:178px;padding:14px;display:flex;position:relative;overflow:hidden}.avatarCard.isSelf{border-color:#2563eb57;box-shadow:inset 0 0 0 2px #2563eb0f}.avatarCard:before{content:"";pointer-events:none;background:linear-gradient(#ffffff1a,#ffffffdb);position:absolute;inset:0}.avatarCard.state-focused{background:#eaf5ff}.avatarCard.state-solving{background:#fff7ed}.avatarCard.state-question{background:#f3e8ff}.avatarCard.state-idle{background:#f1f5f9}.avatarCard.state-away{opacity:.7;background:#eef2f7}.avatarCard.state-submitted,.avatarCard.state-correct{background:#e9fbf2}.avatarCard.state-wrong{background:#fff1f2}.avatarCard.state-teacher{background:#eef2ff}.pixelAvatar{--hair:#293449;--skin:#ffd9b5;--shirt:#2563eb;width:88px;height:104px;image-rendering:pixelated;z-index:1;position:relative;transform:translateZ(0)}.state-solving .pixelAvatar{transform:translateY(4px)rotate(2deg)}.state-idle .pixelAvatar{transform:translateY(5px)}.state-question .pixelAvatar .hand{transform:translate(32px,-18px)rotate(-18deg)}.avatarMark{color:#0f172a;z-index:6;place-items:center;min-width:24px;height:24px;font-size:16px;font-weight:900;display:grid;position:absolute;top:-6px;right:-4px}.hair{background:var(--hair);width:44px;height:26px;box-shadow:-8px 8px 0 var(--hair), 8px 8px 0 var(--hair);z-index:3;border-radius:8px 8px 4px 4px;position:absolute;top:12px;left:22px}.hair-1{--hair:#5b3b2e}.hair-2{--hair:#111827}.hair-3{--hair:#7c2d12}.hair-4{--hair:#6d28d9}.head{background:var(--skin);z-index:2;border:4px solid #fff;border-radius:14px;width:52px;height:52px;position:absolute;top:24px;left:18px;box-shadow:0 10px #0f172a14}.eye{background:#102033;border-radius:2px;width:7px;height:9px;position:absolute;top:19px}.eye.left{left:13px}.eye.right{right:13px}.eyes-happy .eye{border-radius:999px;height:4px;top:21px}.eyes-sleep .eye{border-radius:999px;width:10px;height:3px;top:22px}.eyes-down .eye{height:5px;top:25px}.nose{background:#0f172a47;border-radius:50%;width:4px;height:4px;position:absolute;top:27px;left:24px}.mouth{background:#102033;border-radius:999px;width:14px;height:4px;position:absolute;top:38px;left:19px}.mouth-smile .mouth{border-radius:0 0 999px 999px;height:7px}.mouth-o .mouth{border-radius:50%;width:9px;height:10px;top:36px;left:22px}.mouth-talk .mouth{border-radius:999px;width:17px;height:9px;top:36px;left:18px}.mouth-flat .mouth{height:3px}.body{background:var(--shirt);z-index:1;border:4px solid #fff;border-radius:10px 10px 6px 6px;width:40px;height:25px;position:absolute;top:75px;left:24px}.state-teacher .pixelAvatar{--shirt:#7c3aed}.state-solving .pixelAvatar{--shirt:#f59e0b}.state-question .pixelAvatar{--shirt:#8b5cf6}.state-submitted .pixelAvatar,.state-correct .pixelAvatar{--shirt:#12b981}.state-wrong .pixelAvatar{--shirt:#ef4444}.state-idle .pixelAvatar,.state-away .pixelAvatar{--shirt:#94a3b8}.hand{background:var(--skin);z-index:0;border:3px solid #fff;border-radius:999px;width:12px;height:24px;transition:transform .18s;position:absolute;top:78px;left:24px}.avatarInfo{z-index:1;text-align:center;gap:4px;display:grid}.avatarInfo strong{color:var(--ink);font-size:14px;font-weight:900}.avatarInfo span{color:var(--muted);font-size:12px;font-weight:900}.avatarLegend{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.avatarLegend span{color:#475569;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:900;display:inline-flex}.legendDot{border-radius:50%;width:8px;height:8px}.legendDot.state-focused{background:var(--blue)}.legendDot.state-solving{background:var(--amber)}.legendDot.state-question{background:var(--violet)}.legendDot.state-idle,.legendDot.state-away{background:#94a3b8}.legendDot.state-submitted,.legendDot.state-correct{background:var(--mint)}.legendDot.state-wrong{background:var(--red)}.liveQuizBoard{border:1px solid var(--line);background:#fff;border-radius:8px;grid-column:1/-1;padding:18px}.liveQuizHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.liveQuizHeader span,.liveQuestion span,.quizComposer label>span{color:#0f766e;font-size:12px;font-weight:900;display:inline-flex}.liveQuizHeader h3{color:var(--ink);margin:4px 0 0;font-size:19px;font-weight:900}.liveQuizHeader strong{color:var(--blue);background:#eff6ff;border-radius:999px;flex:none;padding:8px 10px;font-size:13px;font-weight:900}.quizComposer{border:1px solid var(--line);background:#f8fbff;border-radius:8px;gap:12px;margin-bottom:16px;padding:14px;display:grid}.quizComposer label{gap:7px;display:grid}.quizComposer textarea,.quizComposer input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;outline:none;font-weight:800}.quizComposer textarea{resize:vertical;min-height:78px;padding:12px;line-height:1.5}.quizComposer input{height:42px;padding:0 11px}.quizOptionEditor{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quizComposerFooter{justify-content:space-between;align-items:center;gap:12px;display:flex}.correctPicker{flex-wrap:wrap;gap:7px;display:flex}.correctPicker button,.sendQuizBtn{cursor:pointer;border:0;border-radius:10px;font-weight:900}.correctPicker button{color:#475569;background:#e2e8f0;height:34px;padding:0 10px}.correctPicker button.active{color:#0f766e;background:#dcfce7}.sendQuizBtn{color:#fff;background:var(--blue);justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;display:inline-flex}.sendQuizBtn:disabled,.studentOptions button:disabled{cursor:wait;opacity:.74}.liveQuizContent{gap:14px;display:grid}.liveQuestion{border:1px solid var(--line);background:#f8fbff;border-radius:8px;padding:14px}.liveQuestion p{color:var(--ink);margin:6px 0 0;font-size:17px;font-weight:900;line-height:1.55}.studentOptions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.studentOptions button{min-height:64px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #cfe0f5;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;font-weight:900;display:grid}.studentOptions b{color:#fff;background:var(--blue);border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.studentOptions span{overflow-wrap:anywhere;min-width:0}.answerResult{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 10px;padding:14px;display:grid}.answerResult.correct{color:#0f766e;background:#e9fbf2}.answerResult.wrong{color:#b91c1c;background:#fff1f2}.answerResult span{color:#475569;grid-column:2;font-size:13px;font-weight:800}.teacherResponseBoard{gap:14px;display:grid}.responseBars{gap:9px;display:grid}.responseRow{color:#334155;grid-template-columns:42px minmax(0,1fr) 46px;align-items:center;gap:8px;font-size:13px;font-weight:900;display:grid}.responseTrack{background:#e2e8f0;border-radius:999px;height:14px;overflow:hidden}.responseFill{border-radius:inherit;background:var(--blue);height:100%;display:block}.responseRow.correct .responseFill{background:var(--mint)}.responseSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.summaryCard{border:1px solid var(--line);background:#f8fbff;border-radius:8px;min-height:74px;padding:12px}.summaryCard span{color:var(--muted);font-size:12px;font-weight:900}.summaryCard strong{margin-top:4px;font-size:22px;font-weight:900;display:block}.summaryCard.correct strong{color:var(--mint)}.summaryCard.wrong strong{color:var(--red)}.summaryCard.missing strong{color:var(--amber)}.studentAnswerList{flex-wrap:wrap;gap:7px;display:flex}.studentAnswerList span{color:#475569;background:#f1f5f9;border-radius:999px;padding:7px 9px;font-size:12px;font-weight:900}.studentAnswerList span.correct{color:#0f766e;background:#dcfce7}.studentAnswerList span.wrong{color:#b91c1c;background:#fee2e2}.missingList,.quizEmptyState{color:var(--muted);margin:0;font-size:13px;font-weight:800;line-height:1.5}.quizEmptyState{background:#f8fbff;border:1px dashed #cfe0f5;border-radius:8px;padding:16px}.classChatPanel{border:1px solid var(--line);background:#f8fbff;border-radius:8px;grid-column:1/-1;padding:18px}.classChatHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.classChatHeader span{color:#0f766e;font-size:12px;font-weight:900;display:inline-flex}.classChatHeader h3{color:var(--ink);margin:4px 0 0;font-size:19px;font-weight:900}.classChatHeader svg{color:var(--blue)}.messageList{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:9px;height:260px;padding:12px;display:flex;overflow-y:auto}.messageBubble{background:#eef2ff;border:1px solid #dbe4ff;border-radius:8px;align-self:flex-start;max-width:min(78%,560px);padding:10px 12px}.messageBubble.mine{background:#e6fffb;border-color:#b8efe7;align-self:flex-end}.messageBubble.teacher{background:#eff6ff;border-color:#bfdbfe}.messageBubble.mine.teacher{background:#dbeafe}.messageBubble strong{color:#334155;margin-bottom:4px;font-size:12px;font-weight:900;display:block}.messageBubble p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:750;line-height:1.45}.messageEmpty{min-height:100%;color:var(--muted);place-items:center;font-size:13px;font-weight:900;display:grid}.quickChatActions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.quickChatActions button{color:#0f766e;cursor:pointer;background:#dcfce7;border:0;border-radius:999px;height:34px;padding:0 11px;font-size:12px;font-weight:900}.quickChatActions button:disabled{cursor:wait;opacity:.7}.chatComposer{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:10px;display:grid}.chatComposer input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:0 13px;font-weight:800}.chatComposer button{color:#fff;cursor:pointer;background:#102033;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-weight:900;display:inline-flex}.chatComposer button:disabled{cursor:not-allowed;opacity:.58}.lessonSummaryPanel{border:1px solid var(--line);background:#fff;border-radius:8px;grid-column:1/-1;padding:18px}.lessonSummaryHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.lessonSummaryHeader span{color:#0f766e;font-size:12px;font-weight:900;display:inline-flex}.lessonSummaryHeader h3{color:var(--ink);margin:4px 0 0;font-size:19px;font-weight:900}.lessonSummaryHeader>strong{color:var(--blue);background:#eff6ff;border-radius:999px;flex:none;padding:8px 10px;font-size:12px;font-weight:900}.lessonSummaryStats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.lessonSummaryStats div{border:1px solid var(--line);background:#f8fbff;border-radius:8px;min-height:78px;padding:12px}.lessonSummaryStats span{color:var(--muted);font-size:12px;font-weight:900}.lessonSummaryStats strong{color:var(--ink);margin-top:4px;font-size:22px;font-weight:900;display:block}.reviewReadyBox{color:#0f766e;background:#e6fffb;border:1px solid #b8efe7;border-radius:8px;align-items:flex-start;gap:12px;margin-top:12px;padding:14px;display:flex}.reviewReadyBox svg{flex:none}.reviewReadyBox strong,.reviewReadyBox span{display:block}.reviewReadyBox strong{margin-bottom:4px;font-size:14px;font-weight:900}.reviewReadyBox span{color:#475569;font-size:13px;font-weight:800;line-height:1.45}.flowStrip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.flowCard{background:#fffc;border:1px solid #dbe7f3eb;border-radius:8px;min-height:132px;padding:18px}.flowCard i,.lessonIcon{color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;margin-bottom:16px;display:grid}.tone-blue{background:var(--blue)}.tone-mint{background:var(--mint)}.tone-violet{background:var(--violet)}.flowCard strong{margin-bottom:6px;font-size:16px;font-weight:900;display:block}.flowCard span{color:var(--muted);font-size:13px;font-weight:700;line-height:1.5}.classroomPreview{min-width:0;box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #dbe7f3f5;border-radius:8px;overflow:hidden}.previewHeader{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.livePill{color:#0f766e;background:#dcfce7;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:900;display:inline-flex}.liveDot{background:var(--mint);border-radius:50%;width:8px;height:8px}.roomCode{color:var(--muted);font-size:12px;font-weight:900}.videoGrid{background:#f7fbff;grid-template-columns:1.35fr .65fr;gap:10px;padding:16px;display:grid}.teacherTile,.studentTiles>div{background:#dbeafe;border:1px solid #94a3b83d;border-radius:8px;position:relative;overflow:hidden}.teacherTile{background:linear-gradient(135deg,#2563eb24,#12b9812e),#e8f2ff;place-items:center;min-height:218px;display:grid}.teacherAvatar{width:92px;height:92px;color:var(--blue);background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 14px 32px #2563eb29}.tileLabel{color:#fff;background:#0f172ab8;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;bottom:10px;left:10px}.tileLabel.iconOnly{padding:7px}.studentTiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.studentTiles>div{color:#1e3a8a;background:#eef7ff;place-items:center;min-height:104px;font-weight:900;display:grid}.quizPanel{border:1px solid var(--line);background:#fff;border-radius:8px;margin:0 16px 16px;padding:18px}.quizTop{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.quizTop strong{font-size:15px;font-weight:900}.submitted{color:var(--blue);font-size:13px;font-weight:900}.question{color:#334155;margin:0 0 14px;font-size:14px;font-weight:800;line-height:1.55}.answerBars{gap:9px;display:grid}.barRow{color:#334155;grid-template-columns:38px 1fr 44px;align-items:center;gap:8px;font-size:13px;font-weight:900;display:grid}.barTrack{background:#e2e8f0;border-radius:999px;height:12px;overflow:hidden}.barFill{border-radius:inherit;background:var(--blue);height:100%;display:block}.barRow.correct .barFill{background:var(--mint)}.barRow.warn .barFill{background:var(--amber)}.studentStatus{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.statusCard{border:1px solid var(--line);background:#f8fbff;border-radius:8px;min-height:76px;padding:12px}.statusCard span{color:var(--muted);font-size:12px;font-weight:800}.statusCard strong{margin-top:5px;font-size:20px;font-weight:900;display:block}.statusCard.good strong{color:var(--mint)}.statusCard.bad strong{color:var(--red)}.statusCard.wait strong{color:var(--amber)}.bottomGrid{grid-template-columns:.9fr 1.1fr;gap:24px;margin-top:24px;display:grid}.panel{background:#ffffffdb;border:1px solid #dbe7f3f0;border-radius:8px;padding:22px}.panelTitle{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panelTitle h2{margin:0;font-size:18px;font-weight:900}.smallLink{color:var(--blue);font-size:13px;font-weight:900}.lessonList{gap:10px;display:grid}.lessonItem{border:1px solid var(--line);background:#f8fbff;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.lessonIcon{border-radius:12px;width:40px;height:40px;margin-bottom:0}.lessonMeta strong{margin-bottom:4px;font-size:14px;font-weight:900;display:block}.lessonMeta span,.lessonScore{color:var(--muted);font-size:12px;font-weight:800}.homeworkPreview{grid-template-columns:.8fr 1.2fr;align-items:center;gap:16px;display:grid}.aiCard{background:linear-gradient(135deg,#2563eb1f,#12b98124),#f8fbff;border:1px solid #cfe0f5;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:180px;padding:18px;display:flex}.aiCard i{width:42px;height:42px;color:var(--blue);background:#fff;border-radius:13px;place-items:center;display:grid;box-shadow:0 12px 24px #2563eb1f}.aiCard strong{font-size:17px;font-weight:900;line-height:1.35}.checkList{gap:12px;display:grid}.checkRow{color:#334155;align-items:flex-start;gap:10px;font-size:14px;font-weight:800;line-height:1.5;display:flex}.checkRow i{color:#0f766e;background:#dcfce7;border-radius:999px;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}body{background:radial-gradient(circle at 18% 8%, #2563eb1f, transparent 30%), radial-gradient(circle at 88% 12%, #14b8a624, transparent 28%), linear-gradient(180deg, #fbfdff 0%, var(--bg) 48%, #eef7ff 100%)}@media (width<=980px){.shell,.bottomGrid,.homeworkPreview,.activeRoomPanel{grid-template-columns:1fr}}@media (width<=720px){.page{width:min(100% - 24px,1180px);padding-top:18px}.topbar{align-items:flex-start}.topActions{flex-direction:column;align-items:flex-end}.topActions .iconBtn{display:none}.userMenu{grid-template-columns:auto minmax(0,1fr);max-width:184px}.userMenu .ghostBtn{grid-column:1/-1;width:100%}.heroPanel{min-height:auto;padding:24px}.rolePanel,.roleActions{grid-template-columns:1fr}h1{font-size:40px}.heroCopy{font-size:16px}.heroActions,.joinBox,.flowStrip,.videoGrid,.studentStatus,.avatarBoardHeader,.liveQuizHeader,.quizOptionEditor,.studentOptions,.responseSummary,.classChatHeader,.chatComposer,.lessonSummaryHeader,.lessonSummaryStats{grid-template-columns:1fr}.avatarBoardHeader,.liveQuizHeader,.quizComposerFooter,.classChatHeader,.lessonSummaryHeader{align-items:flex-start}.quizComposerFooter{flex-direction:column}.cameraAvatarBtn,.sendQuizBtn,.chatComposer button{width:100%}.messageBubble{max-width:94%}.roomControlBox,.roomEndedBox{flex-direction:column;align-items:stretch}.roomControlBox button,.roomEndedBox button,.primaryBtn,.secondaryBtn,.joinBox button{width:100%}.studentTiles{grid-template-columns:repeat(2,minmax(0,1fr))}.barRow{grid-template-columns:32px 1fr 38px}.lessonItem{grid-template-columns:auto 1fr}.lessonScore{grid-column:2}}
