@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@400;500;600&display=swap');
:root{color-scheme:dark;--ink:#151b20;--paper:#f2e6cf;--brass:#d2ac65;--mix:.5}*{box-sizing:border-box}body{margin:0;color:var(--paper);background:radial-gradient(ellipse at 12% 50%,#1d383d55,transparent 55%),radial-gradient(ellipse at 95% 70%,#56342344,transparent 60%),var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}header{max-width:1350px;margin:auto;padding:29px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:32px 'Cormorant Garamond',Georgia,serif;white-space:nowrap}.brand span{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:.2em;color:var(--brass);margin-top:7px}.back{font-size:11px;color:#c8bca5}main{max-width:1230px;margin:0 auto;padding:10px 5% 32px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:8%;align-items:center}.art{min-width:0}.exposure{aspect-ratio:2/3;position:relative;isolation:isolate;border-radius:110px 110px 8px 8px;overflow:hidden;box-shadow:0 25px 65px #0007,0 0 0 1px #d5b67444;background:#203237}.portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.woodland{opacity:var(--mix)}.art-grain{position:absolute;inset:0;box-shadow:inset 0 -100px 80px -65px #000c;pointer-events:none}.art-caption{position:absolute;bottom:22px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.24em;color:#fff6dc;text-shadow:0 1px 6px #000}.image-note{font-size:9px;line-height:1.6;color:#9b9d97;margin-top:14px}.eyebrow{color:var(--brass);font-size:9px;letter-spacing:.22em;margin:0 0 20px}h1{font:clamp(43px,5.3vw,70px)/.98 'Cormorant Garamond',Georgia,serif;margin:0 0 22px;font-weight:400}h1 em{color:#dfbb7d;font-weight:400}.intro{font-size:12px;color:#c7c4b9;line-height:1.9;margin-bottom:24px}.instrument{max-width:310px;text-align:center}.instrument-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em;color:#cbb680;margin:0 19px 4px}.instrument-label span:first-child{color:#8ac5ca}.dial{width:230px;margin:auto;touch-action:none;cursor:grab;border-radius:50%;filter:drop-shadow(0 12px 12px #0008);outline-offset:5px;user-select:none}.dial:active{cursor:grabbing}.dial:focus-visible{outline:2px solid #82d3d8}.dial svg{display:block;width:100%}.dial-script{fill:#d7bc80;font:10px Georgia,serif;letter-spacing:3px}.dial-small{fill:#a59972;font:7px Georgia,serif;letter-spacing:2px}#needle{transform:rotate(0deg);transform-origin:150px 150px}output{display:block;font:25px 'Cormorant Garamond',Georgia,serif;color:var(--brass);margin-top:11px}.balance-label{font-size:10px;color:#c7c4b9;margin:5px 0 18px}.presets{display:flex;gap:7px;justify-content:center}button{font:10px 'DM Sans',sans-serif;cursor:pointer;border:1px solid #ae88534d;border-radius:30px;padding:10px 12px;background:#ffffff05;color:#d8ccb3}button[aria-pressed=true]{background:#bb945c29;color:#f4dab0;border-color:#c1a06b}button:focus-visible{outline:2px solid #8acbd1;outline-offset:3px}.hint{font-size:9px;line-height:1.8;color:#8c948f;max-width:270px;margin:17px auto 0}.footnote{font:italic 19px/1.5 'Cormorant Garamond',Georgia,serif;color:#b2ad9f;margin:25px 0 0}@media(min-width:1000px){main{max-width:1180px}.exposure{max-height:calc(100vh - 160px);width:auto;max-width:100%;aspect-ratio:2/3}}@media(max-width:700px){header{padding:22px 6%}.brand{font-size:26px}.brand span{font-size:6px}.back{font-size:9px;max-width:90px;text-align:right;line-height:1.6}main{display:block;padding:8px 7% 35px}.exposure{border-radius:85px 85px 6px 6px;max-width:460px;margin:auto}.image-note{text-align:center}.controls{padding-top:27px;text-align:center}.instrument{margin:auto}h1{font-size:49px}.intro{margin-bottom:23px}.footnote{font-size:18px}.dial{width:215px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Atmospheres are explicit visual choices, independent of the portrait blend. */
[hidden]{display:none!important}.set-scene{margin-top:20px;border-radius:6px;background:#c7a05c;color:#182022;border-color:#e8c98d;padding:13px 16px;font-weight:600;width:100%;line-height:1.5}.set-scene:hover{background:#e3bf7f}h2{font:400 clamp(43px,4.7vw,65px)/1.03 'Cormorant Garamond',Georgia,serif;margin:0 0 19px}h2 em{font-weight:400;color:var(--mood-accent,#dfbb7d)}.mood-options{display:grid;gap:10px}.mood-options button{display:flex;align-items:center;gap:13px;text-align:left;border-radius:12px;padding:16px;background:#ffffff04;min-height:75px}.mood-options strong{display:block;font-size:12px;font-weight:500;color:#f4ebdd}.mood-options small{display:block;font-size:10px;margin-top:6px;color:#bbbdb6}.swatch{width:27px;height:27px;flex:0 0 27px;border-radius:50%;box-shadow:0 0 18px #ffffff12}.pink{background:radial-gradient(circle at 30% 30%,#ffe3ef,#d685aa)}.blue{background:radial-gradient(circle at 30% 30%,#b9dfff,#326bd1)}.pastel{background:linear-gradient(135deg,#f3dbb8,#e7afbb,#bfc6ba)}.mood-options button[aria-pressed=true]{border-color:var(--mood-accent);background:rgba(var(--aura),.14)}.mood-status{font-size:10px;color:var(--mood-accent,#c6b992);line-height:1.8;min-height:36px;margin:17px 0 10px}.scene-actions{display:flex;flex-wrap:wrap;gap:9px}.scene-actions button{padding:11px 13px}#atmosphere .hint{max-width:none;margin:19px 0 0;text-align:left}body[data-mood]{--pulse:18s;--mood-accent:#f5c2d8;--aura:222,129,173;background:radial-gradient(ellipse at 5% 40%,rgba(var(--aura),.28),transparent 65%),radial-gradient(ellipse at 95% 80%,rgba(var(--aura),.18),transparent 60%),#221923}body[data-mood=dom-female]{--pulse:14s;--mood-accent:#acd3ff;--aura:69,125,241;background:radial-gradient(ellipse at 5% 40%,rgba(var(--aura),.3),transparent 65%),radial-gradient(ellipse at 95% 80%,#173f7655,transparent 60%),#0e192c}body[data-mood=trad-fem]{--pulse:22s;--mood-accent:#f1d0b1;--aura:231,181,150;background:radial-gradient(ellipse at 5% 40%,#c5998055,transparent 65%),radial-gradient(ellipse at 95% 70%,#b18a9c44,transparent 60%),#292326}.mood-wash{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:soft-light}body[data-mood] .mood-wash{opacity:.24;background:linear-gradient(140deg,rgba(var(--aura),.9),transparent 55%,rgba(var(--aura),.5));animation:mood-breath var(--pulse) ease-in-out infinite}body[data-mood] .exposure{animation:mood-halo var(--pulse) ease-in-out infinite}body[data-mood=trad-fem] .mood-wash{background:linear-gradient(135deg,#f2d7ac,transparent 45%,#d1a8bd)}body[data-mood] .eyebrow,body[data-mood] .footnote{color:var(--mood-accent)}.glow-paused .mood-wash,.glow-paused .exposure{animation-play-state:paused!important}@keyframes mood-breath{0%,100%{opacity:.16}50%{opacity:.38}}@keyframes mood-halo{0%,100%{box-shadow:0 25px 65px #0007,0 0 0 1px rgba(var(--aura),.35),0 0 28px rgba(var(--aura),.1)}50%{box-shadow:0 25px 65px #0007,0 0 0 1px rgba(var(--aura),.8),0 0 65px rgba(var(--aura),.32)}}@media(max-width:700px){.scene-chosen main{display:flex;flex-direction:column}.scene-chosen .art{width:100%}.scene-chosen .controls{order:-1;width:100%;padding:10px 0 28px}.scene-chosen .mood-options{grid-template-columns:1fr}.scene-chosen #atmosphere .hint{text-align:center}.scene-chosen .scene-actions{justify-content:center}.scene-chosen .footnote{display:none}}@media(prefers-reduced-motion:reduce){body[data-mood] .exposure,body[data-mood] .mood-wash{animation:none!important}body[data-mood] .mood-wash{opacity:.24}}
/* Session preferences lead to clearly fictional, district-based introductions. */
.session-note{font-size:10px;color:#c3bfb7;line-height:1.7;margin:12px 0 16px}.results-zone{max-width:1110px;margin:20px auto 70px;padding:38px 5% 15px;border-top:1px solid #d6b17144;scroll-margin-top:24px}.results-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.results-heading h2{margin-bottom:12px}.results-summary{font-size:12px;line-height:1.9;max-width:800px;color:#ddd2bf}.district-search{margin:25px 0 15px;max-width:450px}.district-search label{display:block;font-size:11px;margin-bottom:9px;color:#eee0c8}.district-search>div{display:flex;gap:9px}.district-search input{width:110px;min-width:0;padding:13px 15px;border:1px solid #b7a28177;border-radius:6px;background:#ffffff0b;color:#fff4e1;font:14px 'DM Sans',sans-serif;text-transform:uppercase}.district-search .set-scene{width:auto;margin:0}.results-disclosure{font-size:11px;line-height:1.8;color:#bacad6;max-width:820px}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:25px}.result-card{background:#12283cbb;border:1px solid #74b9ea66;border-radius:14px;padding:22px;min-width:0;display:flex;flex-direction:column;align-items:start}.result-portrait{width:90px;margin-bottom:13px}.result-portrait svg,.detail-portrait svg{display:block;width:100%;height:auto}.result-card h3{font:30px 'Cormorant Garamond',Georgia,serif;margin:7px 0;color:#f4ead8}.demo-label{font-size:8px!important;letter-spacing:.12em;color:#a3d5ff!important;margin:4px 0}.result-card p{font-size:12px;line-height:1.8;margin:7px 0}.result-meta{font-size:10px!important;color:#bbcddd}.dynamic-label{color:#c3e1f6;font-size:11px!important}.result-card button{margin-top:auto;border-color:#8ab8da88;color:#d5ebff;padding:12px 13px;border-radius:7px;width:100%;text-align:left}.result-card button:hover{background:#3a658766}.result-card p:last-of-type{margin-bottom:20px}.results-empty{font-size:12px;color:#dfd2be;line-height:1.8;margin-top:25px}.results-attribution{font-size:9px;color:#b0b8bd;line-height:1.8}dialog{border:1px solid #89bfea88;border-radius:15px;background:#162638;color:#f3e7d2;padding:35px;width:min(580px,92vw);max-height:85vh;overflow:auto;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#071018c9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:13px;top:12px;border:0;font-size:23px;padding:5px 10px}.detail-portrait{width:105px;margin-bottom:17px}dialog h2{font-size:43px;margin:12px 0}dialog h3{font:24px 'Cormorant Garamond',Georgia,serif;margin:23px 0 8px}dialog p{font-size:12px;line-height:1.85}.demo-hello{display:grid;gap:12px;margin-top:22px}.demo-hello label{font-size:11px}.demo-hello input{display:block;width:100%;margin-top:9px;border:1px solid #8db5d288;border-radius:6px;padding:13px;background:#ffffff09;color:#fff4e1;font:12px 'DM Sans',sans-serif}.demo-hello button{border-radius:7px;padding:13px;background:#b9d6ed;color:#142334;font-weight:600}.chat-line{background:#28496499;border-radius:7px;padding:12px}.chat-line.mine{background:#40506399;margin-left:25px}#matchesTitle:focus,#moodTitle:focus{outline:none}@media(max-width:800px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.result-grid{grid-template-columns:1fr}.results-zone{margin-top:0;padding:28px 7%}.results-heading{display:block}.results-heading>button{margin:5px 0 12px}.result-card{padding:22px}.district-search .set-scene{font-size:10px;padding:12px}.district-search input{width:90px}dialog{padding:30px 23px}.scene-actions{gap:7px}}

/* Shared adult mouse introduction, with a motion-free accessible preview switch. */
.mouse-introduction{width:min(100%,340px);margin:0 auto 22px;text-align:center}
.mouse-reveal-art{width:190px;max-width:65%;margin:auto;filter:drop-shadow(0 10px 16px #153b6133);animation:mouse-arrival .55s ease-out both}
.mouse-reveal-art svg{display:block;width:100%;height:auto}
.mouse-reveal-caption{font:italic 1.1rem Georgia,serif;line-height:1.45;margin:12px 0}
.mouse-reveal-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 8px}
.mouse-reveal-controls button{font:inherit;font-size:.76rem;padding:8px 10px;border:1px solid #7c98af;border-radius:20px;background:#153b61;color:#e1f2ff;cursor:pointer;min-height:38px}
.mouse-reveal-controls button[aria-pressed=true]{background:#d3edff;color:#153b61;border-color:#477aa1;box-shadow:0 0 0 2px #83c9fa33}
.mouse-reveal-controls button:focus-visible{outline:3px solid #be8738;outline-offset:3px}
.mouse-introduction small{display:block;font-size:.7rem;line-height:1.5;opacity:.8}
@keyframes mouse-arrival{from{opacity:0;transform:translateY(12px) rotate(-3deg) scale(.94)}to{opacity:1;transform:none}}
.still .mouse-reveal-art{animation:none}
@media(prefers-reduced-motion:reduce){.mouse-reveal-art{animation:none}}
