:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--surface:#fff;--surface-strong:#eef2f6;--text:#17202a;--muted:#65717f;--line:#d8dee6;--primary:#246b61;--primary-dark:#164c45;--accent:#c75643;--danger:#b33a3a;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{background:var(--bg);min-height:100vh}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;justify-content:space-between;align-items:center;gap:24px;padding:14px 28px;display:flex;position:sticky;top:0}.brand,.nav-links,.nav-links a,.section-title,.action-row,.question-card-header,.presentation-toolbar,.presentation-controls{align-items:center;display:flex}.brand{gap:10px;font-weight:760}.nav-links{gap:8px}.nav-links a{min-height:38px;color:var(--muted);border:1px solid #0000;border-radius:8px;gap:8px;padding:0 12px}.nav-links a.router-link-active,.nav-links a:hover{color:var(--text);background:var(--surface-strong);border-color:var(--line)}.shell-main{width:min(1180px,100vw - 32px);margin:0 auto;padding:28px 0 48px}.home-grid,.student-layout,.tools-layout,.corpus-layout{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.home-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:start}.control-panel,.status-panel,.result-panel,.draft-panel,.question-card,.graph-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px}.corpus-form{gap:16px;display:grid}.corpus-toolbar{grid-template-columns:minmax(260px,1fr) auto auto}.inline-actions{align-self:end;margin-top:0}.small-button{min-height:34px;padding:0 10px;font-size:13px}.danger-button{color:var(--danger)}.corpus-table-panel{overflow:hidden}.corpus-table{gap:10px;display:grid}.corpus-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(120px,180px) auto;align-items:center;gap:14px;padding:14px;display:grid}.corpus-row-main{gap:5px;min-width:0;display:grid}.corpus-row-main strong,.corpus-row-main span,.corpus-row-main small{overflow-wrap:anywhere}.corpus-row-main strong{font-size:18px}.tag-line,.corpus-row-actions,.corpus-row-meta{align-items:center;gap:8px;display:flex}.tag-line{flex-wrap:wrap}.corpus-row-meta{flex-direction:column;align-items:flex-start}.section-title{gap:10px;margin-bottom:14px}h1,h2{letter-spacing:0;margin:0}h1{font-size:28px}h2{font-size:21px}.muted,.compact-list,small{color:var(--muted)}.compact-list{margin:18px 0 0;padding-left:20px;line-height:1.8}.field{color:var(--muted);gap:8px;font-size:14px;display:grid}.field.compact{max-width:140px}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:11px 12px}textarea{resize:vertical}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin-bottom:16px;display:grid}.action-row{flex-wrap:wrap;gap:12px;margin-top:20px}.primary-button,.secondary-button,.icon-button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;display:inline-flex}.primary-button{background:var(--primary);color:#fff;padding:0 16px}.primary-button:hover{background:var(--primary-dark)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.65}.secondary-button{color:var(--text);border-color:var(--line);background:#fff;padding:0 16px}.secondary-button:hover{background:var(--surface-strong)}.icon-button{width:42px;height:42px;color:inherit;background:#ffffff1f;border-color:#ffffff38}.icon-button.large{width:54px;height:54px}.notice{color:var(--primary-dark);background:#e7f0ee;border-radius:8px;margin-top:16px;padding:12px 14px}.notice.error{color:var(--danger);background:#f8e8e6}.metric-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.metric-grid div{background:var(--surface-strong);border-radius:8px;gap:4px;padding:16px;display:grid}.metric-grid strong{font-size:28px}.metric-grid span{color:var(--muted);font-size:13px}.question-list,.question-card{gap:14px;display:grid}.question-card p{margin:0;font-size:18px;line-height:1.7}.question-card-header{color:var(--muted);justify-content:space-between}.type-badge{min-height:30px;color:var(--primary-dark);background:#e7f0ee;border-radius:999px;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.submit-button{justify-self:end}.result-panel,.draft-panel,.graph-panel{gap:16px;display:grid}.review-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;display:grid}.review-row p{margin:6px 0}.answer-chip{color:#755118;background:#fff4df;border-radius:8px;max-width:320px;padding:10px 12px}.ok-text{color:var(--primary)}.bad-text{color:var(--danger)}.graph-canvas{width:100%;min-height:420px}.presentation-page{background:var(--presentation-bg);color:#fff;min-height:100vh}.presentation-toolbar{background:#0000003d;border-bottom:1px solid #ffffff29;gap:14px;padding:14px 18px}.presentation-toolbar .field{color:#e6edf4;min-width:280px;max-width:360px}.presentation-toolbar select{color:#fff;background:#ffffff1f;border-color:#ffffff47}.toggle-field{align-items:center;gap:8px;display:inline-flex}.toggle-field input{width:auto}.presentation-stage{place-items:center;min-height:calc(100vh - 72px);padding:28px;display:grid}.question-frame{gap:38px;width:min(1080px,100%);display:grid}.progress-line{color:#d7e0ea;justify-content:space-between;align-items:center;display:flex}.question-text{font-size:clamp(36px, var(--question-font-size), 64px);text-align:center;margin:0;font-weight:780;line-height:1.32}.answer-slot{color:#ffffffb8;min-height:90px;font-size:var(--answer-font-size);text-align:center;border:1px solid #ffffff3d;border-radius:8px;place-items:center;padding:16px;display:grid}.answer-slot.revealed{color:var(--presentation-accent);background:#ffffff17;font-weight:800}.presentation-controls{justify-content:center;gap:18px}.presentation-message{color:#d7e0ea;font-size:28px}.classroom-page{background:radial-gradient(circle at 18% 10%, #2563eb2e, transparent 28%), linear-gradient(135deg, var(--classroom-bg), #0f172a 58%, #1f2937);color:#f8fafc;grid-template-rows:64px minmax(0,1fr) auto;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.classroom-header{background:#0f172ab8;border-bottom:1px solid #ffffff24;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:16px;height:64px;min-height:0;padding:10px 16px;display:grid}.classroom-title{gap:2px;display:grid}.classroom-title strong{font-size:20px}.classroom-title span,.classroom-meta,.flash-card-topline,.flash-answer-state,.classroom-graph-header small{color:#cbd5e1}.classroom-meta{justify-content:flex-end;align-items:center;gap:14px;font-size:15px;display:flex}.classroom-meta span{background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-items:center;min-height:34px;padding:0 12px;display:inline-flex}.classroom-main{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:0;height:100%;min-height:0;display:grid;overflow:hidden}.flash-stage{place-items:center;min-width:0;min-height:0;padding:18px 22px;display:grid;overflow:hidden}.flash-card{grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;width:min(860px,100%);height:100%;min-height:0;display:grid}.flash-card-topline,.classroom-graph-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-running,.status-paused{border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-weight:760;display:inline-flex}.status-running{color:#bbf7d0;background:#22c55e2e}.status-paused{color:#e2e8f0;background:#94a3b829}.flash-content{text-align:center;align-content:center;place-items:center;gap:18px;min-height:0;display:grid}.flash-content h1{max-width:100%;margin:0;font-size:clamp(48px,7vw,104px);font-weight:850;line-height:1.04}.flash-content p{max-width:780px;color:var(--classroom-accent);margin:0;font-size:clamp(28px,3.6vw,50px);font-weight:760;line-height:1.22}.flash-content.listening{color:var(--classroom-accent)}.flash-content.listening svg{filter:drop-shadow(0 20px 44px #f59e0b42)}.flash-answer-state{border-top:1px solid #ffffff1f;place-items:center;min-height:36px;font-size:16px;display:grid}.classroom-audio-error{color:#fecaca;background:#f8717129;border-radius:8px;max-height:58px;padding:10px 12px;overflow:auto}.classroom-graph{min-width:0;min-height:0;color:var(--text);background:#f8fafcf2;border-left:1px solid #ffffff24;grid-template-rows:auto 1fr;gap:16px;padding:16px;display:grid}.classroom-graph-header{min-height:38px;color:var(--text);font-weight:760}.classroom-graph-header span{margin-right:auto}.classroom-graph .graph-panel{background:0 0;border:0;border-radius:0;min-height:0;padding:0}.classroom-graph .graph-canvas{height:100%;min-height:0}.classroom-message{color:#e2e8f0;font-size:28px}.classroom-message.compact{color:var(--muted);font-size:18px}.classroom-controls{background:#0f172ae6;border-top:1px solid #ffffff24;grid-template-columns:repeat(5,auto) minmax(112px,132px) minmax(108px,126px) repeat(4,minmax(104px,1fr)) auto auto;align-items:center;gap:8px;padding:8px 12px;display:grid;overflow:hidden}.classroom-button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 16px;display:inline-flex}.classroom-button.primary{background:var(--classroom-accent);color:#111827;font-weight:780}.classroom-field,.classroom-slider{color:#f8fafc;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 8px;display:inline-flex}.classroom-field select{color:#111827;background:#f8fafc;border:0;width:100%;padding:7px 8px}.classroom-slider input{width:min(92px,7vw);padding:0}.classroom-slider span{color:#e2e8f0;text-align:right;min-width:38px}.classroom-toggle{white-space:nowrap;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;min-height:38px;padding:0 8px}@media (width<=820px){body{overflow-x:hidden}.topbar,.nav-links{align-items:stretch}.topbar{flex-direction:column;padding:14px 16px;position:static}.nav-links{grid-template-columns:repeat(4,1fr);width:100%;display:grid}.nav-links a{justify-content:center}.home-grid,.form-grid,.corpus-toolbar,.metric-grid,.review-row,.corpus-row{grid-template-columns:1fr}.corpus-row-actions{justify-content:flex-start}.presentation-toolbar{flex-wrap:wrap}.presentation-toolbar .field{min-width:min(100%,280px)}.question-text{font-size:36px}.answer-slot{font-size:30px}.classroom-header{grid-template-columns:auto 1fr;height:auto;min-height:84px}.classroom-meta{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.classroom-main{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;overflow:hidden}.flash-card{min-height:0}.classroom-graph{border-top:1px solid #ffffff24;border-left:0;display:none}.classroom-controls{grid-template-columns:repeat(5,auto) minmax(96px,1fr) auto;align-items:center}.classroom-slider{display:none}.classroom-field{min-width:0}.classroom-field select{width:100%}}@media (width<=1180px) and (width>=821px){.classroom-controls{grid-template-columns:repeat(5,auto) minmax(108px,128px) minmax(104px,122px) repeat(2,minmax(96px,1fr)) auto auto}.classroom-slider:nth-of-type(3),.classroom-slider:nth-of-type(4){display:none}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel{background:var(--surface,#fff);border-radius:16px;width:90vw;max-width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem .75rem;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-row>span:first-child{min-width:100px;font-weight:600}.settings-row select{border:1px solid var(--border,#cbd5e1);background:var(--input-bg,#fff);border-radius:8px;padding:.4rem .75rem;font-size:.9rem}.settings-row input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--accent,#3b82f6)}.settings-range{flex:1;align-items:center;gap:.75rem;display:flex}.settings-range input[type=range]{min-width:100px;height:24px;accent-color:var(--accent,#3b82f6);cursor:pointer;flex:1}.settings-range code{text-align:right;background:var(--surface-strong,#f1f5f9);border-radius:4px;min-width:42px;padding:.15rem .5rem;font-size:.85rem}.import-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.import-buttons .primary-button,.import-buttons .secondary-button{flex:1;justify-content:center;min-width:140px}.admin-layout{max-width:1400px;margin:0 auto;padding:1.5rem}.admin-tabs{border-bottom:2px solid var(--line,#e2e8f0);gap:0;margin-bottom:1.5rem;display:flex}.admin-tab{color:var(--muted,#64748b);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:color .15s,border-color .15s;display:flex}.admin-tab:hover{color:var(--text,#1e293b)}.admin-tab.active{color:var(--primary,#2563eb);border-bottom-color:var(--primary,#2563eb)}.admin-layout .import-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.admin-layout .import-controls .field{flex:1;min-width:200px}.ai-output{border:1px solid var(--line,#e2e8f0);border-radius:8px;margin-top:1rem;overflow:hidden}.ai-output .section-title{background:var(--surface-strong,#f1f5f9);border-bottom:1px solid var(--line,#e2e8f0);padding:.5rem 1rem}.ai-output-text{white-space:pre-wrap;word-break:break-all;background:#f8fafc;max-height:300px;margin:0;padding:1rem;font-size:.8rem;line-height:1.5;overflow:auto}.answer-badge{color:#1e40af;background:#dbeafe}.question-text{color:var(--text,#1e293b);margin:.5rem 0;font-size:.95rem}
