body{-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--gemini-blue:#4285f4;--gemini-purple:#9b72cb;--gemini-pink:#d96570;--gemini-gradient:linear-gradient(90deg,#4285f4,#9b72cb 50%,#d96570);--gemini-gradient-subtle:linear-gradient(135deg,#4285f426,#9b72cb26 50%,#d965701a);--gemini-shimmer:linear-gradient(74deg,#4285f4,#9b72cb 33%,#d96570 66%,#fff);--gemini-glow:#4285f44d;--primary:#7cacf8;--primary-hover:#a8c7fa;--primary-glow:#7cacf840;--bg-main:#131314;--bg-card:#1e1f20;--bg-card-hover:#282a2c;--bg-card-solid:#1e1f20;--bg-input:#282a2c;--bg-input-focus:#313336;--text-main:#e3e3e3;--text-secondary:#c4c7c5;--text-muted:#8e918f;--danger:#f28b82;--success:#81c995;--warning:#fdd663;--accent:#c58af9;--border:#ffffff14;--border-subtle:#ffffff0d;--border-focus:#7cacf8;--border-glow:#7cacf866;--radius:24px;--radius-sm:12px;--radius-md:18px;--radius-pill:9999px;--font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--transition-smooth:all 0.25s cubic-bezier(0.2,0,0,1)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-attachment:fixed;background-color:#131314;background-color:var(--bg-main);background-image:radial-gradient(ellipse 75% 45% at 50% 8%,#1a2a558c 0,#0000 75%),radial-gradient(circle at 85% 85%,#9b72cb0d 0,#0000 55%),radial-gradient(circle at 15% 90%,#4285f40d 0,#0000 55%);color:#e3e3e3;color:var(--text-main);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);margin:0;min-height:100vh;padding:0}.App{margin:0 auto;max-width:1120px;padding:36px 24px 90px}.login-screen{align-items:center;background:radial-gradient(ellipse 70% 50% at 50% 40%,#1a2a5599 0,#131314 80%);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{animation:scaleIn .35s cubic-bezier(.2,0,0,1);background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:28px;box-shadow:0 20px 50px -10px #0009,0 0 40px #4285f414;max-width:440px;padding:48px 40px;text-align:center;width:100%}.login-badge{align-items:center;background:#4285f41f;border:1px solid #7cacf840;border-radius:9999px;border-radius:var(--radius-pill);color:#7cacf8;color:var(--primary);display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;letter-spacing:.06em;margin-bottom:20px;padding:6px 16px}.login-icon{filter:drop-shadow(0 0 20px rgba(66,133,244,.3));font-size:3rem;margin-bottom:16px}.login-card h2{-webkit-text-fill-color:#0000;background:linear-gradient(74deg,#4285f4,#9b72cb 33%,#d96570 66%,#fff);background:var(--gemini-shimmer);-webkit-background-clip:text;font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}.login-subtitle{color:#c4c7c5;color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 32px}.login-form{gap:20px}.login-field-group,.login-form{display:flex;flex-direction:column}.login-field-group{gap:8px;text-align:left}.login-field-group label{color:#c4c7c5;color:var(--text-secondary);font-size:.82rem;font-weight:600;letter-spacing:.03em;padding-left:4px}.input-with-icon{align-items:center;display:flex;position:relative}.input-field-icon{font-size:1.1rem;left:18px;opacity:.7;pointer-events:none;position:absolute}.input-with-icon input{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#e3e3e3;color:var(--text-main);font-family:inherit;font-size:.95rem;padding:14px 20px 14px 50px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth);width:100%}.password-input-wrapper input{padding-right:50px}.input-with-icon input:focus{background:#313336;background:var(--bg-input-focus);border-color:#7cacf8;border-color:var(--primary);box-shadow:0 0 0 3px #7cacf833;outline:none}.toggle-pw-btn{background:#0000;border:none;cursor:pointer;font-size:1.15rem;opacity:.7;padding:6px;position:absolute;right:14px;transition:opacity .2s}.toggle-pw-btn:hover{opacity:1}.login-error-msg{background:#f28b8226;border:1px solid #f28b8259;border-radius:18px;border-radius:var(--radius-md);color:#fca5a5;font-size:.88rem;padding:12px 18px;text-align:left}.login-submit-btn{background:linear-gradient(135deg,#1a73e8,#4285f4 50%,#9b72cb);border:none;border-radius:9999px;border-radius:var(--radius-pill);box-shadow:0 8px 24px -4px #4285f466;color:#fff;cursor:pointer;font-family:inherit;font-size:1.05rem;font-weight:600;padding:15px 28px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.login-submit-btn:hover{box-shadow:0 12px 28px -4px #4285f480;filter:brightness(1.05);transform:translateY(-1px)}.login-footer{color:#8e918f;color:var(--text-muted);font-size:.8rem;margin-top:28px}.app-header{margin-bottom:36px;position:relative;text-align:center}.header-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.candidate-badge{align-items:center;background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);box-shadow:0 2px 10px #0003;color:#c4c7c5;color:var(--text-secondary);display:inline-flex;font-size:.88rem;gap:8px;padding:8px 18px}.candidate-icon{font-size:1rem}.candidate-text strong{color:#e3e3e3;color:var(--text-main);font-weight:600}.header-right-meta{align-items:center;display:flex;gap:10px}.status-pill{align-items:center;background:#81c9951a;border:1px solid #81c99540;border-radius:9999px;border-radius:var(--radius-pill);color:#81c995;color:var(--success);display:inline-flex;font-size:.82rem;font-weight:600;gap:8px;padding:8px 18px}.pulsing-dot{animation:pulseDot 2s infinite;background-color:#81c995;background-color:var(--success);border-radius:50%;box-shadow:0 0 10px #81c995;box-shadow:0 0 10px var(--success);height:8px;width:8px}.signout-button{background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;padding:8px 18px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.signout-button:hover{background:#f28b8226;border-color:#f28b8259;color:#fca5a5}.brand-badge{align-items:center;background:#1e1f20;background:var(--bg-card);border:1px solid #7cacf840;border-radius:9999px;border-radius:var(--radius-pill);color:#7cacf8;color:var(--primary);display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;letter-spacing:.05em;margin-bottom:14px;padding:6px 16px}.app-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(74deg,#4285f4,#9b72cb 33%,#d96570 66%,#fff);background:var(--gemini-shimmer);-webkit-background-clip:text;font-size:2.75rem;font-weight:600;letter-spacing:-.025em;margin:0 0 10px}.app-header p{color:#c4c7c5;color:var(--text-secondary);font-size:1.08rem;font-weight:400;line-height:1.55;margin:0 auto;max-width:680px}.main-content{gap:26px}.main-content,.setup-container{display:flex;flex-direction:column}.setup-container{background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;border-radius:var(--radius);box-shadow:0 12px 36px #00000059;gap:24px;padding:32px 30px}.setup-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.part-selector{flex:1 1}.part-selector label{color:#c4c7c5;color:var(--text-secondary);display:block;font-size:.82rem;font-weight:600;letter-spacing:.04em;margin-bottom:12px}.part-buttons{display:flex;flex-wrap:wrap;gap:10px}.part-pill{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:10px 22px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.part-pill:hover{background:#313336;border-color:#ffffff26;color:#e3e3e3;color:var(--text-main);transform:translateY(-1px)}.part-pill.active{background:linear-gradient(135deg,#4285f433,#9b72cb33);border-color:#7cacf8;border-color:var(--primary);box-shadow:0 0 16px #4285f440;color:#7cacf8;color:var(--primary)}.cambridge-selector-card{background:#282a2c80;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:14px;padding:20px 22px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.cambridge-selector-card:hover{background:#282a2cbf;border-color:#7cacf84d}.cambridge-selector-header{align-items:center;display:flex;gap:12px}.cambridge-selector-label{align-items:center;display:flex;gap:14px;width:100%}.cambridge-book-icon{flex-shrink:0;font-size:1.6rem}.cambridge-selector-label strong{color:#e3e3e3;color:var(--text-main);display:block;font-size:.98rem;font-weight:600}.cambridge-selector-label span{color:#c4c7c5;color:var(--text-secondary);font-size:.82rem}.cambridge-dropdown-wrapper{position:relative;width:100%}.cambridge-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#282a2c;background-color:var(--bg-input);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237cacf8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:calc(100% - 20px);background-repeat:no-repeat;background-size:16px 16px;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);box-sizing:border-box;color:#e3e3e3;color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;padding:14px 48px 14px 22px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth);width:100%}.cambridge-select::-ms-expand{display:none}.cambridge-select:hover{background-color:#313336;border-color:#7cacf866}.cambridge-select:focus{border-color:#7cacf8;border-color:var(--primary);box-shadow:0 0 0 3px #7cacf833;outline:none}.cambridge-select optgroup{background:#1e1f20;color:#7cacf8;color:var(--primary);font-weight:700;padding:8px 4px}.cambridge-select option{background:#131314;color:#e3e3e3;color:var(--text-main);font-weight:400;padding:10px 14px}.question-interactive-container{display:flex;flex-direction:column;gap:14px;width:100%}.question-nav-header{align-items:center;background:#282a2c73;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:18px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:10px 18px}.question-nav-meta{align-items:center;display:flex;gap:10px}.question-step-badge{background:linear-gradient(135deg,#1a73e8,#4285f4);box-shadow:0 2px 10px #4285f459;color:#fff;font-size:.85rem;font-weight:600;padding:5px 14px}.question-part-pill,.question-step-badge{border-radius:9999px;border-radius:var(--radius-pill)}.question-part-pill{background:#ffffff0f;color:#c4c7c5;color:var(--text-secondary);font-size:.82rem;font-weight:500;padding:5px 12px}.question-pills-cluster{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.q-pill{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 14px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.q-pill:hover{background:#313336;border-color:#7cacf866;color:#e3e3e3;color:var(--text-main);transform:translateY(-1px)}.q-pill.active{background:linear-gradient(135deg,#1a73e8,#4285f4);border-color:#7cacf8;border-color:var(--primary);box-shadow:0 0 14px #4285f459;color:#fff}.action-links{display:flex;gap:8px}.action-link-btn{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:500;padding:6px 14px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.action-link-btn:hover{background:#313336;border-color:#ffffff26;color:#e3e3e3;color:var(--text-main)}.examiner-question-card{align-items:flex-start;background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;border-radius:var(--radius);box-shadow:0 10px 30px #0000004d;display:flex;gap:20px;min-height:110px;overflow:hidden;padding:26px 30px;position:relative;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.examiner-question-card:before{background:linear-gradient(90deg,#4285f4,#9b72cb 50%,#d96570);background:var(--gemini-gradient);content:"";height:2px;left:0;opacity:.7;position:absolute;right:0;top:0}.examiner-question-card:hover{border-color:#7cacf84d;box-shadow:0 12px 36px #0006}.examiner-quote-icon{font-size:2.2rem;line-height:1;padding-top:4px}.examiner-question-content{display:flex;flex:1 1;flex-direction:column;gap:6px}.examiner-prefix-label{color:#7cacf8;color:var(--primary);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.examiner-question-text{color:#e3e3e3;color:var(--text-main);font-size:1.35rem;font-weight:500;line-height:1.55;margin:0;word-break:break-word}.question-edit-textarea{background:#282a2c;background:var(--bg-input);border:1px solid #7cacf8;border:1px solid var(--primary);border-radius:18px;border-radius:var(--radius-md);box-shadow:0 0 15px #7cacf833;color:#e3e3e3;color:var(--text-main);font-family:inherit;font-size:1.15rem;line-height:1.5;padding:16px;resize:vertical;width:100%}.question-nav-controls,.question-nav-footer{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:10px 4px 4px;width:100%}.btn-nav-next,.btn-nav-prev{align-items:center;background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#e3e3e3;color:var(--text-main);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.92rem;font-weight:500;gap:6px;padding:10px 22px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth);white-space:nowrap}.btn-nav-next:hover:not(:disabled),.btn-nav-prev:hover:not(:disabled){background:#313336;border-color:#7cacf8;border-color:var(--primary);color:#fff;transform:translateY(-1px)}.btn-nav-next:focus-visible,.btn-nav-prev:focus-visible{outline:2px solid #7cacf8;outline:2px solid var(--primary);outline-offset:2px}.btn-nav-next:disabled,.btn-nav-prev:disabled{cursor:not-allowed;opacity:.35;transform:none}.btn-nav-next:not(:disabled){background:linear-gradient(135deg,#1a73e8,#4285f4);border:none;box-shadow:0 4px 16px #4285f459;color:#fff}.btn-nav-next:hover:not(:disabled){box-shadow:0 6px 20px #4285f473;filter:brightness(1.1)}.question-nav-indicator{align-items:center;background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);display:inline-flex;font-family:JetBrains Mono,monospace;font-size:.88rem;font-weight:600;justify-content:center;letter-spacing:.05em;padding:6px 16px}.part2-cue-card-container{display:flex;flex-direction:column;gap:10px;width:100%}.cue-card-display-card{background:#1e1f20;background:var(--bg-card);border:1px solid #fdd6634d;border-radius:24px;border-radius:var(--radius);box-shadow:0 10px 30px #00000059;overflow:hidden;padding:26px 30px;position:relative}.cue-card-display-card:before{background:linear-gradient(90deg,#fdd663,#f28b82);content:"";height:2px;left:0;position:absolute;right:0;top:0}.cue-card-top-tag{align-items:center;color:#fdd663;display:flex;font-size:.85rem;font-weight:600;gap:8px;letter-spacing:.06em;margin-bottom:12px}.cue-card-formatted-body{color:#e3e3e3;color:var(--text-main);font-size:1.15rem;font-weight:400;line-height:1.7;white-space:pre-line}.label-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.label-row label{color:#c4c7c5;color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.04em}.prompt-toggle-row{display:flex;justify-content:flex-end;margin-top:6px}.prompt-toggle-btn{align-items:center;background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:500;gap:6px;padding:8px 18px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.prompt-toggle-btn:hover{background:#313336;border-color:#7cacf866;color:#7cacf8;color:var(--primary);transform:translateY(-1px)}.prompt-editor-box{animation:fadeIn .3s ease;background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:12px;padding:20px 22px}.prompt-editor-box label{color:#c4c7c5;color:var(--text-secondary);font-size:.82rem;font-weight:600;letter-spacing:.03em}.prompt-editor-box textarea{background:#1e1f20;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;color:#e3e3e3;color:var(--text-main);font-family:JetBrains Mono,monospace;font-size:.88rem;line-height:1.6;padding:14px 16px;resize:vertical;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth);width:100%}.prompt-editor-box textarea:focus{border-color:#7cacf8;border-color:var(--primary);box-shadow:0 0 0 3px #7cacf833;outline:none}.reset-prompt-btn{align-self:flex-start;background:#1e1f20;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;padding:8px 18px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.reset-prompt-btn:hover{background:#313336;border-color:#fff3;color:#e3e3e3;color:var(--text-main)}.part2-prep-banner{background:#282a2c73;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;padding:16px 20px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.part2-prep-banner.active{background:#1a2a5566;border-color:#7cacf8;border-color:var(--primary);box-shadow:0 0 24px #4285f433}.prep-banner-idle{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.prep-banner-info{align-items:center;display:flex;gap:12px}.prep-banner-icon{font-size:1.5rem}.prep-banner-info strong{color:#e3e3e3;color:var(--text-main);display:block;font-size:.95rem}.prep-banner-info p{color:#c4c7c5;color:var(--text-secondary);font-size:.82rem;margin:2px 0 0}.prep-start-btn{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#e3e3e3;color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;padding:10px 20px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.prep-start-btn:hover:not(:disabled){background:#313336;border-color:#7cacf8;border-color:var(--primary);color:#fff}.prep-banner-active{display:flex;flex-direction:column;gap:12px}.prep-active-header{align-items:center;display:flex;justify-content:space-between}.prep-tag{color:#7cacf8;color:var(--primary);font-size:.78rem;font-weight:600}.prep-instructions{color:#c4c7c5;color:var(--text-secondary);font-size:.85rem}.prep-countdown-bar{align-items:center;display:flex;justify-content:space-between}.prep-timer-value{color:#7cacf8;color:var(--primary);font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:700}.prep-controls-cluster{display:flex;gap:8px}.prep-skip-btn{background:linear-gradient(135deg,#1a73e8,#4285f4);border:none;border-radius:9999px;border-radius:var(--radius-pill);color:#fff;font-weight:600}.prep-cancel-secondary-btn,.prep-skip-btn{cursor:pointer;font-family:inherit;font-size:.82rem;padding:8px 16px}.prep-cancel-secondary-btn{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary)}.prep-cancel-secondary-btn:hover{border-color:#f28b8266;color:#fca5a5}.recorder-container{background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;border-radius:var(--radius);box-shadow:0 12px 36px #00000059;gap:22px;overflow:hidden;padding:40px 30px;position:relative;text-align:center}.recorder-container,.recorder-visual{align-items:center;display:flex;flex-direction:column}.recorder-visual{gap:12px}.mic-ring{align-items:center;background:#282a2c;border:2px solid #ffffff1a;border-radius:50%;box-shadow:0 4px 20px #0000004d;display:flex;height:78px;justify-content:center;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth);width:78px}.mic-ring.pulse{animation:pulseRing 1.5s infinite;background:radial-gradient(circle,#ea433540 0,#4285f440 100%);border-color:#f28b82;border-color:var(--danger);box-shadow:0 0 35px #ea433566,0 0 60px #4285f433}.mic-icon{font-size:2.2rem}.timer-display{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:2.75rem;font-weight:700;letter-spacing:.05em;padding:8px 30px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.timer-display.active{border-color:#f28b8280;box-shadow:0 0 24px #f28b8233;color:#f28b82;color:var(--danger)}.timer-max{font-size:1.15rem;font-weight:500;margin-left:6px;opacity:.65;vertical-align:middle}.timer-display.warning{animation:pulseTimerWarning .8s ease-in-out infinite alternate;border-color:#fdd66399!important;box-shadow:0 0 25px #fdd6634d!important;color:#fdd663!important;color:var(--warning)!important}.limit-warning-badge{animation:pulseRing 1.5s infinite;background:#f28b822e;border:1px solid #f28b8280;border-radius:9999px;border-radius:var(--radius-pill);box-shadow:0 0 16px #f28b8240;color:#fca5a5;font-size:.85rem;gap:6px;padding:6px 18px}.limit-safe-tag,.limit-warning-badge{align-items:center;display:inline-flex;font-weight:600}.limit-safe-tag{color:#81c995;color:var(--success);font-size:.8rem;gap:4px}.target-pace-hint{color:#c4c7c5;color:var(--text-secondary);font-size:.85rem}.record-button{align-items:center;background:linear-gradient(135deg,#1a73e8,#4285f4 50%,#9b72cb);border:none;border-radius:9999px;border-radius:var(--radius-pill);box-shadow:0 8px 24px -4px #4285f473;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:1.12rem;font-weight:600;gap:10px;padding:16px 38px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.record-button:hover:not(:disabled){box-shadow:0 12px 28px -4px #4285f48c;filter:brightness(1.06);transform:translateY(-2px)}.record-button.recording{animation:recordGlow 2s infinite;background:linear-gradient(135deg,#ea4335,#d93025);box-shadow:0 8px 24px -4px #ea433580}.record-button:disabled{cursor:not-allowed;opacity:.45}.part2-record-buttons-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.prep-trigger-btn{background:linear-gradient(135deg,#f59e0b,#d97706)!important;box-shadow:0 6px 20px #f59e0b59!important}.record-direct-btn{background:#282a2c!important;border:1px solid #ffffff14!important;border:1px solid var(--border)!important;color:#e3e3e3!important;color:var(--text-main)!important}.record-direct-btn:hover{background:#313336!important;border-color:#fff3!important}.prep-active-recorder-cluster{align-items:center;display:flex;flex-direction:column;gap:14px}.prep-active-badge{background:#f59e0b26;border:1px solid #f59e0b66;border-radius:9999px;border-radius:var(--radius-pill);color:#fbbf24;font-size:.95rem;font-weight:600;padding:8px 20px}.prep-active-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.skip-prep-btn{background:linear-gradient(135deg,#ea4335,#d93025)!important;box-shadow:0 6px 20px #ea433559!important}.audio-playback-container{animation:fadeIn .3s ease;background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:10px;max-width:460px;padding:16px 20px;width:100%}.playback-header{align-items:center;color:#c4c7c5;color:var(--text-secondary);display:flex;font-size:.82rem;justify-content:space-between}.file-size-tag{color:#8e918f;color:var(--text-muted);font-size:.78rem}.audio-player{height:38px;width:100%}.status-bar{align-items:center;color:#c4c7c5;color:var(--text-secondary);display:flex;font-size:.95rem;gap:8px}.status-bar.loading{color:#7cacf8;color:var(--primary);font-weight:600}.spinner{animation:spin .8s linear infinite;border:2px solid #7cacf833;border-radius:50%;border-top:2px solid var(--primary);height:18px;width:18px}.metrics-grid{grid-gap:16px;animation:fadeIn .3s ease;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card{background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:6px;padding:22px 24px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.metric-card:hover{border-color:#7cacf84d;transform:translateY(-2px)}.metric-label{color:#c4c7c5;color:var(--text-secondary);font-size:.82rem;font-weight:600;letter-spacing:.04em}.metric-value{color:#e3e3e3;color:var(--text-main);font-family:JetBrains Mono,monospace;font-size:2.2rem;font-weight:700;letter-spacing:-.02em}.metric-unit{color:#7cacf8;color:var(--primary);font-size:1rem;font-weight:500;margin-left:4px}.metric-sub{color:#8e918f;color:var(--text-muted);font-size:.78rem}.pace-badge{align-items:center;align-self:flex-start;background:#282a2c99;border:1px solid;border-radius:9999px;border-radius:var(--radius-pill);display:inline-flex;font-size:.78rem;font-weight:600;margin-top:6px;padding:4px 12px}.results-container{animation:fadeIn .4s ease;background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;border-radius:var(--radius);box-shadow:0 12px 36px #00000059;display:flex;flex-direction:column;gap:24px;overflow:hidden;padding:32px 30px;position:relative}.results-container:before{background:linear-gradient(90deg,#4285f4,#9b72cb 50%,#d96570);background:var(--gemini-gradient);content:"";height:3px;left:0;position:absolute;right:0;top:0}.results-tabs{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;gap:10px;padding-bottom:14px}.tab-btn{background:#0000;border:none;border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;padding:8px 18px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.tab-btn:hover{background:#ffffff0d;color:#e3e3e3;color:var(--text-main)}.tab-btn.active{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);color:#7cacf8;color:var(--primary)}.results-actions{display:flex;gap:10px}.evaluation-box,.evaluation-card,.transcript-box,.transcription-card{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:16px;padding:24px}.card-copy-btn{background:#1e1f20;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;padding:6px 14px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.card-copy-btn:hover{background:#313336;border-color:#fff3}.card-copy-btn:hover,.display-area{color:#e3e3e3;color:var(--text-main)}.display-area{font-size:1.05rem;line-height:1.7;white-space:pre-wrap}.card-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.card-header h3{color:#e3e3e3;color:var(--text-main);font-size:1.15rem;font-weight:600;margin:0}.transcription-text{font-size:1.05rem;white-space:pre-wrap}.evaluation-markdown,.transcription-text{color:#e3e3e3;color:var(--text-main);line-height:1.7}.evaluation-markdown{font-size:1rem}.evaluation-markdown h3{color:#7cacf8;color:var(--primary);font-size:1.35rem;font-weight:700;margin:18px 0 10px}.evaluation-markdown h4{color:#c58af9;color:var(--accent);font-size:1.1rem;font-weight:600;margin:16px 0 8px}.evaluation-markdown p{margin:0 0 12px}.evaluation-markdown ol,.evaluation-markdown ul{margin:0 0 14px;padding-left:20px}.evaluation-markdown li{margin-bottom:6px}.actions-bar{display:flex;flex-direction:row;gap:16px;margin-top:28px;padding:8px 0;width:100%}.action-button,.actions-bar{align-items:center;box-sizing:border-box;justify-content:center}.action-button{border-radius:9999px;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:600;gap:10px;padding:16px 28px;text-decoration:none;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth);white-space:nowrap}.action-button.download-btn{background:#1e1f20;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);box-shadow:0 4px 16px #00000059;color:var(--text-primary);flex-shrink:0}.action-button.download-btn:hover{background:var(--bg-hover);border-color:#4285f466;box-shadow:0 8px 24px #4285f433;color:#8ab4f8;transform:translateY(-2px)}.action-button.next-btn{background:linear-gradient(135deg,#1a73e8,#4285f4 50%,#9b72cb);border:none;box-shadow:0 8px 24px -4px #4285f473;color:#fff;flex:1 1}.action-button.next-btn:hover{box-shadow:0 12px 28px -4px #4285f48c;transform:translateY(-2px)}.highlight-pulse{animation:pulseGreen 2s infinite!important;background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 6px 20px #10b98166!important}@media (max-width:768px){.actions-bar{flex-direction:column;gap:12px}.action-button{width:100%}}.mic-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000bf;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:99999}.mic-modal-card{align-items:center;animation:scaleIn .3s cubic-bezier(.2,0,0,1);background:#1e1f20;background:var(--bg-card);border:1px solid #f28b8266;border-radius:28px;box-shadow:0 25px 60px -10px #000c,0 0 40px #f28b8226;display:flex;flex-direction:column;max-width:500px;padding:36px 32px;position:relative;text-align:center;width:100%}.modal-close-x{background:#0000;border:none;border-radius:50%;color:#8e918f;color:var(--text-muted);cursor:pointer;font-size:1.25rem;line-height:1;padding:6px;position:absolute;right:18px;top:18px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.modal-close-x:hover{background:#ffffff14;color:#e3e3e3;color:var(--text-main)}.mic-modal-icon-wrapper{margin-bottom:20px;position:relative}.mic-modal-main-icon{filter:drop-shadow(0 0 16px rgba(242,139,130,.3));font-size:3.5rem}.mic-modal-lock-badge{bottom:-4px;font-size:1.5rem;position:absolute;right:-4px}.mic-modal-card h3{color:#e3e3e3;color:var(--text-main);font-size:1.45rem;font-weight:600;margin:0 0 10px}.mic-modal-desc{color:#c4c7c5;color:var(--text-secondary);font-size:.95rem;line-height:1.55;margin:0 0 22px}.mic-steps-container{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px 20px;text-align:left;width:100%}.mic-step-item{align-items:flex-start;display:flex;gap:12px}.mic-step-number{align-items:center;background:#7cacf8;background:var(--primary);border-radius:50%;color:#131314;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:24px;justify-content:center;margin-top:1px;width:24px}.mic-step-text{color:#e3e3e3;color:var(--text-main);font-size:.88rem;line-height:1.45}.mic-step-text strong{color:#7cacf8;color:var(--primary)}.mic-modal-buttons{display:flex;gap:12px;justify-content:center;width:100%}.mic-modal-retry-btn{background:linear-gradient(135deg,#1a73e8,#4285f4);border:none;border-radius:9999px;border-radius:var(--radius-pill);box-shadow:0 4px 16px #4285f459;color:#fff;cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:600;padding:12px 26px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.mic-modal-retry-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.mic-modal-dismiss-btn{background:#282a2c;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:9999px;border-radius:var(--radius-pill);color:#c4c7c5;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:500;padding:12px 24px;transition:all .25s cubic-bezier(.2,0,0,1);transition:var(--transition-smooth)}.mic-modal-dismiss-btn:hover{background:#313336;color:#e3e3e3;color:var(--text-main)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 #ea433580}70%{box-shadow:0 0 0 16px #ea433500}to{box-shadow:0 0 0 0 #ea433500}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes recordGlow{0%,to{box-shadow:0 8px 24px -4px #ea433580}50%{box-shadow:0 12px 32px -2px #ea4335b3}}@keyframes pulseTimerWarning{0%{transform:scale(1)}to{transform:scale(1.02)}}@keyframes pulseGreen{0%{box-shadow:0 0 0 0 #10b98180}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}body,html{max-width:100vw;overflow-x:hidden}@media (max-width:768px){.App{max-width:100%;padding:16px 12px 60px}.main-content{gap:18px}.setup-container{border-radius:20px;gap:18px;padding:20px 16px}.recorder-container{border-radius:20px;gap:18px;padding:28px 16px}.results-container{border-radius:20px;gap:18px;padding:22px 16px}.app-header h1{font-size:2.1rem}.app-header p{font-size:.95rem}.metrics-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.metric-card{border-radius:16px;padding:16px 18px}.metric-value{font-size:1.85rem}.metric-label{font-size:.78rem}}@media (max-width:640px){.header-meta-row{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:18px}.candidate-badge{font-size:.82rem;justify-content:center;padding:7px 14px;width:100%}.header-right-meta{align-items:center;display:flex;gap:8px;justify-content:space-between;width:100%}.status-pill{flex:1 1;font-size:.76rem;justify-content:center;padding:7px 12px}.signout-button{font-size:.78rem;padding:7px 14px;white-space:nowrap}.app-header{margin-bottom:20px}.brand-badge{font-size:.74rem;margin-bottom:10px;padding:5px 14px}.app-header h1{font-size:1.75rem;line-height:1.25;margin-bottom:8px}.app-header p{font-size:.88rem;line-height:1.45}.setup-container{padding:18px 14px}.cambridge-selector-card{border-radius:16px;padding:14px}.cambridge-selector-label{gap:10px}.cambridge-book-icon{font-size:1.35rem}.cambridge-selector-label strong{font-size:.88rem}.cambridge-selector-label span{font-size:.74rem}.cambridge-select{background-position:calc(100% - 12px);font-size:.85rem;padding:12px 36px 12px 14px}.setup-row{align-items:stretch;flex-direction:column;gap:14px}.part-selector{width:100%}.part-buttons{display:flex;gap:6px;width:100%}.part-pill{flex:1 1;font-size:.76rem;min-width:0;overflow:hidden;padding:9px 6px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.question-nav-header{align-items:stretch;border-radius:16px;flex-direction:column;gap:10px;padding:12px 14px}.question-nav-meta{align-items:center;display:flex;justify-content:space-between;width:100%}.question-step-badge{font-size:.78rem;padding:4px 12px}.question-part-pill{font-size:.76rem;padding:4px 10px}.question-pills-cluster{-webkit-overflow-scrolling:touch;display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;width:100%}.question-pills-cluster::-webkit-scrollbar{display:none}.q-pill{flex-shrink:0;font-size:.8rem;padding:5px 12px}.action-links{display:flex;gap:8px;justify-content:flex-end;width:100%}.action-link-btn{flex:1 1;font-size:.78rem;padding:6px 12px;text-align:center}.examiner-question-card{border-radius:18px;gap:12px;min-height:auto;padding:16px 14px}.examiner-quote-icon{font-size:1.5rem}.examiner-prefix-label{font-size:.74rem}.examiner-question-text{font-size:1.05rem;line-height:1.5}.question-nav-controls,.question-nav-footer{align-items:center;display:flex;flex-direction:row;gap:8px;justify-content:space-between;padding:6px 0 0;width:100%}.btn-nav-next,.btn-nav-prev{border-radius:9999px;border-radius:var(--radius-pill);flex:1 1;font-size:.8rem;justify-content:center;min-width:0;overflow:hidden;padding:10px 8px;text-overflow:ellipsis;white-space:nowrap}.question-nav-indicator{flex-shrink:0;font-size:.78rem;padding:6px 10px;white-space:nowrap}.cue-card-display-card{border-radius:18px;padding:18px 16px}.cue-card-formatted-body{font-size:1rem;line-height:1.6}.part2-prep-banner{border-radius:16px;padding:14px;width:100%}.prep-banner-idle{align-items:stretch;flex-direction:column;gap:12px}.prep-start-btn{font-size:.84rem;justify-content:center;padding:11px 16px;white-space:normal;width:100%}.prep-countdown-box,.prep-start-btn{text-align:center}.prep-countdown-num{font-size:2.2rem}.prep-countdown-sub{font-size:.78rem}.prep-counting-actions{display:flex;flex-direction:column;gap:8px;width:100%}.prep-cancel-btn,.prep-skip-btn{justify-content:center;padding:10px;width:100%}.recorder-container{padding:24px 14px}.mic-ring{height:66px;width:66px}.mic-icon{font-size:1.85rem}.timer-display{font-size:2rem;padding:6px 18px}.timer-max{font-size:.9rem}.limit-warning-badge{font-size:.78rem;padding:5px 12px}.target-pace-hint{font-size:.78rem}.record-button{font-size:1rem;justify-content:center;max-width:320px;padding:14px 20px;width:100%}.part2-record-buttons-row{align-items:center;flex-direction:column;gap:10px;width:100%}.part2-record-buttons-row .record-button{max-width:320px;width:100%}.audio-playback-container{max-width:100%;padding:12px 14px;width:100%}.status-bar{font-size:.82rem;justify-content:center;line-height:1.4;text-align:center}.results-container{padding:18px 14px}.results-tabs{gap:6px;padding-bottom:10px}.tab-btn{flex:1 1;font-size:.84rem;padding:7px 10px;text-align:center}.card-header{align-items:center;flex-direction:row;gap:8px;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.card-header h3{font-size:.98rem}.card-copy-btn{font-size:.76rem;padding:5px 12px}.evaluation-box,.evaluation-card,.transcript-box,.transcription-card{border-radius:16px;padding:14px 12px}.display-area,.evaluation-markdown,.transcription-text{font-size:.9rem;line-height:1.6;word-break:break-word}.evaluation-markdown h3{font-size:1.15rem;margin:14px 0 8px}.evaluation-markdown h4{font-size:.98rem;margin:12px 0 6px}.evaluation-markdown p{margin:0 0 10px}.evaluation-markdown ol,.evaluation-markdown ul{margin:0 0 10px;padding-left:18px}.evaluation-markdown table{-webkit-overflow-scrolling:touch!important;border-collapse:collapse!important;display:block!important;margin:14px 0!important;overflow-x:auto!important;width:100%!important}.evaluation-markdown td,.evaluation-markdown th{font-size:.8rem!important;line-height:1.4!important;min-width:105px!important;padding:8px 10px!important}.actions-bar{flex-direction:column!important;gap:10px!important;margin-top:18px!important;padding:0!important}.action-button{font-size:.92rem!important;justify-content:center!important;padding:14px 18px!important;text-align:center!important;white-space:normal!important;width:100%!important}.mic-modal-card{border-radius:22px;padding:24px 18px}.mic-modal-main-icon{font-size:2.8rem}.mic-modal-card h3{font-size:1.25rem}.mic-modal-desc{font-size:.86rem}.mic-step-text{font-size:.82rem}.mic-modal-buttons{flex-direction:column;gap:8px}.mic-modal-dismiss-btn,.mic-modal-retry-btn{justify-content:center;width:100%}}@media (max-width:380px){.app-header h1{font-size:1.55rem}.btn-nav-next,.btn-nav-prev{font-size:.74rem;padding:8px 6px}.question-nav-indicator{font-size:.74rem;padding:4px 6px}.timer-display{font-size:1.8rem;padding:6px 14px}.metrics-grid{gap:8px;grid-template-columns:1fr}.login-card{padding:24px 14px}.login-card h2{font-size:1.5rem}}
/*# sourceMappingURL=main.956ae25b.css.map*/