@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.login-container{min-height:100vh;padding:var(--space-4);background-color:var(--color-bg-primary);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:400px;padding:var(--space-8);text-align:center;border-radius:var(--radius-xl)}.login-icon{width:64px;height:64px;margin-bottom:var(--space-4)}.login-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2);color:var(--color-text-primary)}.login-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-6)}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-input{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);text-align:center;transition:var(--transition-fast);background:#0003;border:1px solid #ffffff1a}.login-input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #6c5ce733}.login-error{color:var(--color-accent-danger);font-size:var(--font-size-sm);margin:0}.login-btn{width:100%;padding:var(--space-3);font-size:var(--font-size-base)}.bottom-nav{height:calc(64px + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(16px);z-index:100;border-top:1px solid #ffffff0f;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);min-width:56px;min-height:44px;color:var(--color-text-muted);transition:color var(--transition-fast), background var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;text-decoration:none;display:flex}.bottom-nav-item:hover{color:var(--color-text-secondary);background:var(--color-surface-glass)}.bottom-nav-item.active{color:var(--color-accent-primary)}.bottom-nav-label{font-size:var(--font-size-xs);font-weight:500;line-height:1}.install-banner{bottom:calc(72px + var(--safe-area-bottom));left:var(--space-4);right:var(--space-4);background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-elevated);z-index:150;gap:var(--space-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff14;flex-direction:column;display:flex;position:fixed}.install-content{align-items:center;gap:var(--space-3);display:flex}.install-icon{flex-shrink:0;font-size:1.5rem}.install-text{flex-direction:column;gap:2px;display:flex}.install-text strong{font-size:var(--font-size-sm);color:var(--color-text-primary)}.install-text span{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.install-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.install-dismiss{font-size:var(--font-size-xs)!important}.install-btn{font-size:var(--font-size-xs)!important;padding:var(--space-2) var(--space-4)!important}.shell{background:var(--color-bg-primary);flex-direction:column;min-height:100dvh;display:flex}.shell-content{padding:var(--space-4);padding-top:calc(var(--safe-area-top) + var(--space-4));padding-bottom:calc(80px + var(--safe-area-bottom) + var(--space-4));flex:1;width:100%;max-width:600px;margin:0 auto}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.page-header-left{align-items:center;gap:var(--space-2);display:flex}.page-header-back{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-text-secondary);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex}.page-header-back:hover{background:var(--color-surface-glass)}.page-header-title{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700;line-height:1.2}.page-header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.page-header-action{flex-shrink:0}.progress-ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.progress-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.progress-ring-track{fill:none;stroke:var(--color-bg-elevated)}.progress-ring-fill{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.ring-danger{color:var(--color-accent-danger)}.ring-warning{color:var(--color-accent-warning)}.ring-success{color:var(--color-accent-secondary)}.ring-gold{color:#f0c040}.progress-ring-content{z-index:1;flex-direction:column;align-items:center;gap:2px;display:flex}.progress-ring-value{font-size:var(--font-size-lg);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:700}.progress-ring-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:600}.home-loading{padding:var(--space-12);justify-content:center;display:flex}.spinner{border:3px solid var(--color-bg-elevated);border-top-color:var(--color-accent-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.home-countdown{text-align:center;padding:var(--space-4);margin-bottom:var(--space-4);background:linear-gradient(135deg,#6c5ce726,#00cec91a)}.countdown-number{color:var(--color-text-primary);font-size:3rem;font-weight:700;line-height:1}.countdown-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.home-top-row{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.home-readiness-card{padding:var(--space-4);justify-content:center;align-items:center;display:flex}.home-queue-card{padding:var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.queue-number{font-size:var(--font-size-3xl);color:var(--color-text-primary);font-weight:700}.queue-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.home-start-btn{margin-top:var(--space-2);text-decoration:none;font-size:var(--font-size-xs)!important;padding:var(--space-2) var(--space-4)!important}.home-queue-breakdown{margin-bottom:var(--space-4)}.home-section-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:600}.queue-breakdown-items{gap:var(--space-2);flex-direction:column;display:flex}.queue-breakdown-row{font-size:var(--font-size-sm);color:var(--color-text-primary);justify-content:space-between;align-items:center;display:flex}.home-checklist{margin-bottom:var(--space-4)}.checklist-items{gap:var(--space-3);flex-direction:column;display:flex}.checklist-item{align-items:flex-start;gap:var(--space-3);display:flex}.checklist-icon{flex-shrink:0;padding-top:2px;font-size:1.2rem;line-height:1}.checklist-info{flex-direction:column;gap:2px;display:flex}.checklist-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.checklist-detail{font-size:var(--font-size-xs);color:var(--color-text-muted)}.home-quick-links{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.home-link{align-items:center;gap:var(--space-2);padding:var(--space-4);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;text-decoration:none;display:flex}.home-link:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.home-link:active{transform:scale(.97)}.home-link-icon{font-size:1.5rem}.home-link-label{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.timer{padding:var(--space-4);justify-content:center;align-items:center;display:flex}.timer-ring{width:140px;height:140px;position:relative}.timer-svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-track{fill:none;stroke:var(--color-bg-elevated);stroke-width:4px}.timer-progress{fill:none;stroke:var(--color-accent-secondary);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .3s}.timer-green .timer-progress{stroke:var(--color-accent-secondary)}.timer-amber .timer-progress{stroke:var(--color-accent-warning)}.timer-red .timer-progress{stroke:var(--color-accent-danger)}.timer-display{justify-content:center;align-items:center;gap:var(--space-1);flex-direction:column;display:flex;position:absolute;inset:0}.timer-digits{font-size:var(--font-size-3xl);font-variant-numeric:tabular-nums;color:var(--color-text-primary);letter-spacing:.02em;font-weight:700}.timer-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.timer-urgent .timer-digits{animation:1s ease-in-out infinite pulse}.timer-complete .timer-digits{color:var(--color-accent-danger)}.confidence-rating{padding:var(--space-4) 0}.confidence-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-3);font-weight:500}.confidence-buttons{gap:var(--space-2);justify-content:center;display:flex}.confidence-btn{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);background:var(--color-bg-elevated);border-radius:var(--radius-md);cursor:pointer;min-width:56px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:1px solid #ffffff0f;flex-direction:column;display:flex}.confidence-btn:hover:not(:disabled){background:var(--color-bg-card);border-color:var(--btn-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.confidence-btn:active:not(:disabled){transform:scale(.95)}.confidence-btn:disabled{opacity:.4;cursor:not-allowed}.confidence-emoji{font-size:1.5rem;line-height:1}.confidence-btn-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500}.confidence-btn:hover:not(:disabled) .confidence-btn-label{color:var(--btn-color)}.markdown-content{line-height:1.6}.markdown-content p{margin-bottom:var(--space-3)}.markdown-content p:last-child{margin-bottom:0}.markdown-content strong{color:var(--color-text-primary);font-weight:600}.markdown-content ul,.markdown-content ol{padding-left:var(--space-5);margin-bottom:var(--space-3)}.markdown-content li{margin-bottom:var(--space-2)}.markdown-content li:last-child{margin-bottom:0}.markdown-content h3,.markdown-content h4{color:var(--color-text-primary);margin-top:var(--space-4);margin-bottom:var(--space-2)}.markdown-content code{background:#ffffff1a;border-radius:4px;padding:2px 4px;font-family:monospace;font-size:.9em}.study-overlay{background:var(--color-bg-primary);z-index:1000;flex-direction:column;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.study-header{padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) var(--space-4) var(--space-4) var(--space-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.study-header h2{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0;font-weight:600}.study-progress-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.study-progress-bar{background:var(--color-bg-tertiary);width:100%;height:3px}.study-progress-fill{background:var(--color-accent-primary);height:100%;transition:width .3s}.study-content-area{padding:var(--space-4);justify-content:center;align-items:stretch;gap:var(--space-4);flex:1;width:100%;max-width:1200px;margin:0 auto;display:flex;overflow:hidden}.study-nav-btn{color:var(--color-text-secondary);cursor:pointer;padding:0 var(--space-4);background:0 0;border:none;justify-content:center;align-items:center;font-size:3rem;transition:all .2s;display:flex}.study-nav-btn:hover:not(.disabled){color:var(--color-accent-primary);transform:scale(1.1)}.study-nav-btn.disabled{opacity:.2;cursor:not-allowed}.study-card{padding:var(--space-6);flex-direction:column;flex:1;max-width:800px;display:flex;overflow-y:auto}.study-card-title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:600;line-height:1.3}.study-card-subtitle{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4);padding:2px 8px;font-weight:500;display:inline-block}.study-card-body{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.6}.study-card-prompt{justify-content:center;align-items:center;gap:var(--space-6);text-align:center;flex-direction:column;flex:1;display:flex}.study-card-think{font-size:var(--font-size-lg);color:var(--color-text-muted);font-style:italic}.study-reveal-btn{font-size:var(--font-size-md);padding:var(--space-4) var(--space-8);border-radius:var(--radius-lg)}.study-mobile-nav{padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px)) var(--space-4);background:var(--color-bg-secondary);border-top:1px solid var(--color-border);gap:var(--space-4);display:none}.study-empty{margin:var(--space-8) auto;padding:var(--space-8);text-align:center;max-width:400px}@media (width<=768px){.study-nav-btn{display:none}.study-mobile-nav{display:flex}.study-mobile-nav .btn{flex:1}.study-card{padding:var(--space-4)}}.audio-recorder{align-items:center;gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.audio-start-btn{width:100%;max-width:280px}.audio-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.audio-recording{border-radius:var(--radius-lg);background:#ff6b6b0f;border:1px solid #ff6b6b26}.audio-indicator{align-items:center;gap:var(--space-3);display:flex}.audio-dot{background:var(--color-accent-danger);border-radius:50%;width:12px;height:12px;animation:1.2s ease-in-out infinite pulse}.audio-duration{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-weight:700}.audio-status{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.audio-controls{gap:var(--space-2);display:flex}.audio-recorder-done{gap:var(--space-4)}.audio-playback{border-radius:var(--radius-md);width:100%;max-width:400px;height:44px}.audio-done-actions{gap:var(--space-3);display:flex}.audio-recorder-unsupported,.audio-recorder-error{text-align:center;padding:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ai-feedback{border-radius:var(--radius-lg);padding:var(--space-5);background:var(--color-bg-card);border:1px solid #ffffff0f}.ai-feedback-loading{align-items:center;gap:var(--space-3);padding:var(--space-8);color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-direction:column;display:flex}.ai-feedback-spinner{border:3px solid var(--color-bg-elevated);border-top-color:var(--color-accent-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.ai-feedback-offline,.ai-feedback-error{text-align:center;padding:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ai-feedback-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.ai-feedback-title{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:700}.ai-rating-circle{justify-content:center;align-items:baseline;gap:var(--space-1);margin-bottom:var(--space-4);display:flex}.ai-rating-number{color:var(--color-accent-primary);font-size:3rem;font-weight:700;line-height:1}.ai-rating-max{font-size:var(--font-size-lg);color:var(--color-text-muted)}.ai-scores{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.score-bar-row{align-items:center;gap:var(--space-3);display:flex}.score-bar-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex:0 0 110px;font-weight:500}.score-bar-track{background:var(--color-bg-elevated);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.score-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.score-bar-value{font-size:var(--font-size-xs);color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums;flex:0 0 32px;font-weight:600}.ai-feedback-section{margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.ai-feedback-section h4{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:600}.ai-feedback-section p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.ai-feedback-good{border-left:3px solid var(--color-accent-secondary)}.ai-feedback-improve{border-left:3px solid var(--color-accent-warning)}.category-filter{gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-4);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.category-filter::-webkit-scrollbar{display:none}.category-chip{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-tap-highlight-color:transparent;border:1px solid #ffffff0f;flex-shrink:0;font-weight:500}.category-chip:hover{background:var(--color-bg-card)}.category-chip.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.question-list{gap:var(--space-3);flex-direction:column;display:flex}.question-card{padding:var(--space-4)}.question-card-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.question-category-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.question-card-text{font-size:var(--font-size-base);color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:1.5}.question-card-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.practice-container{gap:var(--space-4);flex-direction:column;display:flex}.practice-question{text-align:center;padding:var(--space-6)}.practice-category{font-size:var(--font-size-xs);color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2);font-weight:600}.practice-question-text{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:600;line-height:1.4}.practice-input{gap:var(--space-3);flex-direction:column;display:flex}.practice-textarea{resize:vertical;min-height:140px;font-size:var(--font-size-base);line-height:1.6}.practice-submit{width:100%}.practice-reveal{gap:var(--space-4);flex-direction:column;display:flex}.practice-your-answer h3,.practice-model-answer h3{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:600}.practice-your-answer p,.practice-model-answer p{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.6}.practice-model-answer{border-left:3px solid var(--color-accent-primary)}.draft-editor{gap:var(--space-4);flex-direction:column;display:flex}.draft-question{font-size:var(--font-size-base);color:var(--color-text-primary);font-style:italic}.draft-fields{gap:var(--space-4);flex-direction:column;display:flex}.draft-field{gap:var(--space-2);flex-direction:column;display:flex}.draft-label{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600;display:flex}.draft-letter{border-radius:var(--radius-sm);background:var(--color-accent-primary);color:#fff;width:24px;height:24px;font-size:var(--font-size-xs);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.draft-textarea{resize:vertical;font-size:var(--font-size-base);line-height:1.6}.draft-stats{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:0 var(--space-1);justify-content:space-between;display:flex}.draft-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.draft-ai-btn{width:100%;margin-bottom:var(--space-2)}.ai-draft-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s ease-in-out infinite spin;display:inline-block}.draft-ai-error{color:var(--color-accent-warning);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--space-2)}.draft-assembled{gap:var(--space-2);flex-direction:column;display:flex}.draft-assembled-text{font-size:var(--font-size-base);color:var(--color-text-primary);border-left:3px solid var(--color-accent-primary);line-height:1.6}.draft-assembled-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.pitch-stats{gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.pitch-stat{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pitch-stat strong{color:var(--color-text-primary)}.pitch-editor{resize:vertical;width:100%;min-height:200px;font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.7;font-family:var(--font-family);background:0 0;border:none;outline:none}.pitch-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);padding-top:var(--space-3);border-top:1px solid #ffffff0f;justify-content:space-between;display:flex}.pitch-language-check{margin-top:var(--space-4)}.pitch-lang-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:600}.pitch-lang-row{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.pitch-lang-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0;padding-top:2px}.pitch-lang-words{gap:var(--space-1);flex-wrap:wrap;display:flex}.pitch-lang-word{font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:2px 8px;font-weight:500}.pitch-lang-word.found{color:var(--color-accent-secondary);background:#00cec926}.pitch-lang-word.missing{background:var(--color-bg-elevated);color:var(--color-text-muted)}.pitch-lang-word.banned{color:var(--color-accent-danger);background:#ff6b6b26}.pitch-difficulty{margin-top:var(--space-4);align-items:center;gap:var(--space-3);display:flex}.pitch-diff-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-shrink:0}.pitch-diff-options{gap:var(--space-2);display:flex}.pitch-actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.pitch-actions .btn{flex:1}.pitch-prompt{text-align:center;padding:var(--space-6)}.pitch-difficulty-label{font-size:var(--font-size-xs);color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2);font-weight:600}.pitch-chunked-text{font-size:var(--font-size-lg);color:var(--color-text-primary);white-space:pre-wrap;line-height:1.6}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-state-icon{margin-bottom:var(--space-2);font-size:3rem;line-height:1}.empty-state-title{font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:600}.empty-state-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:280px;line-height:1.5}.empty-state-action{margin-top:var(--space-4)}.resume-form{gap:var(--space-4);flex-direction:column;display:flex}.resume-form-actions{gap:var(--space-3);padding-top:var(--space-4);align-items:center;display:flex}.flashcard{perspective:1000px;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:200px}.flashcard-inner{width:100%;min-height:200px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-face{backface-visibility:hidden;border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.flashcard-front{background:var(--color-bg-card);box-shadow:var(--shadow-card);border:1px solid #ffffff0f}.flashcard-back{background:var(--color-bg-elevated);box-shadow:var(--shadow-elevated);border:1px solid #ffffff14;transform:rotateY(180deg)}.culture-overview{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.culture-overview-stat{align-items:baseline;gap:var(--space-2);display:flex}.culture-overview-number{font-size:var(--font-size-3xl);color:var(--color-text-primary);font-weight:700}.culture-overview-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.culture-progress-bar{background:var(--color-bg-elevated);border-radius:var(--radius-full);height:4px;margin-bottom:var(--space-4);overflow:hidden}.culture-progress-fill{background:var(--color-accent-primary);border-radius:var(--radius-full);height:100%;transition:width .3s}.culture-card-type{text-align:center;margin-bottom:var(--space-4)}.flashcard-front-text{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-3);font-weight:700}.flashcard-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.flashcard-back-text{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.6}.culture-rating{margin-top:var(--space-6)}.culture-rating-label{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.culture-rating-buttons{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.culture-rate-btn{font-size:var(--font-size-sm)!important}.culture-card-list{gap:var(--space-3);flex-direction:column;display:flex}.qbank-overview{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.qbank-category{margin-bottom:var(--space-4)}.qbank-category-title{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2);padding-left:var(--space-1);font-weight:600}.qbank-card{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.qbank-card-row{align-items:flex-start;gap:var(--space-3);display:flex}.qbank-status-btn{background:var(--color-bg-elevated);border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.qbank-status-btn:hover{transform:scale(1.1)}.qbank-card-content{cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1}.qbank-question-text{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:1.4}.qbank-notes{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid #ffffff0f}.qbank-notes-input{width:100%;font-size:var(--font-size-sm);resize:vertical}.qbank-tip{margin-top:var(--space-6)}.mock-setup{gap:var(--space-4);flex-direction:column;display:flex}.mock-setup-section{padding:var(--space-5)}.mock-setup-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:600}.mock-mode-options{gap:var(--space-3);flex-direction:column;display:flex}.mock-mode-btn{align-items:flex-start;gap:var(--space-1);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent;border:2px solid #0000;flex-direction:column;display:flex}.mock-mode-btn.active{border-color:var(--color-accent-primary);background:#6c5ce714}.mock-mode-btn:hover:not(.active){border-color:#ffffff1a}.mock-mode-icon{margin-bottom:var(--space-1);font-size:1.5rem}.mock-mode-label{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:600}.mock-mode-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.mock-expect-list{gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-direction:column;padding:0;list-style:none;display:flex}.mock-start-btn{width:100%;padding:var(--space-4)!important;font-size:var(--font-size-base)!important}.mock-interview-screen{height:calc(100vh - 80px);margin:calc(-1 * var(--space-4));margin-top:calc(-1 * var(--space-6));flex-direction:column;display:flex}.mock-header{padding:var(--space-4) var(--space-4) 0}.mock-header .timer{padding:0}.mock-header .timer-ring{width:48px;height:48px}.mock-header .timer-digits{font-size:var(--font-size-sm)}.mock-header .timer-label{display:none}.mock-chat{padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.mock-bubble{gap:var(--space-2);max-width:85%;display:flex}.mock-bubble.assistant{align-self:flex-start}.mock-bubble.user{flex-direction:row-reverse;align-self:flex-end}.mock-bubble-avatar{flex-shrink:0;padding-top:4px;font-size:1.25rem}.mock-bubble-content{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.6}.mock-bubble.assistant .mock-bubble-content{background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid #ffffff0f}.mock-bubble.user .mock-bubble-content{background:var(--color-accent-primary);color:#fff}.mock-typing{align-items:center;gap:4px;display:flex;padding:var(--space-3) var(--space-4)!important}.mock-typing span{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s infinite typingDot}.mock-typing span:nth-child(2){animation-delay:.2s}.mock-typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.mock-input-bar{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom));background:var(--color-bg-secondary);border-top:1px solid #ffffff0f}.mock-transcribing{text-align:center;font-size:var(--font-size-xs);color:var(--color-accent-primary);margin-bottom:var(--space-2)}.mock-input-row{gap:var(--space-2);align-items:flex-end;display:flex}.mock-input{resize:none;min-height:44px;max-height:120px;font-size:var(--font-size-sm);flex:1}.mock-send-btn{flex-shrink:0;width:44px;height:44px;min-height:44px;font-size:var(--font-size-lg)!important;padding:0!important}.mock-input-actions{margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.mock-input-actions .audio-recorder{flex-direction:row;padding:0}.mock-input-actions .audio-start-btn{width:auto;max-width:none;min-height:36px;padding:var(--space-2) var(--space-3)!important;font-size:var(--font-size-xs)!important}.mock-summary{text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.mock-summary-emoji{font-size:4rem;line-height:1}.mock-summary-title{font-size:var(--font-size-xl);color:var(--color-text-primary);font-weight:700}.mock-summary-stats{gap:var(--space-3);width:100%;display:flex}.mock-stat{align-items:center;gap:var(--space-1);padding:var(--space-4);flex-direction:column;flex:1;display:flex}.mock-stat-number{font-size:var(--font-size-3xl);color:var(--color-text-primary);font-weight:700}.mock-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.mock-transcript-preview{text-align:left;width:100%}.mock-transcript-scroll{gap:var(--space-2);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}.mock-transcript-msg{gap:var(--space-2);font-size:var(--font-size-sm);line-height:1.5;display:flex}.mock-transcript-msg.assistant{color:var(--color-text-secondary)}.mock-transcript-msg.user{color:var(--color-text-primary)}.mock-transcript-role{flex-shrink:0}.mock-summary-actions{gap:var(--space-3);width:100%;display:flex}.mock-summary-actions .btn{flex:1}.settings-section{margin-bottom:var(--space-4)}.settings-section-title{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--space-3);font-weight:600}.settings-input{width:100%;margin-bottom:var(--space-2)}.settings-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-2);line-height:1.5}.settings-stat{font-size:var(--font-size-base);color:var(--color-text-primary);margin-bottom:var(--space-3)}.settings-stat strong{color:var(--color-accent-primary)}.settings-save-btn{width:100%;margin-top:var(--space-4)}.settings-about{text-align:center;padding:var(--space-8) 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.settings-about p{margin-bottom:var(--space-1)}:root{--color-bg-primary:#0a0a0f;--color-bg-secondary:#12121a;--color-bg-card:#1a1a26;--color-bg-elevated:#223;--color-surface-glass:#ffffff0a;--color-text-primary:#f0f0f5;--color-text-secondary:#8888a0;--color-text-muted:#55556a;--color-accent-primary:#6c5ce7;--color-accent-secondary:#00cec9;--color-accent-warning:#fdcb6e;--color-accent-danger:#ff6b6b;--color-accent-info:#74b9ff;--font-family:"Inter", -apple-system, system-ui, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-card:0 4px 24px #0000004d;--shadow-elevated:0 8px 32px #0006;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:light){:root{--color-bg-primary:#f8f8fc;--color-bg-secondary:#fff;--color-bg-card:#fff;--color-bg-elevated:#f0f0f5;--color-surface-glass:#00000008;--color-text-primary:#1a1a2e;--color-text-secondary:#666680;--color-text-muted:#9999ad;--shadow-card:0 4px 24px #00000014;--shadow-elevated:0 8px 32px #0000001f}}*,:before,:after{box-sizing:border-box}*{touch-action:manipulation;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}img,picture,video,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1a}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}::selection{background:var(--color-accent-primary);color:#fff}input,textarea{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #ffffff14}input{min-height:44px}input:focus,textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #6c5ce740}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.glass-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff0f}.glass-card-elevated{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff0f}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;min-height:44px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-accent-primary);color:#fff}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{transform:scale(.97)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid #ffffff1a}.btn-secondary:hover{filter:brightness(1.1)}.btn-secondary:active{transform:scale(.97)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-surface-glass)}.btn-ghost:active{transform:scale(.97)}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;padding:2px 10px;display:inline-flex}.badge-danger{color:var(--color-accent-danger);background:#ff6b6b26}.badge-warning{color:var(--color-accent-warning);background:#fdcb6e26}.badge-success{color:var(--color-accent-secondary);background:#00cec926}.badge-info{color:var(--color-accent-info);background:#74b9ff26}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.4s cubic-bezier(.4,0,.2,1) both fadeIn}.animate-slide-up{animation:.4s cubic-bezier(.4,0,.2,1) both slideUp}.animate-slide-down{animation:.4s cubic-bezier(.4,0,.2,1) both slideDown}.animate-pulse{animation:.4s cubic-bezier(.4,0,.2,1) pulse}
