.case-practice-page{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.case-practice-page .cp-hero{text-align:center;margin-bottom:2.5rem}.case-practice-page .cp-hero h1{font-size:2.2rem;margin-bottom:.5rem}.case-practice-page .cp-hero .subtitle{font-size:1.1rem;color:var(--text-muted, #666);max-width:600px;margin:0 auto .75rem}.case-practice-page .cp-hero .hero-note{font-size:.95rem;color:var(--text-muted, #888);max-width:560px;margin:0 auto}.case-practice-page .switch-lang-link{display:inline-block;margin-top:1rem;color:var(--accent, #2563eb);font-weight:600}.case-practice-page .case-selector{margin-bottom:2rem}.case-practice-page .case-selector h2{text-align:center;margin-bottom:1.25rem;font-size:1.4rem}.case-practice-page .case-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.case-practice-page .case-type-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.25rem .75rem;border:2px solid var(--border, #e2e8f0);border-radius:12px;background:var(--surface, #fff);cursor:pointer;transition:all .2s}.case-practice-page .case-type-btn:hover{border-color:var(--accent, #2563eb);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.case-practice-page .case-type-btn.selected{border-color:var(--accent, #2563eb);background:#2563eb0f}.case-practice-page .ct-icon{font-size:1.8rem}.case-practice-page .ct-label{font-weight:700;font-size:.95rem}.case-practice-page .ct-desc{font-size:.78rem;color:var(--text-muted, #888);text-align:center;line-height:1.3}.case-practice-page .progress-bar-container{margin-bottom:2rem}.case-practice-page .progress-steps{display:flex;justify-content:space-between;margin-bottom:.5rem}.case-practice-page .progress-step{display:flex;flex-direction:column;align-items:center;gap:.2rem;opacity:.4;transition:opacity .3s}.case-practice-page .progress-step.active,.case-practice-page .progress-step.completed{opacity:1}.case-practice-page .progress-step .step-num{width:28px;height:28px;border-radius:50%;background:var(--border, #e2e8f0);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--text-muted, #888)}.case-practice-page .progress-step.active .step-num{background:var(--accent, #2563eb);color:#fff}.case-practice-page .progress-step.completed .step-num{background:#16a34a;color:#fff}.case-practice-page .progress-step .step-label{font-size:.7rem;font-weight:600;color:var(--text-muted, #888)}.case-practice-page .progress-step.active .step-label{color:var(--accent, #2563eb)}.case-practice-page .progress-step.completed .step-label{color:#16a34a}.case-practice-page .progress-track{height:6px;background:var(--border, #e2e8f0);border-radius:3px;overflow:hidden}.case-practice-page .progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent, #2563eb),#16a34a);border-radius:3px;transition:width .5s ease}.case-practice-page .case-prompt-area{background:#1a1a2e;color:#e2e8f0;padding:1.5rem;border-radius:12px;margin-bottom:2rem}.case-practice-page .prompt-header{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.case-practice-page .prompt-badge{background:var(--accent, #2563eb);color:#fff;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}.case-practice-page .prompt-diff{background:#ffffff26;color:#cbd5e1;padding:.25rem .6rem;border-radius:999px;font-size:.75rem}.case-practice-page .prompt-text{font-size:1rem;line-height:1.65;margin-bottom:1rem}.case-practice-page .new-case-btn{background:#ffffff1a;color:#94a3b8;border:1px solid rgba(255,255,255,.15);padding:.4rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s}.case-practice-page .new-case-btn:hover{background:#fff3;color:#e2e8f0}.case-practice-page .phase-panel{border:2px solid var(--border, #e2e8f0);border-radius:12px;margin-bottom:1.25rem;overflow:hidden;transition:all .3s}.case-practice-page .phase-panel.active-phase{border-color:var(--accent, #2563eb);box-shadow:0 0 0 3px #2563eb1f}.case-practice-page .phase-panel.completed-phase{border-color:#16a34a}.case-practice-page .phase-panel.locked-phase{opacity:.5;pointer-events:none}.case-practice-page .phase-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;background:var(--surface-alt, #f8fafc);border-bottom:1px solid var(--border, #e2e8f0)}.case-practice-page .phase-header h3{font-size:1.05rem;margin:0}.case-practice-page .phase-status-icon{font-size:1.1rem}.case-practice-page .phase-body{padding:1.25rem}.case-practice-page .phase-instruction{font-size:.92rem;color:var(--text-muted, #666);margin-bottom:1rem;line-height:1.5}.case-practice-page .phase-input{width:100%;padding:.85rem;border:1.5px solid var(--border, #e2e8f0);border-radius:8px;font-family:inherit;font-size:.92rem;line-height:1.5;resize:vertical;margin-bottom:.75rem;background:var(--surface, #fff);color:var(--text, #1e293b);box-sizing:border-box}.case-practice-page .phase-input:focus{outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.case-practice-page .eval-btn{background:var(--accent, #2563eb);color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.case-practice-page .eval-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.case-practice-page .eval-btn:disabled{opacity:.5;cursor:not-allowed}.case-practice-page .feedback-area{margin-top:1rem}.case-practice-page .feedback-box{padding:1rem;border-radius:8px;margin-bottom:.5rem}.case-practice-page .feedback-box.good{background:#f0fdf4;border:1px solid #bbf7d0}.case-practice-page .feedback-box.ok{background:#fffbeb;border:1px solid #fde68a}.case-practice-page .feedback-box.bad{background:#fef2f2;border:1px solid #fecaca}.case-practice-page .feedback-score{font-weight:700;font-size:1.1rem;margin-bottom:.5rem}.case-practice-page .feedback-checks{list-style:none;padding:0;margin:0}.case-practice-page .feedback-checks li{padding:.25rem 0;font-size:.88rem}.case-practice-page .check-pass{color:#16a34a}.case-practice-page .check-fail{color:#dc2626}.case-practice-page .interviewer-response{margin-top:1rem;padding:1rem;background:#f0f4ff;border-radius:8px;border-left:4px solid var(--accent, #2563eb)}.case-practice-page .ir-label{font-weight:700;margin-bottom:.5rem;font-size:.9rem}.case-practice-page .ir-text{font-size:.9rem;line-height:1.6}.case-practice-page .exhibit-container{overflow-x:auto;margin-bottom:1rem}.case-practice-page .exhibit-container table{width:100%;border-collapse:collapse;font-size:.85rem}.case-practice-page .exhibit-container th{background:#1a1a2e;color:#e2e8f0;padding:.6rem .75rem;text-align:left;font-weight:600;white-space:nowrap}.case-practice-page .exhibit-container td{padding:.5rem .75rem;border-bottom:1px solid var(--border, #e2e8f0)}.case-practice-page .exhibit-container tr:nth-child(2n) td{background:var(--surface-alt, #f8fafc)}.case-practice-page .overall-score-panel{text-align:center;padding:2.5rem 1.5rem;border:2px solid var(--border, #e2e8f0);border-radius:16px;margin-top:2rem;background:var(--surface, #fff)}.case-practice-page .overall-score-panel h2{margin-bottom:1.5rem}.case-practice-page .score-circle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;border:6px solid var(--accent, #2563eb);margin-bottom:1.5rem}.case-practice-page .score-circle.great{border-color:#16a34a}.case-practice-page .score-circle.decent{border-color:#eab308}.case-practice-page .score-circle.poor{border-color:#dc2626}.case-practice-page .score-number{font-size:2.5rem;font-weight:800;line-height:1}.case-practice-page .score-label{font-size:.85rem;color:var(--text-muted, #888)}.case-practice-page .score-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:500px;margin:0 auto 1.5rem;text-align:center}.case-practice-page .sb-item{padding:.75rem;border-radius:8px;background:var(--surface-alt, #f8fafc)}.case-practice-page .sb-item .sb-phase{font-size:.75rem;color:var(--text-muted, #888);font-weight:600}.case-practice-page .sb-item .sb-score{font-size:1.3rem;font-weight:800}.case-practice-page .sb-item .sb-score.good{color:#16a34a}.case-practice-page .sb-item .sb-score.ok{color:#eab308}.case-practice-page .sb-item .sb-score.bad{color:#dc2626}.case-practice-page .score-message{font-size:1rem;line-height:1.6;max-width:500px;margin:0 auto 1.5rem;color:var(--text-muted, #555)}@media(prefers-color-scheme:dark){.case-practice-page .phase-header{background:#ffffff0a}.case-practice-page .interviewer-response{background:#2563eb1a}.case-practice-page .feedback-box.good{background:#16a34a1a;border-color:#16a34a4d}.case-practice-page .feedback-box.ok{background:#eab3081a;border-color:#eab3084d}.case-practice-page .feedback-box.bad{background:#dc26261a;border-color:#dc26264d}.case-practice-page .overall-score-panel{background:var(--surface, #1e1e2e)}.case-practice-page .sb-item{background:#ffffff0d}}.case-practice-page .mic-row{margin-bottom:.75rem}.case-practice-page .mic-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:#f0f0f0;border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--text, #1e293b)}.case-practice-page .mic-btn:hover{background:#e0e0e0}.case-practice-page .mic-btn.recording{background:#fee2e2;border-color:#ef4444;color:#dc2626;animation:cp-mic-pulse 1.5s infinite}@keyframes cp-mic-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}@media(max-width:768px){.case-practice-page{padding:1.25rem 1rem 3rem}.case-practice-page .cp-hero h1{font-size:1.6rem}.case-practice-page .case-type-grid{grid-template-columns:repeat(2,1fr)}.case-practice-page .progress-step .step-label{font-size:.6rem}.case-practice-page .progress-step .step-num{width:24px;height:24px;font-size:.7rem}.case-practice-page .score-breakdown{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.case-practice-page .case-type-grid{grid-template-columns:1fr}.case-practice-page .cp-hero h1{font-size:1.35rem}.case-practice-page .score-breakdown{grid-template-columns:1fr 1fr}}
