@import url('/fonts/luveyou-fonts.css');
:root{font:16px/1.55 var(--font-body);color:var(--color-text);background:var(--color-background);--blue:var(--color-primary);--ink:var(--color-text);--muted:var(--color-muted);--line:var(--color-border)}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}a{color:var(--blue)}header{display:flex;justify-content:space-between;align-items:center;max-width:1180px;padding:24px 32px;margin:auto}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-family:var(--font-body);line-height:1.15;font-weight:700;font-size:1.15rem}.brand b{background:var(--blue);color:var(--color-surface);border-radius:var(--radius);width:42px;height:42px;display:grid;place-items:center;font-size:1.6rem}.brand small{display:block;font-size:13px;font-weight:700;margin-top:4px}main{max-width:740px;min-height:70vh;margin:20px auto 0;padding:20px 32px 60px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-body);line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(1.85rem,4vw,2.65rem);font-weight:700;margin:16px 0}h2{font-size:1.5rem;margin:0 0 16px}h3{font-size:1rem}p+p{margin-top:8px}.quiet{border:0;background:transparent;color:var(--muted);padding:8px 0;font-size:.88rem}.quiet:hover{color:var(--blue)}.topline{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted);margin-bottom:12px;gap:16px}.progress{height:5px;background:var(--color-border);border-radius:var(--radius);overflow:hidden;margin-bottom:36px}.progress i{display:block;background:var(--blue);height:100%;transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,opacity 180ms ease}.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:700}.context{color:var(--muted);margin:0 0 24px;font-size:1rem;max-width:620px}.choices{display:grid;gap:12px}.choice{border:1px solid var(--color-border);background:var(--color-surface);display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:var(--radius);padding:20px 20px;min-height:65px;text-align:left;transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,opacity 180ms ease}.choice span{color:var(--color-muted)}.choice:hover,.choice.selected{border-color:var(--blue);background:var(--color-background)}.choice.selected span{color:var(--blue)}.bottom{display:flex;justify-content:space-between;margin-top:24px;gap:20px}.primary,.secondary{border-radius:var(--radius);padding:16px 24px;font-weight:700;min-height:50px;display:inline-flex;gap:16px;justify-content:center;align-items:center;text-decoration:none}.primary{background:var(--blue);color:var(--color-surface);border:1px solid var(--blue)}.primary:hover{background:var(--color-text)}.secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--ink)}.full{width:100%}.panel{padding:24px;background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius);margin:24px 0}.panel p{color:var(--muted)}.lead{font-size:1.13rem;color:var(--muted);margin-bottom:24px}.welcome h1{font-size:clamp(2.2rem,5vw,3.4rem);max-width:600px}.steps{display:flex;gap:16px;justify-content:space-between;margin:24px 0 32px;font-size:.9rem}.steps span{display:flex;gap:8px;align-items:center}.steps b{background:var(--color-soft);color:var(--blue);width:27px;height:27px;border-radius:var(--radius);display:grid;place-items:center;flex-shrink:0}.check{display:flex;gap:12px;align-items:flex-start;margin:16px 0 20px;color:var(--ink);font-size:.9rem}.check input{width:18px;height:18px;accent-color:var(--blue);margin:4px 0 0;flex-shrink:0}.note{font-size:.84rem;color:var(--muted);margin-top:16px}.error{border-left:3px solid var(--color-primary);padding:12px 16px;background:var(--color-soft);color:var(--color-primary);border-radius:var(--radius);font-size:.9rem;margin:16px 0}.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}.invite-link{display:flex;gap:8px;margin-top:20px}.invite-link input{min-width:0;flex:1;padding:12px;border:1px solid var(--line);background:var(--color-surface);border-radius:var(--radius);font-size:.85rem}.invitation{border:1px solid var(--line);background:var(--color-surface);border-radius:var(--radius);padding:16px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.invitation p{font-size:.85rem;color:var(--muted);margin-top:4px}.tag{font-size:13px;padding:4px 8px;background:var(--color-soft);border-radius:var(--radius);white-space:nowrap}.result-hero{text-align:center;background:var(--color-primary);color:var(--color-surface);border-radius:var(--radius);padding:36px 24px;margin:20px 0 28px}.result-hero .eyebrow{color:var(--color-soft)}.score{font:700 clamp(4.7rem,14vw,7rem)/1.1 var(--font-body);letter-spacing:-.08em;margin:16px 0}.score small{font-size:.4em;letter-spacing:0}.result-hero p{color:var(--color-soft);max-width:470px;margin:auto;font-size:.9rem}.group{display:grid;grid-template-columns:1fr 45px;gap:8px;margin:20px 0;font-size:.94rem}.group .progress{grid-column:1/-1;margin:0;height:6px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two .panel{margin:0;padding:24px}.two li{font-size:.9rem;margin:8px 0}.two ul{padding-left:16px;margin-bottom:0}.essential{background:var(--color-soft);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;margin:20px 0}.essential h3{color:var(--color-text)}.essential p,.essential li{font-size:.9rem;color:var(--color-text)}.mini{font-size:13px;color:var(--muted)}.review{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.review p{font-size:.88rem;color:var(--muted);margin-top:4px}.review strong{font-size:.95rem}.review .quiet{white-space:nowrap}.loading{text-align:center;margin:60px 0;color:var(--muted)}footer{max-width:1000px;margin:auto;padding:24px;display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);font-size:13px}footer a{text-decoration:none;color:var(--muted)}footer .quiet{font-size:13px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--color-surface);padding:12px 16px;border-radius:var(--radius);display:none;z-index:30;max-width:90vw;font-size:.9rem}#toast.open{display:block}dialog{border:0;border-radius:var(--radius);padding:28px;width:calc(100% - 32px);max-width:600px;max-height:85vh;color:var(--ink)}dialog::backdrop{background:color-mix(in srgb, var(--color-text) 43.92%, transparent)}dialog p,dialog li{font-size:.94rem;line-height:1.6}dialog h3{margin:24px 0 8px}.danger{color:var(--color-primary)}.save{font-size:13px;color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.question-number{font-variant-numeric:tabular-nums}.soft{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;color:var(--muted);font-size:.85rem}.inline-link{color:var(--blue);border:0;background:none;padding:0;font:inherit;cursor:pointer}.refresh{display:flex;justify-content:center}.empty-title{margin-top:0}
@media(max-width:650px){header{padding:20px}.brand{font-size:1.05rem}main{padding:16px 20px 40px;margin-top:4px}.progress{margin-bottom:24px}.choice{padding:16px;min-height:62px}.context{font-size:.94rem}.steps{flex-direction:column;gap:12px}.panel{padding:20px}.two{grid-template-columns:1fr}.invite-link{flex-direction:column}.actions>.primary{flex:1}.review{align-items:flex-start}footer{gap:8px 24px}.result-hero{padding:28px 20px}.bottom .quiet{font-size:.84rem}.invitation{align-items:flex-start}.invitation .secondary{padding:8px 12px;font-size:.85rem}.topline{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.choice .answer-label{color:var(--ink,var(--color-text))}
/* Reciprocal questionnaire: two explicit passes, one topic per screen. */
main:focus{outline:none}.eyebrow,.save,.note,.mini,.topline,footer,footer .quiet{font-size:.875rem}.phase{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;color:var(--blue)}.phase span{font-variant-numeric:tabular-nums;color:var(--muted)}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.journey>div{display:flex;flex-direction:column;gap:8px}.journey b{color:var(--blue);font-size:1.4rem}.journey span{font-size:.9rem;color:var(--muted)}.self-reminder{padding:16px 16px;background:var(--color-soft);border-radius:var(--radius);margin:0 0 20px}.self-reminder>span{display:block;font-size:.875rem;color:var(--muted)}.check-choice{justify-content:flex-start;min-height:52px;padding:12px 16px;cursor:pointer}.check-choice span{color:var(--ink)}input[type=checkbox],input[type=radio]{accent-color:var(--blue);width:19px;height:19px;flex-shrink:0}.choice:has(input:checked){border-color:var(--blue);background:var(--color-background)}.setting{border:0;padding:0;margin:24px 0 16px}.setting legend{font-weight:700;margin-bottom:8px}.setting label{display:flex;align-items:center;gap:8px;margin:12px 0}.importance{border-top:1px solid var(--line);padding:16px 0;font-size:.95rem}summary{cursor:pointer;font-weight:700}details>p{margin-top:16px}.field{display:block;margin-bottom:20px}.field select{display:block;width:100%;padding:16px;margin-top:8px;background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius);font:inherit}.group{grid-template-columns:1fr auto}.group .mini{display:block}.group p{grid-column:1/-1}.topline{margin-top:24px}.check-choice:focus-within{outline:2px solid var(--blue);outline-offset:2px}select:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}
@media(max-width:650px){.journey{grid-template-columns:1fr;gap:16px}.journey>div{display:grid;grid-template-columns:36px 1fr;gap:4px 12px}.journey b{grid-row:1/3}.journey span{grid-column:2}.phase{font-size:.94rem}.bottom{align-items:flex-start}.group{font-size:1rem}}

/* Optional questionnaire: reuse the main reading width and controls. */
.extra-card{margin-top:28px;border-color:var(--color-border);background:var(--color-background)}.extra-ratings{display:grid;gap:8px}.extra-rating{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,200px);align-items:center;gap:16px;padding:12px 16px;border:1px solid var(--line,var(--color-border));border-radius:var(--radius);background:var(--color-surface)}.extra-rating select,.extra-weight select,.job-search input{font:inherit;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);max-width:100%}.job-search{display:grid;gap:8px;margin:20px 0}.extra-weight{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.extra-next{margin-top:24px}.extra-result{padding:20px 0;border-bottom:1px solid var(--color-border)}.extra-result h3{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.extra-limit{color:var(--color-primary);background:var(--color-soft);border-radius:var(--radius);padding:12px}[hidden]{display:none!important}@media(max-width:500px){.extra-rating{grid-template-columns:1fr;gap:8px}.extra-rating select{width:100%}}

.job-options{max-height:52vh;overflow:auto;padding:4px 4px 4px 0;overscroll-behavior:contain}

/* Fundamental conditions remain distinct from score weights. */
.fundamental{margin:24px 0;padding:16px 20px;border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-soft)}.fundamental .check{margin:0 0 8px}.fundamental p{font-size:.9rem;color:var(--color-text)}.fundamental .note{font-size:.84rem}.fundamental:has(input:checked){border-width:2px;background:var(--color-soft)}.exclusion{background:var(--color-soft);border-color:var(--color-border)}.exclusion h2{margin-top:8px;color:var(--color-primary)}.exclusion .eyebrow,.exclusion p,.exclusion li{color:var(--color-primary)}.condition-badge{font-weight:700;color:var(--color-primary)!important}dialog .actions button{flex:1;white-space:normal}dialog h2+p{margin-top:16px}

/* Privacy is explained before answering, not only before sharing. */
.privacy-promise{margin:20px 0 24px;padding:20px 24px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-soft)}.privacy-promise h2{font-size:1.22rem;margin:8px 0 12px}.privacy-promise p{font-size:.92rem;color:var(--ink,var(--color-text))}.privacy-promise .eyebrow{font-size:13px;color:var(--blue,var(--color-primary))}

