:root{--surface:#f7f8fa;--surface-card:#fff;--surface-tint:#e9edf7;--ink:#14171f;--ink-muted:#5a606c;--hairline:#d3d7de;--brand-blue:#1e46e0;--brand-blue-ink:#0f2a8f;--on-brand:#fff;--community-red:#e0234e;--community-coral:#ef4630;--community-orange:#f7881f;--on-community:#fff;--reward-bg:#fdeee6;--reward-ink:#8a3008;--money:#1e7a45;--danger:#b42323;--font-display:"Zilla Slab", Rockwell, Georgia, serif;--font-body:Manrope, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--shadow-card:0 1px 2px #14171f0f, 0 4px 12px #14171f0f;--gradient-community:linear-gradient(120deg, #e0234e 0%, #ef4630 50%, #f7881f 100%)}@media (prefers-color-scheme:dark){:root{--surface:#0f1218;--surface-card:#181c25;--surface-tint:#1c2440;--ink:#f2f4f8;--ink-muted:#a3a9b5;--hairline:#2c3240;--brand-blue:#5b7bff;--brand-blue-ink:#c9d4ff;--on-brand:#0f1218;--community-red:#f0466b;--community-coral:#ff6a52;--community-orange:#ffa24a;--reward-bg:#3a2218;--reward-ink:#ffc7a6;--money:#4cc782;--danger:#ff7a7a}}.t-title{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.15}.t-body{font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.55}.t-body-strong{font-family:var(--font-body);font-size:15px;font-weight:600;line-height:1.45}.t-caption{font-family:var(--font-body);font-size:13px;font-weight:400;line-height:1.45}.t-label{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;font-size:12px;font-weight:500;line-height:1.3}:root{--line:#e1e4ea;--edge-blue:#1535b0;--edge-muted:#c9ced8;--placeholder:#9aa0ab;--chip-dash:#b9c2d6;--selected-ink:#1e46e0}@media (prefers-color-scheme:dark){:root{--line:#2c3240;--edge-blue:#2f4fd0;--edge-muted:#232836;--placeholder:#6f7684;--chip-dash:#3a4254;--selected-ink:#c9d4ff}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}*,:before,:after{box-sizing:border-box}html,body{background:var(--surface);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;padding:0;font-size:15px;line-height:1.55}body,#root{min-height:100vh}@media (max-width:599px),(pointer:coarse){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--brand-blue);outline-offset:2px}.app{--gutter:22px;flex-direction:column;width:100%;min-height:100vh;margin:0 auto;display:flex}@media (min-width:600px){.app{--gutter:max(22px, calc(50% - 218px))}}@supports (-webkit-touch-callout:none){html{height:-webkit-fill-available}body,#root,.app,.qf,.welcome{min-height:-webkit-fill-available}}@media (min-width:1024px) and (min-height:600px) and (hover:hover) and (pointer:fine){html,body{background:#e9ecf2}#root{padding:var(--space-6) var(--space-4);justify-content:center;align-items:center;display:flex}.app{-webkit-overflow-scrolling:touch;border:10px solid var(--ink);background:var(--surface);--gutter:22px;scrollbar-width:none;border-radius:44px;width:390px;max-width:100%;height:844px;min-height:0;max-height:calc(100vh - 48px);margin:0;position:relative;overflow:hidden auto;box-shadow:0 30px 60px #14171f2e}.app::-webkit-scrollbar{display:none}.app>*,.app>.qf,.app>.welcome{min-height:100%}.save-failed{width:330px;margin-left:-165px;bottom:120px;left:50%;right:auto}}.muted{color:var(--ink-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.save-failed{left:var(--space-4);right:var(--space-4);bottom:calc(96px + env(safe-area-inset-bottom));padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-card);color:var(--danger);box-shadow:var(--shadow-card);margin:0;font-size:14px;position:fixed}.save-failed:before{content:"⚠ "}.progress{height:14px;margin:0 var(--space-3);background:var(--line);border-radius:7px;flex:auto;overflow:hidden}.progress__fill{background:var(--brand-blue);border-radius:7px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.btn{min-height:58px;padding:var(--space-3) var(--space-6);font-family:var(--font-body);letter-spacing:.3px;text-transform:uppercase;border:0;border-radius:18px;font-size:16px;font-weight:800;line-height:1.2}.btn--primary{border-bottom:4px solid var(--edge-blue);background:var(--brand-blue);color:var(--on-brand)}.btn--primary:disabled{border-bottom-color:var(--edge-muted);background:var(--line);color:var(--placeholder);cursor:default}.btn--primary:not(:disabled):active{border-bottom-width:2px;transform:translateY(2px)}.btn--secondary{border:2px solid var(--line);background:var(--surface-card);color:var(--brand-blue);border-bottom-width:4px}.btn--ghost{color:var(--brand-blue);background:0 0}.btn--block{width:100%;display:block}.check{margin-top:var(--space-4);color:var(--ink-muted);align-items:flex-start;font-size:14px;line-height:1.45;display:flex}.check input{width:22px;height:22px;margin:0 var(--space-3) 0 0;accent-color:var(--brand-blue);flex:none}.check b{color:var(--ink)}.check a{color:var(--brand-blue)}.chip{min-height:44px;margin:var(--space-1);padding:var(--space-2) var(--space-3);border:1.5px dashed var(--chip-dash);border-radius:var(--radius-pill);color:var(--ink-muted);background:0 0;font-size:13px;font-weight:600}.chip:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.chip--suggest{border-style:solid;border-color:var(--brand-blue);color:var(--brand-blue)}.field{width:100%;min-height:58px;padding:14px var(--space-4);border:2px solid var(--line);background:var(--surface-card);color:var(--ink);resize:none;-webkit-appearance:none;border-bottom-width:4px;border-radius:16px;outline:none;font-size:17px;font-weight:600;display:block}.field:focus{border-color:var(--brand-blue)}.field::placeholder{color:var(--placeholder);opacity:1;font-weight:500}.field:disabled{opacity:.6}.field--error{border-color:var(--danger)}.field-note{min-height:1.2em;margin:var(--space-2) 0 0;color:var(--ink-muted);font-size:13px}.icon-btn{min-width:44px;min-height:44px;color:var(--ink-muted);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.pill{margin:var(--space-1);padding:0 0 0 var(--space-3);border-radius:var(--radius-md);background:var(--surface-tint);color:var(--brand-blue-ink);align-items:center;font-size:14px;font-weight:700;display:flex}.pill button{min-width:44px;min-height:44px;color:inherit;background:0 0;border:0;font-size:18px}.tiles{grid-gap:10px;grid-template-columns:1fr;margin:0;padding:0;list-style:none;animation:.35s ease-out rise;display:grid}.tiles--grid{grid-template-columns:1fr 1fr}.tile{width:100%;min-height:54px;padding:var(--space-3) var(--space-4);border:2px solid var(--line);background:var(--surface-card);color:var(--ink);text-align:left;border-bottom-width:4px;border-radius:16px;font-size:16px;font-weight:700;line-height:1.3;display:block}.tile[aria-pressed=true],.tile[aria-checked=true]{border-color:var(--brand-blue);background:var(--surface-tint);color:var(--selected-ink)}.tile__sub{color:var(--ink-muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.qf{flex-direction:column;flex:auto;min-height:100vh;display:flex}.qf__top{padding:40px var(--gutter,22px) 0;align-items:center;display:flex}.qf__back{margin-left:calc(-1 * var(--space-3))}.qf__skip{min-width:44px;min-height:44px;color:var(--ink-muted);padding:0 var(--space-2);margin-right:calc(-1 * var(--space-2));background:0 0;border:0;font-size:14px;font-weight:700}.qf__skip-placeholder{min-width:44px}.qf__body{padding:22px var(--gutter,22px) var(--space-4);flex:auto}.qf__lucy{align-items:flex-end;animation:.3s ease-out rise;display:flex}.qf__avatar{width:52px;height:52px;margin-right:var(--space-3);background:var(--brand-blue);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.qf__bubble{padding:var(--space-3) var(--space-4);border:2px solid var(--line);background:var(--surface-card);color:var(--ink);font-family:var(--font-body);border-radius:18px 18px 18px 4px;outline:none;margin:0;font-size:19px;font-weight:700;line-height:1.25}.qf__hint{color:var(--ink-muted);margin:14px 0 0 64px;font-size:14px;line-height:1.45}.qf__content{margin-top:22px}.qf__footer{padding:var(--space-2) var(--gutter,22px) 28px;padding-bottom:calc(28px + env(safe-area-inset-bottom));background:var(--surface);position:sticky;bottom:0;box-shadow:0 -8px 16px -8px #14171f14}.qf__message{min-height:1.2em;margin:0 0 var(--space-2);color:var(--ink-muted);text-align:center;font-size:13px}.community-question__results{margin-top:var(--space-3)}.community-question__new{color:var(--brand-blue);border-style:dashed}.contact-question__field{margin-top:var(--space-4)}.contact-question__field label{margin-bottom:var(--space-2);display:block}.pair__label{margin:var(--space-3) 0 var(--space-2);color:var(--brand-blue);display:block}.place-suggestions{margin:var(--space-2) 0 0;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-card);padding:0;list-style:none;overflow:hidden}.place-suggestions__item{width:100%;min-height:52px;padding:var(--space-2) var(--space-4);border:0;border-bottom:1px solid var(--hairline);text-align:left;background:0 0;display:block}.place-suggestions__name{font-weight:600;display:block}.place-suggestions__address{color:var(--ink-muted);font-size:13px;display:block}.places__row{display:flex}.places__row .field{margin-right:var(--space-2);flex:auto}.places__add{border:2px solid var(--brand-blue);background:var(--surface-tint);width:58px;min-height:58px;color:var(--brand-blue);border-bottom-width:4px;border-radius:16px;flex:none;font-size:26px;font-weight:800}.places__add:disabled{opacity:.5}.places__pills,.text-question__chips{margin:var(--space-3) calc(-1 * var(--space-1)) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.screen{padding:var(--space-6) var(--gutter,22px) 28px;padding-bottom:calc(28px + env(safe-area-inset-bottom));flex-direction:column;flex:auto;display:flex}.screen>*+*{margin-top:var(--space-4)}.screen--center{text-align:center;justify-content:center;align-items:center}.summary>*+*{margin-top:var(--space-3)}.summary__head{align-items:center;display:flex}.summary__head h1{margin:0}.summary__mark{width:60px;height:60px;margin-right:var(--space-4);border-radius:var(--radius-lg);background:var(--brand-blue);flex:none;justify-content:center;align-items:center;display:flex}.summary__badge{margin-top:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--reward-bg);color:var(--reward-ink);display:inline-block}.summary__section{margin-top:var(--space-6)!important}.summary__card{padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.summary__card>*+*{margin-top:var(--space-2)}.summary__community{font-size:17px}.summary__line{flex-direction:column;display:flex}.summary__items{font-weight:600;line-height:1.4}.summary__bar-row{flex-direction:column;display:flex}.summary__bar-label{font-weight:800}.summary__bar{height:10px;margin-top:var(--space-1);border-radius:var(--radius-pill);background:var(--hairline);display:block;overflow:hidden}.summary__bar span{border-radius:var(--radius-pill);background:var(--brand-blue);height:100%;display:block}.summary__mission{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--gradient-community);color:var(--on-community);font-weight:700}.summary__mission p{margin:var(--space-2) 0 0;font-size:19px;line-height:1.35}.summary__mission-name{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:34px;line-height:1.1}.summary__mission-example{padding:var(--space-3);border-radius:var(--radius-md);background:#ffffff2e}.summary__tag{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--surface-tint);color:var(--brand-blue-ink);align-self:flex-start}.summary__saved{flex-direction:row;align-items:flex-start;font-size:14px}.summary__saved>*+*{margin-top:0;margin-left:var(--space-3)}.summary__check{color:var(--money);font-size:18px}.summary__actions{margin-bottom:calc(var(--space-8) + env(safe-area-inset-bottom));margin-top:var(--space-6)!important}.summary__actions>*+*{margin-top:var(--space-3)}.thank-you{justify-content:space-between}.thank-you__body{padding-top:var(--space-8);flex-direction:column;align-items:flex-start;display:flex}.thank-you__body>*+*{margin-top:var(--space-4)}.thank-you__mark{background:var(--brand-blue);border-radius:22px;justify-content:center;align-items:center;width:72px;height:72px;animation:.4s ease-out pop;display:flex}.thank-you__lead{color:var(--ink-muted);margin-bottom:0}.thank-you__body .summary__saved{align-self:stretch}.thank-you__actions{margin-top:var(--space-6);margin-bottom:calc(var(--space-8) + env(safe-area-inset-bottom))}.role-option{color:#14171f;text-align:left;background:#fff;border:0;border-bottom:5px solid #c9d4ff;border-radius:20px;width:100%;padding:20px 20px 18px;animation:.35s ease-out rise;display:block}.role-option:active{border-bottom-width:3px;transform:translateY(2px)}.role-option__label{font-size:20px;font-weight:800;display:block}.role-option__sub{color:#5a606c;margin-top:6px;font-size:14px;font-weight:600;display:block}.role-option:focus-visible{outline-offset:3px;outline:3px solid #fff}.welcome{min-height:100vh;padding:72px var(--gutter,22px) 28px;padding-bottom:calc(28px + env(safe-area-inset-bottom));color:#fff;background:#1e46e0;flex-direction:column;flex:auto;display:flex}.welcome__mark{background:#ffffff24;border-radius:22px;justify-content:center;align-items:center;width:72px;height:72px;animation:.5s ease-out pop;display:flex}.welcome__label{color:#c9d4ff;margin:18px 0 0}.welcome__title{font-family:var(--font-display);margin:18px 0 0;font-size:40px;font-weight:700;line-height:1.05}.welcome__spacer{min-height:var(--space-8);flex:auto}.welcome__roles{margin:0;padding:0;list-style:none}.welcome__roles li+li{margin-top:18px}
