/* Approved design system mapped to existing app markup. */
:root{--paper:var(--ph-background);--surface:var(--ph-surface);--ink:var(--ph-text);--muted:var(--ph-text-muted);--teal:var(--ph-primary);--clay:var(--ph-primary);--line:var(--ph-border);--serif:var(--ph-font)}
body{min-height:100svh;display:flex;flex-direction:column;background:var(--ph-background);color:var(--ph-text);font-family:var(--ph-font);font-size:var(--ph-size-body);line-height:var(--ph-leading-body)}
#app{display:flow-root;flex:1}
/* Reserve the initial view until its module renders, including shared hash links. */
#app:empty{min-height:100svh}
body:has(#app:empty)>.site-header{display:none}
.gaminori-footer{width:100%}
button,a,input,summary{font-family:var(--ph-font)}
.site-header{width:100%;max-width:960px;margin:0 auto;background:transparent;border-bottom:1px solid var(--ph-border);padding:var(--ph-space-3) var(--ph-space-8);height:auto;min-height:72px;flex-wrap:wrap;justify-content:space-between;gap:var(--ph-space-2) var(--ph-space-4)}
.site-header .wordmark{display:inline-flex;align-items:center;gap:var(--ph-space-2);min-height:44px;padding:0;color:var(--ph-text);font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.4;white-space:nowrap;min-width:0;max-width:100%;text-decoration:none}
.site-header .wordmark img{display:block;flex-shrink:0}
.site-header .header-nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ph-space-2);margin-left:auto}
.site-header .header-nav a,.site-header #about-open{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px;color:var(--ph-text-muted);font-size:var(--ph-size-label);font-weight:400;line-height:1.5;text-decoration:none;border:0;border-radius:var(--ph-radius-control);background:transparent;white-space:nowrap;margin:0;touch-action:manipulation}
.site-header .wordmark:active,.site-header .header-nav a:active,.site-header #about-open:active{color:var(--ph-primary);background:var(--ph-selected)}
@media(hover:hover) and (pointer:fine){.site-header .wordmark:hover,.site-header .header-nav a:hover,.site-header #about-open:hover{color:var(--ph-primary)}}
.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid var(--ph-focus);outline-offset:4px}
.small{font-size:var(--ph-size-meta);color:var(--ph-text-muted)}
.primary-button,.secondary-button{min-height:48px;border-radius:var(--ph-radius-control);font-size:var(--ph-size-label);font-weight:600;border-color:var(--ph-control-border);transition:background-color var(--ph-duration-feedback) var(--ph-ease),border-color var(--ph-duration-feedback) var(--ph-ease)}
.primary-button,.primary-button:hover{background:var(--ph-primary);color:var(--ph-on-primary);border-color:var(--ph-primary)}
.secondary-button,.secondary-button:hover{background:var(--ph-surface);color:var(--ph-text)}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--ph-focus);outline-offset:4px}
.walk{max-width:calc(var(--ph-width-quiz) + 4rem);padding:0 var(--ph-space-8) var(--ph-space-6);margin-top:var(--ph-space-6)}
.walk-content{gap:var(--ph-space-4)}
.walk .walk-header{width:100%;gap:var(--ph-space-3);flex-wrap:wrap;min-height:48px}
.walk-header #previous{min-height:48px;font-size:var(--ph-size-meta);white-space:normal}
.walk .scene-number{font-size:var(--ph-size-meta)}
.walk .step{background:var(--ph-border)}.walk .step.done,.walk .step.current{background:var(--ph-primary)}
.walk .scene-example{gap:var(--ph-space-3);margin-bottom:var(--ph-space-4)}
.walk .scene-example>.context-art{margin:0;box-shadow:none;border:0}
.walk .scene-example #scene-title{font-size:var(--ph-size-question);line-height:var(--ph-leading-question);font-weight:500;letter-spacing:0;padding:var(--ph-space-6);background:var(--ph-question);color:var(--ph-question-text);border:0;margin:0;width:100%}
.walk .scene-example>.scene-context{font-size:var(--ph-size-body);line-height:var(--ph-leading-body);color:var(--ph-text-muted)}
.walk .walk-hint{font-size:var(--ph-size-meta);line-height:var(--ph-leading-body);text-align:center;color:var(--ph-text-muted);margin:0 0 var(--ph-space-3)}
.walk .scene-choices{gap:var(--ph-space-3)}
.walk .choice-hit{border:1px solid var(--ph-control-border);border-radius:var(--ph-radius-control);background:var(--ph-surface);color:var(--ph-text);min-height:72px;transition:background-color var(--ph-duration-feedback) var(--ph-ease),border-color var(--ph-duration-feedback) var(--ph-ease)}
.walk .criterion-choices .choice-caption{padding:var(--ph-space-4);min-height:0;gap:var(--ph-space-3);font-size:var(--ph-size-body);line-height:var(--ph-leading-body)}
.walk .choice-criterion{font-size:var(--ph-size-body);font-weight:400;line-height:var(--ph-leading-body)}
.walk .choice-letter{font-size:var(--ph-size-label);font-weight:600;color:var(--ph-text-muted)}
.walk .choice-hit.chosen,.walk .choice-hit[aria-pressed=true]:not(:disabled){border-color:var(--ph-primary);background:var(--ph-selected);box-shadow:inset 0 0 0 1px var(--ph-primary)}
.walk .choice-hit:focus-visible{outline:3px solid var(--ph-focus);outline-offset:4px;border:1px solid var(--ph-primary)}
.candidate-progress{font-size:var(--ph-size-meta);padding:var(--ph-space-3) var(--ph-space-4);border-radius:var(--ph-radius-reading);border-color:var(--ph-border);background:var(--ph-background);margin-block:var(--ph-space-4)}
.candidate-count{font-size:var(--ph-size-meta)}.candidate-icons svg{color:var(--ph-agree-text)}
.result{word-break:keep-all;overflow-wrap:anywhere;max-width:calc(var(--ph-width-reading) + 4rem);padding-inline:var(--ph-space-8);margin-top:var(--ph-space-8)}
.result .result-intro h1{font-size:var(--ph-size-section);line-height:var(--ph-leading-heading);font-weight:600}
.result .result-intro .eyebrow{font-size:var(--ph-size-meta)}
.result .result-hero{display:grid;grid-template-columns:1fr;text-align:center;gap:var(--ph-space-6);align-items:center;padding-bottom:var(--ph-space-8);border-color:var(--ph-border)}
.result .result-hero>.philosopher-symbol{width:min(100%,400px);height:auto;aspect-ratio:1;margin-inline:auto;border:0;outline:0;box-shadow:none;background:var(--ph-surface)}
.result .result-name{font-size:var(--ph-size-title);font-weight:600;line-height:var(--ph-leading-heading);margin-bottom:var(--ph-space-2);overflow-wrap:anywhere}
.result .result-hero .result-description{max-width:32rem;margin:var(--ph-space-2) auto 0;font-size:var(--ph-size-body);font-weight:500;line-height:var(--ph-leading-body);color:var(--ph-primary);text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
.result .result-actions{gap:var(--ph-space-2);margin-top:var(--ph-space-4)}
.result .result-actions button{font-size:var(--ph-size-label);min-height:48px;white-space:normal;overflow-wrap:anywhere;border-radius:var(--ph-radius-control);padding:var(--ph-space-3) var(--ph-space-2)}
.result-actions svg{width:18px;height:18px}
.result [data-result-action="share"],.result [data-result-action="share"]:hover{background:var(--ph-primary);color:var(--ph-on-primary);border-color:var(--ph-primary)}
.result [data-result-action="restart"],.result [data-result-action="restart"]:hover{background:var(--ph-restart-surface);color:var(--ph-restart-text);border-color:var(--ph-restart-border)}
.philosopher-thought,.personal-portrait,.philosophy-connection,.thought-companions{margin:var(--ph-space-6) 0;padding:var(--ph-space-6);border:1px solid var(--ph-border);border-radius:var(--ph-radius-reading);background:var(--ph-surface)}
.philosopher-thought h2,.personal-portrait h2,.philosophy-connection h2,.thought-companions h2{font-size:var(--ph-size-section);font-weight:600;line-height:var(--ph-leading-heading);margin-bottom:var(--ph-space-4)}
.personal-portrait>h2{text-align:center}
.personal-portrait h3{font-size:var(--ph-size-section);line-height:var(--ph-leading-heading)}
.philosopher-thought p,.personal-portrait p,.personal-portrait dd,.philosophy-connection p,.companion-card p{font-size:var(--ph-size-body);line-height:var(--ph-leading-body);color:var(--ph-text);margin-bottom:var(--ph-space-4)}
.personal-portrait .personal-detail{padding:var(--ph-space-4);margin-top:var(--ph-space-4);border-color:var(--ph-border);background:var(--ph-background)}
.personal-portrait .personal-detail:nth-of-type(even){background:var(--ph-selected)}
.personal-portrait .personal-detail h4{font-size:1rem;font-weight:600;line-height:var(--ph-leading-heading);color:var(--ph-primary);margin-bottom:var(--ph-space-2)}
.personal-portrait .personal-detail p{margin:0;line-height:var(--ph-leading-body)}
.personal-trait{border-left:0;background:var(--ph-agree-surface);border-color:var(--ph-agree-border);padding:var(--ph-space-4)}
.personal-trait.strain{background:var(--ph-debate-surface);border-color:var(--ph-debate-border)}
.personal-portrait .personal-trait dt,.personal-portrait .personal-trait dd{font-size:var(--ph-size-body);line-height:var(--ph-leading-body)}
.thought-companions .companion-grid{gap:var(--ph-space-4);margin-top:var(--ph-space-4)}
.thought-companions .companion-card{padding:var(--ph-space-4);border:1px solid var(--ph-agree-border);border-radius:var(--ph-radius-reading);background:var(--ph-agree-surface)}
.thought-companions .companion-card[data-companion=debate]{border-color:var(--ph-debate-border);background:var(--ph-debate-surface)}
.thought-companions .companion-card h3{font-size:1rem;font-weight:600;color:var(--ph-agree-text)}
.thought-companions .companion-card[data-companion=debate] h3{color:var(--ph-debate-text)}
.thought-companions .companion-card h4{font-size:1.125rem}.thought-companions .companion-card p{font-size:var(--ph-size-body)}
.answer-details>summary,.score-details summary{min-height:48px;font-size:var(--ph-size-label);color:var(--ph-primary);padding:var(--ph-space-3) 0}
.result .whole-choice-story,.result .evidence-card,.symbol-explanation{border-color:var(--ph-border);border-radius:var(--ph-radius-reading);background:var(--ph-surface)}
.result .whole-choice-story p,.result .evidence-copy p,.symbol-explanation>p,.symbol-explanation li{font-size:var(--ph-size-body);line-height:var(--ph-leading-body);color:var(--ph-text)}
.result .evidence-copy h3{font-size:var(--ph-size-label)}
.result .evidence-copy .text-link{font-size:var(--ph-size-label);min-height:48px}
.result .criterion-tags>span{background:var(--ph-selected);color:var(--ph-primary)}
.thinker-library .thinker-card{border-color:var(--ph-border);border-radius:var(--ph-radius-reading);background:var(--ph-surface)}
.result .result-letter p{font-size:var(--ph-size-body);line-height:var(--ph-leading-body);color:var(--ph-text)}
dialog{border-radius:var(--ph-radius-dialog);background:var(--ph-surface);border-color:var(--ph-border)}
dialog input{background:var(--ph-background);color:var(--ph-text);border-radius:var(--ph-radius-control);border-color:var(--ph-control-border)}
.toast{background:var(--ph-primary);color:var(--ph-on-primary);border-radius:var(--ph-radius-control)}
@media(hover:hover) and (pointer:fine){.primary-button:hover,.result [data-result-action="share"]:hover{background:var(--ph-primary-hover)}.secondary-button:hover{background:var(--ph-selected)}.result [data-result-action="restart"]:hover{background:var(--ph-restart-surface);border-color:var(--ph-restart-text)}.walk .choice-hit:hover:not(:disabled){background:var(--ph-selected);border-color:var(--ph-primary)}}
@media(max-width:559px){.site-header,.home,.walk,.result,.thinker-library{padding-inline:var(--ph-space-4)}.home .home-intro h1{font-size:var(--ph-size-display)}.walk .scene-example #scene-title{padding:var(--ph-space-4);font-size:var(--ph-size-question);line-height:var(--ph-leading-question)}.walk .choice-hit{min-height:64px}.walk .criterion-choices .choice-caption{padding:var(--ph-space-4)}.walk .choice-criterion{font-size:var(--ph-size-body)}.philosopher-thought,.personal-portrait,.philosophy-connection,.thought-companions{padding:var(--ph-space-4)}.result .result-hero{grid-template-columns:1fr;text-align:center}.result .result-hero>.philosopher-symbol{margin:auto}.result .result-name{font-size:var(--ph-size-title)}.personal-portrait .personal-detail{padding:var(--ph-space-4)}.personal-portrait .personal-traits{grid-template-columns:1fr}.thought-companions .companion-card{padding:var(--ph-space-4)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Multi-sentence Q1 reads as prose, not a balanced display heading. */
.walk [data-scene="Q1"] .question-line{text-wrap:wrap;overflow-wrap:anywhere}

/* Candidate label and symbols share one compact row. */
.candidate-progress{display:flex;align-items:center;justify-content:center;gap:var(--ph-space-3);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:default}
.candidate-count{margin:0;white-space:nowrap}
.candidate-icons{flex:none}
.candidate-icons svg{width:24px;height:24px}
.candidate-icons svg+svg{margin-left:-10px}
@media(max-width:359px){.candidate-progress{gap:var(--ph-space-2)}.candidate-icons svg{width:18px;height:18px}.candidate-icons svg+svg{margin-left:-9px}}

.candidate-more{display:inline-flex;align-items:center;align-self:center;margin-inline:2px;color:var(--ph-text-muted);font-size:var(--ph-size-meta);line-height:1}

body:has(.result-name[data-philosopher])>.site-header{display:none}

.result .result-end .result-actions{justify-content:center;margin-top:0}


.thinker-library .thinker-card>.portrait{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border:0;outline:0;margin-bottom:var(--ph-space-4)}
.thinker-library .thinker-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.thinker-library .thinker-card h2{font-size:var(--ph-size-question);line-height:var(--ph-leading-heading)}
.thinker-library .thinker-type{font-size:var(--ph-size-body);font-weight:500;line-height:var(--ph-leading-body);color:var(--ph-primary);word-break:keep-all;overflow-wrap:anywhere}
.thinker-library .thought-summary{margin-top:var(--ph-space-4)}
.thinker-library .thought-summary p{font-size:var(--ph-size-body);line-height:var(--ph-leading-body);color:var(--ph-text);word-break:keep-all;overflow-wrap:anywhere;margin:0 0 var(--ph-space-4)}
.thinker-library .thought-summary p:last-child{margin-bottom:0}


/* Unrevealed animal cards invite curiosity; the introduction keeps the philosophy visible. */
.home{width:100%;max-width:1100px;margin:72px auto var(--ph-space-12);padding-inline:var(--ph-space-8);word-break:keep-all;overflow-wrap:anywhere}
.home .home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:var(--ph-space-16);row-gap:28px;align-items:end}
.home .home-intro{grid-column:1;grid-row:1;text-align:left;min-width:0}
.home .home-intro .home-brand{margin:0 0 var(--ph-space-4);font-size:var(--ph-size-meta);font-weight:600;line-height:var(--ph-leading-body);letter-spacing:0;color:var(--ph-text-muted)}
.home .home-intro h1{margin:0;font-size:var(--ph-size-display);font-weight:800;line-height:var(--ph-leading-heading);letter-spacing:-.025em;color:var(--ph-text)}
.home .home-intro .home-invitation{margin:20px 0 0;font-size:var(--ph-size-body);line-height:var(--ph-leading-body);letter-spacing:normal;color:var(--ph-text-muted)}
.home .home-examples{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:0}
.home-examples-label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--ph-space-2);margin:0 0 var(--ph-space-4);font-size:var(--ph-size-label);line-height:var(--ph-leading-body);font-weight:600;color:var(--ph-text)}
.home-examples-label span{font-size:var(--ph-size-meta);font-weight:400;color:var(--ph-text-muted)}
.home-card-marquee{--home-card-width:104px;--home-card-pitch:calc(var(--home-card-width) + var(--ph-space-3));--home-loop-distance:calc(24 * var(--home-card-pitch));overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.home-marquee-row{overflow:hidden;min-width:0}
.home-marquee-track{display:flex;width:calc(2 * var(--home-loop-distance));animation:home-marquee 160s linear infinite}
/* Explicit widths prevent WebKit from reserving the SVGs' intrinsic canvas widths. */
.home-marquee-group{display:flex;flex:0 0 var(--home-loop-distance);width:var(--home-loop-distance);gap:var(--ph-space-3);padding-right:var(--ph-space-3)}
.home-animal-card{flex:0 0 var(--home-card-width);width:var(--home-card-width);min-width:0;padding:var(--ph-space-2);border:0;border-radius:16px;background:var(--ph-surface);text-align:center}
.home .home-card-silhouette{position:relative;display:grid;place-items:center;width:100%;height:100px;margin:0}
.home .home-card-art{display:block;width:100%;height:100%;min-height:0;object-fit:contain;margin:0;image-rendering:auto;opacity:.75;pointer-events:none;user-select:none}
.home .home-card-question{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:2rem;font-weight:800;line-height:1;pointer-events:none}
@keyframes home-marquee{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--home-loop-distance)))}}
@media(prefers-reduced-motion:reduce){.home-marquee-row{overflow-x:auto;scrollbar-width:thin}.home-marquee-track{width:var(--home-loop-distance)}.home-marquee-group[aria-hidden="true"]{display:none}}
.home .home-start{--home-cta:var(--ph-primary);--home-cta-hover:var(--ph-primary-hover);--home-cta-ring:color-mix(in srgb,var(--ph-primary) 32%,transparent);grid-column:1;grid-row:2;align-self:start;width:100%;max-width:390px}
.home .home-start .button-row{display:flex;flex-direction:column;width:100%;margin:0;gap:10px}
.home .home-start .button-row>button{flex:none;width:100%;min-width:0;min-height:56px;padding:13px 16px;border-radius:var(--ph-radius-action);font-size:var(--ph-size-question);font-weight:700;line-height:var(--ph-leading-heading);letter-spacing:-.025em}
.home .home-start .button-row>.primary-button{min-height:var(--ph-height-action);font-size:var(--ph-size-action);font-weight:700;line-height:var(--ph-leading-heading);gap:var(--ph-space-4);border-color:var(--home-cta);background:var(--home-cta);color:#fff;box-shadow:none;animation:home-cta-ring 4s ease-out infinite}
.home .home-start .primary-button>span{animation:home-cta-nudge 4s ease-in-out infinite}
.home .home-start .primary-button:is(:hover,:focus,:disabled),.home .home-start .primary-button:is(:hover,:focus,:disabled)>span{animation:none}
.home .home-start .primary-button:focus-visible{outline-color:var(--home-cta)}
@keyframes home-cta-ring{0%{box-shadow:0 0 0 0 var(--home-cta-ring)}22%,100%{box-shadow:0 0 0 8px transparent}}
@keyframes home-cta-nudge{0%,6%,20%,100%{transform:translateX(0)}12%{transform:translateX(4px)}}
.home .home-start .secondary-button{display:flex;align-items:center;justify-content:center;gap:var(--ph-space-3);border:2px solid var(--ph-primary);background:var(--ph-selected);color:var(--ph-primary)}
.home .home-start .secondary-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home .home-start-note{margin:var(--ph-space-3) 0 0;text-align:center;font-size:var(--ph-size-meta);line-height:var(--ph-leading-body);color:var(--ph-text-muted)}
.home #start:disabled{opacity:.65;cursor:wait}
.home .home-version{margin:28px 0 0;text-align:center;color:var(--ph-text-muted);font-size:var(--ph-size-meta);line-height:var(--ph-leading-body);font-variant-numeric:tabular-nums}
.route-pending #app>.home{display:none}
.route-pending #app{min-height:100svh}
.route-pending body{background:var(--ph-background)}
@media(hover:hover) and (pointer:fine){.home .home-start .primary-button:hover{background:var(--home-cta-hover);border-color:var(--home-cta-hover)}.home .home-start .secondary-button:hover{background:var(--ph-selected)}}
@media(max-width:799px){
 .home{max-width:480px;margin:var(--ph-space-6) auto 36px;padding-inline:var(--ph-space-4)}
 .home .home-hero{grid-template-columns:minmax(0,1fr);gap:0}
 .home .home-intro{grid-column:1;grid-row:1;text-align:center}
 .home .home-intro .home-brand{margin-bottom:var(--ph-space-3)}
 .home .home-intro .home-invitation{margin-top:var(--ph-space-4)}
 .home .home-examples{grid-column:1;grid-row:2;margin-top:var(--ph-space-6)}
 .home-examples-label{margin-bottom:var(--ph-space-3)}
 .home-card-marquee{--home-card-width:84px}
 .home-animal-card{padding:6px}
 .home .home-card-silhouette{height:72px}
 .home .home-card-question{font-size:1.5rem}
 .home .home-start{grid-column:1;grid-row:3;max-width:none;margin-top:var(--ph-space-3)}
}
@media(max-width:359px){
 .home{margin-top:20px}
 .home .home-start .button-row>button{padding-inline:var(--ph-space-3)}
}
@media(max-width:799px) and (max-height:740px){
 .home{margin-top:var(--ph-space-4)}
 .home .home-intro .home-brand{margin-bottom:10px}
 .home .home-intro .home-invitation{margin-top:var(--ph-space-3)}
 .home .home-examples{margin-top:var(--ph-space-4)}
 .home-examples-label{margin-bottom:var(--ph-space-2)}
 .home-animal-card{padding-block:6px}
 .home .home-card-silhouette{height:54px}
 .home .home-start{margin-top:var(--ph-space-2)}
 .home .home-start-note{margin-top:var(--ph-space-2)}
}

.philosopher-thought{background:var(--ph-selected);border-color:transparent}
.philosopher-thought h2{text-align:center}
.philosopher-thought .thought-summary p:last-child{margin-bottom:0}

.walk .question-intent{margin:6px 0 0;font-size:12px}
.question-intent summary{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:32px;width:fit-content;max-width:100%;margin-left:auto;cursor:pointer;color:var(--ph-text-muted);list-style:none;border-radius:4px;font-size:12px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
.question-intent summary::-webkit-details-marker{display:none}

.question-intent-body{padding:12px 14px;background:var(--ph-selected);border-radius:8px;color:var(--ph-text);word-break:keep-all;overflow-wrap:anywhere}
.question-intent-body h2{margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.6;color:var(--ph-primary)}
.question-intent-body p{margin:0;font-size:14px;line-height:1.6}
.walk .candidate-progress{margin:16px auto 4px}
.walk .question-intent{margin-top:0}

.philosopher-thought .thought-summary p[data-distinctive="true"],.thinker-library .thought-summary p[data-distinctive="true"]{font-weight:500;color:var(--ph-primary)}

.question-support-row{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;margin-top:12px;align-items:start}
.walk .question-support-row .question-intent{grid-column:1/-1;grid-row:1;margin:0;min-width:0}
.question-support-row .question-intent summary{margin-left:0;justify-content:flex-start}
.question-support-row .question-intent-body{margin-top:8px}
.walk .question-support-row .candidate-progress{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin:4px 0 0;gap:8px;max-width:100%}
.candidate-label-short{display:none}
@media(max-width:559px){.question-support-row{column-gap:8px}.question-support-row .candidate-label-long{display:none}.question-support-row .candidate-label-short{display:inline}.question-support-row .candidate-count{font-size:11px}.question-support-row .candidate-icons svg{width:16px;height:16px}.question-support-row .candidate-icons svg+svg{margin-left:-10px}.walk .question-support-row .candidate-progress{gap:5px}}
@media(max-width:359px){.question-support-row .candidate-icons svg{width:12px;height:12px}.question-support-row .candidate-icons svg+svg{margin-left:-8px}.question-support-row .candidate-more{font-size:10px;margin-inline:1px}}

.question-support-row .question-intent summary{padding:0;line-height:1.4;white-space:nowrap}
@media(max-width:359px){.question-support-row .question-intent summary{font-size:11px;gap:4px}.question-support-row .candidate-count{font-size:10px}.walk .question-support-row .candidate-progress{gap:4px}}

.question-support-row .question-intent summary{text-decoration:none}
.question-intent summary>span{text-decoration:underline;text-underline-offset:3px}
.question-intent summary::after{content:none}
.help-chevron{width:10px;height:10px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}
.question-intent[open] .help-chevron{transform:rotate(180deg)}
/* A fading outline draws attention while the help text stays still. */
.question-intent summary{position:relative}
.question-intent.help-hint:not([open]) summary{color:var(--ph-primary);background:var(--ph-selected);box-shadow:0 0 0 5px var(--ph-selected)}
.question-intent.help-hint:not([open]) summary::before{content:"";position:absolute;inset:-5px;border:2px solid var(--ph-primary);border-radius:9px;pointer-events:none;opacity:0;animation:help-hint-ring 1.6s ease-out 3}
@keyframes help-hint-ring{0%{opacity:.7;transform:scale(1)}85%,100%{opacity:0;transform:scale(1.18,1.55)}}
@media(prefers-reduced-motion:reduce){.question-intent.help-hint summary::before{display:none}}


.result-reveal{max-width:520px;min-height:calc(100svh - 4rem);margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.25rem}
.reveal-eyebrow{font-size:.9rem;color:var(--ph-text-muted);margin:0}
.reveal-emblem{width:208px;height:208px;position:relative;display:grid;place-items:center;margin:1rem 0;background:radial-gradient(circle,color-mix(in srgb,var(--ph-primary) 14%,transparent) 0,color-mix(in srgb,var(--ph-selected) 27%,transparent) 47%,transparent 70%)}
.reveal-person{width:112px;height:112px;border-radius:50%;position:relative;background:var(--ph-surface);border:1px solid var(--ph-control-border);box-shadow:0 0 0 10px color-mix(in srgb,var(--ph-primary) 5%,transparent),0 10px 30px #24272d12;display:grid;place-items:center}
.reveal-person svg{width:78px;height:78px;fill:var(--ph-control-border)}
.reveal-person span{position:absolute;right:4px;bottom:4px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ph-primary);color:var(--ph-on-primary);font-size:1.1rem;font-weight:600;border:3px solid var(--ph-background)}
.reveal-orbit{position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--ph-primary) 40%,transparent);border-radius:50%;animation:reveal-orbit 3.2s linear infinite}
.reveal-orbit::before,.reveal-orbit::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;top:17px;left:29px;background:var(--ph-primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--ph-primary) 8%,transparent)}
.reveal-orbit::after{top:auto;left:auto;bottom:17px;right:29px;width:7px;height:7px;background:var(--ph-text-muted);box-shadow:0 0 0 4px color-mix(in srgb,var(--ph-primary) 8%,transparent)}
.reveal-spark{position:absolute;color:var(--ph-text-muted);font-size:1.4rem;animation:reveal-spark 1.5s ease-in-out infinite alternate}.reveal-spark.spark-one{right:23px;top:14px}.reveal-spark.spark-two{left:15px;bottom:21px;animation-delay:.4s}
.result-reveal h1{font-size:clamp(1.35rem,4.8vw,1.8rem);line-height:1.4;margin:0;font-weight:600;letter-spacing:-.025em}
#reveal-message{font-size:1rem;color:var(--ph-text-muted);min-height:1.7em;margin:0;line-height:1.7}
.reveal-steps{display:flex;gap:8px;margin-top:.25rem}.reveal-steps span{width:24px;height:4px;border-radius:4px;background:var(--ph-border);transition:background-color .3s}.reveal-steps .active{background:var(--ph-primary)}
@keyframes reveal-orbit{to{transform:rotate(360deg)}}
@keyframes reveal-spark{from{opacity:.35;transform:scale(.85)}to{opacity:1;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.result-reveal *, .result-reveal *::before,.result-reveal *::after{animation:none!important;transition:none!important}}

body:has(.result-reveal)>.site-header,body:has(.result-reveal)>.legacy-edition-note{display:none}

/* Let the introduction begin directly with the quiz content. */
body:has(.home)>.site-header{display:none}
@media(max-width:559px){.site-header{min-height:64px;padding-block:8px}.site-header .wordmark img{width:28px;height:28px}}
