@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}}.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}}.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)}
