:root{--ink:#171a27;--page:#fafbfd;--line:#e7eaf1;--purple:#8256e9;--purple-dark:#463064;--purple-title:#461fa1;--lilac-line:#ddcef6;--grey-button:#887f94;--chip:#b093f4;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-list:"Poppins", var(--font);--header-height:61px;--footer-height:64px}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--page);min-height:100vh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}img{display:block}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.card,.member-card{border:1px solid var(--line);background:#fff;border-radius:15px;box-shadow:0 1px 3px #171a2703}.avatar{object-fit:cover;background:#eee9f5;border:1px solid #fff;border-radius:50%;flex:none}.avatar--46{border-width:2px;width:46px;height:46px}.avatar--29{border-width:2px;width:29px;height:29px}.avatar--26{width:26px;height:26px}.avatar--23{width:23px;height:23px}.number-badge{background:var(--purple);color:#fff;letter-spacing:0;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:12px;font-weight:550;line-height:1;display:inline-grid}.number-badge--grey{background:var(--grey-button);width:27px;height:27px}.help-badge{color:#fff;width:17px;height:17px;font-family:var(--font-list);vertical-align:1px;cursor:help;background:#855ee0;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:500;line-height:1;display:inline-grid}.button{color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:12px;font-weight:550;line-height:19.2px;display:inline-flex}.button--grey{background:var(--grey-button)}.button--primary{background:var(--purple-dark);border-color:var(--ink);min-height:41px}.button--grey:hover{background:#776e84}.button--primary:hover{background:#362450}.icon-button{background:0 0;border:none;border-radius:8px;place-items:center;width:24px;height:24px;padding:0;display:grid}.icon-button:hover{background:#f3f0f8}.app-header{border-bottom:1px solid var(--line);background:#fff}.app-header__inner{max-width:1440px;height:calc(var(--header-height) - 1px);justify-content:space-between;align-items:center;margin:0 auto;padding:0 68px;display:flex}.brand{background:0 0;border:none;align-items:center;gap:11px;padding:0;display:flex}.brand__mark{place-items:center;width:32px;height:32px;display:grid}.brand__name{letter-spacing:-.15px;font-size:20px;font-weight:700;line-height:22.4px}.user-chip{background:var(--page);border:1px solid #e5d9fa;border-radius:8px;align-items:center;gap:10px;min-width:120px;height:37px;padding:4px 5px;display:flex}.user-chip__name{font-size:15px;font-weight:600;line-height:17.6px}.setup{flex-direction:column;gap:28px;max-width:970px;margin:0 auto;padding:28px 30px 32px;display:flex}.setup__heading{width:fit-content;margin:0 auto}.setup__title{color:var(--purple-title);letter-spacing:-.8px;font-size:28.3px;font-weight:650;line-height:36.2px}.setup__subtitle{color:#8a77b6;font-size:15px;font-weight:500;line-height:20.8px}.setup__sections{flex-direction:column;gap:24px;display:flex}.setup-section{flex-direction:column;gap:5px;display:flex}.setup-section__title{letter-spacing:-.8px;align-items:center;gap:10px;min-height:37px;font-size:20px;font-weight:650;line-height:36.2px;display:flex}.member-row{gap:16px;padding-top:8px;display:flex}.member-card{flex-direction:column;flex:1 1 0;gap:7px;min-width:0;padding:24px;display:flex}.member-card__identity{align-items:center;gap:13px;min-height:55px;display:flex}.member-card__text{flex-direction:column;gap:1px;min-width:0;display:flex}.member-card__name-row{align-items:center;gap:7px;display:flex}.member-card__name{letter-spacing:-.3px;font-size:18px;font-weight:600;line-height:25.6px}.member-card__you{color:#7a8190;font-size:10.3px;line-height:17.6px}.member-card__tags{flex-wrap:wrap;gap:8px;display:flex}.member-tag{background:#fbf8ff;border:1px solid #e3d9f8;border-radius:8px;padding:4px 6px;font-size:10.3px;line-height:17.6px}.member-card__remove{align-self:flex-start;margin-left:auto}.field-label{color:#7b8190;padding:12px 0 1px;font-size:10.3px;line-height:17.6px;display:block}.select{position:relative}.select select{appearance:none;cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:7px;width:100%;height:41px;padding:0 40px 0 12px;font-size:12px;line-height:19.2px}.select__chevron{pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.add-member-card{background:#fcfaff;border:1px dashed #d9cfee;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:11px;padding:24px;display:flex}.member-row--1 .add-member-card{flex:0 0 402px}.member-row--2 .add-member-card{flex:0 0 212px}.add-member-card:hover{background:#f7f2ff}.add-member-card.is-full{cursor:not-allowed}.add-member-card.is-full:hover{background:#fcfaff}.add-member-card__icon{background:#fff;border:1px solid #e5d9fa;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.add-member-card__text{color:#795bb0;text-align:center;font-size:12.9px;font-weight:550;line-height:22.1px}.city-card{flex-direction:column;gap:19px;padding:24px;display:flex}.city-card__header{align-items:center;gap:13px;display:flex}.city-card__title{letter-spacing:-.3px;font-size:16px;font-weight:600;line-height:25.6px}.city-card__count{color:#7a8190;font-size:10.5px;line-height:17.6px}.city-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.city-option{cursor:pointer;background:#fbf8ff;border:1px solid #e3d9f8;border-radius:8px;align-items:center;gap:9px;min-height:45px;padding:0 11px;display:flex}.city-option__input{opacity:0;pointer-events:none;position:absolute}.city-option__box{background:var(--purple);border:1px solid var(--purple);border-radius:2px;flex:none;place-items:center;width:13px;height:13px;display:grid}.city-option__name{font-size:11px;line-height:15.4px}.city-option:has(.city-option__input:not(:checked)){background:#fff}.city-option__input:not(:checked)+.city-option__box{background:#fff;border-color:#c9bdea}.city-option__input:not(:checked)+.city-option__box img{visibility:hidden}.city-option__input:focus-visible+.city-option__box{outline:2px solid var(--purple);outline-offset:2px}.setup__actions{justify-content:flex-end;align-items:center;gap:13px;display:flex}.setup__error{color:#b42318;margin-right:auto;font-size:12px}.analysis{max-width:1440px;height:calc(100dvh - var(--header-height) - var(--footer-height));flex-direction:column;gap:18px;min-height:460px;margin:0 auto;padding:20px 68px 24px;display:flex}.step-progress{flex-direction:column;gap:10px;display:flex}.step-progress__header{justify-content:space-between;align-items:center;display:flex}.step-progress__title{color:var(--purple-title);letter-spacing:-.3px;font-size:16px;font-weight:650;line-height:19.2px}.step-progress__count{color:#3f3165;font-size:13px;line-height:17.6px}.step-progress__viewport{scrollbar-width:none;padding:4px 0 5px;overflow-x:auto}.step-progress__list{justify-content:space-between;min-width:960px;margin:0;padding:0;list-style:none;display:flex;position:relative}.step-progress__list:before,.step-progress__list:after{content:"";height:2px;position:absolute;top:12px;left:50px}.step-progress__list:before{background:#dadbe3;right:50px}.step-progress__list:after{width:calc((100% - 100px) * var(--progress));background:var(--lilac-line)}.step-progress__item{z-index:1;flex:none;width:100px;min-width:0;position:relative}.step-progress__item:last-child .step-progress__label{align-self:flex-end}.step-progress__button{background:0 0;border:none;flex-direction:column;justify-content:space-between;align-items:center;gap:6px;width:100%;height:47px;padding:0;display:flex}.step-progress__marker{color:#6a5f83;background:#fff;border:1px solid #e3e5ed;border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;line-height:15px;display:grid}.step-progress__label{color:#6a5f83;white-space:nowrap;font-size:9.5px;line-height:15px}.step-progress__button:hover .step-progress__marker{border-color:var(--purple)}.is-done .step-progress__marker{border-color:var(--lilac-line);background:#f5effe}.is-done .step-progress__label{color:var(--purple);font-size:9.8px;font-weight:500}.is-current .step-progress__marker{background:var(--purple);border-color:var(--purple);color:#fff;font-size:13px;font-weight:600;box-shadow:0 0 0 4px #f3ecff}.is-current .step-progress__label{color:var(--purple);font-size:12px;font-weight:600}.analysis__layout{flex:1;grid-template-columns:minmax(0,1fr) 325px;gap:20px;min-height:0;display:grid}.chart-panel{border-width:2px;flex-direction:column;gap:18px;min-height:0;padding:22px 25px;display:flex}.chart-panel__title{letter-spacing:-.45px;align-items:center;gap:10px;font-size:20px;font-weight:650;line-height:26px;display:flex}.chart-panel__title:focus{outline:none}.chart-panel__title .help-badge{margin-left:11px}.chart-panel__zoom{cursor:zoom-in;flex:1;min-height:0;display:flex}.chart-panel__image{object-fit:contain;width:100%;height:100%}.chart-panel__hint{color:#7a8190;text-align:center;font-size:11px;display:none}.side-column{contain:size;flex-direction:column;justify-content:space-between;gap:20px;display:flex}.summary{scrollbar-width:thin;scrollbar-color:#d8cdf3 transparent;border-width:2px;flex-direction:column;flex:0 auto;gap:20px;min-height:0;padding:22px 25px;display:flex;overflow-y:auto}.summary--highlight{background:#e8deff;border-color:#c2aef0}.summary__title{align-items:center;gap:8px;font-size:22px;font-weight:650;line-height:23px;display:flex}.summary__group{flex-direction:column;gap:9px;display:flex}.summary__subheading{text-align:center;font-size:15px;font-weight:650;line-height:19.2px}.summary__subheading small{font-size:14px}.summary__subheading .help-badge{margin-left:3px}.person{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.person__name{margin-right:-2px;font-size:15px;font-weight:650;line-height:19.2px}.person__occupation{font-size:12px;font-weight:500;line-height:17.6px}.person-cards{justify-content:space-between;gap:5px;display:flex}.person-card{border-radius:11px;flex-direction:column;flex:0 133px;gap:10px;padding:6px;display:flex}.person-card--maya{background:#fff7eb}.person-card--alex{background:#dde7ff}.person-card--maya .person__occupation{color:#8f7e65}.person-card--alex .person__occupation{color:#76658f}.person-card--trend{align-items:center;gap:14px}.trend{font-family:var(--font-list);flex-direction:column;align-items:center;gap:6px;font-size:10px;font-weight:500;line-height:15px;display:flex}.trend--up{color:#ad9c82}.trend--down{color:#8290ad}.numbered-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.numbered-list__item{color:#000;font-family:var(--font-list);align-items:center;gap:4px;padding:1px 0;font-size:12px;font-weight:500;line-height:18px;display:flex}.numbered-list__number{color:#fff;border-radius:50%;flex:none;place-items:center;width:14px;height:14px;font-size:10px;line-height:1;display:inline-grid}.numbered-list__number--orange{background:#e0aa5e}.numbered-list__number--blue{background:#5e87e0}.numbered-list__number--purple{background:#855ee0}.numbered-list__number--lilac{background:var(--lilac-line)}.household-card{background:#f1ebff;border-radius:11px;flex-direction:column;gap:10px;padding:10px;display:flex}.household-card--centered{align-items:center}.household-card .person__name{color:#1c1727}.household-card .person__occupation,.couple__and{color:#72658f}.couple{align-items:center;gap:8px;display:flex}.couple__and{font-size:12px;font-weight:500}.household-card__ranks .numbered-list{align-items:center}.finalists{align-items:center;gap:22px;display:flex}.bullets{flex-direction:column;gap:10px;display:flex}.bullets__heading{letter-spacing:-.1px;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:22.5px;display:flex}.bullets__heading.is-centered{text-align:center;justify-content:center}.bullets__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.bullets__list--spaced{gap:25px}.bullets__item{gap:8px;display:flex}.bullets__dot{flex:none;place-items:center;width:23px;height:20px;display:grid}.bullets__dot:before{content:"";background:#d9d9d9;border-radius:50%;width:8px;height:8px}.bullets__dot--purple:before{background:#d1bffb}.bullets__text{letter-spacing:-.1px;flex:1;min-width:0;font-size:13px;font-weight:500;line-height:19.5px}.bullets__lead{font-weight:600}.bullets__lead strong{font-weight:700}.city-tags{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.city-tag{color:#403e43;letter-spacing:0;background:#e5dbff;border-radius:15px;padding:0 9px;font-size:10.9px;font-weight:500;line-height:22.2px}.thanks{color:#31127a;flex-direction:column;gap:9px;font-size:15px;font-weight:650;line-height:19.2px;display:flex}.thanks__members{align-items:center;gap:10px;display:flex}.thanks__members .person__name{color:#1c1727}.thanks__members .person__occupation{color:#72658f}.thanks__result{white-space:nowrap;font-size:15px}.thanks__result strong{font-size:24px;font-weight:800}.medals{justify-content:center;margin:0;list-style:none;display:grid}.medals__item{min-height:24px;font-family:var(--font-list);align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:18px;display:flex}.medals__item.is-first{gap:6px;font-size:14px;font-weight:600;line-height:21px}.assistant{flex-direction:column;gap:10px;display:flex}.assistant__chips{flex-wrap:wrap;gap:8px;display:flex}.prompt-chip{background:var(--chip);color:#fff;border:none;border-radius:8px;min-height:34px;padding:0 10px;font-size:12px;font-weight:500;line-height:17.6px}.prompt-chip:hover{background:#9e7cf0}.assistant__form{background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(90deg,#8256e9,#b69af6,#8256e9,#b69af6,#8256e9) border-box;border:2px solid #0000;border-radius:12px;align-items:center;gap:5px;height:43px;padding:0 8px;display:flex}.assistant__sparkle{flex:none}.assistant__input{background:0 0;border:none;flex:1;min-width:0;height:100%;padding:0;font-size:12px;font-weight:500;line-height:17.6px}.assistant__input::placeholder{color:#b7a9cb}.assistant__input:focus{outline:none}.assistant__form:focus-within{box-shadow:0 0 0 3px #efe8ff}.assistant__send{background:0 0;border:none;border-radius:50%;flex:none;padding:0}.app-footer{z-index:10;min-height:var(--footer-height);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffed;border-top:1px solid #cdcfd5;justify-content:space-between;align-items:center;padding:11px 34px;display:flex;position:sticky;bottom:0}.app-footer .button--grey{background:#96929b}.app-footer .button--primary{border-color:var(--purple-dark)}.app-footer .button--next{min-width:110px}.app-footer__next{align-items:center;gap:22px;display:flex}.footer__up-next{flex-direction:column;align-items:flex-end;display:flex}.footer__up-next span{color:#9297a3;font-size:9.8px;line-height:16px}.footer__up-next strong{color:#667083;font-size:10.7px;font-weight:500;line-height:17.6px}@media (width<=1100px){.app-header__inner{padding:0 24px}.analysis{padding:16px 24px 20px}.analysis__layout{grid-template-columns:minmax(0,1fr) 300px}.summary{padding:20px 18px}}@media (width<=900px){.analysis{height:auto;min-height:0}.analysis__layout{grid-template-columns:minmax(0,1fr)}.chart-panel__zoom{flex:none}.chart-panel__image{height:auto}.side-column{contain:none}.summary{overflow:visible}}@media (width<=860px){.app-header__inner{padding:0 16px}.brand__name{font-size:18px}.user-chip{min-width:0}.analysis{gap:14px;padding:16px 12px 24px}.step-progress__title{font-size:14px}.step-progress__count{flex:none;margin-left:12px}.step-progress__list{min-width:0}.step-progress__list:before,.step-progress__list:after{left:13px}.step-progress__list:before{right:13px}.step-progress__list:after{width:calc((100% - 26px) * var(--progress))}.step-progress__item{width:26px}.step-progress__button{height:26px}.step-progress__label{display:none}.chart-panel,.summary{padding:16px 12px}.chart-panel{gap:14px}.chart-panel__hint{display:block}.person-card{flex:1 1 0}.setup{padding:32px 20px 48px}.member-row{flex-direction:column}.member-row--1 .add-member-card,.member-row--2 .add-member-card{flex-basis:auto;min-height:150px}.city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-panel__title{align-items:flex-start;font-size:17px;line-height:24px}.app-footer{padding:12px 16px}.footer__up-next{display:none}}
