@font-face{font-family:Syne;src:url("assets/Syne-ExtraBold.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/Manrope-Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/Manrope-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}

:root{
  --ink:#17131d;
  --purple:#6d4aff;
  --pink:#ff557b;
  --paper:#fffafd;
  --soft:#f3eef9;
  --line:#e7dfeb;
  --muted:#736d79;
  --white:#fff;
  --success:#1f9d69;
  --match-video-bg:#faf8f9;
  --nomatch-video-bg:#fafafa;
  --shadow:0 22px 70px rgba(34,22,48,.14);
  --app-height:100dvh;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --bottom-nav-height:calc(60px + var(--safe-bottom));
  --bottom-nav-reserve:calc(var(--bottom-nav-height) + 12px);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-height:100%;background:var(--paper)}
body{min-height:100vh;min-height:var(--app-height);margin:0;color:var(--ink);background:radial-gradient(circle at 30% -20%,#efe8ff 0,transparent 42%),var(--paper);font-family:Manrope,system-ui,sans-serif;font-weight:500;overflow-x:hidden;overscroll-behavior-x:none}
html.is-match-screen,body.is-match-screen{background:var(--match-video-bg)}
body.is-match-screen .ambient{display:none}
button,input,textarea{font:inherit}
button{color:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--purple) 40%,transparent);outline-offset:3px}

.ambient{position:fixed;z-index:0;border-radius:999px;pointer-events:none;filter:blur(1px)}
.ambient-a{width:420px;height:420px;right:-180px;top:18%;background:rgba(109,74,255,.08)}
.ambient-b{width:360px;height:360px;left:-190px;bottom:5%;background:rgba(255,85,123,.08)}
.app-shell{position:relative;z-index:1;width:min(100%,980px);min-height:100vh;min-height:var(--app-height);margin:0 auto;padding:0 24px 24px;overflow-x:hidden}
body.has-bottom-nav .app-shell{padding-bottom:var(--bottom-nav-reserve)}
.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand-button,.quiet-button,.safety-button{border:0;background:transparent}
.brand-button{display:flex;align-items:center;gap:12px;padding:7px;border-radius:14px}
.brand-button img{width:62px;height:62px}
.wordmark{font-family:Syne,sans-serif;font-size:35px;font-weight:800;letter-spacing:-2.2px}
.wordmark .brand-four{color:var(--pink)}
.topbar.is-super-nomatch .brand-button{padding:7px 12px 7px 7px;border:2px solid var(--ink);background:#f4ff48;box-shadow:4px 4px 0 var(--ink)}
.topbar.is-super-nomatch .wordmark{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:.8;letter-spacing:0}
.topbar.is-super-nomatch .wordmark small{margin-left:2px;font-family:Manrope,sans-serif;font-size:10px;font-weight:800;letter-spacing:.2em}
.topbar.is-super-nomatch .wordmark b{font-family:Syne,sans-serif;font-size:29px;letter-spacing:-2px;white-space:nowrap}
.topbar.is-super-nomatch .wordmark .brand-four{color:#ff345f}
.topbar-actions{display:flex;align-items:center;gap:8px}
.backend-status{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;color:#705d7d;background:#f3eef7;font-size:10px;font-weight:800;white-space:nowrap}
.backend-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#b89bc8;box-shadow:0 0 0 3px rgba(184,155,200,.16)}
.backend-status.is-synced{color:#226247;background:#effaf5}.backend-status.is-synced::before{background:#31a573;box-shadow:0 0 0 3px rgba(49,165,115,.15)}
.backend-status.is-offline{color:#8b3449;background:#fff0f4}.backend-status.is-offline::before{background:#dc4d70;box-shadow:0 0 0 3px rgba(220,77,112,.15)}
.quiet-button,.safety-button{min-height:42px;padding:0 13px;border-radius:13px;font-size:13px;font-weight:700}
.quiet-button{background:var(--soft)}
.safety-button{border:1px solid var(--line)}

.screen{min-width:0;min-height:calc(var(--app-height) - 114px);display:grid;align-content:center;padding:24px 0;overflow-x:hidden}
.screen.with-nav{align-content:start;padding-top:20px}
body.has-bottom-nav .screen{min-height:calc(var(--app-height) - 90px - var(--bottom-nav-reserve))}
.topbar[hidden]+.screen{min-height:calc(var(--app-height) - 24px)}
.panel{width:min(100%,720px);min-width:0;margin:0 auto}
.panel.narrow{width:min(100%,590px)}
.panel.center{text-align:center}

.welcome-brand-lockup{display:flex;flex-direction:column;align-items:center;margin:0 auto 21px}
.hero-icon{width:148px;height:148px;margin:0 auto 4px;filter:drop-shadow(0 16px 26px rgba(72,45,110,.18))}
.welcome-wordmark{font-family:Syne,sans-serif;font-size:clamp(48px,8.5vw,68px);font-weight:800;line-height:.9;letter-spacing:-.07em;white-space:nowrap;text-shadow:0 8px 22px rgba(32,20,44,.07)}
.welcome-wordmark .brand-four{color:var(--pink)}
body.is-welcome-screen{height:var(--app-height);overflow:hidden;overscroll-behavior:none}
body.is-welcome-screen .app-shell{height:var(--app-height);min-height:0;padding-bottom:0;overflow:hidden}
body.is-welcome-screen .screen{height:100%;min-height:0;padding-top:max(18px,var(--safe-top));padding-bottom:max(18px,var(--safe-bottom));overflow-y:auto;overscroll-behavior-y:none}
body.is-fixed-screen{height:var(--app-height);overflow:hidden;overscroll-behavior:none}
body.is-fixed-screen .app-shell{height:var(--app-height);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
body.is-fixed-screen .screen{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:none}
body.is-welcome-screen .app-shell{display:block}
.eyebrow{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;color:var(--purple);background:#ede8ff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1{margin:18px 0 15px;font-family:Syne,sans-serif;font-size:clamp(43px,8vw,74px);line-height:.96;letter-spacing:-.055em}
h2{margin:15px 0 12px;font-family:Syne,sans-serif;font-size:clamp(32px,5.5vw,52px);line-height:1;letter-spacing:-.045em}
h3{margin-bottom:8px;font-size:22px}
.lead{max-width:620px;margin:0 auto 28px;color:var(--muted);font-size:18px;line-height:1.6}
.pink{color:var(--pink)}
.language-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}
.choice-button,.language-card{min-height:72px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(30,20,40,.05);font-weight:700;transition:.2s ease}
.language-card:hover,.choice-button:hover{transform:translateY(-2px);border-color:var(--purple);box-shadow:0 12px 28px rgba(70,42,104,.1)}
.language-card.is-selected,.choice-button.is-selected{color:var(--white);border-color:var(--ink);background:var(--ink);box-shadow:0 10px 30px rgba(23,19,29,.22)}
.language-card small{display:block;margin-top:3px;color:inherit;opacity:.65;font-size:11px}
.primary-button,.secondary-button,.danger-link{min-height:54px;border-radius:17px;padding:0 24px;font-weight:700;transition:.2s ease}
.primary-button{border:1px solid var(--ink);color:var(--white);background:var(--ink);box-shadow:0 12px 26px rgba(23,19,29,.2)}
.primary-button:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(23,19,29,.25)}
.primary-button:disabled{opacity:.35;transform:none;box-shadow:none}
.secondary-button{border:1px solid var(--line);background:var(--white)}
.button-row{display:flex;justify-content:center;gap:12px;margin-top:28px}
.button-row.split{justify-content:space-between}
.microcopy{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.welcome-actions{width:min(100%,440px);display:grid;grid-template-columns:1fr;gap:10px;margin:0 auto}
.welcome-actions.has-download{grid-template-columns:repeat(2,minmax(0,1fr))}
.welcome-actions>*{width:100%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.web-download-button{flex-direction:column;gap:1px;line-height:1.1}
.web-download-button small{font-size:10px;opacity:.72}
.web-download-button.is-disabled{cursor:not-allowed;opacity:.58}

.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}
.age-card{position:relative;min-height:190px;padding:25px;text-align:left;border:1px solid var(--line);border-radius:28px;background:var(--white);overflow:hidden;transition:.2s ease}
.age-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.age-card strong{display:block;margin:13px 0 8px;font-family:Syne,sans-serif;font-size:34px;letter-spacing:-2px}
.age-card p{margin:0;color:var(--muted);line-height:1.45}
.age-card .bubble{position:absolute;width:100px;height:100px;right:-20px;bottom:-25px;border-radius:50%;background:rgba(109,74,255,.12)}
.age-card:last-child .bubble{background:rgba(255,85,123,.13)}
.safety-note{display:flex;align-items:flex-start;gap:12px;padding:17px;border-radius:18px;background:#effaf5;text-align:left;color:#226247;font-size:14px;line-height:1.45}
.safety-note span{font-size:22px}
.demo-notice{margin-bottom:18px}

.field-stack{display:grid;gap:18px;margin-top:28px;text-align:left}
.field label{display:block;margin-bottom:8px;font-weight:700}
.field input{width:100%;height:58px;padding:0 17px;border:1px solid var(--line);border-radius:17px;color:var(--ink);background:var(--white);font-size:17px}
.field input::placeholder{color:#aaa2af}
.appearance-field{margin-top:18px;text-align:left}
.appearance-field>span{display:block;margin-bottom:9px;font-weight:700}
.appearance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.appearance-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.appearance-button{min-height:54px;border:1px solid var(--line);border-radius:16px;background:var(--white);font-weight:700;transition:.2s ease}
.appearance-button:hover{border-color:var(--purple);transform:translateY(-1px)}
.appearance-button.is-selected{border-color:var(--ink);color:var(--white);background:var(--ink);box-shadow:0 9px 22px rgba(23,19,29,.16)}
.no-photo-card{display:flex;gap:15px;align-items:center;margin-top:22px;padding:17px;border:1px dashed #cdbfd4;border-radius:19px;text-align:left}
.no-photo-card .symbol{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;color:var(--white);background:linear-gradient(135deg,var(--purple),var(--pink));font-size:22px}
.no-photo-card p{margin:4px 0 0;color:var(--muted);font-size:13px}

.progress-wrap{margin-bottom:26px}
.progress-meta{display:flex;justify-content:space-between;margin-bottom:9px;color:var(--muted);font-size:13px;font-weight:700}
.progress-track{height:8px;border-radius:999px;background:var(--soft);overflow:hidden}
.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--pink));transition:width .45s ease}
.question-symbol{display:grid;place-items:center;width:64px;height:64px;margin-bottom:22px;border-radius:21px;background:var(--soft);font-size:29px}
.question-title{max-width:650px}
.question-help{margin-bottom:24px;color:var(--muted);line-height:1.5}
.answer-list{display:grid;gap:11px}
.answer-button{display:flex;align-items:center;gap:15px;width:100%;min-height:66px;padding:13px 17px;border:1px solid var(--line);border-radius:18px;text-align:left;background:var(--white);font-weight:700;transition:.18s ease}
.answer-button:hover{transform:translateX(3px);border-color:#b9a7c4}
.answer-button.is-selected{border-color:var(--ink);background:var(--ink);color:var(--white)}
.answer-button .answer-emoji{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:var(--soft);font-size:20px}
.answer-button.is-selected .answer-emoji{background:rgba(255,255,255,.14)}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px;flex-wrap:wrap}
.section-head>div{min-width:0;flex:1 1 200px}
.section-head h2{margin-bottom:3px}
.section-head p{margin:0;color:var(--muted)}
.count-pill{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:700;white-space:nowrap}
.profile-card{position:relative;min-height:570px;padding:28px;border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);overflow:hidden;animation:card-in .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes card-in{from{opacity:0}to{opacity:1}}
.profile-glow{position:absolute;width:260px;height:260px;right:-120px;top:-110px;border-radius:50%;background:var(--profile-color,#6d4aff);opacity:.12}
.profile-top{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}
.profile-top>div:not(.profile-sigil){min-width:0;flex:1}
.profile-sigil{display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border:2px solid var(--ink);border-radius:24px;color:var(--white);background:linear-gradient(135deg,var(--profile-color,#6d4aff),var(--profile-color-2,#ff557b));font-family:Syne,sans-serif;font-size:28px}
.profile-name{margin:0;font-size:29px;letter-spacing:-1px}
.profile-meta{margin:3px 0 0;color:var(--muted);font-size:14px}
.safe-chip{margin-left:auto;padding:8px 10px;border-radius:999px;color:#226247;background:#e8f7ef;font-size:11px;font-weight:700}
.profile-intro{position:relative;margin:24px 0 19px;font-size:18px;line-height:1.5}
.signals{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.signal{min-height:82px;padding:13px;border-radius:16px;background:var(--soft)}
.signal small{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.signal small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.3}
.signal strong{font-size:13px;line-height:1.35}
.profile-signal{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px 10px;align-items:center;border:2px solid transparent;transition:border-color .18s ease,background .18s ease}
.profile-signal.is-match{border-color:#76d6aa;background:#e5f8ee}
.profile-signal.is-different{border-color:#ef9caf;background:#fff0f4}
.profile-signal-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-size:19px;font-weight:900}
.profile-signal.is-match .profile-signal-icon{background:#16835a}
.profile-signal.is-different .profile-signal-icon{background:#c7375a}
.profile-signal-copy{min-width:0}.profile-signal-copy small{margin-bottom:3px}
.profile-signal-status{grid-column:3;grid-row:1;align-self:center;justify-self:end;padding:6px 8px;border-radius:999px;font-size:9px;line-height:1;letter-spacing:.045em;text-align:center;white-space:nowrap}
.profile-signal.is-match .profile-signal-status{color:#075c3c;background:#bcebd4}
.profile-signal.is-different .profile-signal-status{color:#8c1734;background:#ffd2dc}
.profile-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:11px;margin-top:23px}
.profile-actions button{min-height:58px;border-radius:18px;font-weight:700}
.skip-button{border:1px solid var(--line);background:var(--white)}
.connect-button{border:1px solid var(--ink);color:var(--white);background:var(--ink)}
.profile-safety-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:14px}
.profile-safety-actions button{min-height:44px;padding:5px 8px;border:0;border-bottom:1px solid transparent;color:var(--muted);background:transparent;font-size:12px;font-weight:700}
.profile-safety-actions button:hover{color:#a51f40;border-color:currentColor}

.quick-card{padding:30px;border-radius:30px;background:var(--ink);color:var(--white);box-shadow:var(--shadow)}
.quick-panel{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto auto;align-content:start}
.quick-panel .quick-card{min-height:0;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);overflow:hidden}
.quick-panel .quick-card .answer-list{min-height:0;grid-template-rows:none;grid-auto-rows:minmax(58px,auto);align-content:start}
.quick-panel .quick-card .answer-button{min-height:58px}
.quick-panel>.button-row{margin-top:12px}
.live-match-meter{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-8px 0 14px;padding:11px 14px;border:1px solid #d7cddd;border-radius:16px;color:#5b5060;background:#f4f0f6;transition:color .18s ease,border-color .18s ease,background .18s ease}
.live-match-meter.has-match{color:#0b5f40;border-color:#4ed69a;background:#d9f7e9}
.live-match-meter strong{font-size:13px}.live-match-meter span{font-size:12px;font-weight:700;opacity:.72;white-space:nowrap}
.quick-card .eyebrow{color:#ffd7e1;background:rgba(255,85,123,.18)}
.quick-card .quick-symbol{width:54px;height:54px;margin:16px 0 0;border-radius:17px;background:rgba(255,255,255,.1);font-size:25px}
.quick-card h2{margin-top:20px}
.quick-card h2{overflow-wrap:anywhere}
.quick-card .answer-button{color:var(--white);border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.07)}
.quick-card .answer-button:hover{border-color:var(--pink)}
.quick-card .answer-button.is-selected{color:var(--white);border-color:rgba(255,255,255,.72);background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.quick-card .answer-button.is-selected.is-match{color:#073c29;border-color:#4ed69a;background:#43d895;box-shadow:inset 0 0 0 1px rgba(255,255,255,.36)}
.quick-card .answer-button.is-selected.is-different{color:#571023;border-color:#ff7897;background:#ff8ca6;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}
.quick-card .answer-button:disabled{cursor:default;opacity:1}
.quick-card .answer-button:disabled:hover{transform:none}
.quick-card .answer-button .answer-emoji{background:rgba(255,255,255,.1)}
.answer-match-badge{margin-left:auto;padding:5px 8px;border:1px solid rgba(7,60,41,.34);border-radius:999px;color:#073c29;background:rgba(255,255,255,.55);font-family:Syne,sans-serif;font-size:10px;letter-spacing:.025em;white-space:nowrap}
.answer-match-badge.is-different{border-color:rgba(87,16,35,.3);color:#571023}

.match-burst{position:relative;width:170px;height:150px;margin:0 auto 18px}
.match-burst img{position:absolute;width:120px;height:120px;left:25px;top:14px;animation:pop .65s cubic-bezier(.2,.8,.2,1) both}
.match-burst::before,.match-burst::after{content:"";position:absolute;border-radius:50%;background:var(--pink);animation:pop .7s .12s cubic-bezier(.2,.8,.2,1) both}
.match-burst::before{width:16px;height:16px;left:4px;top:28px}
.match-burst::after{width:12px;height:12px;right:0;bottom:24px;background:var(--purple)}
@keyframes pop{from{opacity:0;transform:scale(.3) rotate(-10deg)}to{opacity:1;transform:none}}
.match-score{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;border-radius:999px;color:#226247;background:#e8f7ef;font-weight:700}
.panel.narrow.positive-result{width:min(100%,780px)}
.positive-result-hero{display:grid;grid-template-columns:minmax(260px,.88fr) minmax(300px,1.12fr);align-items:center;gap:clamp(24px,4vw,46px)}
.positive-result .match-scene{height:clamp(250px,34vh,320px);margin:0;border:0;border-radius:0;background:var(--match-video-bg);box-shadow:none;overflow:visible}
.positive-result.is-result-settled .match-scene{height:clamp(250px,34vh,320px)}
.positive-result .match-scene::before,.positive-result .match-scene::after{display:none}
.positive-result .match-video,.positive-result .match-video-poster{border-radius:0}
.positive-result .match-video{background:var(--match-video-bg);mix-blend-mode:darken}
.positive-result .match-video-poster{background:var(--match-video-bg)!important}
.positive-result .match-motion-heart{color:#18a86f;text-shadow:0 7px 16px rgba(24,168,111,.28)}
.positive-result .match-scene::after{background:#18a86f}
.positive-result .match-score{color:#0f6845;background:#d9f7e9;border:1px solid #ace2ca}
.positive-result #open-chat{border-color:#14784f;background:#14784f;box-shadow:0 12px 26px rgba(20,120,79,.22)}
.positive-result-overview{min-width:0;text-align:left}
.positive-result-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.positive-result-meta .replay-animation,.positive-result-meta .match-score{margin:0}
.positive-result-overview h1{margin:10px 0 8px;font-size:clamp(38px,5.6vw,58px)}
.positive-result-overview>.lead{margin:0 0 15px;font-size:15px;line-height:1.45}
.result-decision-card{padding:18px;border-radius:22px;color:#fff;background:var(--ink);box-shadow:0 16px 38px rgba(23,19,29,.16)}
.result-decision-card .eyebrow{min-height:24px;padding:0;color:#ffd7e1;background:transparent;font-size:10px}
.result-decision-card h2{min-width:0;margin:9px 0 7px;font-size:clamp(25px,3.8vw,39px);line-height:.93;overflow-wrap:anywhere}
.result-decision-card h2 .pink{display:inline;overflow-wrap:anywhere;word-break:break-word}
.result-decision-card p{margin:0;color:#d3ccd7;font-size:13px}
.result-decision-card>strong{display:block;margin-top:10px;color:#fff;font-size:13px}
.result-actions{display:grid;grid-template-columns:1fr 1.35fr;width:100%;margin-top:13px}
.result-actions button{min-width:0;padding:0 14px}
.result-breakdown{width:100%;margin-top:18px;border:1px solid var(--line);border-radius:22px;background:var(--white);text-align:left;box-shadow:0 12px 34px rgba(34,22,48,.07);overflow:hidden}
.result-breakdown summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 19px;cursor:pointer;list-style:none}
.result-breakdown summary::-webkit-details-marker{display:none}
.result-breakdown summary span{display:grid;gap:3px}
.result-breakdown summary strong{font-size:14px}
.result-breakdown summary small{color:var(--muted);font-size:11px}
.result-breakdown summary>b{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;color:#fff;background:var(--ink);font-size:19px;transition:transform .2s ease}
.result-breakdown[open] summary>b{transform:rotate(45deg)}
.result-breakdown>.answer-summary{padding:2px 19px 18px}
.result-breakdown>.answer-summary h3{margin:8px 0}
.result-starters{margin:0 19px 19px;padding:17px;border-radius:18px;color:#fff;background:var(--ink)}
.result-starters .eyebrow{color:#ffd7e1;background:rgba(255,85,123,.18)}
.result-starters p{margin:10px 0 0;font-size:13px;line-height:1.45}
.round-answer-summary{gap:10px}
.answer-summary .round-answer-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid transparent;border-radius:16px}
.answer-summary .round-answer-row.is-match{border-color:#a5dfc5;background:#e7f8ef}
.answer-summary .round-answer-row.is-different{border-color:#f1bac8;background:#fff0f4}
.answer-summary .round-answer-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;font-family:Syne,sans-serif;font-size:24px;font-weight:800}
.answer-summary .is-match .round-answer-icon{background:#16875a}
.answer-summary .is-different .round-answer-icon{background:#c52f54}
.answer-summary .round-answer-copy{display:grid;gap:3px;min-width:0;color:var(--ink)}
.answer-summary .round-answer-copy small{color:var(--muted);font-size:11px;line-height:1.25}
.answer-summary .round-answer-copy strong{text-align:left;font-size:14px;line-height:1.25}
.answer-summary .round-answer-status{padding:6px 9px;border-radius:999px;font-size:10px;white-space:nowrap}
.answer-summary .is-match .round-answer-status{color:#0a5b3b;background:#c9f0dc}
.answer-summary .is-different .round-answer-status{color:#96203f;background:#ffd8e1}
.replay-animation{display:inline-flex;align-items:center;gap:7px;margin:-5px auto 14px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:12px;font-weight:700}
.replay-animation:hover{border-color:var(--purple);color:var(--purple)}
.replay-animation:disabled{cursor:progress;opacity:.62}
.match-scene{position:relative;width:min(100%,440px);height:clamp(390px,58vh,520px);margin:0 auto 20px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(145deg,#eee8ff,#fff0f4);box-shadow:0 18px 50px rgba(48,30,70,.12);overflow:hidden}
.match-scene svg{display:block;width:100%;height:100%}
.match-art-static,.match-frame{position:absolute;inset:10px 14px 0;width:calc(100% - 28px);height:calc(100% - 10px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 16px rgba(32,22,45,.16))}
.match-frame{opacity:1}
.match-video-poster{position:absolute;left:50%;top:0;height:100%;aspect-ratio:2/3;max-width:100%;border-radius:inherit;background-position:0 0;background-repeat:no-repeat;background-size:500% 300%;opacity:1;transform:translateX(-50%);transition:opacity .18s ease}
.match-video{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;border-radius:inherit;object-fit:contain;background:transparent;opacity:0;transition:opacity .18s ease}
.match-frame-sequence.is-ready .match-video,.match-frame-sequence.is-playing .match-video,.match-frame-sequence.is-complete .match-video{opacity:1}
.match-frame-sequence.is-ready .match-video-poster,.match-frame-sequence.is-playing .match-video-poster,.match-frame-sequence.is-complete .match-video-poster{opacity:0}
.match-frame-sequence.is-loading .match-video-poster{opacity:.72}
.match-art{position:absolute;inset:10px 14px 0;width:calc(100% - 28px);height:calc(100% - 10px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 16px rgba(32,22,45,.16));will-change:transform,opacity}
.match-art-left{clip-path:inset(0 47% 0 0)}
.match-art-right{clip-path:inset(0 0 0 47%)}
.teen-scene .match-art-left{transform-origin:48% 90%;animation:teen-art-left 2.35s cubic-bezier(.2,.75,.22,1) both}
.teen-scene .match-art-right{transform-origin:52% 90%;animation:teen-art-right 2.35s cubic-bezier(.2,.75,.22,1) both}
.adult-scene .match-art-left{transform-origin:48% 88%;animation:adult-art-left 2.7s cubic-bezier(.2,.75,.22,1) both}
.adult-scene .match-art-right{transform-origin:52% 88%;animation:adult-art-right 2.7s cubic-bezier(.2,.75,.22,1) both}
.match-motion-heart{position:absolute;z-index:2;right:26px;top:22px;color:var(--pink);font-size:24px;line-height:1;text-shadow:0 7px 16px rgba(255,85,123,.28);opacity:0;transform:scale(.72) translateY(6px);transition:opacity .22s ease,transform .22s ease}
.match-frame-sequence.is-complete .match-motion-heart{opacity:1;transform:none}
.match-scene::before,.match-scene::after{content:"";position:absolute;border-radius:50%;opacity:.16}
.match-scene::before{width:22px;height:22px;left:28px;top:30px;background:var(--purple)}
.match-scene::after{width:15px;height:15px;right:34px;top:54px;background:var(--pink);animation-delay:.35s}
.match-character-left{transform-origin:140px 245px;animation:character-left 1s .15s cubic-bezier(.2,.85,.3,1) both}
.match-character-right{transform-origin:300px 245px;animation:character-right 1s .15s cubic-bezier(.2,.85,.3,1) both}
.match-hands{animation:hands-meet .7s .65s cubic-bezier(.2,.8,.2,1) both}
.match-heart{transform-origin:center;animation:heart-pop .7s 1.15s cubic-bezier(.2,.8,.2,1) both}
.adult-scene .match-character-left{animation-name:adult-left}
.adult-scene .match-character-right{animation-name:adult-right}
@keyframes character-left{from{transform:translateX(-36px) rotate(-2deg)}to{transform:none}}
@keyframes character-right{from{transform:translateX(36px) rotate(2deg)}to{transform:none}}
@keyframes adult-left{from{transform:translateX(-28px) rotate(-2deg)}to{transform:translateX(52px) rotate(2deg)}}
@keyframes adult-right{from{transform:translateX(28px) rotate(2deg)}to{transform:translateX(-52px) rotate(-2deg)}}
@keyframes hands-meet{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}
@keyframes heart-pop{from{opacity:0;transform:scale(.25) translateY(10px)}to{opacity:1;transform:none}}
@keyframes teen-art-left{0%{opacity:0;transform:translate(-52px,10px) rotate(-3deg) scale(.95)}18%{opacity:1;transform:translate(-48px,6px) rotate(-2deg) scale(.97)}100%{opacity:1;transform:none}}
@keyframes teen-art-right{0%{opacity:0;transform:translate(52px,10px) rotate(3deg) scale(.95)}18%{opacity:1;transform:translate(48px,6px) rotate(2deg) scale(.97)}100%{opacity:1;transform:none}}
@keyframes adult-art-left{0%{opacity:0;transform:translate(-58px,8px) rotate(-2deg) scale(.95)}16%{opacity:1;transform:translate(-52px,5px) rotate(-1.5deg) scale(.97)}100%{opacity:1;transform:none}}
@keyframes adult-art-right{0%{opacity:0;transform:translate(58px,8px) rotate(2deg) scale(.95)}16%{opacity:1;transform:translate(52px,5px) rotate(1.5deg) scale(.97)}100%{opacity:1;transform:none}}

.chat-shell{width:min(100%,720px);height:min(760px,calc(var(--app-height) - 24px));min-height:0;margin:0 auto;display:grid;grid-template-rows:auto auto auto auto minmax(120px,1fr) auto;border:1px solid var(--line);border-radius:30px;background:var(--white);box-shadow:var(--shadow);overflow:hidden}
.chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.chat-back{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--line)!important;border-radius:13px;background:var(--soft)!important;font-size:22px!important}
.chat-head .profile-sigil{width:46px;height:46px;flex-basis:46px;border-radius:15px;font-size:18px}
.chat-head strong{display:block}.chat-head small{color:var(--success)}
.chat-profile-link{min-width:0;display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;text-align:left}
.chat-profile-link>span:last-child{min-width:0}.chat-profile-link strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-head-actions{display:flex;align-items:center;gap:5px;margin-left:auto}
.chat-head-actions button{width:40px;height:40px;border:0;border-radius:12px;background:transparent;font-size:18px}
.chat-head-actions button:hover{background:var(--soft)}
.chat-shell>.demo-notice{margin:0;padding:10px 16px;border-radius:0;border-bottom:1px solid #cfeadd;font-size:12px}
.chat-shell>.demo-notice span{font-size:17px}
.chat-tools{display:grid;grid-template-columns:.72fr 1.35fr 1fr .85fr;gap:7px;padding:9px 12px;border-bottom:1px solid var(--line);background:#fffafd}
.chat-tools button{min-height:45px;padding:0 10px;border:1px solid var(--line);border-radius:13px;background:var(--white);font-size:12px;font-weight:700}
.chat-tools button:hover{transform:translateY(-1px)}
.chat-tools .nomatch-tool{border-color:#17131d;color:#17131d;background:#eaff3f;box-shadow:3px 3px 0 #17131d}
.chat-tools .report-tool{border-color:#ffd3ab;color:#7b3d08;background:#fff6ed}
.chat-tools .block-tool{border-color:#ffc4d0;color:#9f2441;background:#fff1f5}
.chat-context{max-height:min(220px,35dvh);padding:0;border-bottom:1px solid var(--line);background:#fbf9ff;overflow:auto}
.chat-context summary{min-height:46px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:7px 16px;cursor:pointer;list-style:none}
.chat-context summary::-webkit-details-marker{display:none}
.chat-context summary strong{color:var(--success);font-family:Syne,sans-serif;font-size:18px}
.chat-context-toggle{justify-self:end;color:var(--muted);font-size:12px;font-weight:700;text-align:right}
.chat-context-body{padding:0 16px 13px}
.chat-context ul{display:grid;gap:6px;margin:0 0 9px;padding:0;list-style:none}.chat-context li{display:flex;align-items:flex-start;gap:8px;font-size:12px}.chat-context li>span{color:var(--success);font-weight:800}.chat-context li strong,.chat-context li small{display:block}.chat-context li small{color:var(--muted)}
.chat-starters{display:grid;gap:7px;padding-bottom:2px}.chat-starters button{width:100%;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--white);font-size:11px;text-align:left;white-space:normal;overflow-wrap:anywhere}
.messages{min-height:0;display:flex;flex-direction:column;gap:10px;padding:22px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(#fff,#fffafd)}
.message{max-width:78%;padding:12px 15px;border-radius:18px;line-height:1.4;font-size:14px;overflow-wrap:anywhere}
.message.them{align-self:flex-start;border-bottom-left-radius:5px;background:var(--soft)}
.message.me{align-self:flex-end;border-bottom-right-radius:5px;color:var(--white);background:var(--ink)}
.message.system{align-self:center;max-width:92%;border:1px dashed #cbbdda;border-radius:14px;color:#5f5368;background:#f8f4fb;text-align:center;font-size:12px}
.message time{display:block;margin-top:5px;font-size:9px;opacity:.55}
.chat-compose{display:grid;grid-template-columns:1fr auto;gap:9px;padding:13px;border-top:1px solid var(--line)}
.chat-compose input{min-width:0;height:49px;padding:0 15px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}
.chat-compose button{width:49px;border:0;border-radius:15px;color:var(--white);background:var(--pink);font-size:20px}

body.is-chat-screen{height:var(--app-height);overflow:hidden}
body.is-quick-screen{height:var(--app-height);overflow:hidden}
body.is-chat-screen{background:var(--white)}
body.is-chat-screen .ambient{display:none}
body.is-chat-screen .app-shell{width:100%;max-width:none;height:var(--app-height);min-height:0;display:block;padding:0;overflow:hidden}
body.is-chat-screen .screen,
body.is-chat-screen .topbar[hidden]+.screen{width:100%;height:var(--app-height);min-height:var(--app-height);padding:0;align-content:stretch;overflow:hidden}
body.is-chat-screen .chat-shell{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none}
body.is-chat-screen .chat-shell>*{min-width:0}
body.is-quick-screen .screen{padding:10px 0;align-content:stretch}
body.is-chat-screen.is-keyboard-open .chat-shell>.demo-notice,
body.is-chat-screen.is-keyboard-open .chat-tools,
body.is-chat-screen.is-keyboard-open .chat-context{display:none}

.empty-state{padding:54px 24px;text-align:center;border:1px dashed #cdbfd4;border-radius:30px;background:rgba(255,255,255,.65)}
.empty-state .big{display:block;margin-bottom:12px;font-size:46px}
.connection-list{display:grid;gap:13px}
.connection-card{width:100%;min-height:0;padding:22px;text-align:left}
.connection-card .profile-meta{max-width:390px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.safe-chip.is-zero{color:#17131d;background:#eaff3f}
.my-profile{padding:28px;border:1px solid var(--line);border-radius:30px;background:var(--white);box-shadow:var(--shadow)}
.my-profile-head{display:flex;align-items:center;gap:15px;margin-bottom:22px}
.answer-summary{display:grid;gap:9px}
.answer-summary div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.answer-summary span{color:var(--muted);font-size:13px}
.answer-summary strong{text-align:right;font-size:13px}
.danger-link{margin-top:24px;border:1px solid #ffd0db;color:#aa2746;background:#fff4f7}
.compact-button{min-height:44px;padding:0 15px}.profile-block-wide{width:100%}.connection-profile-card{min-height:0}

.bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;width:100%;min-height:var(--bottom-nav-height);display:grid;grid-template-columns:repeat(3,1fr);align-items:start;justify-items:center;padding:6px 14px calc(6px + var(--safe-bottom));border:1px solid rgba(231,223,235,.95);border-right:0;border-bottom:0;border-left:0;border-radius:20px 20px 0 0;background:rgba(255,255,255,.97);box-shadow:0 -4px 16px rgba(25,18,35,.07);backdrop-filter:blur(18px)}
.bottom-nav button{width:min(100%,96px);min-height:48px;border:0;border-radius:15px;background:transparent;color:var(--muted)}
.bottom-nav button span{display:block;font-size:18px}
.bottom-nav button b{display:block;margin-top:3px;font-size:11px}
.bottom-nav button.is-active{color:var(--white);background:var(--ink)}

.safety-dialog{width:min(calc(100% - 32px),520px);max-height:calc(var(--app-height) - var(--safe-top) - var(--safe-bottom) - 32px);padding:34px;border:0;border-radius:28px;color:var(--ink);background:var(--white);box-shadow:0 30px 90px rgba(22,15,28,.3);overflow-y:auto}
.safety-dialog::backdrop{background:rgba(23,19,29,.5);backdrop-filter:blur(5px)}
.safety-dialog h2{font-size:34px}
.safety-dialog p{color:var(--muted);line-height:1.6}
.dialog-close{position:absolute;right:16px;top:14px;width:44px;height:44px;border:0;border-radius:14px;background:var(--soft);font-size:26px}
.safety-dialog .primary-button{width:100%;margin-top:10px}
.action-dialog-buttons{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:20px}
.action-dialog-buttons .primary-button{width:auto;margin:0}
.report-options{display:grid;gap:8px;margin:17px 0}.report-options button{min-height:45px;padding:9px 12px;border:1px solid var(--line);border-radius:13px;background:var(--white);text-align:left;font-weight:700}.report-options button.is-selected{color:var(--white);border-color:var(--ink);background:var(--ink)}
.danger-confirm{border-color:#b62647!important;background:#b62647!important}
.nomatch-confirm{border-color:#17131d!important;color:#17131d!important;background:#eaff3f!important;box-shadow:4px 4px 0 #17131d!important}
.toast{position:fixed;z-index:50;left:50%;bottom:max(20px,calc(var(--safe-bottom) + 12px));transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:12px 16px;border-radius:14px;color:var(--white);background:var(--ink);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s ease;font-size:13px;font-weight:700}
body.has-bottom-nav .toast{bottom:var(--bottom-nav-reserve)}
.toast.show{opacity:1;transform:translate(-50%,0)}

.topbar.is-super-nomatch{position:relative;z-index:41}
html.is-nomatch-screen,body.is-nomatch-screen{overflow:hidden;background:var(--nomatch-video-bg)}
body.is-nomatch-screen .ambient{display:none}
body.is-nomatch-screen .topbar{opacity:0;pointer-events:none}
.no-match-cinema{position:fixed;z-index:40;inset:0;width:100vw;height:var(--app-height);background:var(--nomatch-video-bg);overflow:hidden;animation:no-match-screen .25s ease-out both}
.no-match-video-stage{position:absolute;inset:0;display:grid;place-items:center;background:var(--nomatch-video-bg);overflow:hidden}
.no-match-video{display:block;width:100%;height:100%;border:0;background:var(--nomatch-video-bg);object-fit:contain;transition:opacity .45s ease,filter .45s ease}
.no-match-cinema-stamp{position:absolute;z-index:2;left:50%;top:48%;display:grid;place-items:center;width:min(84vw,940px);padding:clamp(16px,3vw,32px);border:clamp(8px,1.2vw,16px) double #d31943;outline:clamp(3px,.45vw,6px) solid #17131d;outline-offset:7px;color:#17131d;background:rgba(255,255,255,.2);font-family:Syne,sans-serif;line-height:.72;text-align:center;opacity:.34;mix-blend-mode:multiply;transform:translate(-50%,-50%) rotate(-8deg) scale(.68);transform-origin:center;will-change:transform,opacity;pointer-events:none;animation:nomatch-stamp-zoom .56s cubic-bezier(.36,0,.64,1) infinite alternate}
.no-match-cinema-stamp>span{font-size:clamp(25px,5vw,64px);letter-spacing:.22em}
.no-match-cinema-stamp strong{display:block;width:100%;min-width:0;font-size:clamp(52px,7.2vw,95px);letter-spacing:-.085em;text-align:center;white-space:nowrap}
.no-match-cinema-stamp strong span{color:#ff345f}
.no-match-cinema-verdict{position:absolute;z-index:3;left:50%;bottom:max(90px,12vh);display:grid;gap:7px;width:min(calc(100% - 36px),620px);padding:18px 22px;border-radius:22px;color:#fff;background:rgba(23,19,29,.9);box-shadow:0 18px 55px rgba(23,19,29,.22);opacity:0;transform:translate(-50%,18px);transition:opacity .28s ease,transform .28s ease;text-align:center;pointer-events:none}
.no-match-cinema-verdict small{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.no-match-cinema-verdict strong{display:grid;gap:2px;font-family:Syne,sans-serif;line-height:.9;letter-spacing:-.04em}
.no-match-cinema-verdict strong span{font-size:clamp(17px,2.5vw,27px)}
.no-match-cinema-verdict strong b{font-size:clamp(34px,5.3vw,58px);white-space:nowrap}
.no-match-cinema.is-video-complete:not(.is-decision) .no-match-cinema-verdict{opacity:1;transform:translate(-50%,0)}
.no-match-tap-gate{position:absolute;z-index:4;left:50%;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 17px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;background:rgba(23,19,29,.88);box-shadow:0 10px 34px rgba(23,19,29,.22);font-size:12px;font-weight:800;letter-spacing:.04em;transform:translateX(-50%);white-space:nowrap;transition:opacity .2s ease}
.no-match-tap-gate span{font-size:16px}.no-match-cinema.is-silenced .no-match-tap-gate{opacity:0;pointer-events:none}
.no-match-cinema.is-silenced .no-match-cinema-stamp{animation-play-state:paused;opacity:.25}
.no-match-decision{position:absolute;z-index:6;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(24px,5vh,56px) max(18px,calc((100vw - 680px)/2));background:rgba(255,255,255,.9);backdrop-filter:blur(9px);opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .38s ease,visibility 0s linear .38s,transform .38s ease;overflow-y:auto;pointer-events:none;text-align:center}
.no-match-cinema.is-decision .no-match-decision{opacity:1;visibility:visible;transform:none;transition:opacity .38s ease,visibility 0s linear 0s,transform .38s ease;pointer-events:auto}
.no-match-cinema.is-decision .no-match-video{opacity:.13;filter:grayscale(.25)}
.no-match-cinema.is-decision .no-match-cinema-stamp{opacity:.07;transform:translate(-50%,-50%) rotate(-8deg) scale(1.08)}
.warning-eyebrow{color:#fff;background:#17131d}
.no-match-decision h1{width:min(100%,680px);margin:15px 0 5px;font-size:clamp(38px,7vw,78px);line-height:.9;letter-spacing:-.065em}
.no-match-decision h1 span,.no-match-decision h1 strong{display:block}.no-match-decision h1 span{font-size:.46em;letter-spacing:-.035em}.no-match-decision h1 strong{white-space:nowrap}
.no-match-decision .lead{width:min(100%,620px);margin:10px auto 18px;color:#5e5660;font-size:16px;line-height:1.45;font-weight:700}
.no-match-question{width:min(100%,640px);display:grid;gap:5px;padding:17px 19px;border:3px solid #17131d;border-radius:18px;color:#fff;background:#17131d;box-shadow:5px 5px 0 #ff345f}
.no-match-question strong{font-size:16px;line-height:1.3}
.nomatch-question-punch{display:block;margin-top:9px;color:#f4ff48;font-family:Syne,sans-serif;font-size:clamp(18px,3vw,25px);line-height:1;letter-spacing:-.035em}
.no-match-question span{opacity:.68;font-size:13px}
.no-match-buttons{width:min(100%,640px);display:grid;grid-template-columns:1fr 1.35fr;margin-top:15px}
.no-match-buttons .secondary-button{border:2px solid #17131d;background:#fff}
.no-match-buttons .primary-button{border:2px solid #17131d;color:#fff;background:#17131d;box-shadow:4px 4px 0 #ff345f}
.no-match-video-replay{min-height:44px;margin-top:13px;padding:7px 13px;border:0;border-bottom:1px solid currentColor;color:#5e5660;background:transparent;font-size:12px;font-weight:800}
.no-match-video-replay:disabled{cursor:wait;opacity:.55}
@keyframes no-match-screen{from{opacity:0}to{opacity:1}}
@keyframes nomatch-stamp-zoom{from{transform:translate(-50%,-50%) rotate(-8deg) scale(.7)}to{transform:translate(-50%,-50%) rotate(-8deg) scale(1.06)}}

@media (max-width:700px){
  .app-shell{padding:0 17px 18px}
  body.has-bottom-nav .app-shell{padding-bottom:var(--bottom-nav-reserve)}
  .topbar{height:calc(74px + var(--safe-top));gap:6px;padding-top:var(--safe-top)}
  .brand-button{gap:7px;padding:3px}.brand-button img{width:46px;height:46px}.wordmark{font-size:24px;letter-spacing:-1.6px}
  .topbar.is-super-nomatch .brand-button{padding:5px 9px 5px 5px;box-shadow:3px 3px 0 var(--ink)}
  .topbar.is-super-nomatch .wordmark small{font-size:8px}
  .topbar.is-super-nomatch .wordmark b{font-size:20px;letter-spacing:-1.4px}
  .topbar-actions{gap:4px}.quiet-button{min-height:40px;padding:0 10px}
  .backend-status{width:10px;height:10px;min-height:10px;padding:0;font-size:0;background:transparent}
  .backend-status::before{width:8px;height:8px}
  .welcome-brand-lockup{margin-bottom:18px}
  .hero-icon{width:110px;height:110px;margin-bottom:2px}
  .welcome-wordmark{font-size:clamp(40px,12vw,50px);letter-spacing:-.07em}
  .safety-button{display:none}
  .screen{min-height:calc(var(--app-height) - 92px - var(--safe-top));padding:18px 0}
  body.has-bottom-nav .screen{min-height:calc(var(--app-height) - 74px - var(--safe-top) - var(--bottom-nav-reserve))}
  .topbar[hidden]+.screen{min-height:calc(var(--app-height) - 18px)}
  .language-grid{grid-template-columns:1fr}
  .language-card{min-height:60px}
  .age-grid{grid-template-columns:1fr}.age-card{min-height:150px}
  .appearance-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
  .appearance-grid.three-up .appearance-button{min-width:0;padding:6px;font-size:12px;line-height:1.2;overflow-wrap:anywhere}
  .button-row.split{display:grid;grid-template-columns:1fr 1.5fr}
  .button-row.split button{padding:0 12px}
  .section-head{align-items:flex-start}.count-pill{max-width:100%;margin-top:9px;margin-left:auto}
  .profile-card{padding:21px;border-radius:28px;min-height:0}
  .profile-top{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px 12px}
  .profile-top .profile-sigil{width:64px;height:64px;flex-basis:64px}
  .profile-name{padding-right:0;font-size:24px;overflow-wrap:anywhere}
  .safe-chip{position:static;grid-column:2;justify-self:start;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere}
  .signals{grid-template-columns:1fr}
  .profile-actions{grid-template-columns:1fr 1.45fr}
  .quick-card{padding:23px 18px;border-radius:26px}
  .live-match-meter{align-items:flex-start;flex-direction:column;gap:3px;margin-top:-3px}
  .answer-summary .round-answer-row{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:10px}
  .answer-summary .round-answer-status{grid-column:auto;justify-self:end;padding:5px 7px;font-size:9px}
  .match-scene{height:clamp(390px,60vh,480px);border-radius:28px}
  .positive-result-hero{display:block}
  .positive-result .match-scene,.positive-result.is-result-settled .match-scene{height:clamp(180px,24dvh,240px);margin:0 auto 10px}
  .positive-result-overview{text-align:center}
  .positive-result-meta{justify-content:center;margin-bottom:5px}
  .positive-result-overview h1{margin:7px 0 5px;font-size:clamp(30px,8vw,36px)}
  .positive-result-overview>.lead{margin-bottom:10px;font-size:13px;line-height:1.35}
  .result-decision-card{padding:14px 16px;border-radius:18px;text-align:left}
  .result-decision-card h2{font-size:clamp(23px,6.5vw,31px)}
  .result-decision-card h2 .pink{font-size:.88em}
  .result-actions{margin-top:10px}
  .result-actions button{min-height:50px;font-size:13px}
  .result-breakdown{margin-top:12px;border-radius:18px}
  .result-breakdown summary{padding:14px 16px}
  .result-breakdown>.answer-summary{padding:2px 14px 15px}
  .result-starters{margin:0 14px 15px}
  .chat-shell{height:100%;border-radius:24px}
  body.is-chat-screen .chat-shell{height:100%;border-radius:0}
  body.is-chat-screen .chat-head{gap:10px;padding:max(10px,var(--safe-top)) 14px 10px}
  body.is-chat-screen .chat-back{width:44px;height:44px;flex-basis:44px;border-radius:14px;font-size:24px!important}
  body.is-chat-screen .chat-head .profile-sigil{width:46px;height:46px;flex-basis:46px;border-radius:15px;font-size:19px}
  body.is-chat-screen .chat-profile-link{gap:12px}
  body.is-chat-screen .chat-profile-link{flex:1;min-width:0}
  body.is-chat-screen .chat-profile-link strong{font-size:18px}
  body.is-chat-screen .chat-profile-link small{font-size:13px}
  body.is-chat-screen .chat-head-actions{flex:none;gap:2px}
  body.is-chat-screen .chat-head-actions button{width:44px;height:44px;font-size:20px}
  body.is-chat-screen .chat-shell>.demo-notice{padding:7px 14px;font-size:12px;line-height:1.3}
  .chat-tools{grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 10px}
  body.is-chat-screen .chat-tools{gap:6px;padding:7px 10px}
  body.is-chat-screen .chat-tools button{min-width:0;min-height:48px;display:grid;place-items:center;align-content:center;gap:1px;padding:4px 3px;font-size:14px;line-height:1.05}
  body.is-chat-screen .chat-tools button span{display:block;max-width:100%;font-size:9px;line-height:1.1;overflow-wrap:anywhere}
  body.is-chat-screen .chat-context{max-height:min(220px,35dvh);padding:0}
  body.is-chat-screen .chat-context summary{min-height:44px;padding:6px 14px}
  body.is-chat-screen .chat-context summary strong{font-size:18px}
  body.is-chat-screen .chat-context-body{padding:0 14px 12px}
  body.is-chat-screen .chat-context li{font-size:13px;line-height:1.3}
  body.is-chat-screen .chat-starters button{min-height:44px;padding:9px 11px;font-size:12px;line-height:1.3}
  body.is-chat-screen .messages{gap:12px;padding:18px 16px}
  body.is-chat-screen .message{max-width:84%;padding:13px 16px;border-radius:19px;font-size:16px;line-height:1.38}
  body.is-chat-screen .message.system{font-size:13px}
  body.is-chat-screen .message time{font-size:10px}
  body.is-chat-screen .chat-compose{gap:10px;padding:12px 14px max(12px,var(--safe-bottom))}
  body.is-chat-screen .chat-compose input{height:54px;padding:0 16px;border-radius:17px;font-size:16px}
  body.is-chat-screen .chat-compose button{width:54px;height:54px;border-radius:17px;font-size:23px}
  .no-match-cinema-stamp{top:45%;width:84vw;padding:14px 8px}
  .no-match-cinema-stamp strong{font-size:clamp(40px,8vw,54px)}
  .no-match-cinema-verdict{bottom:86px}
  .no-match-decision{justify-content:flex-start;padding:max(24px,var(--safe-top)) 18px max(28px,var(--safe-bottom))}
  .no-match-decision>.warning-eyebrow{margin-top:auto}
  .no-match-decision>.no-match-video-replay{margin-bottom:auto}
  .no-match-decision h1{font-size:clamp(38px,11vw,56px)}
  .no-match-buttons{grid-template-columns:1fr}
  .action-dialog-buttons{grid-template-columns:1fr}

  .age-panel{max-height:100%}
  .age-panel h2{margin:10px 0 8px;font-size:clamp(30px,8vw,40px)}
  .age-panel>.lead{margin-bottom:14px;font-size:14px;line-height:1.4}
  .age-panel .age-grid{gap:10px;margin:14px 0}
  .age-panel .age-card{min-height:132px;padding:18px}
  .age-panel .age-card strong{margin:8px 0 5px;font-size:29px}
  .age-panel .age-card p{font-size:13px;line-height:1.35}
  .age-panel .safety-note{padding:12px;font-size:12px}
  .age-panel>.button-row{margin-top:12px}

  .question-panel{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;align-content:stretch}
  .question-panel .progress-wrap{margin-bottom:10px}
  .question-panel .question-symbol{width:48px;height:48px;margin-bottom:9px;border-radius:15px;font-size:23px}
  .question-panel .question-title{margin:0 0 7px;font-size:clamp(28px,7.5vw,36px)}
  .question-panel .question-help{margin-bottom:9px;font-size:12px;line-height:1.35}
  .question-panel .answer-list{min-height:0;grid-auto-rows:minmax(0,1fr);gap:7px;align-content:stretch}
  .question-panel .answer-button{min-height:48px;padding:8px 12px;gap:10px;font-size:14px;line-height:1.25}
  .question-panel .answer-emoji{width:34px;height:34px;flex-basis:34px;font-size:18px}
  .question-panel>.button-row{margin-top:10px}
  .question-panel>.button-row button{min-height:49px}

  body.is-welcome-screen .screen{height:100%;min-height:0;padding-top:max(10px,var(--safe-top));padding-bottom:max(10px,var(--safe-bottom))}
  body.is-fixed-screen .screen{height:100%;min-height:0}
  body.is-profile-question-screen .screen{align-content:stretch}
  body.is-welcome-screen .panel{height:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
  body.is-welcome-screen .welcome-brand-lockup{margin:0 auto clamp(8px,1.4dvh,14px)}
  body.is-welcome-screen .hero-icon{width:clamp(88px,12dvh,108px);height:clamp(88px,12dvh,108px);margin-bottom:0;flex:0 0 auto}
  body.is-welcome-screen .welcome-brand-lockup{max-width:100%}
  body.is-welcome-screen .welcome-wordmark{max-width:100%;font-size:clamp(32px,8.7vw,46px)}
  body.is-welcome-screen .eyebrow{min-height:26px;padding:0 10px;font-size:10px}
  body.is-welcome-screen h1{margin:10px 0 8px;font-size:clamp(36px,9.4vw,43px)}
  body.is-welcome-screen .lead{margin:0 auto 12px;font-size:14px;line-height:1.38}
  body.is-welcome-screen h3{margin-bottom:0;font-size:17px}
  body.is-welcome-screen .language-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}
  body.is-welcome-screen .language-card{min-height:52px;padding:0 4px;font-size:13px}
  body.is-welcome-screen .language-card small{font-size:9px}
  body.is-welcome-screen #start-button{min-height:50px}
  body.is-welcome-screen .microcopy{margin-top:9px;font-size:12px;line-height:1.35}

  body.is-quick-screen .topbar{height:calc(64px + var(--safe-top))}
  body.is-quick-screen .screen{padding:8px 0}
  body.is-quick-screen .progress-wrap{margin-bottom:7px}
  body.is-quick-screen .live-match-meter{min-height:40px;flex-direction:row;align-items:center;gap:8px;margin:0 0 7px;padding:7px 10px}
  body.is-quick-screen .live-match-meter strong{font-size:11px}
  body.is-quick-screen .live-match-meter span{font-size:10px}
  body.is-quick-screen .quick-card{padding:12px 14px;border-radius:22px}
  body.is-quick-screen .quick-panel .quick-card{align-self:start}
  body.is-quick-screen .quick-card .eyebrow{min-height:23px;padding:0 9px;font-size:9px}
  body.is-quick-screen .quick-card .quick-symbol{width:38px;height:38px;margin:7px 0 0;border-radius:12px;font-size:19px}
  body.is-quick-screen .quick-card h2{margin:7px 0 5px;font-size:clamp(25px,6.8vw,32px);line-height:1}
  body.is-quick-screen .quick-card .question-help{margin-bottom:6px;font-size:11px;line-height:1.25}
  body.is-quick-screen .answer-list{gap:5px}
  body.is-quick-screen .answer-button{min-height:48px;padding:7px 9px;gap:8px;border-radius:13px;font-size:14px;line-height:1.2}
  body.is-quick-screen .answer-button .answer-emoji{width:31px;height:31px;flex-basis:31px;border-radius:9px;font-size:16px}
  body.is-quick-screen .answer-match-badge{padding:4px 6px;font-size:8px}
  body.is-quick-screen .quick-panel>.button-row{margin-top:7px}
  body.is-quick-screen .quick-panel>.button-row button{min-height:48px}
  .section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .section-head h2{font-size:clamp(28px,8vw,34px)}
  .section-head .count-pill{justify-self:start;margin:0}
  .my-profile-head>div:last-child{min-width:0;overflow-wrap:anywhere}
  .my-profile .answer-summary div{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;padding:9px 0}
  .my-profile .answer-summary span,.my-profile .answer-summary strong{font-size:14px;overflow-wrap:anywhere}
  .quiet-button{min-width:44px;min-height:44px}
  .replay-animation{min-height:44px}
}

@media (max-height:760px){
  body.is-quick-screen .topbar{height:calc(56px + var(--safe-top))}
  body.is-quick-screen .topbar .brand-button img{width:40px;height:40px}
  body.is-quick-screen .quick-card .quick-symbol{display:none}
  body.is-quick-screen .quick-card h2{font-size:24px}
  body.is-quick-screen .quick-card .question-help{margin-bottom:4px}
  body.is-quick-screen .quick-panel>.button-row button{min-height:44px}
  .question-panel .question-symbol{display:none}
}

@media (hover:none){
  .language-card:hover,.choice-button:hover,.primary-button:hover,.age-card:hover,.appearance-button:hover,.answer-button:hover,.chat-tools button:hover{transform:none}
}

@media (max-height:900px){
  body.is-welcome-screen .panel{height:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
  body.is-welcome-screen .welcome-brand-lockup{margin:0 auto 8px}
  body.is-welcome-screen .hero-icon{width:clamp(86px,12dvh,108px);height:clamp(86px,12dvh,108px);margin-bottom:0;flex:0 0 auto}
  body.is-welcome-screen .welcome-wordmark{font-size:clamp(32px,min(8.7vw,6dvh),46px)}
  body.is-welcome-screen .eyebrow{min-height:25px;padding:0 10px;font-size:10px}
  body.is-welcome-screen h1{margin:9px 0 7px;font-size:clamp(36px,5.2dvh,46px)}
  body.is-welcome-screen .lead{margin:0 auto 10px;font-size:14px;line-height:1.35}
  body.is-welcome-screen h3{margin-bottom:0;font-size:17px}
  body.is-welcome-screen .language-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
  body.is-welcome-screen .language-card{min-height:50px;padding:0 4px;font-size:13px}
  body.is-welcome-screen .language-card small{font-size:9px}
  body.is-welcome-screen #start-button{min-height:48px}
  body.is-welcome-screen .microcopy{margin-top:8px;font-size:10px;line-height:1.3}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .no-match-cinema,.no-match-cinema-stamp{animation:none!important}
}

@media (max-height:720px){
  .no-match-decision{justify-content:flex-start;padding-top:24px}
  .no-match-decision h1{margin:10px 0 4px}
  .no-match-decision .lead{margin:7px auto 10px}
  .no-match-buttons{margin-top:12px}
}

@media (max-width:700px) and (max-height:720px){
  .no-match-question{padding:13px 15px}.no-match-question strong{font-size:14px}
}
