.student-page { min-height: 100vh; padding: 28px; background: #f6f8fb; } .student-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; } .student-title-block { min-width: 0; } .student-kicker { display: block; color: #64748b; font-size: 22px; font-weight: 600; } .student-title { display: block; margin-top: 6px; color: #111827; font-size: 38px; font-weight: 800; line-height: 1.2; } .student-subtitle { display: block; margin-top: 8px; color: #64748b; font-size: 24px; line-height: 1.45; } .toolbar { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; } .toolbar.wrap { flex-wrap: wrap; overflow-x: visible; } .pill-button, .primary-button, .secondary-button, .danger-button { min-width: 120px; height: 64px; border-radius: 8px; font-size: 24px; font-weight: 700; line-height: 64px; } .primary-button { border: 0; background: #2563eb; color: #fff; } .secondary-button, .pill-button { border: 1px solid #cbd5e1; background: #fff; color: #1e3a8a; } .danger-button { border: 1px solid #fecaca; background: #fff1f2; color: #be123c; } .pill-button.active { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; } .pill-button.warn { border-color: #f59e0b; background: #fffbeb; color: #92400e; } .section-block { margin-top: 30px; } .section-heading { display: block; margin-bottom: 16px; color: #172033; font-size: 30px; font-weight: 800; } .quiet-panel { padding: 26px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; } .report-panel { padding: 28px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; } .list-stack { display: flex; flex-direction: column; gap: 14px; } .list-row { padding: 22px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; } .list-row.active { border-color: #2563eb; background: #eff6ff; } .composite-subquestion { margin-top: 0; } .sub-option-list { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; } .sub-explanation { margin-top: 16px; padding-top: 14px; border-top: 1px solid #e2e8f0; } .row-main { display: block; color: #111827; font-size: 28px; font-weight: 750; line-height: 1.35; } .row-meta { display: block; margin-top: 8px; color: #64748b; font-size: 22px; line-height: 1.45; } .grid-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .metric { padding: 22px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; } .metric-value { display: block; color: #0f172a; font-size: 34px; font-weight: 800; } .metric-label { display: block; margin-top: 8px; color: #64748b; font-size: 22px; } .empty-state { padding: 38px 26px; border: 1px dashed #cbd5e1; border-radius: 8px; background: #fff; color: #64748b; font-size: 24px; line-height: 1.5; } .input { width: 100%; height: 72px; padding: 0 20px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #111827; font-size: 26px; } .textarea { width: 100%; min-height: 140px; padding: 18px 20px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #111827; font-size: 26px; line-height: 1.45; } .error-text { display: block; margin-top: 14px; color: #be123c; font-size: 22px; line-height: 1.4; } .success-text { display: block; margin-top: 14px; color: #047857; font-size: 22px; line-height: 1.4; } .muted-text { color: #64748b; } .video-frame { width: 100%; min-height: 360px; border: 0; border-radius: 8px; background: #0f172a; } .checkout-toolbar { align-items: center; overflow-x: visible; } .checkout-toolbar .input { flex: 1; min-width: 0; } .checkout-actions { margin-top: 18px; } .amount-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; } .amount-text { display: block; margin-top: 8px; color: #0f172a; font-size: 40px; font-weight: 850; line-height: 1.15; } .status-badge { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 8px; background: #ecfdf5; color: #047857; font-size: 22px; font-weight: 750; } .answer-sheet { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } .answer-card { min-width: 0; height: 58px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #334155; font-size: 22px; font-weight: 800; line-height: 58px; } .answer-card.current { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; } .answer-card.answered { border-color: #bbf7d0; background: #ecfdf5; color: #047857; } .answer-card.wrong { border-color: #fecaca; background: #fff1f2; color: #be123c; } .break-text { word-break: break-all; overflow-wrap: anywhere; }