.landing{min-height:100vh}.nav{padding:1.5rem 0;border-bottom:1px solid var(--border)}.logo{font-size:1.5rem;font-weight:700}.hero{padding:6rem 0;text-align:center}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem}.gradient-text{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.btn-large{padding:1rem 2.5rem;font-size:1.125rem}.features{padding:6rem 0;background:var(--surface)}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature-card{text-align:center;padding:2rem}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;margin-bottom:1rem}.feature-card p{color:var(--text-secondary);line-height:1.6}.levels{padding:6rem 0}.level-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.level-card{background:var(--surface);border:2px solid var(--border);border-radius:1rem;padding:2rem;text-align:center;transition:all .3s}.level-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 8px 24px #2563eb33}.level-number{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1rem}.level-card h3{font-size:1.25rem;margin-bottom:.5rem}.level-card p{color:var(--text-secondary);font-size:.875rem}.cta{padding:6rem 0;text-align:center;background:linear-gradient(135deg,#2563eb1a,#10b9811a)}.cta h2{font-size:2.5rem;margin-bottom:1rem}.cta p{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem}.footer{padding:2rem 0;text-align:center;border-top:1px solid var(--border);color:var(--text-secondary)}@media(max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1rem}.section-title{font-size:2rem}}.onboarding{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.onboarding-container{max-width:600px;width:100%;background:var(--surface);border-radius:1rem;padding:3rem;border:1px solid var(--border)}.progress-bar{height:4px;background:var(--surface-light);border-radius:2px;margin-bottom:2rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .3s ease}.onboarding-title{font-size:2rem;margin-bottom:.5rem;text-align:center}.onboarding-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem}.step h2{font-size:1.5rem;margin-bottom:1rem}.step-description{color:var(--text-secondary);margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--surface-light);border-radius:.5rem;cursor:pointer;transition:all .2s}.checkbox-label:hover{background:var(--border)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.button-group{display:flex;gap:1rem;margin-top:2rem}.button-group .btn{flex:1}@media(max-width:640px){.onboarding-container{padding:2rem}.checkbox-grid{grid-template-columns:1fr}}.navigation{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;gap:2rem}.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text);font-weight:700;font-size:1.125rem;flex-shrink:0}.logo-icon{font-size:1.5rem}.logo-text{display:inline}.nav-links{display:flex;align-items:center;gap:1.5rem;flex:1;justify-content:center}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .2s;background:none;border:none;cursor:pointer;font-size:1rem;padding:.5rem 1rem;border-radius:.5rem}.nav-link:hover{color:var(--primary);background:var(--surface-light)}.logout-btn{color:var(--error)}.logout-btn:hover{background:#ef44441a}.nav-user{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.user-name{color:var(--text);font-weight:500;display:inline}@media(max-width:768px){.nav-content{padding:.75rem 1rem;gap:1rem}.logo-text{display:none}.nav-links{gap:.5rem}.nav-link{padding:.5rem .75rem;font-size:.875rem}.user-name{display:none}}@media(max-width:375px){.nav-content{gap:.5rem}.nav-links{gap:.25rem}.nav-link{padding:.5rem;font-size:.8125rem}.user-avatar{width:32px;height:32px;font-size:.875rem}}.dashboard{min-height:100vh;background:var(--background)}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;padding:1rem;text-align:center}.dashboard-header{background:linear-gradient(135deg,var(--surface) 0%,var(--background) 100%);border-bottom:1px solid var(--border);padding:2rem 0}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.header-text h1{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:.5rem;color:var(--text)}.header-text p{color:var(--text-secondary);font-size:clamp(.875rem,2vw,1rem)}.dashboard-content{padding-top:2rem;padding-bottom:4rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.stat-icon{font-size:2rem;flex-shrink:0}.stat-info{flex:1;min-width:0}.stat-value{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--primary);line-height:1}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.current-progress{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;margin-bottom:2rem}.current-progress h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text)}.progress-overview{display:flex;flex-direction:column;gap:.75rem}.progress-bar-container{height:12px;background:var(--surface-light);border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:6px;transition:width .5s ease}.progress-text{font-size:.875rem;color:var(--text-secondary)}.levels-section{margin-bottom:2rem}.levels-section h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text)}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.5rem}.level-card{background:var(--surface);border:2px solid var(--border);border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.level-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--level-color, var(--primary));opacity:0;transition:opacity .3s}.level-card:hover:before{opacity:1}.level-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0006;border-color:var(--level-color, var(--primary))}.level-card.locked{opacity:.6;cursor:not-allowed}.level-card.locked:hover{transform:none;box-shadow:none;border-color:var(--border)}.level-card.completed{border-color:var(--success)}.level-card.current{border-color:var(--level-color, var(--primary));box-shadow:0 0 0 3px #2563eb1a}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.level-icon{font-size:2.5rem}.level-badge{font-size:.75rem;padding:.25rem .75rem;background:var(--surface-light);border-radius:1rem;color:var(--text-secondary);font-weight:600}.level-card.completed .level-badge{background:var(--success);color:#fff}.level-card.current .level-badge{background:var(--level-color, var(--primary));color:#fff}.level-name{font-size:1.25rem;margin-bottom:.5rem;color:var(--text)}.level-description{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.level-progress{margin-top:1rem}.level-progress-bar{height:6px;background:var(--surface-light);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.level-progress-fill{height:100%;background:var(--level-color, var(--primary));border-radius:3px;transition:width .5s ease}.level-progress-text{font-size:.75rem;color:var(--text-secondary)}.level-action-btn{width:100%;margin-top:1rem;padding:.75rem;background:var(--level-color, var(--primary));color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.level-action-btn:hover{opacity:.9;transform:translateY(-2px)}.quick-actions{margin-top:2rem}.quick-actions h2{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text)}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.action-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s;text-align:left}.action-card:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;border-color:var(--primary)}.action-card:disabled{opacity:.5;cursor:not-allowed}.action-icon{font-size:2rem;flex-shrink:0}.action-text{flex:1;min-width:0}.action-text h3{font-size:1rem;margin-bottom:.25rem;color:var(--text)}.action-text p{font-size:.875rem;color:var(--text-secondary)}@media(max-width:640px){.dashboard-header{padding:1.5rem 0}.header-content{flex-direction:column;align-items:flex-start}.header-content .btn{width:100%;justify-content:center}.stats-grid,.levels-grid,.actions-grid{grid-template-columns:1fr}.current-progress,.levels-section,.quick-actions{padding:1rem}}@media(max-width:375px){.container{padding:0 1rem}.stat-card,.level-card,.action-card{padding:1rem}.stat-icon,.level-icon,.action-icon{font-size:1.5rem}}.scenario-container{min-height:100vh;padding:2rem;display:flex;justify-content:center;align-items:flex-start}.scenario-card{max-width:900px;width:100%;background:var(--surface);border-radius:1rem;padding:2.5rem;border:1px solid var(--border)}.scenario-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.scenario-header h1{font-size:1.75rem}.scenario-content h2{font-size:1.25rem;margin-bottom:1rem;color:var(--primary)}.scenario-content h3{font-size:1.125rem;margin:2rem 0 1rem}.scenario-text{background:var(--surface-light);padding:1.5rem;border-radius:.5rem;border-left:4px solid var(--primary);line-height:1.8;font-size:1.05rem}.response-input{width:100%;padding:1rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface-light);color:var(--text);font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:1rem}.response-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.feedback-section{margin-top:2rem}.score-badge{display:inline-block;padding:.75rem 1.5rem;border-radius:2rem;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.score-badge.pass{background:#10b98133;color:var(--success);border:2px solid var(--success)}.score-badge.fail{background:#ef444433;color:var(--error);border:2px solid var(--error)}.feedback-card{background:var(--surface-light);padding:1.5rem;border-radius:.5rem;margin-bottom:1rem}.feedback-card h3,.feedback-card h4{margin-bottom:.75rem}.feedback-card ul{margin-left:1.5rem;line-height:1.8}.feedback-card li{margin-bottom:.5rem}.success-card{border-left:4px solid var(--success)}.improvement-card{border-left:4px solid #f59e0b}@media(max-width:768px){.scenario-container{padding:1rem}.scenario-card{padding:1.5rem}.scenario-header{flex-direction:column;gap:1rem;align-items:flex-start}.scenario-header h1{font-size:1.5rem}.scenario-header .btn{width:100%}.scenario-text{padding:1rem;font-size:1rem}}@media(max-width:375px){.scenario-container{padding:.75rem}.scenario-card{padding:1rem}.scenario-content h2{font-size:1.125rem}.scenario-content h3{font-size:1rem}.feedback-card{padding:1rem}.score-badge{font-size:1rem;padding:.5rem 1rem}}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--secondary: #10b981;--background: #0f172a;--surface: #1e293b;--surface-light: #334155;--text: #f1f5f9;--text-secondary: #cbd5e1;--border: #475569;--error: #ef4444;--success: #10b981}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.btn{padding:.75rem 1.5rem;border-radius:.5rem;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.btn-secondary{background:var(--surface-light);color:var(--text)}.btn-secondary:hover{background:var(--border)}.card{background:var(--surface);border-radius:1rem;padding:2rem;border:1px solid var(--border)}.input{width:100%;padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface-light);color:var(--text);font-size:1rem;transition:all .2s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.error{color:var(--error);font-size:.875rem;margin-top:.5rem}.success{color:var(--success);font-size:.875rem;margin-top:.5rem}.spinner{border:3px solid var(--surface-light);border-top:3px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
