/* Soft pink / powder blue. Keep reading text dark; colour accompanies gender labels. */
:root{--paper:#fffdfd;--ink:#202d46;--muted:#526079;--line:#e1e5ed;--orange:#3862ab;--brand:#3862ab;--brand-dark:#284d8a;--brand-ink:#202d46;--brand-soft:#eef5ff;--brand-border:#dce5f0;--brand-muted:#526079;--female-soft:#fff0f5;--female-line:#edc9d8;--female-ink:#984568;--male-soft:#edf6ff;--male-line:#c5dcef;--male-ink:#315f91}
body{background:radial-gradient(ellipse 900px 900px at 0 0,#fff0f6,transparent),radial-gradient(ellipse 1000px 1000px at 100% 0,#e7f3ff,transparent),var(--paper);color:var(--ink)}
::selection{background:#dceafb;color:#202d46}
.site-header{background:#ffffff80;border-bottom:1px solid #e1e5ed}
.site-header>.nav{background:transparent;border-bottom:0}
.hero{gap:58px;padding-top:66px;padding-bottom:68px}
.herocopy h1 em,.sectionheading h2 em{color:var(--brand)}
.herovisual{background:#ffffffb8;border:1px solid #e1eaf4;border-radius:28px;box-shadow:0 14px 40px #385d8b08}
.visualheading{color:#586b87;border-color:#e0e8f2}.little-dot{background:#6c91bd}
.visualtitle i{color:var(--brand)}
.brand-primary,.searchbox>button{background:var(--brand);border-color:var(--brand)}
.brand-primary{box-shadow:0 6px 16px #3862ab1a;border-radius:13px}
.herosearch{background:#ffffffec;border-color:#d6e2ef;border-radius:15px;box-shadow:0 5px 18px #47608305}
.floatingnote{border-color:#dce8f4;background:#ffffffdd;border-radius:18px}
.floatingnote>span{background:#edf6ff;color:var(--brand)}
.suggestions button[data-detail]{border:0;border-radius:20px;padding:5px 12px;text-decoration:none}
.suggestions button[data-detail$="|f"]{background:var(--female-soft);color:var(--female-ink)}
.suggestions button[data-detail$="|m"]{background:var(--male-soft);color:var(--male-ink)}
.databar{background:#ffffffa8;border-color:#e0e7f0}.databarinner{padding-top:17px;padding-bottom:17px}
.panel,.finderfilters{background:#fff;border-color:var(--line);border-radius:22px}
.segmented{background:#f0f4f9;border-radius:14px;padding:5px}
.segmented button{border-radius:10px}
.segmented button[aria-pressed=true]{box-shadow:0 2px 7px #2c46670a}
.segmented button[data-igender=f][aria-pressed=true],.segmented button[data-gender=f][aria-pressed=true],.segmented button[data-rgender=f][aria-pressed=true],.segmented button[data-sgender=f][aria-pressed=true],.segmented button[data-ngender=f][aria-pressed=true]{background:var(--female-soft);color:var(--female-ink)}
.segmented button[data-igender=m][aria-pressed=true],.segmented button[data-gender=m][aria-pressed=true],.segmented button[data-rgender=m][aria-pressed=true],.segmented button[data-sgender=m][aria-pressed=true],.segmented button[data-ngender=m][aria-pressed=true]{background:var(--male-soft);color:var(--male-ink)}
[data-gender=f]{--gender-soft:var(--female-soft);--gender-line:var(--female-line);--gender-ink:var(--female-ink);--map-scale-low:#fff2f7;--map-scale-high:#cf94ad}
[data-gender=m]{--gender-soft:var(--male-soft);--gender-line:var(--male-line);--gender-ink:var(--male-ink);--map-scale-low:#eef7ff;--map-scale-high:#89add1}
.findercard,.nicknamecard,.storycard{background:linear-gradient(135deg,#fff,var(--gender-soft,#f5f9ff));border-color:var(--gender-line,var(--line));border-radius:22px;box-shadow:0 5px 20px #395a7904}
.findercard:hover,.nicknamecard:hover,.storycard:hover{border-color:var(--gender-ink,var(--brand));box-shadow:0 8px 22px #395a790b}
.finderbadges{flex-wrap:wrap;gap:7px}
.genderbadge{background:var(--gender-soft);color:var(--gender-ink);border:1px solid var(--gender-line);border-radius:20px;padding:3px 10px;font-size:14px;font-weight:600}
.finderfrequency b,.classpick,.storyrank,.storyarrow,.nicknametitle>span{color:var(--gender-ink,var(--brand))}
.nicknamechips button{background:var(--gender-soft,#f3f7fc);border-color:var(--gender-line,#d4dfec);color:var(--gender-ink,var(--ink));border-radius:10px}
.nicknamechips button.nickmatched{background:var(--gender-line,#dceafb);border-color:var(--gender-ink,var(--brand));color:var(--ink)}
.searchresults button[data-gender=f]{border-left:3px solid var(--female-line)}
.searchresults button[data-gender=m]{border-left:3px solid var(--male-line)}
.searchresults button[data-gender]:hover,.searchresults button[data-gender]:focus{background:var(--gender-soft)}
.rowbar{background:var(--gender-soft,#edf6ff)}
.toprank,.rankingtable .toprank{color:var(--gender-ink,var(--brand))}
.rankingtable tbody tr:nth-child(-n+3) .rowbar{background:var(--gender-line,#dce9f7)}
.ranknamebutton{color:var(--ink)}
.trendsection{background:#f3f8fe;border-color:#e0e9f3}
.storiessection{background:linear-gradient(115deg,#fff6f9,#f5faff);border-color:#eee5ed}
.comparechip{background:white;border-color:#dce4ef}
.softbutton{background:#f0f6ff;border-color:#d2dfef;color:var(--brand-dark);border-radius:12px}
.solidbutton{border-radius:12px}.solidbutton:hover{background:var(--brand-dark)}
.classroom{background:linear-gradient(110deg,#fff8fa,#f5faff);border-color:var(--gender-line,var(--line))}
.classresult strong,.classroom strong{color:var(--gender-ink,var(--brand))}
.nameheading{border-bottom-color:var(--gender-line,var(--line))}
.nameposition strong{color:var(--gender-ink,var(--brand))}
.namestats,.knownperson{background:var(--gender-soft,#f3f8ff);border-color:var(--gender-line,var(--line));border-radius:14px}
.knownperson{border-left-color:var(--gender-ink,var(--brand))}
#nameDialog{background:#fffdfd;border:1px solid var(--gender-line,var(--line));border-radius:24px}
#nameDialog::backdrop{background:#29374e66;backdrop-filter:blur(3px)}
/* Base borders are constant. The selected boundary is painted LAST, above every neighbour. */
.mapcolumn{background:#f9fbfe;border-color:var(--line)}
.mapdetails{background:#fff}.mapstats{border-color:var(--gender-line,var(--line))}
.mapregion,.mapregion:hover,.mapregion.mapselected,.mapregion:focus,.mapregion:focus-visible{outline:none;filter:none;stroke:#fff;stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .15s;cursor:pointer}
.mapregion:hover{fill-opacity:.78}
.map-outlines,.map-outlines path{pointer-events:none}
.map-selection-outline,.map-focus-outline{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.map-selection-outline{stroke:var(--gender-ink,var(--brand));stroke-width:3}
.map-focus-outline{stroke:#203953;stroke-width:2;stroke-dasharray:5 4;visibility:hidden}
.regionmap:has(.mapregion:focus-visible) .map-focus-outline{visibility:visible}
.mapregiontitle{fill:#202d46;stroke:#ffffff99;stroke-width:2;paint-order:stroke}
.mapregionlabel{fill:#202d46}
.mapgradient>i{background:linear-gradient(90deg,var(--map-scale-low,#eef7ff),var(--map-scale-high,#89add1))}
.maplegend>span>i{border-color:#b7c5d5}
.regioncard{background:var(--gender-soft,#f4f8fd);border-color:var(--gender-line,var(--line))}
.brand:focus-visible,.brand-primary:focus-visible,.brand-secondary:focus-visible{outline-color:var(--brand)}
/* Same theme in the two-person game; yes/no/maybe keep their established meaning. */
.match-app{--mi:var(--ink);--mm:var(--muted);--ml:var(--line);--mo:var(--brand);background:transparent}
.match-start-box,.match-invite,.match-name-card,.match-room-side,.match-stats,.match-finalists{border-radius:24px;border-color:#dbe6f2}
.match-start-box,.match-name-card{background:#ffffffde;box-shadow:0 10px 35px #31557708}
.match-gender button{border-radius:14px;border-color:#dbe5ef}
.match-gender button[aria-pressed=true]:first-child{background:var(--female-soft);border-color:var(--female-line);color:var(--female-ink)}
.match-gender button[aria-pressed=true]:last-child{background:var(--male-soft);border-color:var(--male-line);color:var(--male-ink)}
.match-primary{background:var(--brand);border-color:var(--brand);border-radius:12px;color:white}
.match-primary:hover{background:var(--brand-dark)}
.match-mini-card,.match-room-side,.match-invite,.match-stats{background:var(--gender-soft,#f0f7ff);border-color:var(--gender-line,#d2e3f3)}
.match-mini-card{box-shadow:8px 9px 0 #dce8f45e}
.match-name-card{border-color:var(--gender-line);background:linear-gradient(145deg,#fff 25%,var(--gender-soft));}
.match-card-under{background:var(--gender-soft);border-color:var(--gender-line);border-radius:24px}
.match-card-top>span:last-child,.match-card-description>span{color:var(--gender-ink)}
.match-result-list>article,.final-list>li{background:linear-gradient(125deg,#fff,var(--gender-soft,#f3f8ff));border-color:var(--gender-line,#dbe5ef);border-radius:18px}
.match-tabs>button[aria-current=page]{color:var(--brand);border-color:var(--brand)}
.match-tabs>button>span,.match-result-filters>button[aria-pressed=true]{background:var(--brand-soft);border-color:#b6cce8}
.match-pin[aria-pressed=true],.final-order-buttons button,.final-comments article{background:#f0f6ff;border-color:#d7e4f2;color:var(--brand-dark)}
@media(max-width:760px){.hero{gap:32px;padding-top:36px;padding-bottom:40px}.herovisual{border-radius:24px}.panel{border-radius:19px}.findercard,.nicknamecard,.storycard{border-radius:18px}.mapcolumn{padding:16px}.map-selection-outline{stroke-width:2.5}.map-focus-outline{stroke-width:2}.mapdetails{border-top:1px solid var(--line)}#nameDialog{border-radius:20px}.match-start-box,.match-name-card,.match-room-side{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.mapregion{transition:none}}
@media(forced-colors:active){.mapregion{fill:Canvas;stroke:CanvasText}.map-selection-outline,.map-focus-outline{stroke:Highlight}.map-focus-outline{stroke-dasharray:5 4}}
