.town-map-viewer-container{display:flex;flex-direction:column;width:100%;max-width:960px;margin:0 auto;background:#0f172a;border:1px solid rgba(56,189,248,.25);border-radius:16px;box-shadow:0 20px 40px -15px #0009,0 0 20px #38bdf81a;overflow:hidden;position:relative;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#f8fafc}.town-map-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#0f172ae6;border-bottom:1px solid rgba(56,189,248,.2);gap:12px;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-badge{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;font-size:.85rem;font-weight:700;padding:4px 10px;border-radius:8px;letter-spacing:.3px;display:inline-flex;align-items:center;gap:6px}.toolbar-hint{font-size:.82rem;color:#94a3b8}.btn-scan-toggle{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.4);border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.btn-scan-toggle:hover{background:#38bdf840;border-color:#38bdf8;transform:translateY(-1px);box-shadow:0 4px 12px #38bdf840}.town-map-wrapper{position:relative;width:100%;aspect-ratio:800 / 572;background:#020617;overflow:hidden;-webkit-user-select:none;user-select:none}.town-map-svg{width:100%;height:100%;display:block}.interactive-landmark-node{cursor:pointer;transition:filter .2s ease,transform .2s ease;outline:none}.interactive-landmark-node:hover,.interactive-landmark-node:focus-visible{filter:drop-shadow(0 0 8px #38bdf8) brightness(1.15)}.interactive-landmark-node.is-highlighted{filter:drop-shadow(0 0 12px #38bdf8) drop-shadow(0 0 20px #0284c7) brightness(1.25)}.interactive-landmark-node.is-pulsing{animation:landmarkPulse 1.8s infinite ease-in-out}@keyframes landmarkPulse{0%,to{filter:drop-shadow(0 0 6px #38bdf8)}50%{filter:drop-shadow(0 0 16px #38bdf8) drop-shadow(0 0 24px #0ea5e9) brightness(1.3)}}.town-map-tooltip{position:absolute;z-index:1000;width:290px;max-width:calc(100% - 20px);background:#0f172af2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(56,189,248,.45);border-radius:14px;box-shadow:0 15px 35px -5px #000000a6,0 0 20px #38bdf833;padding:14px;pointer-events:auto;animation:tooltipFadeIn .2s cubic-bezier(.16,1,.3,1);transition:top .15s ease,left .15s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.tooltip-header{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.tooltip-icon{font-size:1.5rem;line-height:1}.tooltip-titles{flex:1;min-width:0}.tooltip-name{margin:0;font-size:1.05rem;font-weight:700;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip-category{font-size:.75rem;color:#38bdf8;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tooltip-btn-close{background:transparent;border:none;color:#94a3b8;font-size:1.25rem;cursor:pointer;line-height:1;padding:2px 6px;border-radius:4px;transition:color .15s}.tooltip-btn-close:hover{color:#f8fafc;background:#ffffff1a}.tooltip-body{padding:8px 0;display:flex;flex-direction:column;gap:6px}.tooltip-address-row{display:flex;align-items:center;gap:6px;background:#38bdf81a;border-left:3px solid #38bdf8;padding:6px 8px;border-radius:4px}.address-pin{font-size:.95rem}.address-text{font-size:.92rem;color:#38bdf8;font-weight:700}.tooltip-ipa-row{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#cbd5e1}.ipa-label{color:#64748b;font-weight:600}.ipa-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#0000004d;padding:1px 6px;border-radius:4px;color:#a5f3fc}.tooltip-desc{margin:0;font-size:.82rem;color:#cbd5e1;line-height:1.4}.tooltip-exam-badge{display:flex;align-items:flex-start;gap:6px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:6px;padding:5px 8px;font-size:.75rem;color:#fcd34d}.exam-icon{font-size:.85rem}.tooltip-footer{padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.tooltip-btn-speak{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tooltip-btn-speak:hover{background:linear-gradient(135deg,#0369a1,#0ea5e9);box-shadow:0 4px 12px #0284c759}.tooltip-btn-speak.is-active{background:linear-gradient(135deg,#10b981,#059669)}.soundwave-bars{display:none;align-items:center;gap:3px;height:14px}.tooltip-btn-speak.is-active .soundwave-bars{display:inline-flex}.soundwave-bars i{width:3px;height:100%;background:#fff;border-radius:2px;animation:soundwaveJump .8s infinite ease-in-out}.soundwave-bars i:nth-child(1){animation-delay:0s}.soundwave-bars i:nth-child(2){animation-delay:.2s}.soundwave-bars i:nth-child(3){animation-delay:.4s}.soundwave-bars i:nth-child(4){animation-delay:.1s}@keyframes soundwaveJump{0%,to{height:4px}50%{height:14px}}.tooltip-arrow{position:absolute;width:10px;height:10px;background:#0f172af2;border:1px solid rgba(56,189,248,.45);transform:rotate(45deg)}.town-map-tooltip[data-placement=top] .tooltip-arrow{bottom:-6px;border-top:none;border-left:none}.town-map-tooltip[data-placement=bottom] .tooltip-arrow{top:-6px;border-bottom:none;border-right:none}.midterm-scan-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:92vw;max-width:1100px;height:88vh;max-height:800px;padding:0;margin:auto;border:1px solid rgba(56,189,248,.35);border-radius:16px;background:#090d16;color:#f8fafc;box-shadow:0 25px 60px -10px #000000d9,0 0 30px #38bdf833;overflow:hidden;z-index:30000}.midterm-scan-modal::backdrop{background:#020617d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.scan-modal-inner{display:flex;flex-direction:column;height:100%;width:100%}.scan-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#0f172af2;border-bottom:1px solid rgba(56,189,248,.2);gap:12px}.scan-modal-title{display:flex;align-items:center;gap:12px}.scan-modal-icon{font-size:1.6rem}.scan-modal-title h3{margin:0;font-size:1.15rem;font-weight:700;color:#f8fafc}.scan-modal-subtitle{margin:2px 0 0;font-size:.78rem;color:#94a3b8}.scan-modal-toolbar{display:flex;align-items:center;gap:8px}.scan-btn-tool{background:#ffffff14;color:#e2e8f0;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 10px;font-size:.85rem;cursor:pointer;transition:all .15s ease}.scan-btn-tool:hover{background:#38bdf833;border-color:#38bdf8;color:#38bdf8}.scan-zoom-indicator{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:#38bdf8;min-width:45px;text-align:center}.scan-btn-close{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.35);border-radius:6px;padding:6px 12px;font-size:1.05rem;cursor:pointer;line-height:1;transition:all .15s ease}.scan-btn-close:hover{background:#ef444459;color:#fff}.scan-viewport{flex:1;overflow:auto;display:flex;justify-content:center;align-items:center;background:#020617;position:relative;cursor:grab;touch-action:none}.scan-viewport.is-dragging{cursor:grabbing}.scan-image-stage{display:inline-block;padding:24px;transform-origin:center center;transition:transform .1s ease-out}.scan-original-img{display:block;max-width:100%;height:auto;border-radius:8px;box-shadow:0 10px 30px #000000b3;border:1px solid rgba(255,255,255,.1);transform-origin:center center;transition:transform .15s ease}.scan-modal-footer{display:flex;align-items:center;padding:10px 20px;background:#0f172af2;border-top:1px solid rgba(56,189,248,.2)}.scan-meta-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.meta-tag{font-size:.75rem;background:#ffffff0f;padding:4px 8px;border-radius:4px;color:#94a3b8}.meta-tag.info-tip{color:#38bdf8;background:#38bdf81a}.midterm-scan-modal.is-split-view{max-width:95vw}@media (max-width: 640px){.town-map-toolbar,.scan-modal-header{flex-direction:column;align-items:flex-start}.town-map-tooltip{width:250px;font-size:.85rem}}#view-midterm-practice{display:none;width:100%;min-height:calc(100vh - 70px);background:radial-gradient(circle at 50% 10%,#1e293b,#0b0f19);color:#f8fafc;box-sizing:border-box;padding:16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#view-midterm-practice.active{display:flex;flex-direction:column}.midterm-practice-overlay{width:100%;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.midterm-hud-header{display:flex;justify-content:space-between;align-items:center;background:#0f172ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(56,189,248,.25);border-radius:14px;padding:12px 20px;box-shadow:0 8px 24px #0006;flex-wrap:wrap;gap:12px}.midterm-header-left{display:flex;align-items:center;gap:14px}.btn-midterm-back{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;font-size:.9rem;font-weight:600;padding:8px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-midterm-back:hover{background:#ffffff29;color:#fff;border-color:#38bdf8}.midterm-title-block h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:.3px;color:#f8fafc;display:flex;align-items:center;gap:8px}.midterm-title-badge{background:#38bdf833;color:#38bdf8;border:1px solid rgba(56,189,248,.4);padding:2px 8px;border-radius:6px;font-size:.75rem;text-transform:uppercase;font-weight:800}.midterm-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.midterm-score-badge{background:linear-gradient(135deg,#10b98133,#0596694d);border:1px solid rgba(16,185,129,.4);color:#34d399;padding:6px 12px;border-radius:8px;font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:6px}.btn-midterm-reset{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:.85rem;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-midterm-reset:hover{background:#ef444440;color:#fff;border-color:#ef4444}.midterm-stepper-bar{display:flex;justify-content:space-between;align-items:center;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 16px;position:relative;overflow:hidden}.stepper-progress-fill{position:absolute;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#38bdf8,#818cf8,#10b981);transition:width .4s ease}.stepper-step{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;background:transparent;border:none;color:#94a3b8;font-size:.88rem;font-weight:600;transition:all .2s ease;text-align:center}.stepper-step:hover:not(:disabled){background:#ffffff0d;color:#e2e8f0}.stepper-step.active{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.stepper-step.completed{color:#34d399}.stepper-step-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;background:#ffffff1a;color:#cbd5e1}.stepper-step.active .stepper-step-num{background:#38bdf8;color:#0f172a}.stepper-step.completed .stepper-step-num{background:#10b981;color:#0f172a}.stepper-divider{color:#fff3;font-size:1.1rem;margin:0 4px}#midterm-module-content-area{display:flex;flex-direction:column;gap:24px}.midterm-section-card{background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 10px 30px #0000004d}.midterm-section-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px;flex-wrap:wrap;gap:8px}.midterm-section-header h3{margin:0;font-size:1.15rem;color:#f1f5f9;display:flex;align-items:center;gap:8px}.midterm-section-desc{color:#94a3b8;font-size:.88rem;margin:0;line-height:1.5}.preposition-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.prep-card{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease}.prep-card.is-correct{border-color:#10b981;background:#10b98114}.prep-card.is-wrong{border-color:#ef4444;background:#ef444414}.prep-badge{align-self:flex-start;font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:6px;background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.prep-sentence{font-size:.95rem;line-height:1.6;color:#e2e8f0}.prep-input{width:60px;height:32px;background:#090d16;border:1px solid rgba(56,189,248,.4);border-radius:6px;color:#38bdf8;font-size:1rem;font-weight:700;text-align:center;outline:none;transition:border .2s;margin:0 4px}.prep-input:focus{border-color:#38bdf8;box-shadow:0 0 8px #38bdf866}.prep-feedback-chip{font-size:.78rem;padding:4px 8px;border-radius:4px;line-height:1.4}.prep-feedback-chip.correct{background:#10b98133;color:#34d399}.prep-feedback-chip.wrong{background:#ef444433;color:#fca5a5}.error-hunt-card{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.error-original-box{background:#0f172ae6;border-left:4px solid #f59e0b;padding:10px 14px;border-radius:0 8px 8px 0;font-size:.92rem;color:#cbd5e1}.error-original-box strong{color:#f59e0b}.error-rewrite-input{width:100%;box-sizing:border-box;padding:10px 14px;background:#090d16;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f8fafc;font-size:.95rem;outline:none;transition:all .2s ease}.error-rewrite-input:focus{border-color:#38bdf8;box-shadow:0 0 10px #38bdf84d}.diff-preview-box{background:#090d16;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;font-size:.95rem;line-height:1.6;font-family:system-ui,-apple-system,sans-serif}.diff-removed{background:#ef444440;color:#f87171;text-decoration:line-through;padding:2px 6px;border-radius:4px;margin:0 2px}.diff-added{background:#10b98140;color:#34d399;text-decoration:underline;font-weight:700;padding:2px 6px;border-radius:4px;margin:0 2px}.diff-equal{color:#cbd5e1}.going-to-grid{display:grid;grid-template-columns:1fr;gap:12px}.going-to-card{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.going-to-input{min-width:140px;height:34px;background:#090d16;border:1px solid rgba(56,189,248,.4);border-radius:6px;color:#38bdf8;font-size:.92rem;font-weight:700;padding:0 10px;outline:none}.going-to-input:focus{border-color:#38bdf8;box-shadow:0 0 8px #38bdf866}.story-composer-box{display:flex;flex-direction:column;gap:12px}.story-textarea{width:100%;min-height:120px;box-sizing:border-box;padding:14px;background:#090d16;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#f8fafc;font-size:.95rem;line-height:1.6;resize:vertical;outline:none}.story-textarea:focus{border-color:#38bdf8;box-shadow:0 0 10px #38bdf84d}.story-counters-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.story-counter-pill{font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:20px;background:#ffffff14;color:#cbd5e1;border:1px solid rgba(255,255,255,.1)}.story-counter-pill.valid{background:#10b98133;color:#34d399;border-color:#10b981}.story-dimension-chips{display:flex;gap:8px;flex-wrap:wrap}.dim-chip{font-size:.75rem;padding:3px 8px;border-radius:6px;background:#ffffff0f;color:#94a3b8;border:1px solid rgba(255,255,255,.1)}.dim-chip.present{background:#38bdf833;color:#38bdf8;border-color:#38bdf8}.reading-passages-container{display:flex;flex-direction:column;gap:20px}.reading-card{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px}.reading-passage-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}.passage-text-box{background:#0f172ad9;border-radius:8px;padding:14px;font-size:.95rem;line-height:1.7;color:#e2e8f0;border-left:3px solid #38bdf8}.btn-play-passage-audio{background:#38bdf833;border:1px solid rgba(56,189,248,.4);color:#38bdf8;font-size:.85rem;font-weight:700;padding:6px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-play-passage-audio:hover{background:#38bdf859;color:#fff}.btn-play-passage-audio.playing{background:#38bdf8;color:#0f172a;animation:audioWavePulse 1.5s infinite}@keyframes audioWavePulse{0%,to{box-shadow:0 0 #38bdf899}50%{box-shadow:0 0 0 10px #38bdf800}}.tf-questions-container{display:flex;flex-direction:column;gap:12px}.tf-question-card{background:#0f172ab3;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.tf-question-text{flex:1;min-width:240px;font-size:.92rem;color:#cbd5e1;line-height:1.5}.tf-pill-group{display:inline-flex;border:1px solid rgba(255,255,255,.15);border-radius:8px;overflow:hidden}.tf-pill{padding:6px 16px;font-size:.85rem;font-weight:700;cursor:pointer;background:transparent;border:none;color:#94a3b8;transition:all .2s ease}.tf-pill:hover{background:#ffffff14;color:#fff}.tf-pill.selected-true{background:#10b98159;color:#34d399;font-weight:800}.tf-pill.selected-false{background:#ef444459;color:#f87171;font-weight:800}.tf-explanation-box{width:100%;margin-top:6px;padding:8px 12px;border-radius:6px;font-size:.8rem;line-height:1.4;background:#38bdf81a;border:1px solid rgba(56,189,248,.25);color:#bae6fd}.activity6-layout-split{display:grid;grid-template-columns:1fr;gap:20px}#activity6-map-viewport{width:100%;min-height:380px}.activity6-control-pane{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.activity6-quick-routes{display:flex;gap:8px;flex-wrap:wrap}.route-chip{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease}.route-chip:hover{background:#38bdf833;color:#38bdf8;border-color:#38bdf8}.route-status-banner{padding:10px 14px;border-radius:8px;font-size:.88rem;line-height:1.5;font-weight:600}.route-status-banner.success{background:#10b98133;border:1px solid #10b981;color:#34d399}.route-status-banner.fail{background:#ef444433;border:1px solid #ef4444;color:#fca5a5}.oral-booth-container{display:flex;flex-direction:column;gap:20px}.oral-stepper-carousel{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.oral-q-btn{padding:6px 14px;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#cbd5e1;white-space:nowrap;transition:all .2s ease}.oral-q-btn:hover{background:#ffffff26;color:#fff}.oral-q-btn.active{background:#a855f740;border-color:#a855f7;color:#c084fc}.oral-q-btn.completed{border-color:#10b981;color:#34d399}.oral-question-card{background:#1e293bcc;border:1px solid rgba(168,85,247,.3);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 10px 30px #0006}.oral-examiner-prompt-box{background:#0f172ae6;border-left:4px solid #a855f7;padding:14px 18px;border-radius:0 10px 10px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.examiner-prompt-text{font-size:1.05rem;font-weight:600;color:#f1f5f9;line-height:1.5}.btn-oral-tts-prompt{background:#a855f733;border:1px solid rgba(168,85,247,.5);color:#c084fc;font-size:.88rem;font-weight:700;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-oral-tts-prompt:hover{background:#a855f759;color:#fff}.oral-record-station{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#0f172a99;border:1px dashed rgba(255,255,255,.15);border-radius:12px;gap:16px}.btn-big-record{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#0284c7,#0369a1);border:4px solid rgba(56,189,248,.4);color:#fff;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0284c766;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none}.btn-big-record:hover{transform:scale(1.06);box-shadow:0 12px 30px #38bdf899}.btn-big-record.recording{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#fca5a5;animation:recordPulse 1.2s infinite;box-shadow:0 0 30px #ef4444cc}@keyframes recordPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.oral-vu-canvas{border-radius:4px;background:#0000004d}.oral-timer-badge{font-size:.88rem;font-weight:700;color:#38bdf8;font-family:monospace}.oral-review-hud{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;width:100%}.oral-audio-player{max-height:38px}.oral-feedback-box{background:#0f172ad9;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.oral-transcript-box{background:#0000004d;border-radius:8px;padding:10px 14px;border-left:3px solid #38bdf8}.transcript-header{font-size:.78rem;color:#94a3b8;text-transform:uppercase;font-weight:700;margin-bottom:4px}.transcript-text{font-size:1rem;font-style:italic;color:#f1f5f9}.oral-scores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.score-card-badge{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 12px;text-align:center}.score-card-badge .score-label{font-size:.72rem;color:#94a3b8;text-transform:uppercase;display:block}.score-card-badge .score-num{font-size:1.25rem;font-weight:800;display:block;margin-top:2px}.oral-word-pills-container{display:flex;gap:6px;flex-wrap:wrap}.word-pill{padding:4px 10px;border-radius:6px;font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.word-pill.status-correct{background:#10b98133;border:1px solid #10b981;color:#34d399}.word-pill.status-needs-improvement{background:#f59e0b33;border:1px solid #f59e0b;color:#fbbf24}.word-pill.status-mismatch{background:#ef444433;border:1px solid #ef4444;color:#fca5a5}.oral-ai-feedback-banner{padding:10px 14px;border-radius:8px;font-size:.88rem;line-height:1.5}.oral-ai-feedback-banner.passed{background:#10b98126;border:1px solid #10b981;color:#34d399}.oral-ai-feedback-banner.retry{background:#f59e0b26;border:1px solid #f59e0b;color:#fde68a}.oral-map-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 900px){.oral-map-split{grid-template-columns:1fr}}.midterm-trophy-screen{background:#0f172af2;border:1px solid rgba(56,189,248,.3);border-radius:16px;padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 20px 50px #0009}.trophy-badge-icon{font-size:4rem;animation:trophyFloat 2.5s ease-in-out infinite}@keyframes trophyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.trophy-title{margin:0;font-size:1.8rem;font-weight:800;color:#f8fafc}.trophy-subtitle{margin:0;font-size:1rem;color:#94a3b8;max-width:600px;line-height:1.5}.trophy-score-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;width:100%;max-width:800px;margin:10px 0}.trophy-score-card{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:6px}.trophy-score-card.total-card{border-color:#38bdf8;background:#38bdf81a}.card-label{font-size:.8rem;color:#94a3b8;text-transform:uppercase;font-weight:700}.card-score{font-size:1.8rem;font-weight:800;color:#34d399}.card-score-large{font-size:2.2rem;font-weight:800;color:#38bdf8}.card-status{font-size:.78rem;color:#34d399;font-weight:600}.trophy-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.midterm-hud-footer{display:flex;justify-content:space-between;align-items:center;background:#0f172ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 20px;flex-wrap:wrap;gap:12px}.midterm-save-indicator{font-size:.85rem;color:#94a3b8;display:flex;align-items:center;gap:6px}.btn-module-nav{background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid rgba(56,189,248,.4);color:#fff;font-size:.95rem;font-weight:700;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-module-nav:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#0284c7);box-shadow:0 4px 14px #38bdf866}.btn-module-nav:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){#view-midterm-practice{padding:10px}.midterm-hud-header{flex-direction:column;align-items:flex-start}.midterm-header-right{width:100%;justify-content:space-between}.stepper-step{font-size:.75rem;padding:6px 8px}.stepper-step-label{display:none}.tf-question-card{flex-direction:column;align-items:flex-start}.tf-pill-group{width:100%}.tf-pill{flex:1;text-align:center}}
