.landing{overflow-x:hidden}.hero{position:relative;padding:72px 0 88px;background:radial-gradient(1200px 480px at 80% -10%,var(--accent-bg),transparent 60%),var(--paper)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}.hero-text{min-width:0}.hero-pill{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--accent-dim);background:var(--accent-bg);border:1px solid var(--accent-line);padding:6px 14px;border-radius:var(--r-pill)}.hero-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:hero-pulse 2s ease-in-out infinite}@keyframes hero-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}.hero-heading{margin:20px 0 16px;font-size:clamp(2.2rem,4.6vw,3.5rem)}.hero-heading em{font-style:italic;color:var(--accent-dim)}.hero-sub{font-size:1.18rem;color:var(--ink-soft);max-width:540px;margin-bottom:28px}.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}.hero-note{font-size:.92rem;color:var(--ink-muted)}.hero-note-strong{color:var(--ink);font-weight:600}.hero-mock{display:flex;justify-content:center}.survey-mock{width:100%;max-width:460px;background:var(--white);border:1px solid var(--paper-edge);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:22px;transform:perspective(1400px) rotateY(-5deg) rotateX(2deg)}.survey-mock-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--paper-edge)}.survey-mock-unit{font-weight:600;font-size:.92rem;color:var(--ink)}.survey-mock-live{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--ink-muted)}.survey-mock-live .live-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-faint)}.survey-mock-live.is-active{color:var(--accent-dim)}.survey-mock-live.is-active .live-dot{background:var(--accent);animation:live-blink 1s steps(2) infinite}@keyframes live-blink{50%{opacity:.25}}.survey-mock-score{display:flex;align-items:center;gap:18px;padding:18px 0}.score-ring{--p: 0%;position:relative;width:84px;height:84px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--accent) var(--p),var(--paper-warm) 0);display:grid;place-items:center;transition:--p .4s ease}.score-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--white)}.score-val{position:relative;font-family:var(--font-display);font-weight:700;font-size:1.7rem;color:var(--ink)}.score-lbl{position:relative;font-size:.66rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-top:-4px}.score-meta{display:flex;flex-direction:column;gap:8px}.score-pill{font-size:.76rem;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);width:fit-content}.score-pill--below{color:var(--amber-dim);background:var(--amber-bg)}.score-pill--sent{color:var(--accent-dim);background:var(--accent-bg)}.survey-mock-rows{list-style:none;display:flex;flex-direction:column;gap:12px}.mock-dim{opacity:.45}.mock-dim.is-done{opacity:1;animation:mock-row-in .45s cubic-bezier(.16,1,.3,1) both}@keyframes mock-row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mock-dim-top{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:5px}.mock-dim-label{color:var(--ink-soft)}.mock-dim-val{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.mock-dim-val.is-below{color:var(--amber-dim)}.mock-dim-track{position:relative;height:8px;background:var(--paper-warm);border-radius:var(--r-pill);overflow:visible}.mock-dim-bench{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink-faint);border-radius:1px}.mock-dim-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .5s cubic-bezier(.16,1,.3,1)}.mock-dim-fill.is-below{background:var(--amber)}.how-section,.features-section,.download-section{padding:72px 0}.section-heading{text-align:center;margin-bottom:44px}.how-section{background:var(--paper-warm)}.steps{display:flex;align-items:stretch;justify-content:center;gap:0;flex-wrap:wrap}.step{flex:1 1 240px;max-width:300px;text-align:center;padding:0 16px}.step-number{width:48px;height:48px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:#fff;background:var(--accent)}.step-content h3{margin-bottom:8px}.step-content p{color:var(--ink-soft);font-size:.98rem}.step-connector{align-self:center;flex:0 0 60px;height:2px;background:var(--tan);margin-top:24px}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{background:var(--white);border:1px solid var(--paper-edge);border-radius:var(--r-lg);padding:26px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--tan)}.feature-icon{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;font-size:1.3rem;color:#fff;margin-bottom:14px}.feature-card--accent .feature-icon{background:var(--accent)}.feature-card--amber .feature-icon{background:var(--amber)}.feature-title{margin-bottom:8px;font-size:1.1rem}.feature-desc{color:var(--ink-soft);font-size:.95rem}.download-section{background:linear-gradient(180deg,var(--paper),var(--accent-bg))}.download-inner{text-align:center}.download-sub{color:var(--ink-soft);max-width:560px;margin:0 auto 36px;font-size:1.05rem}.comparison{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}.comparison-col{flex:0 1 300px;text-align:left;background:var(--white);border:1px solid var(--paper-edge);border-radius:var(--r-lg);padding:26px}.comparison-col--desktop{border-color:var(--accent-line);box-shadow:var(--shadow-sm)}.comparison-heading{font-size:1.05rem;margin-bottom:14px;color:var(--ink)}.comparison-list{list-style:none;display:flex;flex-direction:column;gap:10px}.comparison-list li{display:flex;gap:10px;font-size:.95rem;color:var(--ink-soft)}.check{color:var(--accent);font-weight:700}.star{color:var(--amber-dim);font-weight:700}.download-cta{display:flex;flex-direction:column;align-items:center;gap:16px}.download-btn{font-size:1.08rem;padding:16px 32px}.platform-selector{display:flex;gap:6px;background:var(--paper-warm);padding:5px;border-radius:var(--r-pill)}.platform-option{font-size:.9rem;font-weight:600;color:var(--ink-muted);padding:8px 18px;border-radius:var(--r-pill);transition:all .15s ease}.platform-option:hover{color:var(--ink)}.platform-option--active{background:var(--white);color:var(--accent-dim);box-shadow:var(--shadow-sm)}.download-version{font-size:.88rem;color:var(--ink-muted);font-family:var(--font-mono)}.download-fine{font-size:.82rem;color:var(--ink-faint)}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-text{text-align:center}.hero-ctas,.hero-note{justify-content:center}.hero-pill{margin:0 auto}.hero-sub{margin-left:auto;margin-right:auto}.hero-mock{order:-1}.survey-mock{transform:none}.features-grid{grid-template-columns:repeat(2,1fr)}.step-connector{display:none}}@media(max-width:560px){.hero{padding:48px 0 64px}.features-grid{grid-template-columns:1fr}.comparison-col{flex-basis:100%}}.tool{padding:40px 24px 80px;max-width:880px}.tool-head{margin-bottom:32px}.tool-back{font-size:.9rem;color:var(--ink-muted);margin-bottom:14px}.tool-back:hover{color:var(--accent-dim)}.tool-title{margin-bottom:8px}.tool-lede{color:var(--ink-soft);font-size:1.08rem;max-width:620px}.dropzone{border:2px dashed var(--tan);border-radius:var(--r-xl);background:var(--white);padding:56px 32px;text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.dropzone:hover,.dropzone--over{border-color:var(--accent);background:var(--accent-bg);box-shadow:var(--shadow-sm)}.dropzone-input{display:none}.dropzone-icon{width:60px;height:60px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:var(--accent)}.dropzone-title{margin-bottom:8px}.dropzone-sub{color:var(--ink-muted);font-size:.95rem;margin-bottom:14px}.dropzone-private{font-size:.88rem;color:var(--accent-dim);font-weight:600}.tool-working{text-align:center;padding:64px 0;color:var(--ink-soft)}.spinner{width:38px;height:38px;margin:0 auto 16px;border-radius:50%;border:3px solid var(--paper-edge);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tool-error{background:var(--rose-bg);border:1px solid #ecc;border-radius:var(--r-lg);padding:32px;text-align:center}.tool-error h2{color:var(--rose-dim);margin-bottom:10px}.tool-error p{color:var(--ink-soft);margin-bottom:22px}.tool-error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.results-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.results-heading{font-size:1.6rem}.results-context{color:var(--ink-muted);font-size:.92rem;margin-top:2px}.results-overview{margin:24px 0 8px}.score-card{display:flex;align-items:center;gap:32px;flex-wrap:wrap;background:var(--white);border:1px solid var(--paper-edge);border-radius:var(--r-lg);padding:24px 28px}.score-card-main{display:flex;align-items:baseline;gap:6px}.score-card-num{font-family:var(--font-display);font-weight:700;font-size:3rem;line-height:1}.score-card-of{color:var(--ink-faint);font-size:1.1rem}.score-card-lbl{display:block;width:100%;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin-top:2px}.score-card--good .score-card-num{color:var(--accent-dim)}.score-card--ok .score-card-num{color:var(--amber-dim)}.score-card--low .score-card-num{color:var(--rose-dim)}.score-card-stats{display:flex;gap:28px;flex-wrap:wrap}.score-card-stats dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint)}.score-card-stats dd{font-weight:600;color:var(--ink);margin-top:2px}.results-section{margin-top:36px}.results-section-title{font-size:1.15rem;margin-bottom:16px}.results-section-count{color:var(--ink-faint);font-weight:400;font-size:.95rem}.dim-list{list-style:none;display:flex;flex-direction:column;gap:14px}.dim-row-top{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:6px}.dim-row-label{color:var(--ink-soft)}.dim-row-val{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.dim-row-val.is-below{color:var(--amber-dim)}.dim-row-bench{color:var(--ink-muted);font-weight:400;font-size:.82rem}.dim-row-track{position:relative;height:10px;background:var(--paper-warm);border-radius:var(--r-pill)}.dim-row-benchmark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink-faint);border-radius:1px}.dim-row-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .6s cubic-bezier(.16,1,.3,1)}.dim-row-fill.is-below{background:var(--amber)}.rec-list{list-style:none;display:flex;flex-direction:column;gap:12px}.rec-card{display:flex;gap:14px;background:var(--white);border:1px solid var(--paper-edge);border-left-width:4px;border-radius:var(--r-md);padding:16px 18px}.rec-card.sev--critical{border-left-color:var(--rose)}.rec-card.sev--watch{border-left-color:var(--amber)}.rec-card.sev--strength{border-left-color:var(--accent)}.rec-sev{flex-shrink:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:var(--r-pill);height:fit-content}.rec-sev.sev--critical{color:var(--rose-dim);background:var(--rose-bg)}.rec-sev.sev--watch{color:var(--amber-dim);background:var(--amber-bg)}.rec-sev.sev--strength{color:var(--accent-dim);background:var(--accent-bg)}.rec-body{min-width:0}.rec-title{font-size:1rem;margin-bottom:4px}.rec-detail{color:var(--ink-soft);font-size:.93rem}.comment-list{list-style:none;display:flex;flex-direction:column;gap:8px}.comment-item{background:var(--paper-warm);border-radius:var(--r-md);padding:12px 14px;font-size:.92rem;color:var(--ink-soft)}.comment-more{color:var(--ink-faint);font-size:.88rem;margin-top:10px}.ai-section{background:linear-gradient(180deg,var(--paper-warm),var(--white));border:1px solid var(--paper-edge);border-radius:var(--r-lg);padding:24px}.ai-blurb{color:var(--ink-soft);font-size:.95rem;margin-bottom:6px}.ai-private{font-size:.82rem;color:var(--ink-faint);margin-bottom:16px}.ai-error{color:var(--rose-dim);font-size:.9rem;margin-bottom:12px}.ai-ask{font-size:.98rem}.ai-summary{color:var(--ink-soft);font-size:.96rem;margin-bottom:16px;padding:12px 14px;background:var(--accent-bg);border-radius:var(--r-md);border-left:3px solid var(--accent)}.ai-list{list-style:none;display:flex;flex-direction:column;gap:14px}.ai-rec{background:var(--white);border:1px solid var(--paper-edge);border-radius:var(--r-md);padding:16px 18px}.ai-rec-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.ai-rec-title{font-size:1.02rem;flex:1 1 auto}.ai-pri{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:var(--r-pill)}.ai-pri--high{color:var(--rose-dim);background:var(--rose-bg)}.ai-pri--med{color:var(--amber-dim);background:var(--amber-bg)}.ai-pri--low{color:var(--ink-muted);background:var(--paper-warm)}.ai-cat{font-size:.74rem;color:var(--ink-muted);background:var(--paper-warm);padding:3px 9px;border-radius:var(--r-pill)}.ai-rec-desc{color:var(--ink-soft);font-size:.93rem;margin-bottom:10px}.ai-rec-block{margin-bottom:8px}.ai-rec-block ul{list-style:disc;padding-left:20px;color:var(--ink-soft);font-size:.9rem}.ai-rec-block li{margin-bottom:3px}.ai-rec-lbl{font-weight:600;color:var(--ink);font-size:.82rem}.ai-rec-impact{font-size:.9rem;color:var(--ink-soft)}.results-upsell{margin-top:44px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--accent-bg);border:1px solid var(--accent-line);border-radius:var(--r-lg);padding:24px 28px}.upsell-title{font-size:1.15rem;margin-bottom:4px}.upsell-text{color:var(--ink-soft);font-size:.95rem;max-width:480px}@media(max-width:560px){.score-card{gap:20px;padding:20px}.score-card-num{font-size:2.4rem}.results-upsell{flex-direction:column;align-items:flex-start}}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{position:sticky;top:0;z-index:50;background:#faf7f2d9;backdrop-filter:blur(10px);border-bottom:1px solid var(--paper-edge)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;align-items:center;gap:10px;color:var(--accent-dim)}.brand-mark{display:grid;place-items:center;color:var(--accent-dim)}.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--ink)}.brand:hover .brand-name{color:var(--accent-dim)}.app-nav{display:flex;align-items:center;gap:6px}.nav-link{font-size:.95rem;font-weight:500;color:var(--ink-muted);padding:8px 14px;border-radius:var(--r-sm);transition:color .15s ease,background .15s ease}.nav-link:hover{color:var(--ink);background:var(--paper-warm)}.nav-link.active{color:var(--accent-dim);background:var(--accent-bg)}.nav-link--ext{text-decoration:none}.version{margin-left:10px;font-size:.8rem;color:var(--ink-faint);font-family:var(--font-mono)}.app-main{flex:1}.app-footer{border-top:1px solid var(--paper-edge);background:var(--paper-warm);padding:28px 0}.app-footer-inner{display:flex;flex-direction:column;gap:4px}.app-footer p{color:var(--ink-muted);font-size:.9rem}.footer-meta a{color:var(--accent-dim)}@media(max-width:640px){.nav-link{padding:8px 10px;font-size:.9rem}.version{display:none}.app-nav{gap:2px}}:root{--ink: #1a1f20;--ink-soft: #2d3436;--ink-muted: #6b6358;--ink-faint: #a09585;--paper: #faf7f2;--paper-warm: #f5f0e8;--paper-edge: #e8e0d4;--tan: #d4c5a9;--white: #ffffff;--accent: #4a7c59;--accent-dim: #365a40;--accent-bg: #f0f7f2;--accent-line: #8fc7a1;--amber: #c17f3e;--amber-dim: #96602e;--amber-bg: #fdf6ee;--rose: #b54a4a;--rose-dim: #8c3838;--rose-bg: #fdf2f2;--font-display: "Lora", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", Menlo, Consolas, monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(26,31,32,.06);--shadow-md: 0 4px 16px rgba(26,31,32,.08);--shadow-lg: 0 18px 48px rgba(26,31,32,.14);--shadow-focus: 0 0 0 3px rgba(74,124,89,.28);--maxw: 1120px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(2.1rem,4.5vw,3.4rem);letter-spacing:-.025em}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.2rem}a{color:var(--accent-dim);text-decoration:none;font-weight:500}a:hover{color:var(--ink)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--r-sm)}code,.mono{font-family:var(--font-mono);font-size:.9em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--tan);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:1rem;line-height:1;padding:14px 24px;border-radius:var(--r-md);transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-dim);color:#fff;box-shadow:var(--shadow-md)}.btn-secondary{background:var(--white);color:var(--ink);border:1.5px solid var(--paper-edge)}.btn-secondary:hover{border-color:var(--accent-line);color:var(--accent-dim)}.btn-ghost{color:var(--ink-muted)}.btn-ghost:hover{color:var(--ink)}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fade-up .6s cubic-bezier(.16,1,.3,1) both}.delay-1{animation-delay:.06s}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}.delay-4{animation-delay:.24s}.delay-5{animation-delay:.3s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