/* A chosen first name or word identifies each independent comparison. */
.name-input{display:block;width:100%;padding:16px 16px;border:1px solid var(--line,var(--color-border));border-radius:var(--radius);background:var(--color-surface);color:var(--ink,var(--color-text));font:inherit;min-width:0}.name-input:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.label{display:block;font-weight:700;margin:20px 0 8px}.search-row{display:flex;align-items:center;gap:8px;margin:20px 0}.search-row .name-input{flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-4px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.invitation strong{overflow-wrap:anywhere}.comparisons{margin-top:32px}@media(max-width:550px){.search-row{flex-wrap:wrap}.search-row .name-input{flex-basis:100%}.search-row button{flex:1}}
.profile-tools>.quiet{display:block;margin:8px 0}.radar-panel .eyebrow{margin-bottom:12px}.compatibility-radar{display:block;width:100%;height:auto;margin:12px auto}.radar-grid{stroke:var(--color-border);stroke-width:1;fill:none}.radar-grid polygon:last-of-type{stroke:var(--color-border)}.radar-scale{fill:var(--color-muted);font-size:13px}.radar-area{fill:color-mix(in srgb, var(--color-accent) 14.90%, transparent);stroke:var(--color-primary);stroke-width:2.5;stroke-linejoin:round}.radar-point{fill:var(--color-primary);stroke:var(--color-surface);stroke-width:1.5}.radar-labels{fill:var(--color-primary);font-size:15px;font-weight:700}.radar-value{fill:var(--color-primary);font-size:16px;font-weight:700}.radar-panel>p{font-size:.9rem}.result-notice{margin:0 0 24px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-soft)}.result-notice p{margin-top:8px;font-size:.9rem}.radar-panel .note{font-size:.84rem}
@media(max-width:550px){.radar-labels{font-size:21px}.radar-value{font-size:22px}.radar-scale{font-size:16px}}

