@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}*,:before,:after{box-sizing:border-box}:root{--sans:"Space Grotesk", system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--bg:#f2ecf4;--surface:#fdfbfe;--surface-2:#e9e0ee;--border:#ddd0e2;--border-light:#eae1ee;--text:#241d28;--text-soft:#5f5567;--text-faint:#6a6072;--accent:#d4537e;--accent-deep:#ad3159;--accent-soft:#f7e6ee;--accent-ink:#fff;--pride-1:#e40303;--pride-2:#ff8c00;--pride-3:#ffd400;--pride-4:#008026;--pride-5:#2461ff;--pride-6:#8b2fc9;--great:#15683f;--great-bg:#e0f0e7;--good:#1f5896;--good-bg:#e2ecf8;--fair:#8a5200;--fair-bg:#f8ebd2;--low:#a81d1d;--low-bg:#f9e2e2;--rail:10px;font:400 15px/1.6 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{color:var(--text);letter-spacing:-.02em;margin:0;font-weight:700}p{margin:0}a{color:var(--accent-deep);text-underline-offset:2px;text-decoration:underline}a:hover{text-decoration:none}.score-num,.mini-score-val,.top3-score,.rank-num,.pref-value,.country-rank,.badge{font-variant-numeric:tabular-nums}.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}.rotator{color:var(--accent);display:inline-block}@media (prefers-reduced-motion:no-preference){.rot-word{animation:.28s ease-out wordIn;display:inline-block}}@keyframes wordIn{0%{opacity:0;transform:translateY(.18em)}to{opacity:1;transform:translateY(0)}}:where(a,button,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px;border-radius:4px}.pride-rail{width:var(--rail);z-index:200;background:linear-gradient(to bottom, var(--pride-1) 0 16.666%, var(--pride-2) 16.666% 33.333%, var(--pride-3) 33.333% 50%, var(--pride-4) 50% 66.666%, var(--pride-5) 66.666% 83.333%, var(--pride-6) 83.333% 100%);position:fixed;inset:0 auto 0 0}.app{min-height:100vh;padding-left:var(--rail);flex-direction:column;display:flex}@media (width<=700px){:root{--rail:6px}.pride-rail{width:auto;height:var(--rail);background:linear-gradient(to right, var(--pride-1) 0 16.666%, var(--pride-2) 16.666% 33.333%, var(--pride-3) 33.333% 50%, var(--pride-4) 50% 66.666%, var(--pride-5) 66.666% 83.333%, var(--pride-6) 83.333% 100%);inset:0 0 auto}.app{padding-left:0;padding-top:var(--rail)}}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;border-radius:0;position:sticky;top:0}@media (width<=700px){.app-header{top:var(--rail)}}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:900px;min-height:64px;margin:0 auto;padding:0 20px;display:flex}.logo-btn{cursor:pointer;font:inherit;background:0 0;border:none;padding:6px 2px}.wordmark{letter-spacing:.02em;text-transform:uppercase;color:var(--accent-deep);font-size:20px;font-weight:700;line-height:1}.step-nav{gap:18px;display:flex}.step-btn{cursor:pointer;font:inherit;color:var(--text-faint);background:0 0;border:none;border-bottom:2px solid #0000;align-items:baseline;gap:7px;padding:6px 0;font-size:14px;transition:color .15s ease-out;display:flex}.step-index{font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:12px;font-weight:700}.step-btn.done{color:var(--text)}.step-btn.active{color:var(--accent-deep);border-bottom-color:var(--accent-deep);font-weight:500}.step-btn:not(.active):not(:disabled):hover{color:var(--text)}.step-btn:disabled{cursor:default}.app-main{flex:1;padding:44px 20px 56px}.step-container{max-width:780px;margin:0 auto}.step-hero{margin-bottom:40px}.step-title{letter-spacing:-1.5px;color:var(--text);max-width:16ch;margin-bottom:16px;font-size:40px;font-weight:700;line-height:1.05}.results-hero .step-title,.step-hero .step-title.narrow{max-width:none}@media (width<=600px){.step-title{letter-spacing:-1px;font-size:30px}}.step-subtitle{color:var(--text-soft);max-width:60ch;font-size:16px;line-height:1.6}.person-count-toggle{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:28px;display:flex}.toggle-label{color:var(--text-soft);font-size:14px}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:8px;display:inline-flex;overflow:hidden}.toggle-btn{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:none;padding:9px 18px;font-size:14px;transition:background .15s ease-out,color .15s ease-out}.toggle-btn+.toggle-btn{border-left:1px solid var(--border)}.toggle-btn.active{background:var(--accent-deep);color:var(--accent-ink);font-weight:500}.toggle-btn:not(.active):hover{background:var(--surface-2);color:var(--text)}.persons-grid{gap:20px;margin-bottom:24px;display:grid}.persons-grid.two-up{grid-template-columns:1fr 1fr}@media (width<=600px){.persons-grid.two-up{grid-template-columns:1fr}}.person-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.person-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-deep);margin-bottom:20px;font-size:13px;font-weight:700}.field-group{margin-bottom:18px}.field-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.field-select{border:1px solid var(--border);background-color:var(--bg);width:100%;font:inherit;color:var(--text);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236a6072' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .15s ease-out}.field-select:focus{border-color:var(--accent-deep);outline:none}.field-select:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.field-hint{color:var(--text-faint);margin-top:6px;font-size:12px;line-height:1.5}.field-hint-top{margin-top:0;margin-bottom:10px}.ethnicity-checkboxes{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 12px;padding:8px 0 2px;display:grid}.ethnicity-option{color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 6px;font-size:14px;transition:background .15s ease-out;display:flex}.ethnicity-option:hover{background:var(--surface-2)}.ethnicity-option input[type=checkbox]{accent-color:var(--accent-deep);cursor:pointer;flex-shrink:0;width:15px;height:15px}.step-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;display:flex}.btn-primary{background:var(--accent-deep);color:var(--accent-ink);border:1px solid var(--accent-deep);font:inherit;cursor:pointer;border-radius:8px;padding:13px 26px;font-size:15px;font-weight:500;transition:background .15s ease-out,border-color .15s ease-out}.btn-primary:hover{background:#96284a;border-color:#96284a}.btn-secondary{color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:13px 22px;font-size:15px;transition:border-color .15s ease-out,background .15s ease-out}.btn-secondary:hover{border-color:var(--text-faint);background:var(--surface)}.btn-ghost{color:var(--text-soft);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:13px 8px;font-size:14px;text-decoration:underline}.btn-ghost:hover{color:var(--text)}.form-error{color:var(--low);background:var(--low-bg);border-radius:8px;margin-top:14px;padding:11px 14px;font-size:14px}.privacy-note,.nothing-saved{color:var(--text-soft);margin-top:16px;font-size:13px;line-height:1.6}.nothing-saved strong{color:var(--text);font-weight:700}.pref-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:28px}.pref-section-title{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:14px;font-size:18px}.pref-section-note{color:var(--text-soft);background:var(--accent-soft);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.6}.pref-section-how-to{padding:20px}.pref-row{border-bottom:1px solid var(--border-light);margin-bottom:24px;padding-bottom:24px}.pref-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.pref-row-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.pref-label{font-size:15px;font-weight:500}.pref-value{color:var(--text-soft);white-space:nowrap;font-size:13px;font-weight:700}.pref-value.high{color:var(--accent-deep)}.pref-value.low{color:var(--text-faint);font-weight:400}.pref-desc{color:var(--text-faint);margin-top:10px;font-size:12px;line-height:1.55}.pref-suggested{color:var(--text-soft);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:inline-flex}.pref-suggested:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.temp-scale-labels{color:var(--text-faint);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.pref-slider{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--pct,50%), var(--border) var(--pct,50%), var(--border) 100%);border-radius:3px;outline:none;width:100%;height:6px}.pref-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-deep);border:3px solid var(--surface);cursor:pointer;border-radius:50%;width:20px;height:20px;transition:transform .15s ease-out}.pref-slider::-webkit-slider-thumb:hover{transform:scale(1.12)}.pref-slider::-moz-range-thumb{background:var(--accent-deep);border:3px solid var(--surface);cursor:pointer;border-radius:50%;width:20px;height:20px}.temp-slider{background:linear-gradient(90deg,#2461ff,#008026,#ff8c00,#e40303)}.results-container{max-width:900px}.results-hero{margin-bottom:28px}.profile-summary{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.profile-chip{background:var(--accent-soft);color:var(--accent-deep);border-radius:8px;padding:5px 12px;font-size:13px;font-weight:500}.top3-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;display:grid}@media (width<=600px){.top3-grid{grid-template-columns:1fr}}.top3-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:20px;transition:border-color .15s ease-out,background .15s ease-out}.top3-card:hover{border-color:var(--accent);background:var(--accent-soft)}.top3-rank{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-1px;font-size:32px;font-weight:700;line-height:1}.top3-flag{margin:10px 0 8px;font-size:30px;line-height:1;display:block}.top3-name{margin-bottom:10px;font-size:16px;font-weight:700}.top3-score{letter-spacing:-.5px;font-size:28px;font-weight:700}.top3-score span{color:var(--text-faint);font-size:13px;font-weight:400}.results-controls{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.search-input{border:1px solid var(--border);min-width:180px;font:inherit;background:var(--surface);color:var(--text);border-radius:8px;flex:1;padding:10px 14px;font-size:14px;transition:border-color .15s ease-out}.search-input:focus{border-color:var(--accent-deep);outline:none}.search-input:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.legend-toggle{border:1px solid var(--border);background:var(--surface);font:inherit;cursor:pointer;color:var(--text);white-space:nowrap;border-radius:8px;padding:10px 18px;font-size:14px;transition:border-color .15s ease-out}.legend-toggle:hover{border-color:var(--accent)}.legend-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:20px;font-size:13px}.legend-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.legend-swatch{white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;min-width:62px;padding:3px 10px;font-size:12px;font-weight:700}.legend-note{color:var(--text-soft);border-top:1px solid var(--border-light);margin-top:14px;padding-top:12px;font-size:12px;line-height:1.6}.legend-dimensions{gap:6px;margin-top:12px;display:grid}.legend-dim{color:var(--text-soft);font-size:12px;line-height:1.55}.country-list{flex-direction:column;gap:8px;margin-bottom:32px;display:flex}.country-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:border-color .15s ease-out;overflow:hidden}.country-row.top-ranked{border-color:var(--accent)}.country-row:hover{border-color:var(--text-faint)}.country-row.top-ranked:hover{border-color:var(--accent-deep)}@media (prefers-reduced-motion:no-preference){.country-row.stagger{opacity:0;animation:.32s ease-out forwards riseIn;animation-delay:calc(var(--i,0) * 40ms)}}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.country-main{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:48px 1fr 180px auto 36px;align-items:center;gap:12px;padding:14px 16px;display:grid}@media (width<=700px){.country-main{grid-template-columns:38px 1fr 36px}.country-main .country-mini-scores,.country-main .country-score-col{display:none}.country-main .country-score-mobile{display:block}}.country-rank{text-align:center}.rank-num{letter-spacing:-1.5px;color:var(--text-faint);font-size:32px;font-weight:700;line-height:1}@media (width<=700px){.rank-num{letter-spacing:-1px;font-size:24px}}.country-row.top-ranked .rank-num{color:var(--accent)}.country-identity{align-items:center;gap:10px;display:flex}.country-flag{flex-shrink:0;font-size:24px;line-height:1}.country-name{font-size:15px;font-weight:700}.country-region{color:var(--text-faint);font-size:12px}.country-score-mobile{margin-top:6px;display:none}.stripe-divider{background:linear-gradient(to right, var(--pride-1) 0 16.666%, var(--pride-2) 16.666% 33.333%, var(--pride-3) 33.333% 50%, var(--pride-4) 50% 66.666%, var(--pride-5) 66.666% 83.333%, var(--pride-6) 83.333% 100%);border:none;border-radius:0;height:4px;margin:4px 0 12px}.score-bar-wrap{align-items:center;gap:9px;display:flex}.score-bar-bg{background:var(--surface-2);border-radius:4px;flex:1;height:7px;overflow:hidden}.score-bar-fill{border-radius:4px;height:100%;transition:width .4s ease-out}@media (prefers-reduced-motion:reduce){.score-bar-fill{transition:none}}.score-num{text-align:right;min-width:28px;font-size:15px;font-weight:700}.score-great{color:var(--great);background-color:var(--great-bg)}.score-good{color:var(--good);background-color:var(--good-bg)}.score-fair{color:var(--fair);background-color:var(--fair-bg)}.score-low{color:var(--low);background-color:var(--low-bg)}.score-num.score-great,.score-num.score-good,.score-num.score-fair,.score-num.score-low{background:0 0}.score-bar-fill.score-great{background-color:var(--great)}.score-bar-fill.score-good{background-color:var(--good)}.score-bar-fill.score-fair{background-color:var(--fair)}.score-bar-fill.score-low{background-color:var(--low)}.country-mini-scores{gap:6px;display:flex}.mini-score{flex-direction:column;align-items:center;gap:3px;display:flex}.mini-score-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:500}.mini-score-val{border-radius:4px;padding:1px 6px;font-size:12px;font-weight:700}.expand-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;font-size:11px;transition:color .15s ease-out}.expand-btn:hover{color:var(--accent-deep)}.country-detail{border-top:1px solid var(--border-light);background:var(--bg);padding:20px 20px 20px 76px}@media (width<=700px){.country-detail{padding:16px}}.country-note{background:var(--fair-bg);color:var(--fair);border-radius:8px;margin-bottom:16px;padding:10px 13px;font-size:13px;line-height:1.55}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:16px;display:grid}.detail-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.clickable-dim{cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s ease-out,background .15s ease-out}.clickable-dim:hover{border-color:var(--accent)}.clickable-dim:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.clickable-dim.dim-open{border-color:var(--accent-deep);background:var(--accent-soft)}.detail-label-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft);font-size:11px;font-weight:700}.dim-chevron{color:var(--text-faint);font-size:10px;transition:color .15s ease-out}.clickable-dim:hover .dim-chevron,.clickable-dim.dim-open .dim-chevron{color:var(--accent-deep)}.detail-desc{color:var(--text-faint);margin-top:8px;font-size:11px;line-height:1.5}.dim-detail-panel{border-top:1px solid var(--border-light);margin-top:12px;padding-top:12px}@media (prefers-reduced-motion:no-preference){.dim-detail-panel{animation:.18s ease-out fadeSlideIn}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dim-detail-text{color:var(--text);margin:0 0 10px;font-size:13px;line-height:1.65}.dim-sources{background:var(--bg);border:1px solid var(--border-light);border-radius:8px;padding:10px 12px}.dim-sources-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.dim-sources-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.dim-sources-list a{font-size:12px;font-weight:500}.dim-click-hint{color:var(--text-soft);margin-bottom:12px;font-size:12px}.detail-climate{color:var(--text-soft);flex-wrap:wrap;gap:20px;margin-bottom:14px;font-size:13px;display:flex}.detail-climate strong{color:var(--text);font-variant-numeric:tabular-nums}.equaldex-link{font-size:13px;font-weight:500}.no-results{color:var(--text-soft);padding:32px 0}.top3-score.score-great{color:var(--great);background:0 0}.top3-score.score-good{color:var(--good);background:0 0}.top3-score.score-fair{color:var(--fair);background:0 0}.top3-score.score-low{color:var(--low);background:0 0}.results-disclaimer{background:var(--surface);border:1px solid var(--border);color:var(--text-soft);border-radius:12px;margin-top:16px;padding:18px 20px;font-size:12px;line-height:1.65}.excluded-section{margin-top:36px;margin-bottom:24px}.excluded-header{background:var(--fair-bg);border:1px solid var(--fair-bg);border-radius:12px 12px 0 0;padding:18px 20px}.excluded-title{color:var(--fair);margin-bottom:5px;font-size:15px;font-weight:700}.excluded-subtitle{color:var(--text-soft);font-size:13px;line-height:1.55}.excluded-section .country-list{margin-bottom:0}.country-row-excluded{opacity:.8}.country-row-excluded:hover{opacity:1}.country-row-excluded .country-name{color:var(--text-soft)}.exclusion-reason{background:var(--fair-bg);color:var(--fair);border-radius:8px;margin-bottom:16px;padding:11px 14px;font-size:13px;line-height:1.55}.climate-region-note{background:var(--good-bg);color:var(--good);border-radius:8px;margin-top:12px;margin-bottom:14px;padding:11px 14px;font-size:13px;line-height:1.6}.app-footer{border-top:1px solid var(--border);color:var(--text-soft);background:var(--surface);padding:20px 24px;font-size:12px;line-height:1.9}.footer-inner{max-width:900px;margin:0 auto}.footer-love{margin-top:6px}.footer-saved{color:var(--text);margin-top:6px;font-weight:500}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;margin-left:5px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.badge.live{background:var(--great-bg);color:var(--great)}.badge.cached{background:var(--surface-2);color:var(--text-soft)}.badge.loading-ind{background:var(--good-bg);color:var(--good)}.badge-time{color:var(--text-faint);margin-left:5px;font-size:11px}
