:root{--bg: #0a0a0a;--text: #f5f5f5;--text-secondary: #888888;--accent: #e8e0d5;--border: #1f1f1f;--input-bg: #111111;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--text);text-decoration:none}button{font-family:var(--font);cursor:pointer}::selection{background:var(--accent);color:var(--bg)}.page-fade{animation:fadeIn .5s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:28px 40px;transition:background .3s ease}.navbar-logo{display:inline-flex;align-items:center;font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--text)}.navbar-logo-img{display:block;height:44px;width:auto;filter:brightness(0) invert(1)}.navbar-link{font-size:15px;font-weight:400;color:var(--text-secondary);letter-spacing:.02em;transition:color .2s ease}.navbar-link:hover{color:var(--text)}.navbar-actions{display:flex;align-items:center;gap:12px}.navbar.navbar-on-light .navbar-logo,.navbar.navbar-on-light .navbar-link{color:#0a0a0a}.navbar.navbar-on-light .navbar-link:hover{color:#000}.navbar.navbar-on-light .btn-signin{background:#0a0a0a0d;border-color:#0a0a0a1f;color:#0a0a0a}.navbar.navbar-on-light .btn-signin:hover{background:#0a0a0a14;border-color:#0a0a0a33}.navbar.navbar-on-light .btn-signup{background:#0a0a0a;color:#fff}.navbar.navbar-on-light .btn-signup:hover{background:#1a1a1a}.navbar.navbar-on-light .navbar-profile-btn{color:#0a0a0a;background:#0a0a0a0d;border-color:#0a0a0a26}.navbar.navbar-on-light .navbar-profile-btn:hover{background:#0a0a0a14;border-color:#0a0a0a40}.navbar-start{display:inline-flex;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.navbar-profile-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:10px;font-size:15px;font-weight:500;letter-spacing:.02em;color:var(--text);background:#e8e0d51f;border:1px solid rgba(232,224,213,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s ease,border-color .2s ease}.navbar-profile-btn:hover{background:#e8e0d533;border-color:#e8e0d599}.landing-wrap{position:relative}.landing{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;overflow:hidden}.landing-media{position:absolute;top:0;left:0;right:0;height:120vh;height:120dvh;z-index:-1;overflow:hidden}.landing-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg)}.landing-bg:after{content:"";position:absolute;left:50%;top:50%;width:140vmax;height:140vmax;transform:translate(-50%,-50%);background:radial-gradient(circle at center,rgba(232,224,213,.05) 0%,rgba(232,224,213,.02) 30%,transparent 60%);animation:pulse 9s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(.9)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.landing-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top}.landing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c}.landing-headline{font-size:clamp(48px,9vw,96px);font-weight:700;line-height:1.02;letter-spacing:.015em;max-width:14ch}.landing-sub{margin-top:28px;font-size:clamp(16px,2vw,19px);color:var(--text-secondary);max-width:44ch}.landing-ctas{margin-top:40px;display:flex;align-items:center;justify-content:center}.landing-proof{position:absolute;bottom:36px;left:0;right:0;text-align:center;font-size:13px;letter-spacing:.06em;color:var(--text-secondary);padding:0 24px}.landing-scroll-space{height:110px;background:transparent}.landing-footer{position:fixed;bottom:0;left:0;right:0;z-index:90;height:100vh;height:100dvh;pointer-events:none;opacity:0;transform:translateY(100%);transition:opacity .3s ease-out,transform .3s ease-out}.landing-footer.visible{opacity:1;transform:translateY(0)}.landing-footer-gradient{position:absolute;bottom:0;left:0;width:100%;height:100vh;height:100dvh;z-index:1;background:linear-gradient(to bottom,#0a0a0a00,#0a0a0a66 50%,#0a0a0ad9,#0a0a0a)}.landing-footer-content{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 40px 24px;pointer-events:auto}.landing-footer-wordmark-img{display:block;height:28px;width:auto;opacity:.9;mix-blend-mode:screen}.landing-footer-links{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-secondary);letter-spacing:.03em}.landing-footer-links a{color:var(--text-secondary);transition:color .2s ease}.landing-footer-links a:hover{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0000008c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:modalBackdropIn .22s ease-out both}.modal-card{position:relative;width:100%;max-width:500px;max-height:88vh;overflow-y:auto;overflow-x:hidden;background:#0f0f0f;border:1px solid var(--border);border-radius:20px;padding:44px 36px;text-align:center;animation:modalCardIn .26s cubic-bezier(.16,1,.3,1) both}.grecaptcha-badge{visibility:hidden}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:20px;line-height:1;transition:background .2s ease,color .2s ease}.modal-close:hover{background:#ffffff14;color:var(--text)}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalCardIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.theme-light{background:#fff;color:#0a0a0a}.theme-light .modal-close{border-color:#e7e2d9;color:#9a9284}.theme-light .modal-close:hover{background:#0a0a0a0f;color:#0a0a0a}.theme-light .heading,.theme-light a{color:#0a0a0a}.theme-light .subheading,.theme-light .hint,.theme-light .divider,.theme-light .loading-screen,.theme-light .btn-ghost{color:#6b6b6b}.theme-light .btn-ghost:hover{color:#0a0a0a}.theme-light .input,.theme-light .textarea,.theme-light .input-prefix,.theme-light .code-display{background:#faf9f7;border-color:#e7e2d9;color:#0a0a0a}.theme-light .input-prefix,.theme-light .code-display .code-label,.theme-light .sms-number-label{color:#9a9284}.theme-light .input::placeholder,.theme-light .textarea::placeholder{color:#b5ada0}.theme-light .input:focus,.theme-light .textarea:focus{border-color:#0a0a0a}.theme-light .code-display .code{color:#0a0a0a}.theme-light .divider:before,.theme-light .divider:after{background:#e7e2d9}.theme-light .btn{border-color:#e7e2d9;color:#0a0a0a}.theme-light .btn:hover{border-color:#c9c2b4}.theme-light .btn-primary{background:#0a0a0a;border-color:#0a0a0a;color:#fff}.theme-light .btn-primary:hover{background:#1a1a1a;border-color:#1a1a1a}.theme-light .error{color:#b23b3b}.start-modal-box{display:block;width:100%;text-align:left;margin-top:20px;padding:16px 18px;background:#faf9f7;border:1px solid #e7e2d9;border-radius:12px;transition:border-color .2s ease,background .2s ease}.start-modal-box:hover{border-color:var(--accent)}.start-modal-box-locked{cursor:default;opacity:.55}.start-modal-box-label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9a9284;margin-bottom:6px}.start-modal-box-value{display:block;font-size:17px;font-weight:600;color:#0a0a0a;word-break:break-word}.start-modal-box-action{display:block;margin-top:8px;font-size:12px;letter-spacing:.03em;color:#a8a196}.start-modal-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:28px;padding:16px 24px;border:none;border-radius:999px;background:#0a0a0a;color:#fff;font-size:16px;font-weight:600;transition:background .2s ease}.start-modal-cta:hover{background:#1a1a1a}.start-modal-cta-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#34c759;flex-shrink:0}.btn-hero{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:10px;font-size:15px;font-weight:500;letter-spacing:.02em;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.btn-signin{padding:10px 20px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-signin:hover{background:#ffffff24;border-color:#ffffff40}.btn-signup{padding:10px 20px;background:#f5f5f5;color:#0a0a0a}.btn-signup:hover{background:#fff}.btn-start{padding:15px 34px;background:#f5f5f5;color:#0a0a0a;font-size:19px;font-weight:600}.btn-start:hover{background:#fff}.btn-start-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#34c759;flex-shrink:0}.btn-start-sm{padding:10px 20px;font-size:14px}.btn-start-sm .btn-start-icon{width:15px;height:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:500;letter-spacing:.03em;border-radius:2px;border:1px solid var(--border);background:transparent;color:var(--text);transition:border-color .2s ease,background .2s ease,color .2s ease,opacity .2s ease}.btn:hover{border-color:var(--text-secondary)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.btn-primary:hover{background:#f2ece2;border-color:#f2ece2}.btn-block{width:100%}.btn-ghost{border:none;background:none;color:var(--text-secondary);padding:8px;font-size:14px}.btn-ghost:hover{color:var(--text)}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 24px 64px}.card{width:100%;max-width:420px;text-align:center}.card-wide{max-width:560px;text-align:left}.legal-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:120px 24px 80px}.legal-card{width:100%;max-width:720px;text-align:left}.legal-card .heading{font-size:clamp(32px,5vw,44px)}.legal-updated{margin-top:10px;color:var(--text-secondary);font-size:14px}.legal-card h2{margin-top:44px;font-size:21px;font-weight:600;letter-spacing:.01em}.legal-card p{margin-top:16px;color:var(--text-secondary);font-size:16px;line-height:1.75}.legal-card ul{margin-top:16px;padding-left:22px;color:var(--text-secondary);font-size:16px;line-height:1.75}.legal-card li{margin-top:8px}.legal-card a{color:var(--accent);text-decoration:underline}.page-footer{width:100%;max-width:720px;margin-top:64px;padding-top:24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.page-footer-wordmark-img{display:block;height:20px;width:auto;opacity:.9;mix-blend-mode:screen}.page-footer-links{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-secondary)}.page-footer-links a{color:var(--text-secondary);transition:color .2s ease}.page-footer-links a:hover{color:var(--text)}.heading{font-size:clamp(34px,5vw,48px);font-weight:700;letter-spacing:.015em;line-height:1.1}.subheading{margin-top:14px;color:var(--text-secondary);font-size:16px}.field{margin-top:28px;text-align:left}.field label{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.input,.textarea{width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:2px;color:var(--text);font-family:var(--font);font-size:16px;padding:14px 16px;outline:none;transition:border-color .2s ease}.input:focus,.textarea:focus{border-color:var(--accent)}.input::placeholder,.textarea::placeholder{color:#555}.textarea{resize:vertical;min-height:110px}.input-group{display:flex;align-items:stretch}.input-prefix{display:flex;align-items:center;padding:0 16px;background:var(--input-bg);border:1px solid var(--border);border-right:none;border-radius:2px 0 0 2px;color:var(--text-secondary);font-size:16px;white-space:nowrap}.input-group .input{border-radius:0 2px 2px 0}.code-input{text-align:center;font-size:26px;letter-spacing:.5em;font-weight:600;padding-left:calc(16px + .5em)}.error{margin-top:16px;color:#d99a9a;font-size:14px;text-align:left}.hint{margin-top:16px;font-size:13px;color:var(--text-secondary)}.modal-disclaimer a,.recaptcha-disclaimer a{text-decoration:underline}.recaptcha-disclaimer{font-size:12px;line-height:1.5}.modal-disclaimer{font-size:12px;line-height:1.5;margin-top:20px}.code-display{margin-top:40px;padding:32px 24px;background:var(--input-bg);border:1px solid var(--border);border-radius:2px}.code-display .code{font-size:clamp(28px,6.5vw,44px);font-weight:700;letter-spacing:.25em;padding-left:.25em;color:var(--accent)}.code-display .code-label{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:14px}.sms-number{margin-top:28px;font-size:22px;font-weight:600;letter-spacing:.04em}.sms-number-label{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:10px 18px;font-size:14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);letter-spacing:.02em;transition:border-color .2s ease,background .2s ease,color .2s ease}.chip:hover{border-color:var(--text-secondary);color:var(--text)}.chip.selected{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:500}.readonly-value{width:100%;background:transparent;border:1px dashed var(--border);border-radius:2px;color:var(--text-secondary);font-size:16px;padding:14px 16px}.profile-actions{margin-top:40px;display:flex;flex-direction:column;gap:14px}.save-status{margin-top:14px;font-size:14px;color:var(--accent);text-align:center;min-height:20px}.divider{display:flex;align-items:center;gap:16px;margin:32px 0 0;color:var(--text-secondary);font-size:13px;letter-spacing:.06em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.assessment-section{margin-top:48px;padding-top:40px;border-top:1px solid var(--border)}.assessment-heading{font-size:20px;font-weight:700;letter-spacing:.01em}.assessment-scale-note{margin-top:10px;font-size:13px;color:var(--text-secondary)}.assessment-progress{margin-top:6px;font-size:13px;color:var(--text-secondary);letter-spacing:.02em}.assessment-item{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.assessment-item-text{font-size:15px;line-height:1.5}.assessment-row{margin-top:18px}.assessment-row-label{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.scale-buttons{display:flex;gap:10px}.scale-btn{flex:1;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:16px;font-weight:600;transition:border-color .2s ease,background .2s ease,color .2s ease}.scale-btn:hover{border-color:var(--text-secondary);color:var(--text)}.scale-btn.selected{background:var(--accent);border-color:var(--accent);color:var(--bg)}.assessment-save{margin-top:32px}.assessment-summary{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;background:var(--input-bg);border:1px solid var(--border);border-radius:2px}.assessment-summary-info{display:flex;flex-direction:column;gap:4px}.assessment-summary-score{font-size:20px;font-weight:700;color:var(--accent)}.assessment-summary-date{font-size:13px;color:var(--text-secondary)}.assessment-retake{flex-shrink:0;background:none;border:none;padding:0;color:var(--accent);font-size:13px;letter-spacing:.02em;text-decoration:underline}.assessment-retake:hover{color:#f2ece2}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 640px){.navbar{padding:20px 22px}.navbar-logo-img{height:36px}.navbar-actions{gap:8px}.navbar-actions .btn-signin,.navbar-actions .btn-signup,.navbar-profile-btn{padding:8px 14px;font-size:13px}.landing-headline{font-size:clamp(44px,12vw,64px)}.landing-ctas{margin-top:28px;width:100%;max-width:340px}.landing-footer-content{padding:0 22px 20px}.modal-card{padding:32px 22px;border-radius:16px}.landing-proof{bottom:22px;font-size:12px}.page{padding:100px 20px 48px}.legal-page{padding:100px 20px 56px}.navbar-scrolled{background:linear-gradient(to bottom,rgba(255,255,255,.07),rgba(255,255,255,.02) 65%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.navbar-on-light.navbar-scrolled{background:linear-gradient(to bottom,rgba(10,10,10,.05),rgba(10,10,10,.02) 65%,transparent)}.navbar-home.navbar-scrolled{background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.scale-buttons{gap:6px}.scale-btn{min-width:0;font-size:15px}.assessment-summary{flex-direction:column;align-items:flex-start;gap:12px}}
