:root{--bg:#f6f7f9;--surface:#fff;--surface-soft:#f9fafb;--surface-tint:#eef7f4;--ink:#111827;--muted:#667085;--muted-strong:#475467;--line:#e3e8ef;--line-strong:#ccd5df;--accent:#0f8f72;--accent-strong:#08745c;--accent-soft:#e5f6f1;--blue:#345fbb;--blue-soft:#e9efff;--coral:#b5472f;--coral-soft:#fff0eb;--gold:#946300;--gold-soft:#fff6d8;--danger:#b42318;--danger-soft:#fff0ef;--positive:#067647;--negative:#b42318;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 8px 22px #10182812;--shadow-md:0 18px 44px #1018281a;--radius:8px;--radius-lg:10px;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px;min-height:100%;overflow-x:hidden}body{background:linear-gradient(#fbfcfd 0%,#f6f7f9 44%,#eef2f5 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}#root{min-height:100vh}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:clamp(28px,3vw,44px);font-weight:760;line-height:1.05}h2{letter-spacing:0;font-size:clamp(18px,1.5vw,22px);font-weight:740;line-height:1.2}p{line-height:1.55}code{overflow-wrap:anywhere;border:1px solid var(--line);background:var(--surface-soft);max-width:100%;min-height:28px;color:var(--ink);border-radius:6px;align-items:center;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.35;display:inline-flex}.loading-screen,.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.loading-screen{color:var(--muted);text-align:center;gap:14px}.login-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(520px,100%);box-shadow:var(--shadow-sm);gap:22px;padding:clamp(22px,5vw,34px);display:grid}.login-title{align-items:center;gap:14px;min-width:0;display:flex}.login-title div:last-child{min-width:0}.login-title h1,.login-title p{overflow-wrap:anywhere}.login-title p{color:var(--muted);margin-top:6px}.brand-mark,.stat-icon{border-radius:var(--radius);background:var(--accent-soft);width:46px;height:46px;color:var(--accent-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.compact-banner{border-radius:var(--radius);background:var(--accent-soft);min-height:46px;color:var(--accent-strong);border:1px solid #0f8f7233;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.compact-banner span,.compact-banner strong{overflow-wrap:anywhere;min-width:0}.warning-banner{background:var(--gold-soft);color:var(--gold);border-color:#94630038}.login-tabs,.module-switcher,.tabs{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);gap:4px;min-width:0;max-width:100%;padding:4px;display:flex;overflow-x:auto}.login-tabs.single-tab{display:block}.login-tabs button,.module-switcher button,.tabs button{min-width:0;min-height:40px;color:var(--muted-strong);white-space:nowrap;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:720;line-height:1.2;display:inline-flex}.login-tabs button{flex:1 1 0}.login-tabs button.active,.module-switcher button.active,.tabs button.active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-xs)}.stack-form{gap:14px;width:100%;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}label{min-width:0;color:var(--muted-strong);gap:7px;font-size:13px;font-weight:720;line-height:1.25;display:grid}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;min-height:42px;color:var(--ink);outline:none;padding:9px 11px;line-height:1.35;display:block}textarea{resize:vertical;min-height:132px}input:focus,select:focus,textarea:focus,button:focus-visible,summary:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px #0f8f7224}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inline-error,.inline-success{overflow-wrap:anywhere;border-radius:var(--radius);padding:11px 12px;font-size:14px;font-weight:720;line-height:1.35}.inline-error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca}.inline-success{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #a9ded0}.demo-block{flex-wrap:wrap;align-items:center;gap:8px;padding-top:2px;display:flex}.demo-block span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.demo-block button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:34px;color:var(--muted-strong);padding:6px 10px;font-size:13px;font-weight:720}.app-shell{width:100%;min-height:100vh;margin:0;padding:clamp(18px,2vw,36px)}.app-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:clamp(18px,2vw,28px);display:grid}.app-layout.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-layout.sidebar-collapsed .app-sidebar{width:76px}.app-sidebar{z-index:10;border:1px solid var(--line);border-radius:var(--radius-lg);width:300px;min-width:0;max-height:calc(100vh - 36px);box-shadow:var(--shadow-xs);background:#fffffff0;flex-direction:column;gap:14px;padding:16px;display:flex;position:fixed;top:clamp(18px,2vw,36px);bottom:clamp(18px,2vw,36px);left:clamp(18px,2vw,36px);overflow-y:auto}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:40px;height:40px;color:var(--muted-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.user-area,.button-row,.row-actions,.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.app-brand{min-width:0;color:var(--ink);white-space:nowrap;align-items:center;font-size:17px;font-weight:820;display:inline-flex}.app-brand span{border-left:1px solid var(--line-strong);text-overflow:ellipsis;margin-left:12px;padding-left:12px;overflow:hidden}.app-sidebar .module-switcher,.sidebar-section-nav{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:6px;padding:0 0 14px;display:grid;overflow:visible}.app-sidebar .module-switcher button,.sidebar-section-nav button{border-radius:var(--radius);width:100%;min-height:44px;color:var(--muted-strong);text-align:left;white-space:nowrap;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:0;padding:9px 12px;font-size:15px;font-weight:740;display:inline-flex}.app-sidebar .module-switcher button.active,.sidebar-section-nav button.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:none;border-color:#0f8f7229}.app-sidebar .module-switcher button span,.sidebar-section-nav button span,.logout-button span{border-left:1px solid var(--line);text-overflow:ellipsis;min-width:0;margin-left:12px;padding-left:12px;overflow:hidden}.app-sidebar .module-switcher button.active span,.sidebar-section-nav button.active span{border-left-color:#0f8f7252}.app-brand svg,.app-sidebar .module-switcher button svg,.sidebar-section-nav button svg,.logout-button svg{flex:0 0 22px}.sidebar-collapsed .app-brand span,.sidebar-collapsed .module-switcher button span,.sidebar-collapsed .sidebar-section-nav button span,.sidebar-collapsed .user-area>div,.sidebar-collapsed .logout-button span,.sidebar-collapsed .app-brand{display:none}.sidebar-collapsed .app-brand,.sidebar-collapsed .sidebar-top,.sidebar-collapsed .module-switcher button,.sidebar-collapsed .sidebar-section-nav button,.sidebar-collapsed .logout-button{justify-content:center}.user-area{justify-content:stretch;gap:10px;padding-top:2px;display:grid}.user-area>div{text-align:left;gap:2px;min-width:0;display:grid}.user-area strong,.user-area span{overflow-wrap:anywhere;min-width:0}.user-area span{color:var(--muted);font-size:13px}.app-content{grid-column:2;gap:16px;min-width:0;display:grid}.page-header{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);justify-content:space-between;align-items:flex-start;gap:16px;padding:clamp(18px,3vw,24px);display:flex}.page-header>div{min-width:0}.page-header h1,.page-header p{overflow-wrap:anywhere}.page-header p{color:var(--muted);margin-top:8px}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:820;line-height:1.2;display:inline-flex}.status-badge,.place-badge{text-align:center;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:5px 10px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex}.tone-neutral{background:var(--surface-soft);color:var(--muted-strong)}.tone-success{background:var(--accent-soft);color:var(--accent-strong)}.tone-warning{background:var(--gold-soft);color:var(--gold)}.tone-danger{background:var(--danger-soft);color:var(--danger)}.tone-info,.place-badge{background:var(--blue-soft);color:var(--blue)}.stat-grid,.setup-grid,.lecture-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:6px 12px;min-width:0;min-height:92px;padding:14px;display:grid}.stat-card span{color:var(--muted);font-size:13px;font-weight:720;line-height:1.25}.stat-card strong{overflow-wrap:anywhere;grid-column:2;min-width:0;font-size:clamp(18px,1.6vw,23px);line-height:1.15}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);padding:clamp(16px,2vw,20px)}.hero-panel{gap:16px;display:grid}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;margin-bottom:14px;display:flex}.hero-panel .panel-heading,.poll-progress-panel .panel-heading,.student-poll-panel .panel-heading,.student-lecture-card .panel-heading{margin-bottom:0}.panel-heading>div{min-width:0}.panel-heading h2,.panel-heading p{overflow-wrap:anywhere}.panel-heading p,.muted{color:var(--muted)}.panel-heading p{margin-top:5px;font-size:14px}.stack-section{gap:16px;display:grid}.split-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;display:grid}.full-span{grid-column:1/-1}.tabs{justify-self:center;width:fit-content}.primary-action,.secondary-action,.danger-action,.ghost-action,.compact-action,.quantity-control button{border-radius:var(--radius);text-align:center;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:40px;padding:8px 13px;font-weight:760;line-height:1.25;text-decoration:none;display:inline-flex}.primary-action{background:var(--accent);color:#fff}.primary-action:hover:not(:disabled){background:var(--accent-strong)}.secondary-action{border-color:var(--line);background:var(--surface);color:var(--ink)}.danger-action{background:var(--danger);color:#fff}.ghost-action{border-color:var(--line);color:var(--muted-strong);background:0 0}.compact-action{min-width:82px;min-height:40px;padding:6px 10px;font-size:13px}.logout-button{white-space:nowrap;width:100%}.primary-row{justify-content:flex-start}.message-bar{z-index:20;border-radius:var(--radius);width:min(560px,100% - 36px);min-height:46px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-weight:720;display:flex;position:fixed;bottom:18px;right:18px}.message-bar.is-error{color:var(--danger);background:#fff7f6;border:1px solid #fecaca}.message-bar.is-notice{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #a9ded0}.message-bar button{width:30px;height:30px;color:inherit;background:#11182714;border:0;border-radius:7px;flex:none;font-size:20px;line-height:1}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-soft);min-width:0;color:var(--muted-strong);gap:7px;padding:18px;display:grid}.empty-state p{color:var(--muted);font-size:14px}.setup-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.setup-step{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;min-width:0;padding:14px;display:grid}.setup-step strong,.setup-step span{overflow-wrap:anywhere}.setup-step span{color:var(--muted);font-size:14px}.status-strip{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.status-strip>span:not(.status-badge){color:var(--muted-strong);font-weight:720}.action-panel{gap:12px;display:grid}.action-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:14px;display:grid}.schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.primary-command{gap:10px;display:grid}.control-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-width:0;max-height:clamp(360px,62vh,640px);overflow:auto}table{border-collapse:separate;border-spacing:0;background:var(--surface);width:100%;min-width:1040px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;min-width:0;padding:12px 13px}th{z-index:1;background:var(--surface-soft);color:var(--muted-strong);letter-spacing:0;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:820;line-height:1.2;position:sticky;top:0}td{overflow-wrap:anywhere}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfd}.subcell{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.35;display:block}.table-input{width:min(110px,100%);min-height:36px;padding:6px 8px}.muted-row{opacity:.56}code{max-width:100%}.row-actions{gap:8px}.quantity-control{grid-template-columns:34px minmax(70px,1fr) 34px;gap:6px;width:min(172px,100%);display:grid}.quantity-control button{border-color:var(--line);background:var(--surface-soft);min-height:36px;color:var(--ink);padding:0}.quantity-control input{text-align:center;min-height:36px;padding:6px 8px}.details-panel{gap:12px;display:grid}summary{cursor:pointer;color:var(--ink);font-weight:820;line-height:1.35}summary:focus-visible{outline:none}details[open]>summary{margin-bottom:14px}.details-panel h3{margin:0 0 10px;font-size:16px}.activity-list,.notice-list{gap:9px;max-height:clamp(320px,56vh,560px);margin:0;padding:0 2px 0 0;list-style:none;display:grid;overflow-y:auto}.activity-list li,.notice-list li{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;gap:12px;min-width:0;padding:11px;display:flex}.notice-list li{display:grid}.activity-list div,.notice-list div{gap:3px;min-width:0;display:grid}.activity-list strong,.notice-list strong,.activity-list span,.notice-list span,.notice-list p{overflow-wrap:anywhere;min-width:0}.activity-list span,.notice-list span,.notice-list p{color:var(--muted);font-size:13px;line-height:1.4}.positive{color:var(--positive);font-weight:820}.negative{color:var(--negative);font-weight:820}.module-loading{min-height:220px;color:var(--muted-strong);justify-content:center;align-items:center;gap:12px;font-weight:780;display:flex}.lecture-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lecture-cell{grid-template-columns:minmax(58px,auto) minmax(74px,1fr);align-items:center;gap:8px;display:grid}.lecture-cell span{color:var(--muted-strong);white-space:nowrap;font-size:13px;font-weight:760}.lecture-cell input{min-height:36px;padding:6px 8px}.lecture-cell-readonly{grid-template-columns:minmax(70px,auto) minmax(76px,1fr)}.lecture-cell-readonly strong{color:var(--ink);white-space:nowrap;font-size:13px}.current-grades-wrap,.grades-matrix-wrap{max-height:clamp(420px,68vh,720px)}.grades-matrix-wrap{--student-col:230px;--lecture-col:156px;--total-col:112px}.grades-matrix-wrap-scroll{width:min(100%, calc(var(--student-col) + (var(--lecture-col) * 7) + var(--total-col)))}.current-grades-table{min-width:820px}.grade-input{text-align:center;width:92px;min-height:38px;padding:7px 9px}.grade-missing-row{background:#fffdf5}.grade-cell{min-width:120px}.grade-cell-missing{background:var(--gold-soft)}.grades-matrix{table-layout:fixed;width:max-content;min-width:100%}.grades-matrix th,.grades-matrix td{height:72px}.grades-matrix thead th{z-index:3;position:sticky;top:0}.grades-matrix th:not(.sticky-grade-col):not(.grade-total-col),.grades-matrix td:not(.sticky-grade-col):not(.grade-total-col){width:var(--lecture-col);min-width:var(--lecture-col);max-width:var(--lecture-col)}.grade-total-col{width:var(--total-col);min-width:var(--total-col);max-width:var(--total-col)}.sticky-grade-col{width:var(--student-col);min-width:var(--student-col);max-width:var(--student-col);background:var(--surface);position:sticky;left:0}.grades-matrix thead .sticky-grade-col{z-index:4;background:var(--surface-soft)}.grades-matrix tbody .sticky-grade-col{z-index:2;color:var(--ink);text-transform:none;white-space:normal;font-size:14px;top:auto}.student-grade-name{font-weight:820}.grade-lecture-heading{text-transform:none;gap:4px;min-width:0;display:grid}.grade-lecture-heading strong,.grade-lecture-heading span{overflow-wrap:anywhere;min-width:0;line-height:1.25}.grade-lecture-heading span{color:var(--muted);font-size:12px}.answer-pill{border:1px solid var(--line);background:var(--surface-soft);width:32px;min-height:32px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;font-weight:860;display:inline-flex}.answer-pill.answered{background:var(--accent-soft);color:var(--accent-strong);border-color:#0f8f7233}.expanded-row td{background:var(--surface-soft)}.access-box,.student-history{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.access-box span,.student-history span{overflow-wrap:anywhere;min-width:0}.lecture-archive-detail{margin-top:12px}.archive-mini-section,.archive-poll-list{gap:10px;display:grid}.archive-poll-result{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);gap:10px;padding:12px;display:grid}.archive-result-list{gap:7px;display:grid}.archive-result-row{background:var(--surface);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.archive-result-row span{overflow-wrap:anywhere;min-width:0}.archive-grades-wrap{max-height:360px}.archive-grades-table{min-width:720px}.lecture-card-list,.question-list{gap:10px;max-height:clamp(360px,60vh,620px);padding-right:2px;display:grid;overflow-y:auto}.lecture-admin-card,.question-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:12px;padding:14px;display:grid}.lecture-admin-head,.question-row{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.lecture-admin-head>div,.question-row>div:first-child{gap:4px;min-width:0;display:grid}.lecture-admin-head strong,.question-row strong,.question-row span{overflow-wrap:anywhere;min-width:0}.lecture-admin-head span,.question-row span{color:var(--muted);font-size:13px}.timer-field{width:min(150px,100%)}.poll-editor-panel{gap:12px;display:grid}.poll-form{gap:8px}.poll-question-input{resize:none;background:0 0;border:0;border-radius:0;min-height:78px;padding:6px 18px 2px;font-size:clamp(28px,3vw,44px);font-weight:780;line-height:1.12}.poll-question-input:focus{box-shadow:none;border-color:#0000}.poll-question-input::placeholder,.poll-option-input::placeholder{color:#98a2b3;opacity:.55}.poll-option-list{gap:3px;margin-top:-2px;display:grid}.poll-option-row{grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;display:grid}.poll-option-row:before{content:"-";color:var(--muted);text-align:center;font-size:22px;font-weight:760;line-height:1}.poll-option-input{background:0 0;border:0;border-radius:0;min-height:42px;padding:4px 0;font-size:17px;font-weight:720}.poll-option-input:focus{box-shadow:none;border-color:#0000}.poll-form-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.poll-form-inline-controls,.poll-submit-actions{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.poll-submit-actions{margin-left:auto}.poll-form-controls .timer-field{white-space:nowrap;align-items:center;gap:10px;width:auto;display:flex}.poll-form-controls .timer-field input{width:128px}.add-option-action{width:fit-content}.poll-row-timer{white-space:nowrap;align-items:center;gap:10px;width:auto;display:flex}.poll-row-timer input{width:118px;min-height:40px;padding:7px 9px}.poll-progress-panel,.student-poll-panel,.student-lecture-card{gap:14px;display:grid}.poll-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.poll-timer{border-radius:var(--radius);background:var(--accent-soft);min-height:50px;color:var(--accent-strong);border:1px solid #0f8f7229;align-items:center;gap:10px;padding:10px 12px;display:inline-flex}.poll-timer strong{font-size:22px;line-height:1}.histogram{gap:11px;display:grid}.histogram-row{grid-template-columns:32px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.histogram-row>span,.answer-options span{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:860;display:inline-flex}.histogram-row div{gap:7px;min-width:0;display:grid}.histogram-row strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.histogram-row i{background:var(--accent);border-radius:999px;min-width:8px;height:10px;display:block}.histogram-row em{color:var(--ink);text-align:right;font-style:normal;font-weight:860}.student-state-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.student-state-grid div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);gap:5px;min-width:0;padding:12px;display:grid}.student-state-grid span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:780}.student-state-grid strong,.student-question{overflow-wrap:anywhere;min-width:0}.student-question{font-size:clamp(20px,2vw,26px);line-height:1.15}.answer-options{gap:10px;display:grid}.answer-options button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:54px;color:var(--ink);text-align:left;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;font-weight:760;line-height:1.35;display:grid}.answer-options button.selected{background:var(--accent-soft);color:var(--accent-strong);border-color:#0f8f7257}.history-details{opacity:.98}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1020px){.app-layout,.app-layout.sidebar-collapsed,.page-header,.action-layout,.split-layout{grid-template-columns:1fr;display:grid}.app-sidebar{width:auto;min-height:auto;max-height:none;position:static;inset:auto}.app-content{grid-column:auto}.sidebar-collapsed .app-sidebar{width:auto;min-height:auto}.stat-grid,.setup-grid,.lecture-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.app-shell{padding:12px}.login-page{padding:14px}.login-card{padding:20px}.login-title{align-items:flex-start}.login-tabs,.module-switcher,.tabs{width:100%}.module-switcher button,.tabs button{flex:1 0 auto}.two-cols,.inline-form,.schedule-fields,.stat-grid,.stat-grid.three,.stat-grid.two,.setup-grid,.lecture-summary-grid,.student-state-grid{grid-template-columns:1fr}.panel-heading,.lecture-admin-head,.question-row,.poll-toolbar{display:grid}.button-row,.row-actions,.primary-command{grid-template-columns:1fr;display:grid}.compact-banner{grid-template-columns:auto minmax(0,1fr)}.compact-banner strong{grid-column:2}.message-bar{width:calc(100% - 24px);bottom:12px;right:12px}}
