*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--c-primary:#1a6b3c;--c-primary-d:#145530;--c-primary-l:#38a169;--c-accent:#68d391;--c-bg:#f0faf4;--c-bg-card:#fff;--c-border:#c6f6d5;--c-text:#1a202c;--c-text-muted:#718096;--c-error:#e53e3e;--c-warn:#d69e2e;--c-good:#38a169;--radius:12px;--radius-sm:8px;--shadow:0 2px 12px #00000014;--transition:.18s ease;color:var(--c-text);background:var(--c-bg);-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px}body{min-height:100dvh}#root{flex-direction:column;min-height:100dvh;display:flex}.app-shell{width:100%;max-width:520px;padding:0 0 env(safe-area-inset-bottom,16px);flex-direction:column;flex:1;margin:0 auto;display:flex}.app-header{background:var(--c-primary);color:#fff;z-index:10;align-items:center;gap:10px;padding:14px 20px 12px;display:flex;position:sticky;top:0}.app-header__brand{letter-spacing:-.3px;flex:1;font-size:1.15rem;font-weight:700}.app-header__counter{white-space:nowrap;background:#ffffff2e;border-radius:20px;padding:3px 10px;font-size:.8rem}.progress-wrap{background:var(--c-border);height:4px}.progress-fill{background:var(--c-primary-l);height:4px;transition:width .3s}.progress-label{color:var(--c-text-muted);justify-content:space-between;padding:8px 20px 4px;font-size:.78rem;display:flex}.step-card{flex-direction:column;flex:1;gap:20px;padding:20px;animation:.22s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.step-header{flex-direction:column;gap:6px;display:flex}.step-header__emoji{font-size:2.2rem;line-height:1}.step-header__title{color:var(--c-primary);font-size:1.25rem;font-weight:700;line-height:1.2}.step-header__desc{color:var(--c-text-muted);font-size:.9rem;line-height:1.5}.fields-list{flex-direction:column;gap:22px;display:flex}.field-group{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--c-text);font-size:.9rem;font-weight:600;line-height:1.4}.field-label span{color:var(--c-error);margin-left:2px}.field-input{border:1.5px solid var(--c-border);border-radius:var(--radius-sm);width:100%;color:var(--c-text);transition:border-color var(--transition);-webkit-appearance:none;background:#fff;padding:12px 14px;font-size:1rem}.field-input:focus{border-color:var(--c-primary-l);outline:none;box-shadow:0 0 0 3px #38a16926}.slider-wrap{flex-direction:column;gap:6px;display:flex}.slider-track{appearance:none;background:var(--c-border);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.slider-track::-webkit-slider-thumb{-webkit-appearance:none;background:var(--c-primary);cursor:pointer;width:26px;height:26px;transition:background var(--transition);border-radius:50%;box-shadow:0 2px 6px #0003}.slider-track::-webkit-slider-thumb:active{background:var(--c-primary-d)}.slider-track::-moz-range-thumb{background:var(--c-primary);cursor:pointer;border:none;border-radius:50%;width:26px;height:26px}.slider-value{color:var(--c-text-muted);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.slider-value strong{color:var(--c-primary);font-size:1.1rem;font-weight:700}.select-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--c-border);cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:20px;padding:8px 16px;font-size:.9rem}.chip:hover{border-color:var(--c-primary-l);background:#f0faf4}.chip--active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.bool-group{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bool-btn{border-radius:var(--radius-sm);border:1.5px solid var(--c-border);cursor:pointer;transition:all var(--transition);text-align:center;background:#fff;padding:12px;font-size:.95rem;font-weight:600}.bool-btn:hover{border-color:var(--c-primary-l)}.bool-btn--yes.bool-btn--active{color:#9b2c2c;background:#fed7d7;border-color:#e53e3e}.bool-btn--no.bool-btn--active{border-color:var(--c-good);color:#276749;background:#c6f6d5}.nav-row{padding:16px 20px;padding-bottom:max(16px, env(safe-area-inset-bottom));background:var(--c-bg-card);border-top:1px solid var(--c-border);gap:12px;display:flex;position:sticky;bottom:0}.btn{border-radius:var(--radius);cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;border:none;flex:1;padding:14px;font-size:1rem;font-weight:700}.btn--primary{background:var(--c-primary);color:#fff}.btn--primary:hover{background:var(--c-primary-d)}.btn--primary:active{transform:scale(.98)}.btn--primary:disabled{cursor:not-allowed;background:#a0aec0}.btn--outline{color:var(--c-primary);border:1.5px solid var(--c-border);background:0 0;flex:none;min-width:80px}.btn--outline:hover{border-color:var(--c-primary-l)}.btn--outline:active{transform:scale(.98)}.consent-box{border-radius:var(--radius);color:#744210;background:#fffbeb;border:1px solid #f6e05e;padding:14px;font-size:.85rem;line-height:1.6}.consent-check{border-radius:var(--radius-sm);border:1.5px solid var(--c-border);cursor:pointer;transition:border-color var(--transition);background:#fff;align-items:flex-start;gap:12px;padding:12px;display:flex}.consent-check--active{border-color:var(--c-primary-l);background:#f0faf4}.consent-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--c-primary);cursor:pointer;flex-shrink:0;margin-top:1px}.consent-check__text{color:var(--c-text);font-size:.88rem;line-height:1.5}.result-section{border-bottom:1px solid var(--c-border);padding:16px 20px}.result-section__title{color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.78rem;font-weight:700}.groups-list{flex-wrap:wrap;gap:8px;display:flex}.group-pill{background:var(--c-primary);color:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.score-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.score-row__label{width:100px;color:var(--c-text-muted);flex-shrink:0;font-size:.83rem}.score-row__bar-bg{background:var(--c-border);border-radius:4px;flex:1;height:8px;overflow:hidden}.score-row__bar-fill{border-radius:4px;height:8px;transition:width .5s}.score-row__val{color:var(--c-text);text-align:right;width:28px;font-size:.85rem;font-weight:700}.wa-notice{border-radius:var(--radius);color:#166534;background:#dcfce7;border:1px solid #86efac;align-items:center;gap:12px;padding:14px;font-size:.9rem;line-height:1.4;display:flex}.wa-notice__icon{flex-shrink:0;font-size:1.6rem}.qr-wrap{border:1px solid var(--c-border);border-radius:var(--radius);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.qr-wrap canvas{border-radius:8px}.qr-wrap__caption{color:var(--c-text-muted);font-size:.82rem;line-height:1.4}.loading-screen,.error-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 24px;display:flex}.loading-spinner{border:4px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-screen h2{color:var(--c-error);font-size:1.2rem}.error-screen p{color:var(--c-text-muted);font-size:.9rem}.field-error{color:var(--c-error);align-items:center;gap:4px;font-size:.8rem;display:flex}.radar-wrap{justify-content:center;padding:8px 0;display:flex}.submit-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe0;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.submit-overlay p{color:var(--c-primary);font-size:1rem;font-weight:600}.countdown{justify-content:center;align-items:center;gap:4px;margin:8px auto;display:flex}.countdown-unit{background:var(--c-primary);color:#fff;border-radius:8px;flex-direction:column;align-items:center;min-width:52px;padding:8px 12px;display:flex}.countdown-unit span{font-size:1.6rem;font-weight:700;line-height:1}.countdown-unit label{opacity:.8;margin-top:2px;font-size:.65rem}.countdown-sep{color:var(--c-primary);align-self:flex-start;margin-top:8px;padding:0 2px;font-size:1.4rem;font-weight:700}.result-hero{background:var(--c-primary);color:#fff;text-align:center;padding:28px 16px 20px}.result-hero__score{font-size:3rem;font-weight:800;line-height:1}.result-hero__label{opacity:.85;margin-top:4px;font-size:1rem}.app-header__sub{opacity:.7;margin-left:4px;font-size:.75rem}.spinner{border:4px solid #1a6b3c33;border-top-color:var(--c-primary);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}
