:root{color-scheme:dark;--bg:#101213;--ink:#f7f4ef;--muted:#b7bbba;--line:#ffffff24;--orange:#fb8a15;--panel:#1a1d1e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button,input,select,textarea,a{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}[hidden]{display:none!important}header{height:92px;padding:0 5vw;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;line-height:1.2;font-size:16px;font-weight:700;letter-spacing:.045em}.brand small{display:block;font-size:13px;font-weight:400;letter-spacing:.02em;margin-top:6px}.brand-logo{width:38px;height:45px;background:url('assets/logo-white.png') center top/49px auto no-repeat}.edition{font-size:12px;letter-spacing:.18em;color:var(--muted)}.edition b{font-size:13px;border:1px solid var(--line);border-radius:50%;padding:8px;margin-left:15px;font-weight:400}.demo-banner{background:#281f15;color:#e7c7a7;font-size:13px;text-align:center;padding:9px 16px}.shell{max-width:1400px;margin:auto;padding:58px 50px 80px;display:grid;grid-template-columns:310px minmax(0,1fr);gap:85px}.sidebar{align-self:start}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;color:var(--orange);margin:0 0 22px}h1{font-size:44px;line-height:1.12;letter-spacing:-.05em;font-weight:600;margin:0 0 22px}em{font-style:normal;color:var(--orange)}.side-intro{font-size:16px;color:var(--muted)}.orbit{width:154px;height:154px;margin:28px 20px;position:relative;display:grid;place-items:center;border:1px solid #fb8a1540;border-radius:50%;background:radial-gradient(circle,#fb8a151b,transparent 72%)}.orbit-ring{position:absolute;inset:20px;border:1px dashed #ffffff25;border-radius:50%;animation:rotate 80s linear infinite}.orbit-cross{position:absolute;inset:37px;border-left:1px solid #ffffff20;border-right:1px solid #ffffff20;transform:rotate(45deg)}.orbit-needle{width:20px;height:92px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(var(--orange) 50%,#554f45 50%);transform:rotate(var(--bearing,30deg));transition:transform .7s ease}.orbit>span{position:absolute;top:-13px;background:var(--bg);padding:0 8px;color:var(--orange);font-size:13px}#chapters{list-style:none;padding:0;display:grid;gap:11px;margin:25px 0}#chapters li{display:flex;align-items:center;gap:13px;color:#a8afac;font-size:14px}#chapters li span{width:27px;height:27px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px}#chapters li.active{color:var(--ink)}#chapters li.active span{background:var(--orange);color:#19130b;border-color:var(--orange)}#chapters li.done span{color:var(--orange);border-color:#fb8a1560}.side-note{font-size:14px;color:var(--muted);max-width:240px}.surface{min-width:0}.progress-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);gap:15px}.progress-label strong{font-size:22px;color:var(--orange);font-weight:550}.progress{height:4px;background:#ffffff12;border-radius:4px;overflow:hidden;margin:13px 0 34px}#fill{height:100%;display:block;background:var(--orange);transition:width .4s ease}.kicker{font-size:12px;color:var(--orange);letter-spacing:.15em;margin:0 0 12px}.question-title{font-size:clamp(27px,3vw,39px);line-height:1.2;letter-spacing:-.035em;font-weight:600;margin:0 0 13px}.help{font-size:16px;color:var(--muted);margin:0 0 25px;max-width:670px}.why{padding:17px 19px;border:1px solid #fb8a152b;border-left:3px solid var(--orange);border-radius:0 9px 9px 0;background:#fb8a1505;font-size:14px;color:#c9ccca;margin:24px 0 5px}.why strong{display:block;font-size:12px;color:var(--orange);letter-spacing:.05em;margin-bottom:4px}#question{outline:none;min-height:360px}#question.enter{animation:appear .25s ease}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{position:relative;cursor:pointer}.card input{position:absolute;right:17px;top:19px;width:18px;height:18px;accent-color:var(--orange)}.card-face{height:100%;min-height:105px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:20px 40px 20px 19px;border:1px solid #ffffff28;border-radius:12px;background:linear-gradient(130deg,#212526,#181b1c);transition:transform .2s,border .2s,background .2s}.card:hover .card-face{transform:translateY(-2px);border-color:#fb8a1570}.card input:checked+.card-face{border-color:var(--orange);background:linear-gradient(130deg,#38291a,#211e18)}.card input:focus-visible+.card-face{outline:3px solid var(--orange);outline-offset:3px}.card-title{font-size:16px;font-weight:550;line-height:1.4}.card-note{font-size:13px;color:var(--muted);margin-top:5px}.card-glyph{font-size:25px;line-height:1;margin:0 0 13px;color:var(--orange);font-weight:300;transition:transform .25s}.card input:checked+.card-face .card-glyph{transform:translateY(-3px)}.cards.compact .card-face{min-height:76px;padding-top:15px;padding-bottom:15px}.cards.wide{grid-template-columns:1fr}.cards.wide .card-face{min-height:66px;padding:16px 45px 16px 19px}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;min-width:0}.field-label{font-size:14px;font-weight:550}.field small{font-size:13px;color:var(--muted);font-weight:400}.field input,.field textarea,.field select{border:1px solid #ffffff30;color:var(--ink);background:#191c1d;border-radius:8px;min-height:53px;padding:13px 14px;width:100%}.field input:hover,.field select:hover{border-color:#ffffff60}.field textarea{min-height:100px;resize:vertical}.field input[aria-invalid=true]{border-color:#ffb28f}.field select{white-space:normal}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.person-box{border:1px solid var(--line);padding:20px;border-radius:12px;margin-bottom:16px}.person-box h3{font-size:17px;font-weight:550;margin:0 0 16px}.group-label{font-size:17px;font-weight:550;margin:23px 0 12px}.check{display:flex;align-items:flex-start;gap:11px;margin:18px 0;font-size:14px;cursor:pointer;padding:14px;border-radius:8px;background:#ffffff04;border:1px solid var(--line)}.check input{accent-color:var(--orange);width:18px;height:18px;margin-top:3px;flex-shrink:0}.navigation{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 0 0;margin-top:27px;border-top:1px solid var(--line)}.primary,.secondary{min-height:51px;padding:13px 22px;border-radius:9px;font-size:15px;font-weight:600}.primary{background:var(--orange);color:#19130c;border:1px solid var(--orange)}.primary:hover{background:#ffa032}.secondary{border:1px solid #ffffff35;background:transparent;color:var(--ink)}.secondary:hover{background:#ffffff09}#step-label{font-size:13px;color:var(--muted);text-align:center}#error{color:#ffb28f;font-size:14px;margin-top:16px}.session-info{font-size:13px;color:#a5aaa7;max-width:560px;margin-top:20px}.person-pill{display:inline-flex;gap:10px;align-items:center;border-radius:30px;padding:7px 13px;border:1px solid #fb8a1550;background:#fb8a150b;font-size:13px;margin-bottom:20px}.person-pill b{color:var(--orange)}.visual{position:relative;border:1px solid #ffffff20;border-radius:13px;padding:20px 22px;margin-bottom:23px;background:radial-gradient(ellipse at top right,#fb8a150c,transparent 70%),#16191a;overflow:hidden}.visual-label{font-size:12px;color:#c2c5c3;letter-spacing:.045em;margin:0 0 14px}.money-chart{display:flex;gap:38px;align-items:flex-end;height:110px;padding:0 10px}.money-col{display:flex;align-items:center;flex-direction:column;justify-content:flex-end;height:100%;flex:1}.money-col i{display:block;width:min(90px,100%);height:var(--bar);background:#a3aca9;border-radius:5px 5px 0 0;transform-origin:bottom;animation:grow .8s ease both}.money-col.loss i{background:var(--orange);animation-delay:.18s}.money-col b{font-size:17px;font-weight:550;line-height:1.4;margin-bottom:5px}.chart-captions{display:flex;gap:38px;text-align:center;font-size:12px;color:var(--muted);margin-top:8px;padding:0 10px}.chart-captions span{flex:1}.graph{width:100%;height:110px;display:block}.graph .line{fill:none;stroke:var(--orange);stroke-width:2.5;stroke-dasharray:700;stroke-dashoffset:700;animation:draw 2s ease forwards}.graph .baseline{stroke:#ffffff25;stroke-width:1;stroke-dasharray:4}.graph text{fill:#bac1bd;font-size:12px}.visual small{font-size:12px;display:block;color:var(--muted);margin-top:12px}.timeline{display:flex;justify-content:space-between;position:relative;padding:15px 0;font-size:13px}.timeline:before{content:'';position:absolute;top:26px;left:12px;right:12px;height:2px;background:linear-gradient(90deg,var(--orange),#fb8a1530);animation:grow-x 1s ease;transform-origin:left}.timeline span{position:relative;padding-top:25px}.timeline span:before{content:'';position:absolute;top:4px;left:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:var(--orange);border:3px solid #191c1d;box-shadow:0 0 0 1px var(--orange)}.budget-stack{display:flex;height:22px;gap:3px;border-radius:5px;overflow:hidden;margin:12px 0}.budget-stack span{transition:width .3s;min-width:0}.budget-meta{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted);flex-wrap:wrap}.budget-meta strong{font-size:19px;color:var(--ink);font-weight:550}.explain{margin:20px 0;border-top:1px solid var(--line);padding-top:13px}.explain summary{cursor:pointer;color:var(--orange);font-size:14px}.explain p{font-size:14px;color:var(--muted)}.knowledge-feedback{font-size:14px;padding:14px;border-left:2px solid var(--orange);margin-top:18px;background:#ffffff04}.report-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:15px;margin:22px 0}.score-card{padding:22px;border:1px solid #fb8a1545;border-radius:13px;background:linear-gradient(135deg,#2c2318,#171a1b)}.score-card h3{font-size:18px;margin:0 0 12px}.score-card .score{font-size:53px;color:var(--orange);font-weight:500;line-height:1.1;letter-spacing:-.04em}.score-card .score small{font-size:19px;color:var(--muted);letter-spacing:0}.score-card p{font-size:13px;color:var(--muted);margin-bottom:0}.score-bar{height:5px;border-radius:4px;background:#ffffff15;margin-top:19px}.score-bar i{display:block;height:100%;background:var(--orange);width:var(--score)}.flags{padding:18px 23px;border:1px solid #ffb67450;background:#fb8a1507;border-radius:11px;margin:22px 0;font-size:14px}.flags h3{font-size:17px;margin:0 0 10px}.flags ul{padding-left:20px;margin:0}.flags li{margin:8px 0}.report-section{border-bottom:1px solid var(--line);padding:22px 0}.report-section h3{font-size:20px;margin:0 0 15px}.report-section h4{font-size:16px;margin:20px 0 10px}.report-row{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;padding:8px 0;font-size:14px}.report-row dt{color:var(--muted)}.report-row dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.report-section dl{margin:0}.report-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.text-button{border:0;background:transparent;color:var(--orange);text-decoration:underline;font-size:14px;padding:7px 0}.score-table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0}.score-table td,.score-table th{text-align:left;padding:9px 7px;border-bottom:1px solid var(--line)}.score-table th{font-weight:550;color:var(--muted)}.report-note{font-size:13px;color:var(--muted)}.review-intro{border-left:3px solid var(--orange);padding-left:18px;color:var(--muted);font-size:14px}.finished-label{color:var(--orange);font-size:13px;letter-spacing:.07em}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:var(--orange);color:#111;z-index:9}.skip:focus{top:12px}footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes grow{from{transform:scaleY(.1)}to{transform:scaleY(1)}}@keyframes grow-x{from{transform:scaleX(.1)}to{transform:scaleX(1)}}@keyframes draw{to{stroke-dashoffset:0}}@media(min-width:1100px){.sidebar{position:sticky;top:25px}}@media(max-width:1050px){.shell{grid-template-columns:250px minmax(0,1fr);gap:35px;padding:40px 30px}h1{font-size:37px}}@media(max-width:760px){header{height:77px;padding:0 22px}.edition{font-size:10px}.edition b{display:none}.shell{display:block;padding:27px 22px 45px}.sidebar .eyebrow,.side-intro,.orbit,#chapters,.side-note{display:none}h1{font-size:25px;margin-bottom:24px}h1 br{display:none}.question-title{font-size:29px}.cards{gap:10px}.card-face{padding:17px 35px 17px 15px}.card-title{font-size:15px}.card input{right:12px;top:16px}.field-grid{gap:0 13px}.navigation{position:sticky;bottom:0;background:#101213f7;backdrop-filter:blur(12px);padding:14px 0;z-index:4}.primary,.secondary{padding:12px 17px}.demo-banner{font-size:12px}.progress{margin-bottom:28px}.report-row{grid-template-columns:1fr;gap:3px}footer{display:block}footer span{display:block}.report-title{align-items:flex-start}.visual{padding:16px}.person-box{padding:15px}.score-table{font-size:12px}.score-table td,.score-table th{padding:8px 3px}}@media(max-width:380px){.field-grid,.cards{grid-template-columns:1fr}.card-face{min-height:75px}#step-label{display:none}.edition{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.graph .line{stroke-dashoffset:0}}@media print{*{color:#111!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important}body{font:10pt/1.45 Arial,sans-serif}.sidebar,.progress,.progress-label,.navigation,.session-info,.demo-banner,.report-actions,.text-button,footer,.skip{display:none!important}header{height:auto;padding:0 0 12px;border-bottom:1px solid #aaa}.brand-logo{display:none}.shell{display:block;padding:15px 0;margin:0;max-width:none}.surface{width:100%}.question-title{font-size:23pt}.score-card .score{font-size:32pt}.score-grid{grid-template-columns:1fr 1fr}.score-card,.flags,.score-table tr,.report-row{break-inside:avoid;border-color:#bbb}.report-section{border-color:#bbb}.report-row{display:grid;grid-template-columns:1.2fr 1fr;font-size:10pt;gap:15px}.score-card{padding:12px}.score-card p,.report-note{font-size:9pt}.score-table{font-size:9pt}.score-bar{display:none}details{display:block}.question-kicker{display:none}@page{size:A4;margin:17mm}}

/* Animated audience illustrations: decorative; radio labels remain accessible. */
.audience-art{position:relative;display:block;width:100px;height:92px;margin:0 0 14px;isolation:isolate}
.art-halo{position:absolute;inset:5px 2px;border-radius:50%;background:radial-gradient(ellipse,#fb8a1524,transparent 70%);transition:opacity .25s;opacity:.65}
.card:hover .art-halo,.card input:checked+.card-face .art-halo{opacity:1}
.mini-person{position:absolute;width:44px;height:77px;bottom:4px;left:28px;transform-origin:50% 100%;animation:person-sway 4.6s ease-in-out infinite}
.mini-head{position:absolute;left:12px;top:0;width:23px;height:25px;border-radius:48% 48% 45% 45%;background:#f4ceb1;box-shadow:inset -4px -2px 0 #dba782}
.mini-head:after{content:"";position:absolute;left:4px;top:11px;width:3px;height:3px;border-radius:50%;background:#49352c;box-shadow:10px 0 #49352c}
.mini-body{position:absolute;left:4px;top:29px;width:39px;height:45px;border-radius:18px 18px 9px 9px;background:linear-gradient(120deg,#ffa535,#df6b0a);box-shadow:inset -7px 0 #00000012}
.mini-arm{position:absolute;right:-8px;top:31px;width:12px;height:32px;border-radius:10px;background:#fb8a15;transform-origin:50% 85%;transform:rotate(-24deg);animation:person-wave 5s ease-in-out infinite}
.mini-arm:before{content:"";position:absolute;top:-5px;left:1px;width:10px;height:13px;background:#f4ceb1;border-radius:7px}
.partner-one{left:8px;transform:rotate(-6deg);animation-delay:-1s}
.partner-two{left:48px;animation-delay:-2.6s}
.partner-two .mini-body,.partner-two .mini-arm{background:#d5deda}
.partner-two .mini-head{border-top:6px solid #6c4b36}
.partner-one .mini-arm{right:-5px;top:35px;animation:none;transform:rotate(-42deg);height:27px}
.partner-two .mini-arm{right:-2px;transform:rotate(-10deg);animation:none}
.mini-baby{position:absolute;inset:4px 20px 0;transform-origin:50% 75%;animation:baby-rock 4s ease-in-out infinite}
.baby-head{position:absolute;z-index:2;top:9px;left:14px;width:34px;height:33px;border-radius:50%;background:#f4ceb1;box-shadow:inset -4px -2px #dfaf8a}
.baby-head:before{content:"";position:absolute;top:13px;left:8px;width:3px;height:3px;border-radius:50%;background:#49352c;box-shadow:15px 0 #49352c}
.baby-head b{position:absolute;width:9px;height:5px;border-bottom:2px solid #915841;border-radius:50%;left:13px;top:19px}
.baby-curl{position:absolute;z-index:3;width:10px;height:10px;border:2px solid #895534;border-left-color:transparent;border-radius:50%;left:28px;top:5px}
.baby-wrap{position:absolute;top:37px;left:7px;width:48px;height:45px;border-radius:13px 13px 25px 25px;background:linear-gradient(145deg,#fff0db 47%,#e3c8a7 48%,#f0d9bb 54%);box-shadow:inset -4px -3px #00000010}
.baby-wrap:after{content:"";position:absolute;left:6px;top:7px;width:33px;border-top:3px solid #fb8a15;transform:rotate(32deg);border-radius:3px}
.thinking-dots{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:9px}
.thinking-dots i{height:11px;width:11px;border-radius:50%;background:var(--orange);animation:dot-think 2.1s ease-in-out infinite}
.thinking-dots i:nth-child(2){animation-delay:.18s}.thinking-dots i:nth-child(3){animation-delay:.36s}
@keyframes person-sway{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-3px)}}
@keyframes person-wave{0%,45%,100%{transform:rotate(-24deg)}12%,28%{transform:rotate(-65deg)}20%,36%{transform:rotate(-42deg)}}
@keyframes baby-rock{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg) translateY(-2px)}}
@keyframes dot-think{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-8px);opacity:1}}
@media(prefers-reduced-motion:reduce){.audience-art *{animation:none!important}}
