@import "https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100vh}:root{--color-bg:#f7f5f1;--color-surface:#fff;--color-text:#26332e;--color-text-muted:#5b6b65;--color-primary:#2f6f62;--color-primary-dark:#234f45;--color-accent:#c98f4b;--color-border:#dcd7cc;--color-danger:#a24236;--color-danger-bg:#f7ebe9;--font-body:"Public Sans", -apple-system, "Segoe UI", Roboto, sans-serif;--text-title:1.5rem;--text-question:1.05rem;--text-body:1rem;--text-caption:.875rem;--text-eyebrow:.8rem;--content-width:640px;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--radius:10px;--tap-min:48px}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);margin:0;line-height:1.5}.interview-form{max-width:var(--content-width);padding:var(--space-3) var(--space-2) calc(var(--tap-min) + var(--space-4) * 2);text-align:left;margin:0 auto}.interview-header{z-index:10;background:var(--color-bg);padding-top:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2);position:sticky;top:0}.interview-progress{font-size:var(--text-eyebrow);letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-dark);margin-bottom:var(--space-1);font-weight:600}.age-classification{font-size:var(--text-caption);color:var(--color-primary-dark);border:1px solid var(--color-primary);padding:4px var(--space-2);margin-bottom:var(--space-1);background:#eaf1ee;border-radius:20px;display:inline-block}.interview-progress-track{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.interview-progress-fill{background:var(--color-primary);height:100%;width:var(--progress,0%);transition:width .3s}.interview-form h2{font-size:var(--text-title);margin:0 0 var(--space-1);color:var(--color-text);font-weight:700}.section-sub{color:var(--color-text-muted);font-size:var(--text-body);margin:0 0 var(--space-3)}.question-field{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);margin-bottom:var(--space-2)}.question-field label{font-size:var(--text-question);margin-bottom:var(--space-1);font-weight:600;display:block}.question-hint{font-size:var(--text-caption);color:var(--color-text-muted);margin-bottom:var(--space-1)}.question-note{font-size:var(--text-body);color:var(--color-text-muted);padding:var(--space-2) 0;margin:0 0 var(--space-2);border-bottom:1px solid var(--color-border);font-style:italic}.question-field select,.question-field input[type=text],.question-field input[type=number],.question-field input[type=email],.question-field input[type=password]{width:100%;min-height:var(--tap-min);padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px}.question-field select:focus,.question-field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.choice-buttons{gap:var(--space-1);flex-wrap:wrap;display:flex}.choice-button{min-height:var(--tap-min);padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text);background:var(--color-bg);border:1.5px solid var(--color-border);cursor:pointer;border-radius:8px;font-weight:500;transition:background .15s,border-color .15s}.choice-button:hover{border-color:var(--color-primary)}.choice-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.choice-button-selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.question-warning,.question-unknown-type{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);padding:var(--space-2);font-size:var(--text-caption);border-radius:8px}.interview-nav{background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-2) var(--space-2);z-index:10;position:fixed;bottom:0;left:0;right:0}.interview-nav-inner{max-width:var(--content-width);gap:var(--space-2);margin:0 auto;display:flex}.interview-nav button{min-height:var(--tap-min);font-family:var(--font-body);font-size:var(--text-question);border:1px solid var(--color-primary);cursor:pointer;border-radius:8px;flex:1;font-weight:600}.interview-nav button:first-child{color:var(--color-primary-dark);background:0 0}.interview-nav button:last-child{background:var(--color-primary);color:#fff}.interview-nav button:disabled{opacity:.4;cursor:not-allowed}.interview-summary{max-width:var(--content-width);padding:var(--space-4) var(--space-2);text-align:center;margin:0 auto}.interview-summary h2{font-size:var(--text-title);margin-bottom:var(--space-1)}.location-picker-field{margin-bottom:var(--space-2)}.location-picker-field label{font-size:var(--text-caption);color:var(--color-text-muted);margin-bottom:4px;display:block}.location-picker-field select{width:100%;min-height:var(--tap-min);padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-body);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px}.location-picker-empty{color:var(--color-text-muted);font-size:var(--text-caption)}@media (prefers-reduced-motion:reduce){.interview-progress-fill{transition:none}}.question-address-loading{padding:var(--space-3);border-radius:var(--radius);background:#f5f5f0}.address-loading-title{margin:0 0 var(--space-2);font-size:var(--text-body);color:var(--color-text-muted)}.address-progress-track{background:#e2e2da;border-radius:999px;height:10px;overflow:hidden}.address-progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .2s ease-out}.address-progress-fill.address-progress-indeterminate{animation:1.4s ease-in-out infinite address-indeterminate;width:40%!important}@keyframes address-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.address-progress-detail{margin:var(--space-1) 0 0;font-size:var(--text-caption);color:var(--color-text-muted);text-align:right}.address-ready-moment{align-items:center;gap:var(--space-1);padding:var(--space-4) 0;flex-direction:column;animation:.3s ease-in address-ready-fade;display:flex}.address-ready-check{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;font-weight:700;display:flex}.address-ready-moment p{color:var(--color-text-muted);font-size:var(--text-caption);margin:0;font-weight:600}@keyframes address-ready-fade{0%{opacity:0}to{opacity:1}}.results-screen{max-width:var(--content-width);padding:var(--space-3) var(--space-2) var(--space-4);text-align:left;margin:0 auto}.results-screen h2{font-size:var(--text-title);margin:0 0 var(--space-1);font-weight:700}.results-meta{color:var(--color-text-muted);font-size:var(--text-caption);margin:0 0 var(--space-3)}.results-loading{text-align:center;color:var(--color-text-muted);padding:var(--space-4) 0}.results-pending{border:1px solid var(--color-primary);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-2);text-align:center;background:#eaf1ee}.results-pending-title{font-size:var(--text-question);color:var(--color-primary-dark);margin:0 0 var(--space-1);font-weight:700}.results-pending-detail{color:var(--color-text);font-size:var(--text-caption);margin:0 0 var(--space-2);line-height:1.6}.results-sync-pending{color:var(--color-accent);border:1px solid var(--color-accent);padding:var(--space-1) var(--space-2);font-size:var(--text-caption);margin-bottom:var(--space-2);background:#fdf3e6;border-radius:8px}.results-error{background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius);padding:var(--space-2);margin-bottom:var(--space-2)}.results-error-title{color:var(--color-danger);margin:0 0 4px;font-weight:600}.results-error-detail{color:var(--color-text);font-size:var(--text-caption);margin:0 0 var(--space-1)}.results-error-hint{color:var(--color-text-muted);font-size:var(--text-caption);margin:0}.results-top3{gap:var(--space-1);margin-bottom:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.results-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);position:relative;overflow:hidden}.results-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.results-rank-1:before{background:var(--color-primary)}.results-rank-2:before{background:var(--color-accent)}.results-rank-3:before{background:var(--color-text-muted)}.results-rank-label{font-size:var(--text-eyebrow);color:var(--color-text-muted);text-transform:uppercase;margin-bottom:4px;font-weight:600}.results-cause-name{font-size:var(--text-question);color:var(--color-text);margin-bottom:4px;font-weight:600;line-height:1.3}.results-score{font-size:var(--text-caption);color:var(--color-text-muted)}.results-full-list{margin-bottom:var(--space-3)}.results-full-list-label{font-size:var(--text-eyebrow);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-1);font-weight:600}.results-row{border-bottom:1px solid var(--color-border);font-size:var(--text-caption);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.results-row-name-ruled-out{color:var(--color-text-muted);text-decoration:line-through}.results-tag-ruled-out,.results-tag-partial{border-radius:10px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}.results-tag-ruled-out{background:var(--color-danger-bg);color:var(--color-danger)}.results-tag-partial{color:var(--color-accent);background:#fdf3e6}@media (width<=480px){.results-top3{grid-template-columns:1fr}}.results-confidence-tag{margin-top:var(--space-1);font-size:var(--text-caption);border-radius:999px;padding:2px 10px;font-weight:600;display:inline-block}.results-confidence-1{color:#1e7a4a;background:#d9f0e3}.results-confidence-2{color:#a1650f;background:#fdecd2}.results-confidence-3{color:#8a5a2a;background:#f0e2d2}.results-row-header{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.results-bar-track{height:6px;margin-bottom:var(--space-2);background:#eee;border-radius:4px;overflow:hidden}.results-bar-fill{background:var(--color-primary);border-radius:4px;height:100%}.results-bar-fill.results-bar-ruled-out{background:#ccc}.results-endorsed-box{border-radius:var(--radius);padding:var(--space-2);margin:var(--space-3) 0;background:#f5f5f0}.results-endorsed-label{font-weight:600;font-size:var(--text-caption);margin:0 0 var(--space-1)}.results-endorsed-codes{font-size:var(--text-caption);color:var(--color-text-muted);word-break:break-word;margin:0}.results-certification{border-top:1px solid var(--color-border,#ddd);margin-top:var(--space-3);padding-top:var(--space-3)}.results-certification h3{margin:0 0 var(--space-1);font-size:var(--text-body-lg,1.1rem)}.results-certification-hint{color:var(--color-text-muted);font-size:var(--text-caption);margin:0 0 var(--space-2)}.results-cod-input{box-sizing:border-box;width:100%;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border,#ccc);font-family:inherit;font-size:var(--text-body);margin-bottom:var(--space-2);resize:vertical}.results-certify-button{background:var(--color-primary);color:#fff;border-radius:var(--radius);padding:var(--space-2) var(--space-3);cursor:pointer;border:none;font-weight:600}.results-certify-button:disabled{opacity:.5;cursor:not-allowed}.results-certified-confirmation{border:1px solid var(--color-primary);border-radius:var(--radius);padding:var(--space-2);background:#eaf1ee}.results-certified-label{font-size:var(--text-caption);color:var(--color-text-muted);margin:0 0 4px}.results-certified-text{margin:0;font-weight:600}.results-undetermined{border-radius:var(--radius);padding:var(--space-3);background:#fdf3e3;border:1px solid #e0a83c}.results-undetermined-title{margin:0 0 var(--space-1);color:#8a5a0f;font-weight:700}.results-undetermined-detail{font-size:var(--text-caption);color:var(--color-text-muted);margin:0}.login-screen{padding:var(--space-4) var(--space-2);justify-content:center;align-items:flex-start;display:flex}.login-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:380px;padding:var(--space-3);text-align:left}.login-form h2{font-size:var(--text-title);margin:0 0 var(--space-1)}.login-subtitle{color:var(--color-text-muted);font-size:var(--text-caption);margin:0 0 var(--space-3);line-height:1.5}.login-error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger);padding:var(--space-1) var(--space-2);font-size:var(--text-caption);margin-bottom:var(--space-2);border-radius:8px}.login-submit{width:100%;min-height:var(--tap-min);background:var(--color-primary);color:#fff;font-family:var(--font-body);font-size:var(--text-question);cursor:pointer;margin-top:var(--space-1);border:none;border-radius:8px;font-weight:600}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-hint{font-size:var(--text-caption);color:var(--color-text-muted);text-align:center;margin:var(--space-2) 0 0}.login-skip{width:100%;min-height:var(--tap-min);color:var(--color-text-muted);border:1px dashed var(--color-border);font-family:var(--font-body);font-size:var(--text-caption);cursor:pointer;margin-top:var(--space-2);background:0 0;border-radius:8px}.about-page{max-width:var(--content-width);padding:var(--space-3) var(--space-2) var(--space-4);text-align:left;margin:0 auto}.about-page h1{font-size:var(--text-title);margin:0 0 var(--space-3);font-weight:700}.about-section{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.about-section:last-child{border-bottom:none}.about-section h2{margin:0 0 var(--space-1);color:var(--color-primary-dark);font-size:1.1rem;font-weight:600}.about-section p{margin:0 0 var(--space-1);color:var(--color-text);line-height:1.6}.about-section a{color:var(--color-primary)}.about-list{margin:0;padding-left:1.25rem;line-height:1.7}.license-block{background:var(--color-bg);border:1px solid var(--color-border);padding:var(--space-2);color:var(--color-text-muted);white-space:pre-wrap;border-radius:8px;font-family:Courier New,monospace;font-size:.75rem;line-height:1.5;overflow-x:auto}.developer-card{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);display:flex}.developer-logo{border-radius:8px;flex-shrink:0;width:72px;height:72px}.developer-details{flex-direction:column;gap:1px;display:flex}.developer-card .developer-name,.developer-card .developer-company{margin:0;font-size:1rem;line-height:1.5}.developer-card .developer-name{color:var(--color-text);font-weight:600}.developer-card .developer-company{color:var(--color-text-muted)}.app-header{z-index:20;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-2);position:sticky;top:0}.app-header-inner{max-width:var(--content-width);align-items:center;gap:var(--space-2);margin:0 auto;display:flex}.app-header-icon{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.app-header-text{flex-direction:column;gap:2px;display:flex}.app-header-wordmark{font-family:var(--font-body);letter-spacing:-.01em;color:var(--color-text);margin:0;font-size:1.05rem;font-weight:600}.app-header-wordmark span{color:var(--color-primary)}.app-header-subtitle{font-family:var(--font-body);font-size:var(--text-caption);color:var(--color-text-muted);margin:0;font-weight:400}.app-header-about-btn{min-height:36px;padding:0 var(--space-2);font-family:var(--font-body);font-size:var(--text-caption);color:var(--color-primary-dark);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;font-weight:600}.app-header-about-btn:hover{border-color:var(--color-primary)}.app-header-link{font-family:var(--font-body);font-size:var(--text-caption);color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.attribution-page{max-width:var(--content-width);padding:var(--space-3) var(--space-2) var(--space-4);margin:0 auto}.attribution-close{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-primary-dark);cursor:pointer;margin-bottom:var(--space-3);background:0 0;border:none;padding:0;font-weight:600}.attribution-page h2{font-size:var(--text-title);margin:0 0 var(--space-3)}.attribution-section{margin-bottom:var(--space-3)}.attribution-section h3{font-size:var(--text-question);margin:0 0 var(--space-1);font-weight:600}.attribution-section p{font-size:var(--text-body);color:var(--color-text);margin:0;line-height:1.6}.attribution-section a{color:var(--color-primary)}.attribution-muted{color:var(--color-text-muted);font-size:var(--text-caption)}.license-text{font-family:monospace;font-size:var(--text-caption);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);white-space:pre-wrap;margin-top:var(--space-1);overflow-x:auto}.attribution-version{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:var(--space-4)}
