*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #7c5c6b;--primary-dark: #5d4450;--primary-light: #f4e8ec;--secondary: #6b8e7c;--secondary-light: #e8f0eb;--background: #faf8f6;--surface: #ffffff;--text-primary: #3d3235;--text-secondary: #6b5d60;--text-muted: #9a8d90;--border: #e8e2df;--border-light: #f0ebe8;--error: #c57b7b;--success: #7bab84;--warning: #d4a574;--accent: #c9b8a8;--info-bg: #f0f4f8;--info-border: #d0dce8;--info-text: #4a5568;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 72px;--container-max: 1040px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.6;min-height:100vh;font-size:17px}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:720px;margin:0 auto;padding:var(--space-xl) var(--space-lg);width:100%}.landing-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg);width:100%}h1{font-family:Playfair Display,Georgia,serif;font-size:48px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.02em;line-height:1.15}h2{font-family:Playfair Display,Georgia,serif;font-size:32px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.01em}h3{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-sm)}h4{font-family:Inter,sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-sm)}p{color:var(--text-secondary);margin-bottom:var(--space-md)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.max-width-prose{max-width:56ch}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:0 4px 20px #00000014}.card-elevated{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000a;border:1px solid var(--border-light)}.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 var(--space-lg);font-size:16px;font-weight:600;font-family:Inter,sans-serif;letter-spacing:.01em;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #7d5c6b40}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 12px #7d5c6b59;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:var(--border);box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:var(--primary-light)}.btn-ghost{background:transparent;color:var(--text-secondary);height:auto;padding:var(--space-xs) var(--space-sm)}.btn-ghost:hover{color:var(--primary);background:var(--primary-light)}.btn-block{width:100%}.btn-group{display:flex;gap:var(--space-sm)}input[type=text],input[type=password],textarea{width:100%;padding:var(--space-md);font-size:16px;font-family:inherit;border:2px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease;resize:vertical;background:var(--surface)}input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}textarea{min-height:120px}.landing-page{min-height:100vh;background:linear-gradient(135deg,#faf8f6,#f5f0ed,#f0ebe8)}.hero{padding:var(--space-3xl) 0 var(--space-2xl)}.hero-grid{display:grid;grid-template-columns:1fr 400px;gap:var(--space-2xl);align-items:start}.hero-content{padding-top:var(--space-lg)}.hero-subheadline{font-size:20px;font-weight:500;color:var(--primary);margin-bottom:var(--space-lg)}.hero-description{font-size:18px;line-height:1.7;color:var(--text-secondary);max-width:52ch;margin-bottom:var(--space-lg)}.hero-benefits{list-style:none;margin-bottom:var(--space-xl)}.hero-benefits li{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm);color:var(--text-secondary);font-size:16px}.hero-benefits li:before{content:"✓";color:var(--secondary);font-weight:600;flex-shrink:0}.hero-ctas{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.trust-cues{display:flex;gap:var(--space-lg);flex-wrap:wrap}.trust-cue{display:flex;align-items:center;gap:var(--space-xs);font-size:14px;color:var(--text-muted)}.trust-cue-icon{font-size:16px}.how-it-works-card{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:0 12px 40px #0000001a,0 4px 12px #0000000d;border:1px solid var(--border-light)}.how-it-works-card h3{margin-bottom:var(--space-lg)}.how-it-works-page{padding:var(--space-2xl) 0;max-width:800px;margin:0 auto}.how-it-works-header{text-align:center;margin-bottom:var(--space-3xl)}.how-it-works-header .btn-ghost{margin-bottom:var(--space-lg)}.how-it-works-header h1{margin-bottom:var(--space-sm)}.steps-section{margin-bottom:var(--space-3xl)}.step-large{display:flex;gap:var(--space-xl);margin-bottom:var(--space-2xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--border-light)}.step-large:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.step-large-number{width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;flex-shrink:0}.step-large-content h2{font-size:24px;margin-bottom:var(--space-sm)}.step-large-content>p{font-size:17px;line-height:1.7;color:var(--text-secondary);margin-bottom:var(--space-lg)}.step-details{display:flex;flex-direction:column;gap:var(--space-sm)}.step-detail{display:flex;align-items:center;gap:var(--space-sm);font-size:15px;color:var(--text-muted)}.step-detail-icon{font-size:18px}.features-section{margin-bottom:var(--space-3xl)}.features-section>h2{text-align:center;margin-bottom:var(--space-xl)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.feature-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-lg)}.feature-icon{font-size:28px;margin-bottom:var(--space-sm)}.feature-card h3{font-family:Inter,sans-serif;font-size:17px;font-weight:600;margin-bottom:var(--space-xs)}.feature-card p{font-size:15px;color:var(--text-muted);margin:0;line-height:1.6}.how-it-works-cta{text-align:center;padding:var(--space-2xl);background:var(--surface);border-radius:var(--radius-xl);box-shadow:0 4px 20px #00000014}.how-it-works-cta h2{margin-bottom:var(--space-xs)}.how-it-works-cta p{color:var(--text-muted);margin-bottom:var(--space-lg)}@media (max-width: 600px){.step-large{flex-direction:column;gap:var(--space-md)}.step-large-number{width:48px;height:48px;font-size:20px}.step-large-content h2{font-size:20px}.features-grid{grid-template-columns:1fr}}.how-it-works-steps{display:flex;flex-direction:column;gap:var(--space-lg)}.step{display:flex;gap:var(--space-md)}.step-number{width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.step-content h4{font-size:16px;font-weight:600;color:var(--text-primary);text-transform:none;letter-spacing:0;margin-bottom:4px}.step-content p{font-size:14px;color:var(--text-muted);margin:0;line-height:1.5}.hero-image-section{padding:0 0 var(--space-xl)}.hero-image-wrapper{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 12px 40px #0000001f}.hero-image{width:100%;height:320px;object-fit:cover;display:block}.hero-image-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-xl) var(--space-lg);background:linear-gradient(transparent,#0009);color:#fff;font-family:Playfair Display,Georgia,serif;font-size:20px;font-style:italic;text-align:center}@media (max-width: 600px){.hero-image{height:200px}.hero-image-caption{font-size:16px;padding:var(--space-lg) var(--space-md)}}.landing-section{padding:var(--space-2xl) 0}.section-header{text-align:center;margin-bottom:var(--space-xl)}.section-header h2{margin-bottom:var(--space-xs)}.section-header p{color:var(--text-muted);font-size:16px;margin:0}.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.category-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;cursor:default;transition:all .2s ease}.category-card:hover{border-color:var(--primary-light);background:var(--primary-light)}.category-icon{font-size:28px;margin-bottom:var(--space-sm)}.category-name{font-weight:600;color:var(--text-primary);font-size:15px;margin-bottom:4px}.category-description{font-size:13px;color:var(--text-muted);margin:0;line-height:1.4}.info-callout{background:var(--info-bg);border:1px solid var(--info-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin:var(--space-xl) 0}.info-callout-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.info-callout-title{display:flex;align-items:center;gap:var(--space-sm);font-size:14px;font-weight:500;color:var(--info-text)}.info-callout-icon{font-size:16px}.info-callout-toggle{font-size:13px;color:var(--primary);background:none;border:none;cursor:pointer;font-weight:500}.info-callout-toggle:hover{text-decoration:underline}.info-callout-content{padding-top:var(--space-md);font-size:14px;color:var(--info-text);line-height:1.6}.info-callout-content p{color:var(--info-text);font-size:14px;margin-bottom:var(--space-sm)}.info-callout-content p:last-child{margin-bottom:0}.disclaimer{background:#fff3e0;border:1px solid var(--warning);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl)}.disclaimer h4{color:#e65100;margin-bottom:var(--space-xs);font-weight:600}.disclaimer p{color:#bf360c;font-size:14px;margin-bottom:var(--space-xs)}.disclaimer p:last-child{margin-bottom:0}.crisis-resources{background:var(--secondary-light);border:1px solid #b8d4c4;border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-xl)}.crisis-resources h4{color:#2e7d32;margin-bottom:var(--space-sm);font-size:14px}.crisis-resources p{color:#1b5e20;font-size:14px;margin-bottom:var(--space-xs)}.crisis-resources p:last-child{margin-bottom:0}.returning-section{background:var(--background);border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-lg)}.returning-toggle{background:none;border:none;color:var(--primary);cursor:pointer;font-size:15px;font-weight:500}.returning-toggle:hover{text-decoration:underline}.returning-content{margin-top:var(--space-md)}.returning-description{font-size:15px;color:var(--text-muted);margin-bottom:var(--space-md)}.code-input-group{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.code-input{text-transform:uppercase;letter-spacing:.1em;font-weight:600}.sessions-list{max-height:180px;overflow-y:auto;margin-bottom:var(--space-md)}.session-item{padding:var(--space-sm) var(--space-md);background:var(--surface);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-size:14px}.session-item-header{display:flex;justify-content:space-between;align-items:center}.session-item-links{margin-top:var(--space-xs)}.session-item-links a{color:var(--primary);font-size:13px;margin-right:var(--space-md);text-decoration:none}.session-item-links a:hover{text-decoration:underline}.progress-bar{width:100%;height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:var(--space-xl)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:3px;transition:width .3s ease}.question-number{font-size:14px;color:var(--text-secondary);margin-bottom:var(--space-xs)}.scale-container{margin:var(--space-lg) 0}.scale-labels{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);font-size:14px;color:var(--text-secondary)}.scale-buttons{display:flex;gap:var(--space-xs)}.scale-btn{flex:1;padding:var(--space-md);font-size:20px;font-weight:600;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.scale-btn:hover{border-color:var(--primary-light);background:var(--primary-light)}.scale-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff}.waiting-container{text-align:center;padding:var(--space-3xl) var(--space-md)}.waiting-spinner{width:60px;height:60px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-xl)}@keyframes spin{to{transform:rotate(360deg)}}.share-link{background:var(--background);border-radius:var(--radius-md);padding:var(--space-md);margin:var(--space-lg) 0;word-break:break-all;font-family:monospace;font-size:14px}.copy-btn{margin-top:var(--space-sm)}.results-content{line-height:1.8;white-space:pre-wrap}.nav-buttons{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.nav-buttons .btn{flex:1}.error-message{background:#ffebee;color:#c62828;padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:15px}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--text-secondary)}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr;gap:var(--space-xl)}.hero{padding:var(--space-2xl) 0}.how-it-works-card{max-width:480px}.categories-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){:root{--space-lg: 20px}body{font-size:16px}.landing-container{padding:0 var(--space-md)}.container{padding:var(--space-md)}.card{padding:var(--space-lg);border-radius:var(--radius-md)}h1{font-size:36px}h2{font-size:26px}.hero{padding:var(--space-xl) 0}.hero-subheadline{font-size:18px}.hero-description{font-size:16px}.hero-ctas{flex-direction:column}.hero-ctas .btn{width:100%}.trust-cues{flex-direction:column;gap:var(--space-sm)}.categories-grid{grid-template-columns:1fr}.category-card{text-align:left;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md)}.category-icon{margin-bottom:0;font-size:24px}.category-text{flex:1}.scale-btn{padding:var(--space-sm);font-size:18px}.nav-buttons{flex-direction:column}.how-it-works-card{padding:var(--space-lg)}}
