:root{--ink:#041e42;--muted:#506276;--paper:#f3f7fb;--panel:#fff;--line:#d4dee9;--accent:#1a5c84;--accent-dark:#041e42;--green:#24644f;--green-soft:#dcebe6;--flag-white:#fff;--shadow:0 18px 60px #041e421f}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}body{margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}a{color:var(--accent-dark)}button,a{-webkit-tap-highlight-color:transparent}main{min-height:100vh}.intro{min-height:440px;color:var(--flag-white);background:linear-gradient(115deg,#041e42fa,#09345ceb),repeating-linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 72px);grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);display:grid;overflow:hidden}.introText{align-self:end;max-width:820px;padding:64px clamp(24px,7vw,96px)}.kicker,.railLabel{letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:0;max-width:780px;margin-bottom:20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,6.8rem);line-height:.94}.lede{color:#ffffffdb;max-width:660px;font-size:1.12rem;line-height:1.55}.statusRow{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.statusRow span{border:1px solid #ffffff52;padding:10px 12px;font-size:.86rem}.introActions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.primaryLink,.secondaryLink,.resultJump{justify-content:center;align-items:center;min-height:46px;padding:12px 16px;text-decoration:none;display:inline-flex}.primaryLink{background:var(--flag-white);color:var(--ink);font-weight:800}.secondaryLink{color:var(--flag-white);border:1px solid #ffffff5c}.visualPanel{background:#ffffff0d;border-left:1px solid #ffffff29;flex-direction:column;justify-content:center;gap:24px;min-height:340px;padding:64px clamp(24px,7vw,96px);display:flex}.flagFrame{filter:drop-shadow(0 24px 42px #0000002e);width:min(100%,380px)}.scFlag{background:var(--ink);width:100%;height:auto;display:block}.raceStack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;width:min(100%,520px);display:grid}.raceStack span{color:#ffffffc7;border-bottom:1px solid #ffffff47;padding-bottom:10px}.workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr) minmax(320px,420px);gap:0;min-height:760px;display:grid}.workspace.resultsFocus{background:#eaf1f7;grid-template-columns:minmax(0,1120px);justify-content:center;min-height:0;padding:clamp(24px,5vw,64px)}.rail,.resultsPane{background:#eaf1f7;padding:28px}.rail{border-right:1px solid var(--line);align-self:start;max-height:100vh;position:sticky;top:0;overflow:auto}.resultsPane{border-left:1px solid var(--line);align-self:start;max-height:100vh;position:sticky;top:0;overflow:auto}.resultsFocus .resultsPane{border:1px solid var(--line);background:var(--panel);max-height:none;box-shadow:var(--shadow);position:static;overflow:visible}.progressTrack,.barTrack{background:#041e421f;height:8px;overflow:hidden}.progressFill,.barFill{background:var(--accent);height:100%;transition:width .22s}.progressCopy{color:var(--muted);margin:10px 0 0;font-size:.84rem;line-height:1.4}nav{gap:8px;margin:28px 0;display:grid}.step,.ghostButton,.secondaryButton,.option{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;transition:background .16s,border-color .16s,transform .16s}.step{text-align:left;align-items:center;gap:10px;min-height:42px;padding:8px 10px;font-size:.9rem;display:flex}.step span{width:24px;height:24px;color:var(--muted);background:#041e4214;place-items:center;font-size:.78rem;display:grid}.step.active{border-color:var(--accent);background:#1a5c841a}.step.done span{background:var(--green);color:#fff}.ghostButton,.secondaryButton{min-height:42px;padding:10px 14px}.ghostButton:hover,.secondaryButton:not(:disabled):hover,.option:hover{border-color:var(--accent);transform:translateY(-1px)}.secondaryButton:disabled{cursor:not-allowed;opacity:.45}.questionPane{background:var(--panel);flex-direction:column;justify-content:center;min-height:760px;padding:clamp(30px,5vw,72px);scroll-margin-top:14px;display:flex}.mobileMeter{display:none}.questionHeader{max-width:780px}.questionHeader h2,.sourceSection h2{letter-spacing:0;margin-bottom:16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4rem);line-height:1}.questionHeader p:last-child,.sourceSection p{color:var(--muted);font-size:1rem;line-height:1.62}.options{gap:12px;max-width:860px;margin-top:30px;display:grid}.option{background:var(--panel);text-align:left;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:14px;line-height:1.42;display:grid}.option.selected{border-color:var(--green);background:var(--green-soft)}.optionLetter{background:var(--ink);color:#fff;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.optionText{min-width:0}.optionState{color:var(--muted);white-space:nowrap;font-size:.78rem}.option.selected .optionState{color:var(--green);font-weight:800}.navRow{justify-content:space-between;align-items:center;gap:12px;max-width:860px;margin-top:24px;display:flex}.resultsHeader p:last-child{color:var(--muted);line-height:1.45}.resultsTitleRow{justify-content:space-between;align-items:start;gap:18px;display:flex}.resultsTitleRow .secondaryButton{flex:none}.resultsFocus .resultsHeader{max-width:920px}.resultsFocus .resultList{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.resultsFocus .result{border:1px solid var(--line);background:#f8fbfd;padding:18px}.profilePanel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0;padding:14px 0}.profilePanel span{color:var(--muted);text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:800;display:block}.profileTags{flex-wrap:wrap;gap:8px;display:flex}.profileTags strong{background:var(--panel);border:1px solid var(--line);color:var(--ink);padding:7px 9px;font-size:.8rem;line-height:1.2}.matchChips{flex-wrap:wrap;gap:8px;margin:14px 0 20px;display:flex}.matchChips span{color:var(--green);background:#1f5f4b14;border:1px solid #1f5f4b47;padding:7px 9px;font-size:.78rem;font-weight:800}.candidateHint{color:var(--muted);margin:0 0 18px;font-size:.84rem;line-height:1.45}.resultList{gap:18px;display:grid}.result{border-top:1px solid var(--line);padding-top:18px}.resultTop{gap:4px;margin-bottom:14px;display:grid}.resultTop span{color:var(--muted);font-size:.86rem}.resultTop strong,.leaderNames button{font-family:Georgia,Times New Roman,serif;font-size:1.5rem;line-height:1.05}.leaderNames{flex-wrap:wrap;gap:4px 12px;display:flex}.leaderNames button{cursor:pointer;color:var(--ink);text-align:left;text-underline-offset:4px;background:0 0;border:0;padding:2px 0 4px;-webkit-text-decoration:underline #041e4233;text-decoration:underline #041e4233}.leaderNames button:hover,.leaderNames button:focus-visible,.leaderNames button[aria-expanded=true]{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.leaderNames button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.resultTop em{color:var(--muted);font-size:.78rem;font-style:normal}.bars{gap:9px;display:grid}.barRow{grid-template-columns:minmax(84px,1fr) minmax(80px,1.2fr) 24px;align-items:center;gap:8px;font-size:.78rem;display:grid}.barRow em{color:var(--muted);text-align:right;font-style:normal}.candidateName{cursor:pointer;color:inherit;font:inherit;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #041e4247;text-decoration:underline #041e4247}.candidateName:hover,.candidateName[aria-expanded=true]{color:var(--accent-dark);-webkit-text-decoration-color:var(--accent-dark);text-decoration-color:var(--accent-dark)}.barRow.leader .candidateName,.barRow.leader em{color:var(--green);font-weight:800}.matchSummary{color:var(--muted);margin:14px 0 0;font-size:.88rem;line-height:1.48}.candidateModalBackdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f243375;place-items:center;padding:clamp(18px,4vw,48px);display:grid;position:fixed;inset:0}.candidateModal{background:var(--paper);overscroll-behavior:contain;border:1px solid #0d2e4138;width:min(720px,100%);max-height:min(760px,100svh - 36px);padding:clamp(20px,4vw,34px);overflow:auto;box-shadow:0 24px 80px #0d2e4140}.detailHeader{justify-content:space-between;align-items:start;gap:14px;margin-bottom:12px;display:flex}.detailHeader span{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:.78rem;font-weight:800;display:block}.detailHeader h3{letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;line-height:1.05}.detailHeader button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;padding:8px 10px;font-size:.82rem}.detailSummary,.detailStatus,.detailBlock p,.detailBlock li{color:var(--muted);font-size:.92rem;line-height:1.52}.detailStatus{color:var(--green);background:#24644f14;border:1px solid #24644f47;padding:10px 12px;font-weight:800}.detailBlock{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.detailBlock h4{color:var(--ink);text-transform:uppercase;margin:0 0 8px;font-size:.86rem}.detailBlock ul{gap:8px;margin:0;padding-left:18px;display:grid}.sourceBlock{border:1px solid var(--line);background:#ffffff61;padding:14px}.sourceBlock ul{padding-left:0;list-style:none}.sourceBlock a{color:var(--ink);text-underline-offset:3px;font-size:.9rem;font-weight:700;text-decoration-thickness:1px}.sourceSection{background:var(--paper);grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(24px,6vw,80px);padding:clamp(36px,7vw,88px);display:grid}.sourceSection ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.sourceSection li{border-top:1px solid var(--line);padding-top:12px;line-height:1.4}@media (max-width:1080px){.intro,.workspace,.sourceSection{grid-template-columns:1fr}.visualPanel{border-top:1px solid #ffffff29;border-left:0;gap:20px;min-height:0;padding:28px clamp(20px,7vw,96px) 34px}.flagFrame{width:min(430px,100%)}.raceStack{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.workspace{min-height:0}.workspace.resultsFocus{padding:20px}.rail{border-right:0;border-bottom:1px solid var(--line);max-height:none;position:static;overflow:visible}.resultsPane{border-left:0;border-top:1px solid var(--line);max-height:none;position:static;overflow:visible}.resultsFocus .resultsPane{border:1px solid var(--line)}.resultsFocus .resultList{grid-template-columns:1fr}.questionPane{min-height:0}nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:680px){.intro{min-height:0}.introText,.questionPane,.rail,.resultsPane,.sourceSection{width:100%;max-width:100vw;padding:20px}.visualPanel{padding:24px 20px 30px}.flagFrame{width:100%}.raceStack{gap:8px 14px}h1{font-size:2.75rem;line-height:.98}.lede{font-size:1rem}.statusRow{gap:8px;margin-top:22px}.statusRow span{padding:8px 10px;font-size:.78rem}.introActions{grid-template-columns:1fr 1fr;display:grid}.primaryLink,.secondaryLink,.resultJump{min-height:48px;padding:12px}nav{gap:8px;max-width:100vw;margin:18px -20px 0;padding:0 20px 4px;scroll-padding:20px;display:flex;overflow:auto hidden}.step{flex:none;justify-content:center;min-width:72px;min-height:44px;padding:8px 10px;font-size:0}.step span{margin:0}.ghostButton{width:100%;max-width:100%;margin-top:18px}.rail>div{display:none}.mobileMeter{gap:10px;margin:-2px 0 24px;display:grid}.mobileMeter div:first-child{color:var(--muted);justify-content:space-between;gap:12px;font-size:.86rem;display:flex}.mobileMeter strong{color:var(--ink)}.questionHeader h2,.sourceSection h2{font-size:2.2rem;line-height:1.04}.questionHeader,.options,.navRow{max-width:100%}.questionHeader p:last-child,.sourceSection p{font-size:.96rem;line-height:1.55}.options{gap:10px;margin-top:22px}.option{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:88px;padding:14px 12px}.optionState{white-space:normal;grid-column:2}.navRow{z-index:2;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;grid-template-columns:1fr 1fr;margin:22px -20px -20px;display:grid;position:sticky;bottom:0}.resultJump{border:1px solid var(--green);color:var(--green);order:-1;grid-column:1/-1;font-weight:800}.secondaryButton{min-height:48px}.resultsPane{padding-top:28px}.resultsFocus .resultsPane{padding:20px}.resultsTitleRow{display:grid}.matchChips{margin-bottom:16px}.resultTop strong,.leaderNames button{font-size:1.35rem}.barRow{grid-template-columns:1fr;gap:5px;font-size:.84rem}.barRow em{text-align:left}.matchSummary{font-size:.9rem}.candidateModalBackdrop{padding:max(10px, env(safe-area-inset-top)) 8px 0;align-items:start}.candidateModal{width:100%;max-height:calc(100svh - max(10px, env(safe-area-inset-top)));min-height:calc(100svh - max(10px, env(safe-area-inset-top)));padding:20px 18px calc(24px + env(safe-area-inset-bottom))}.detailHeader{z-index:1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;align-items:start;margin:-20px -18px 14px;padding:18px 18px 12px;position:sticky;top:-20px}.detailHeader h3{font-size:1.55rem}.sourceSection ul{gap:10px}}
