.button{border-radius:999px;padding:8px 18px;border:1px solid transparent;cursor:pointer;font-weight:var(--font-weight-bold);font-family:var(--font-heading);font-size:inherit;transition:all .2s ease}.button:disabled{opacity:.4;cursor:not-allowed}.button-primary{background:var(--accent);color:#fff;border-color:#e5091499}.button-primary:hover:not(:disabled){filter:brightness(1.1)}.button-primary:active:not(:disabled){transform:translateY(1px)}.button-ghost{background:transparent;color:var(--text);border-color:var(--panel-border)}.button-ghost:hover:not(:disabled){background:var(--panel)}.button-ghost:active:not(:disabled){transform:translateY(1px)}.button-icon{width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--panel-border);background:var(--panel-strong);display:inline-flex;align-items:center;justify-content:center;font-size:18px}.button-icon:hover:not(:disabled){background:var(--panel);transform:scale(1.05)}.button-icon:active:not(:disabled){transform:scale(.95)}.button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.button{transition-duration:.01ms!important}.button:hover:not(:disabled),.button:active:not(:disabled){transform:none!important}}.theme-toggle{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:10px 16px;background:var(--panel);border:1px solid var(--panel-border);color:var(--text);cursor:pointer;box-shadow:0 18px 36px #00000040;font-weight:var(--font-weight-bold);font-family:var(--font-heading);transition:all .2s ease}.theme-toggle:hover{background:var(--panel-strong);transform:translateY(-1px);box-shadow:0 20px 40px #0000004d}.theme-toggle:active{transform:translateY(0)}.theme-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.theme-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--accent-soft);font-size:14px}.theme-toggle-label{white-space:nowrap}.theme-toggle.compact{padding:10px;width:44px;height:44px;justify-content:center}.theme-toggle.compact .theme-toggle-label{display:none}@media(prefers-reduced-motion:reduce){.theme-toggle{transition-duration:.01ms!important}.theme-toggle:hover,.theme-toggle:active{transform:none!important}}.landing-page{min-height:100vh;display:flex;flex-direction:column}.app-loading-bar{position:fixed;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(to right,transparent,#e50914,transparent);animation:loading-bar-move 1.5s infinite linear;z-index:2000}@keyframes loading-bar-move{0%{transform:translate(0)}to{transform:translate(200%)}}.app-loading-bar.hidden{display:none}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:20px 6vw;border-bottom:1px solid var(--panel-border);background:var(--panel)}.logo h1{font-size:20px;margin:0}.utility-nav{display:flex;gap:12px;align-items:center}.user-email{font-size:14px;color:var(--muted)}.landing-content{flex:1;padding:80px 6vw}.landing-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;margin-bottom:100px}.hero-content h2{font-size:clamp(36px,5vw,56px);margin:0 0 20px;line-height:1.1}.hero-subtitle{font-size:18px;color:var(--muted);margin:0 0 36px;line-height:1.6}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.hero-actions .cta-primary{padding:18px 48px;font-size:20px;font-weight:var(--font-weight-bold);font-family:var(--font-heading);border-radius:999px;box-shadow:0 20px 40px #e509144d;position:relative;overflow:hidden}.hero-actions .cta-primary:hover{transform:translateY(-2px);box-shadow:0 24px 48px #e5091466}.hero-actions .cta-primary:active{transform:translateY(0)}.hero-actions .cta-primary:before{content:"";position:absolute;inset:0;border-radius:inherit;animation:pulse-ring 2s infinite;opacity:0;pointer-events:none}@keyframes pulse-ring{0%{box-shadow:0 0 #e50914b3;opacity:1}to{box-shadow:0 0 0 20px #e5091400;opacity:0}}.assessment-preview{background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:24px}.preview-section{display:flex;gap:16px;align-items:flex-start}.preview-icon{font-size:32px;flex-shrink:0}.preview-text strong{display:block;margin-bottom:4px;font-size:16px}.preview-text p{margin:0;font-size:14px;color:var(--muted)}.landing-features{text-align:center}.landing-features h3{font-size:32px;margin:0 0 48px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}.feature-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;padding:32px;text-align:center}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h4{margin:0 0 12px;font-size:20px}.feature-card p{margin:0;color:var(--muted);line-height:1.5}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--panel);border:1px solid var(--panel-border);border-radius:20px;padding:32px;max-width:400px;width:90%}.modal-content h3{margin:0 0 8px}.modal-content p{margin:0 0 24px;color:var(--muted)}.modal-actions{display:flex;flex-direction:column;gap:12px}@media(max-width:900px){.landing-hero{grid-template-columns:1fr}.hero-content{text-align:center}.hero-actions{justify-content:center}.hero-actions .cta-primary{width:100%;max-width:400px}}@media(prefers-reduced-motion:reduce){.hero-actions .cta-primary:before{animation:none}.hero-actions .cta-primary:hover,.hero-actions .cta-primary:active{transform:none}}.app{display:flex;flex-direction:column;min-height:100vh}.loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--muted)}.loading-spinner{font-size:18px;animation:pulse 1.5s ease-in-out infinite;will-change:opacity;transform:translateZ(0)}@keyframes pulse{0%,to{opacity:1;transform:translateZ(0)}50%{opacity:.5;transform:translateZ(0)}}.primary{color:var(--accent)}.foreground{color:var(--text)}.background{color:var(--bg)}.muted{color:var(--muted)}.panel{background:var(--panel)}.panel-hover{background:var(--panel-strong)}.panel-border{border-color:var(--panel-border)}.primary-fade{background:var(--accent-soft)}.error{color:#f31260}.error-fade{background:#f312601a}.animated{will-change:transform,opacity;transform:translateZ(0)}.animated-complete{will-change:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.loading-spinner{animation:none;will-change:auto}}:root{color-scheme:dark;font-family:var(--font-body);line-height:1.5;font-weight:var(--font-weight-regular);--bg: #0b0b0c;--bg-accent: #141418;--panel: #151519;--panel-strong: #1a1a20;--panel-border: #26262d;--muted: #8f9099;--text: #f7f7fa;--accent: #e50914;--accent-soft: rgba(229, 9, 20, .2);--green: #17c964;--yellow: #f5a524;--font-heading: "Poppins", "Helvetica Neue", sans-serif;--font-body: "Roboto", "Helvetica Neue", sans-serif;--font-weight-regular: 400;--font-weight-bold: 900}*{box-sizing:border-box}body{font-family:var(--font-body);margin:0;background:radial-gradient(circle at top left,rgba(229,9,20,.12),transparent 45%),radial-gradient(circle at 70% 20%,rgba(255,255,255,.04),transparent 50%),linear-gradient(140deg,var(--bg) 10%,var(--bg-accent) 60%);color:var(--text);min-height:100vh}body.theme-light{color-scheme:light;--bg: #f5f4f2;--bg-accent: #ffffff;--panel: #ffffff;--panel-strong: #f2f1ee;--panel-border: #dedbd6;--muted: #5f5f66;--text: #141418;--accent: #d4000b;--accent-soft: rgba(212, 0, 11, .12)}body.theme-light{background:radial-gradient(circle at top left,rgba(212,0,11,.08),transparent 45%),radial-gradient(circle at 70% 20%,rgba(0,0,0,.04),transparent 50%),linear-gradient(140deg,var(--bg) 10%,var(--bg-accent) 70%)}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;opacity:.25;pointer-events:none;z-index:-1}body.theme-light:before{background-image:radial-gradient(rgba(0,0,0,.06) 1px,transparent 1px);opacity:.18}#root{min-height:100vh}h1,h2,h3,h4,h5,h6,.score-total{font-family:var(--font-heading)}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}