.brand-ia{color:var(--blue)}.brand .brand-slogan{font-weight:500;max-width:220px;font-size:13px;line-height:1.3}@media(max-width:420px){.brand b{display:none}.brand .brand-slogan{font-size:13px;max-width:180px}}
/* The conversation extends the existing Luveyou colours and controls. */
.chat-heading{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.chat-heading h1{margin:0;font-size:2rem}.chat-heading .eyebrow{margin:0 0 0.25rem}.luv-robot{width:3.8rem;height:3.3rem;flex-shrink:0;background:var(--color-primary);color:var(--color-surface);border-radius:1.1rem;position:relative;display:grid;place-items:center;border:3px solid var(--color-border)}.luv-robot i{position:absolute;top:-.6rem;height:.6rem;width:.2rem;background:var(--color-primary)}.luv-robot i:before{content:'';position:absolute;width:.5rem;height:.5rem;background:var(--color-primary);border-radius:50%;left:-.15rem;top:-.3rem}.luv-robot span{font-size:2.2rem;letter-spacing:.35rem;margin-left:0.25rem}.chat-history{display:grid;gap:1rem;margin:1.5rem 0}.chat-message{padding:1rem 1.25rem;border-radius:var(--radius);max-width:92%;line-height:1.6;overflow-wrap:anywhere}.chat-message strong{font-size:.875rem}.chat-message p{white-space:pre-wrap;margin:0.25rem 0 0}.chat-luv{background:var(--color-background);border:1px solid var(--color-border)}.chat-user{justify-self:end;background:var(--color-primary);color:var(--color-surface)}.mode-choice{margin:1rem 0}.mode-choice button{width:100%;margin:0.5rem 0}.coverage p:last-child{margin-bottom:0}@media(max-width:540px){.chat-message{max-width:100%}.chat-heading h1{font-size:1.75rem}}

.chat-question{padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin:1rem 0}.chat-question h1{font-size:clamp(1.6rem,4vw,2.4rem)}.guide-intro{margin-bottom:1rem}.guide-help{border-top:1px solid var(--color-border);padding-top:1rem;margin-top:1.5rem}.guide-help .chat-message{margin-top:1rem}.guide-help .actions{gap:0.5rem}.guide-help .actions button{font-size:.9rem}@media(max-width:540px){.chat-question{padding:1rem}.chat-message h1{font-size:1.65rem}}

.guide-intro p{font-size:1.125rem}.chat-previous{opacity:.78}.chat-question h1{font-size:clamp(1.2rem,3vw,1.65rem)}.chat-history{margin:1rem 0}.chat-user{margin-left:auto}.chat-question .phase{font-size:.875rem}

/* The guided questionnaire keeps familiar controls in the editorial palette. */
h1,h2{font-family:var(--font-heading);font-weight:500;letter-spacing:-.035em}h3{font-family:var(--font-body)}button,input,textarea,select{font:inherit}.primary,.secondary{border-radius:var(--radius)}.primary:hover{background:var(--color-text)}.panel,.choice,.chat-question,.privacy-promise,.result-notice{box-shadow:none}.choice{border-radius:var(--radius);min-height:62px}.choice:hover,.choice.selected,.choice:has(input:checked){background:var(--color-soft)}.choice .answer-label{color:var(--ink)}.choice span{color:var(--color-muted)}.chat-user{background:var(--blue);color:var(--color-surface)}.chat-luv{background:var(--color-soft);border-color:var(--color-border)}.chat-heading h1{font-family:var(--font-heading)}.luv-robot{background:var(--blue);border-color:var(--color-border)}.radar-scale{fill:var(--color-muted)}.radar-point{fill:var(--color-accent)}.score{font-family:var(--font-body)}.essential{background:var(--color-soft)}.steps b{background:var(--color-soft)}.extra-card{background:var(--color-background)}.self-reminder{background:var(--color-soft)}.check,input[type=checkbox],input[type=radio]{accent-color:var(--blue)}
