/* NOEMA 2.2: a clearer reading rhythm and controls that retain their meaning. */
#main :is(h1,h2,h3)[tabindex="-1"]:focus{outline:none}
.intro-copy h1{letter-spacing:-.045em;line-height:1.2}
.intro-description{line-height:1.95;max-width:26rem}
.intro-copy>.eyebrow{color:var(--accent-text);letter-spacing:.13em}
.intro-rule{max-width:350px}
.setup-panel{background:linear-gradient(145deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),.035) 68%);border-color:rgba(179,188,255,.22)}
.setup-panel h2{letter-spacing:-.025em}
.setup-panel .panel-description{line-height:1.8}
.setup-footer{line-height:1.7;text-align:center}
.mode-option,.experience-chip{height:100%}
.consent-row input{flex-shrink:0}
.scale-options .scale-box{height:auto;min-height:104px}
.scale-options .scale-text{min-width:0;max-width:100%;overflow-wrap:anywhere}
.scale-options .neither-choice .scale-box{min-height:56px}

/* Keep overview, interpretation and exploration visually distinct. */
.results-header{margin-bottom:32px}
.results-header h1{font-size:clamp(2rem,3.5vw,2.75rem);letter-spacing:-.035em;line-height:1.25}
.results-header p{max-width:45rem;line-height:1.8}
.result-bento{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:24px}
.result-top-panel{display:flex;flex-direction:column;justify-content:center;padding:34px}
.result-top-panel>.eyebrow{letter-spacing:.1em;margin-bottom:18px}
.top-match h2{font-size:clamp(1.55rem,2.45vw,2rem);line-height:1.45;letter-spacing:-.025em;text-wrap:balance}
.top-description{font-size:.9375rem;line-height:1.95;margin-top:18px;max-width:40rem}
.profile-highlights{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:21px;border-top:1px solid var(--border)}
.profile-highlight{display:flex;align-items:center;gap:12px;min-height:44px;max-width:100%;padding:9px 12px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:8px;background:rgba(var(--accent-rgb),.07);text-align:left;font-size:.8125rem;line-height:1.5}
.profile-highlight span{min-width:0;overflow-wrap:anywhere}
.profile-highlight strong{flex-shrink:0;color:var(--accent-text);font-weight:550;font-variant-numeric:tabular-nums}
.profile-highlight:hover{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.6)}
.profile-highlight:active{transform:scale(.98)}
.radar-panel{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:25px}
.radar-head{gap:14px;flex-wrap:wrap}
.radar-head>.eyebrow{letter-spacing:.1em}
.radar-visual{height:296px;max-width:100%;flex-shrink:0}
.profile-insights{gap:28px;margin-top:30px}
.insight-card{padding:20px 0 4px;background:none;border:0;border-top:1px solid rgba(var(--accent-rgb),.24);border-radius:0}
.insight-card h2{font-size:.9375rem;line-height:1.6;font-weight:550;margin-bottom:10px}
.insight-card p{font-size:.875rem;line-height:1.95}
.result-method{background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:16px 0 22px;margin:20px 0 34px}
.result-method button{min-height:32px;text-decoration-thickness:1px}
.result-explorer{scroll-margin-top:28px}
.all-results-heading{margin-bottom:18px}
.all-results-heading h2{font-size:1.25rem;line-height:1.5;letter-spacing:-.015em}
.group-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.group-filter{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:rgba(var(--accent-rgb),.035);color:var(--muted);font-size:.8125rem;line-height:1.5;text-align:center}
.group-filter span{min-width:0;overflow-wrap:anywhere}
.group-filter small{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--accent-text);white-space:nowrap}
.group-filter:hover{color:var(--fg);border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.1)}
.group-filter[aria-pressed="true"]{background:rgba(var(--accent-rgb),.21);border-color:rgba(164,178,255,.72);color:var(--fg);box-shadow:inset 0 1px rgba(220,225,255,.09)}
.group-filter[aria-pressed="true"] small{color:#e0e5ff}
.group-filter:active{transform:scale(.97)}
.group-context{margin-bottom:20px;padding-left:16px;border-left:2px solid rgba(var(--accent-rgb),.6)}
.group-context h3{font-size:1rem;line-height:1.55;font-weight:550;color:var(--fg);margin:0 0 7px}
.group-context p{max-width:65ch;font-size:.875rem;line-height:1.85;color:var(--muted);margin:0}
#filter-count{display:block;color:var(--subtle);font-size:.75rem;line-height:1.6;margin-top:9px;font-variant-numeric:tabular-nums}
.score-grid{gap:10px 14px;min-width:0}
.score-item{min-width:0;padding:17px 19px;background:rgba(var(--accent-rgb),.035);border-color:rgba(var(--accent-rgb),.17)}
.score-item[hidden]{display:none}
.score-item[open]{background:rgba(var(--accent-rgb),.07);border-color:rgba(var(--accent-rgb),.4)}
.score-item summary{min-height:44px;display:flex;flex-direction:column;justify-content:center}
.score-heading>div{min-width:0;overflow-wrap:anywhere}
.score-value{flex-shrink:0}
.score-description{padding-top:18px;margin-top:17px}
.score-description h3{letter-spacing:0;line-height:1.65}
.result-end{margin-top:36px;line-height:1.8}

/* The map is navigation, with shape as well as colour indicating state. */
.quiz-top{align-items:center}
.quiz-top>div:first-child{min-width:0}
.quiz-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}
#question-map-toggle{font-size:.8125rem;min-height:44px;padding:9px 13px;white-space:normal}
.question-map-summary{font-size:.875rem;line-height:1.85;color:var(--muted);margin:0 0 14px}
.question-map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.75rem;line-height:1.6;color:var(--muted);margin:0 0 20px}
.question-map-legend>span{display:inline-flex;align-items:center;gap:7px}
.question-map-legend .is-answered:before,.question-map-legend .is-skipped:before,.question-map-legend .is-current:before{content:"";width:10px;height:10px;border-radius:2px;flex-shrink:0}
.question-map-legend .is-answered:before{background:var(--bright)}
.question-map-legend .is-skipped:before{border:1px dashed var(--subtle)}
.question-map-legend .is-current:before{border:1px solid var(--accent-text);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.15)}
.question-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(44px,2.5rem),1fr));gap:9px;padding:3px}
.question-jump{position:relative;display:grid;place-items:center;min-height:44px;aspect-ratio:1;min-width:0;padding:8px 4px;border:1px solid var(--border);border-radius:8px;background:rgba(var(--accent-rgb),.035);color:var(--muted);font-size:.875rem;line-height:1.2;font-variant-numeric:tabular-nums}
.question-jump:hover{background:rgba(var(--accent-rgb),.14);border-color:var(--bright);color:var(--fg)}
.question-jump.is-answered{background:rgba(var(--accent-rgb),.21);border-color:rgba(var(--accent-rgb),.4);color:var(--accent-text)}
.question-jump.is-answered:after{content:"✓";position:absolute;right:4px;top:2px;color:var(--accent-text);font-size:.5625rem}
.question-jump.is-skipped{border-style:dashed;color:var(--muted)}
.question-jump.is-current,.question-jump[aria-current="step"]{outline:2px solid var(--accent-text);outline-offset:1px;color:var(--fg)}
.question-jump:focus-visible{outline:2px solid #fff;outline-offset:3px}
.question-jump:active{transform:scale(.94)}

/* Expand definitions in place while retaining the two-column directory. */
.dimension-list{align-items:start}
details.dimension-label{padding:0;min-width:0;background:rgba(var(--accent-rgb),.035)}
details.dimension-label summary{position:relative;min-height:64px;padding:13px 30px 13px 14px;cursor:pointer;list-style:none;line-height:1.55}
details.dimension-label summary::-webkit-details-marker{display:none}
details.dimension-label summary:after{content:"+";position:absolute;right:12px;top:15px;font-size:1rem;color:var(--accent-text)}
details.dimension-label[open] summary:after{content:"−"}
details.dimension-label summary strong,details.dimension-label summary span{overflow-wrap:anywhere}
details.dimension-label[open]{border-color:rgba(var(--accent-rgb),.44);background:rgba(var(--accent-rgb),.08)}
details.dimension-label p{font-size:.8125rem;line-height:1.9;color:var(--muted);padding:0 14px 16px;margin:0}

@media(min-width:681px) and (max-width:1000px){
 .result-top-panel{padding:25px}
 .radar-panel{padding:22px 17px}
 .radar-visual{height:260px}
 .profile-highlights{gap:7px;margin-top:20px}
 .profile-highlight{padding:8px 10px;gap:8px}
}

@media(max-width:680px){
 .intro-copy h1{font-size:clamp(2.5rem,10.5vw,3.4rem);letter-spacing:-.04em}
 .intro-description{max-width:29rem}
 .intro-grid{gap:28px}
 .setup-panel{padding:25px 22px}
 .mode-option{padding:13px 10px}
 .mode-title{line-height:1.55}
 .mode-details{line-height:1.7}
 .facts{column-gap:12px;flex-wrap:wrap;row-gap:16px}
 .fact{min-width:0}
 .fact span{overflow-wrap:anywhere}
 .quiz-top{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .quiz-top-actions{gap:5px;margin-left:auto;max-width:100%;flex-wrap:wrap}
 #question-map-toggle{padding:8px 10px;font-size:.75rem}
 .quiz-top-actions .ghost-button{font-size:.75rem;padding:8px}
 .question-panel{padding:23px 19px}
 .question-meta{gap:12px;align-items:flex-start}
 .question-number{flex-shrink:0}
 .question-body{padding:25px 0 20px}
 .answer-flow-hint{line-height:1.7;margin-bottom:14px}
 .scale-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .scale-choice[data-value="0"]{grid-column:1;grid-row:1}
 .scale-choice[data-value="1"]{grid-column:2;grid-row:1}
 .scale-choice[data-value="2"]{grid-column:3;grid-row:1}
 .scale-choice[data-value="3"]{grid-column:1/-1;grid-row:2}
 .scale-choice[data-value="4"]{grid-column:1;grid-row:3}
 .scale-choice[data-value="5"]{grid-column:2;grid-row:3}
 .scale-choice[data-value="6"]{grid-column:3;grid-row:3}
 .scale-choice[data-value="7"]{grid-column:1/-1;grid-row:4;margin-top:2px}
 .scale-options .scale-choice[data-value] .scale-box{height:auto;min-height:88px;padding:10px 5px;gap:6px}
 .scale-options .scale-choice[data-value] .scale-text{font-size:.8125rem;line-height:1.45;min-height:0;min-width:0;max-width:100%;overflow-wrap:anywhere}
 .scale-options .scale-choice:is([data-value="3"],[data-value="7"]) .scale-box{min-height:56px;flex-direction:row;gap:10px;padding:9px 12px;background:rgba(var(--accent-rgb),.035)}
 .scale-options .scale-choice:is([data-value="3"],[data-value="7"]) .scale-text br{display:none}
 .scale-options .scale-choice:is([data-value="3"],[data-value="7"]) input:checked+.scale-box{background:rgba(var(--accent-rgb),.18)}
 .scale-options .scale-choice[data-value="3"] .scale-circle{transform:scale(.8)}
 .scenario-cards{gap:9px}
 .scenario-card{padding:12px;min-width:0}
 .scenario-card p{overflow-wrap:anywhere}
 .question-actions{gap:8px;flex-wrap:wrap}
 .question-actions>.primary-button{min-width:98px}
 .question-actions-middle{margin-right:0}
 .results-view{padding:32px 20px 42px}
 .results-header{gap:18px;margin-bottom:24px}
 .results-header h1{font-size:2rem;line-height:1.3}
 .results-header p{font-size:.8125rem;line-height:1.9}
 .result-bento{grid-template-columns:minmax(0,1fr);gap:16px}
 .result-top-panel{padding:27px 24px}
 .top-match h2{font-size:1.625rem;line-height:1.5}
 .top-description{font-size:.875rem;line-height:1.95}
 .profile-highlights{gap:8px;margin-top:21px;padding-top:19px}
 .profile-highlight{justify-content:space-between;flex:1 1 135px;font-size:.8125rem;gap:9px}
 .radar-panel{padding:22px 18px 16px}
 .radar-head{row-gap:5px}
 .radar-visual{height:280px}
 .profile-insights{gap:18px;margin-top:26px}
 .insight-card{padding:17px 0 0}
 .insight-card p{font-size:.875rem}
 .result-method{margin:20px 0 28px;padding-bottom:20px}
 .all-results-heading{gap:7px}
 .all-results-heading h2{font-size:1.125rem}
 .group-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:22px}
 .group-filter{justify-content:space-between;text-align:left;min-width:0;min-height:46px;padding:10px 12px;font-size:.8125rem;gap:8px}
 .group-filter small{font-size:.6875rem}
 .group-context{padding-left:13px;margin-bottom:18px}
 .score-grid{gap:10px}
 .score-item{padding:15px 16px}
 .score-heading{gap:10px}
 .score-heading>div{display:flex;flex-direction:column;gap:2px}
 .score-en{margin-left:0;font-size:.6875rem;line-height:1.5}
 .score-name{font-size:.875rem;line-height:1.5}
 .score-value{gap:7px;font-size:.875rem}
 .score-description{font-size:.875rem}
 .result-end{margin-top:28px}
 .question-map-grid{gap:9px}
 .question-map-legend{gap:9px 14px}
 details.dimension-label summary{padding:12px 26px 12px 11px}
 details.dimension-label p{padding:0 11px 14px;font-size:.8125rem}
 .dimension-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
}

@media(max-width:360px){
 .setup-panel{padding:22px 17px}
 .results-view{padding-inline:17px}
 .result-top-panel{padding:23px 20px}
 .radar-panel{padding-inline:12px}
 .radar-visual{height:255px}
 .question-panel{padding-inline:16px}
 .group-filter{padding-inline:10px}
 .score-item{padding-inline:13px}
 .question-actions>.primary-button{min-width:88px;padding-inline:12px}
}

@media(prefers-reduced-motion:reduce){
 .profile-highlight,.group-filter,.question-jump{transition:none;transform:none!important}
}

@media print{
 .result-top-panel,.radar-panel{padding:22px}
 .profile-highlights{border-color:#bbb}
 .profile-highlight{background:none;border-color:#bbb;color:#25263a}
 .profile-highlight strong{color:#4d58b8}
 .profile-insights{gap:20px}
 .insight-card{border-color:#bbb}
 .insight-card h2,.group-context h3{color:#25263a}
 .insight-card p,.group-context p,#filter-count{color:#484957}
 .group-filters,.group-context,.quiz-top-actions,.result-method{display:none}
 .group-context{border-color:#8d96c7;break-after:avoid}
 .score-item{border-color:#bbb;background:#fff}
 .score-item[hidden]{display:block}
 .score-description{color:#484957}
}
