:root{--blue-900: #1E3A8A;--blue-700: #1D4ED8;--blue-600: #1E40AF;--blue-500: #3B82F6;--blue-100: #DBEAFE;--blue-50: #EFF6FF;--orange-500: #F59E0B;--orange-400: #FBBF24;--green-500: #10B981;--green-100: #D1FAE5;--red-500: #EF4444;--red-100: #FEE2E2;--yellow-500: #F59E0B;--yellow-100: #FEF3C7;--gray-900: #111827;--gray-700: #374151;--gray-500: #6B7280;--gray-300: #D1D5DB;--gray-200: #E5E7EB;--gray-100: #F3F4F6;--gray-50: #F9FAFB;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px -6px rgba(0,0,0,.04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--gray-900);background:var(--gray-50);line-height:1.6;min-height:100vh}.app-wrapper{min-height:100vh;display:flex;flex-direction:column}.header{padding:20px 0;border-bottom:1px solid var(--gray-200);background:#fff}.header-inner{max-width:720px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:22px;font-weight:700;color:var(--blue-600);letter-spacing:-.5px}.logo-tag{font-size:13px;color:var(--gray-500);font-weight:400}.main-content{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.container{width:100%;max-width:640px}.start-screen{text-align:center;padding:60px 0}.start-badge{display:inline-block;background:var(--blue-50);color:var(--blue-600);font-size:13px;font-weight:600;padding:6px 16px;border-radius:100px;margin-bottom:24px;letter-spacing:.3px}.start-screen h1{font-size:36px;font-weight:700;color:var(--gray-900);line-height:1.2;letter-spacing:-.5px;margin-bottom:16px}.start-screen p{font-size:18px;color:var(--gray-500);max-width:440px;margin:0 auto 36px}.start-features{display:flex;gap:24px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}.feature-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--gray-700)}.feature-icon{width:20px;height:20px;background:var(--green-100);color:var(--green-500);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--blue-600);color:#fff;border:none;padding:14px 36px;border-radius:12px;font-size:16px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md),0 0 #1e40af00}.btn-primary:hover{background:var(--blue-700);transform:translateY(-1px);box-shadow:var(--shadow-lg),0 0 0 4px #1e40af1a}.btn-primary:active{transform:translateY(0)}.question-screen{padding:20px 0}.progress-container{margin-bottom:32px}.progress-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px;color:var(--gray-500);font-weight:500}.progress-track{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--blue-600);border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}.agent-message{background:var(--blue-50);border-radius:16px 16px 16px 4px;padding:16px 20px;margin-bottom:28px;font-size:15px;color:var(--gray-700);line-height:1.5;border:1px solid var(--blue-100)}.agent-avatar{width:28px;height:28px;background:var(--blue-600);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;margin-right:10px;vertical-align:middle}.question-text{font-size:22px;font-weight:600;color:var(--gray-900);margin-bottom:24px;line-height:1.3}.options-list{display:flex;flex-direction:column;gap:12px}.option-btn{width:100%;text-align:left;background:#fff;border:2px solid var(--gray-200);border-radius:12px;padding:16px 20px;font-size:15px;font-weight:500;font-family:var(--font-body);color:var(--gray-700);cursor:pointer;transition:all .15s}.option-btn:hover{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-700);transform:translate(4px)}.option-btn:active{transform:translate(2px)}.loading-screen{text-align:center;padding:80px 0}.loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--blue-600);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen h2{font-size:20px;color:var(--gray-900);margin-bottom:8px}.loading-screen p{font-size:15px;color:var(--gray-500)}.results-page{padding:20px 0 60px;max-width:640px;margin:0 auto}.results-header{text-align:center;margin-bottom:36px}.results-header h1{font-size:28px;font-weight:700;color:var(--gray-900);margin-bottom:8px}.overall-score-card{background:#fff;border-radius:16px;padding:32px;text-align:center;box-shadow:var(--shadow-md);margin-bottom:24px;border:1px solid var(--gray-200)}.score-ring{position:relative;width:140px;height:140px;margin:0 auto 16px}.score-ring svg{transform:rotate(-90deg)}.score-ring-bg{fill:none;stroke:var(--gray-200);stroke-width:8}.score-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.score-ring-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:36px;font-weight:700}.score-ring-label{font-size:12px;color:var(--gray-500);text-transform:uppercase;letter-spacing:1px;font-weight:600}.score-interpretation{font-size:16px;color:var(--gray-700);margin-top:12px;max-width:400px;margin-left:auto;margin-right:auto}.pillar-cards{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.pillar-card{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.pillar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pillar-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--gray-900)}.pillar-score{font-family:var(--font-mono);font-weight:700;font-size:18px}.pillar-bar{height:8px;background:var(--gray-100);border-radius:4px;overflow:hidden;margin-bottom:12px}.pillar-bar-fill{height:100%;border-radius:4px;transition:width 1s cubic-bezier(.4,0,.2,1)}.pillar-insight{font-size:14px;color:var(--gray-600);line-height:1.5}.persona-card{background:#fff;border-radius:12px;padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);margin-bottom:24px;text-align:center}.persona-badge{display:inline-block;padding:8px 20px;border-radius:100px;font-weight:600;font-size:15px;margin-bottom:8px}.persona-desc{font-size:14px;color:var(--gray-600);max-width:400px;margin:0 auto}.cta-card{background:var(--blue-50);border:2px solid var(--blue-100);border-radius:16px;padding:32px;text-align:center}.cta-card h3{font-size:20px;color:var(--gray-900);margin-bottom:12px}.cta-features{list-style:none;text-align:left;max-width:360px;margin:0 auto 24px}.cta-features li{padding:6px 0;font-size:14px;color:var(--gray-700)}.cta-features li:before{content:"✓";color:var(--green-500);font-weight:700;margin-right:8px}.email-form{max-width:360px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.email-form input{width:100%;padding:12px 16px;border:2px solid var(--gray-200);border-radius:10px;font-size:15px;font-family:var(--font-body);transition:border-color .15s;outline:none}.email-form input:focus{border-color:var(--blue-500)}.email-form input::placeholder{color:var(--gray-400)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.success-card{background:var(--green-100);border:2px solid var(--green-500);border-radius:16px;padding:32px;text-align:center}.success-icon{width:56px;height:56px;background:var(--green-500);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}.success-card h3{font-size:20px;margin-bottom:8px}.success-card p{font-size:14px;color:var(--gray-700)}.success-card .hint{margin-top:16px;font-size:13px;color:var(--gray-500)}.success-card a{color:var(--blue-600)}@media (max-width: 640px){.start-screen h1{font-size:28px}.start-screen p{font-size:16px}.start-features{flex-direction:column;align-items:center}.question-text{font-size:20px}.results-header h1{font-size:24px}}
