@font-face{font-family:Inter;src:url("./assets/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url("./assets/manrope-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root{--font-body:Inter,sans-serif;--font-display:Manrope,sans-serif;--color-bg:#fff;--color-text:#111;--color-muted:#565656;--color-border:#d3d3d3;--color-soft:#f4f4f4;--color-inverse:#fff;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:clamp(1.6rem,1.15rem + 1.4vw,2.25rem);--text-2xl:clamp(2.25rem,1.4rem + 2.6vw,3.5rem);--text-score:clamp(4rem,3rem + 4vw,6.5rem);--ease:180ms cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-padding-top:var(--space-6)}
body{min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-size:var(--text-base);line-height:1.55}
button,input,textarea{font:inherit;color:inherit}button,a,input,textarea,summary{transition:background var(--ease),color var(--ease),border-color var(--ease),box-shadow var(--ease)}button{border:0;cursor:pointer;background:none}button:disabled{cursor:not-allowed;background:#ddd;color:#626262}h1,h2,h3{font-family:var(--font-display);line-height:1.15;text-wrap:balance}h1{font-size:var(--text-xl);font-weight:800;letter-spacing:-.035em;margin-bottom:var(--space-6)}h2{font-size:var(--text-lg);font-weight:800;margin-bottom:var(--space-4)}h3{font-size:var(--text-base);margin-bottom:var(--space-2)}p{max-width:68ch}a{color:inherit}fieldset{border:0;min-width:0}img{max-width:100%}:focus-visible{outline:2px solid currentColor;outline-offset:5px}h1:focus{outline:none}
.shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100dvh}
.rail{background:#111;color:#fff;padding:var(--space-10) var(--space-8);position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:var(--space-8)}
.brand{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);line-height:1.15;letter-spacing:-.04em}
.brand span{display:block;font:500 var(--text-xs)/1.5 var(--font-body);letter-spacing:.14em;margin-top:var(--space-3)}
.eyebrow{font-size:var(--text-xs);font-weight:650;letter-spacing:.11em}
:root{--text-motto:1.875rem}
.rail-copy{margin-top:var(--space-12)}.rail-copy .eyebrow{color:#bcbcbc;margin-bottom:var(--space-4)}.motto{font:750 var(--text-motto)/1.2 var(--font-display);letter-spacing:-.04em}
#journey{margin-top:auto}.phases{list-style:none}.phases li{display:flex;gap:var(--space-3);align-items:baseline;color:#bcbcbc;font-size:var(--text-sm);border-top:1px solid #3d3d3d;padding:var(--space-4) 0;line-height:1.4}.phases li.active{color:#fff;font-weight:700;border-color:#fff}.phase-number{font-variant-numeric:tabular-nums}.completed{margin-left:auto}.progress-label{display:flex;justify-content:space-between;font-size:var(--text-xs);margin:var(--space-6) 0 var(--space-2);color:#bcbcbc}progress{width:100%;height:3px;display:block;border:0;appearance:none;background:#454545}progress::-webkit-progress-bar{background:#454545}progress::-webkit-progress-value{background:#fff;transition:width 350ms ease}progress::-moz-progress-bar{background:#fff}.rail-foot{font-size:var(--text-xs);color:#bcbcbc}
.workspace{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-12);font-size:var(--text-sm);border-bottom:1px solid var(--color-border)}.version{font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-muted)}
main{width:100%;max-width:1000px;margin:0 auto;padding:var(--space-12) clamp(var(--space-6),5vw,var(--space-20));flex:1}
.intro{max-width:730px;padding:var(--space-8) 0}.intro h1{font-size:var(--text-2xl);margin:var(--space-6) 0}.intro-lead{font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-6)}.intro>p:not(.eyebrow):not(.privacy){max-width:54ch}.start-area{margin:var(--space-10) 0 var(--space-8);display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:52px;padding:var(--space-3) var(--space-6);border:1px solid #111;font-size:var(--text-sm);font-weight:650;border-radius:2px}
.primary{background:#111;color:#fff}.primary:hover:not(:disabled){background:#333}.primary:active:not(:disabled){transform:translateY(1px)}.secondary{background:#fff;color:#111}.secondary:hover{background:#ececec}.text-button{font-size:var(--text-sm);text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:var(--space-2) 0}.text-button:hover{text-decoration-thickness:2px}
.muted,.privacy,.scope-note{color:var(--color-muted);font-size:var(--text-sm)}.privacy{margin-top:var(--space-6);max-width:58ch}.intro-details{border-top:1px solid var(--color-border);padding-top:var(--space-2)}summary{cursor:pointer;min-height:48px;padding:var(--space-3) 0;font-size:var(--text-sm);font-weight:600}details p{margin:var(--space-3) 0}.intro-details p{font-size:var(--text-sm);color:var(--color-muted)}
.question-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.question-meta .eyebrow{color:var(--color-muted)}.question-count{font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.prompt{font-size:var(--text-base);margin-bottom:var(--space-6);line-height:1.6}.scope-note{margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-6)}.intro>.scope-note{margin-top:var(--space-5)}
.options{display:grid;gap:var(--space-3)}.option{position:relative;display:flex;align-items:center;gap:var(--space-4);border:1px solid var(--color-border);padding:var(--space-4) var(--space-5);min-height:68px;cursor:pointer;line-height:1.45;transition:background var(--ease),border-color var(--ease);font-size:var(--text-base)}.option:hover{background:var(--color-soft);border-color:#777}.option.selected{background:#111;color:#fff;border-color:#111}.option input{position:absolute;opacity:0;width:1px;height:1px}.option:has(input:focus-visible){outline:2px solid #111;outline-offset:4px}.letter{font-size:var(--text-xs);font-weight:600;border:1px solid #a0a0a0;min-width:28px;height:28px;display:grid;place-items:center;align-self:flex-start;margin-top:2px}.choice-mark{margin-left:auto;min-width:14px}.unknown{font-size:var(--text-sm);border-color:transparent;padding-top:var(--space-3);padding-bottom:var(--space-3);min-height:52px}.unknown .letter{border-style:dashed}.unknown.selected{background:var(--color-soft);color:#111;border-color:#999}
.question-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.answer-hint{font-size:var(--text-xs);text-align:right;max-width:none;margin-top:var(--space-3)}
.footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-12);font-size:var(--text-xs);color:var(--color-muted)}.footer .text-button{font-size:var(--text-xs)}
.results>h1{margin-top:var(--space-4)}.result-lede{margin-bottom:var(--space-8)}.notice{padding:var(--space-6);background:var(--color-soft);margin:var(--space-6) 0}.notice p{font-size:var(--text-sm)}.inline-actions{display:flex;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-3)}
.score-panel{border-top:2px solid #111;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) 0;margin-bottom:var(--space-10)}.score-panel .eyebrow{margin-bottom:var(--space-3)}.score-panel p{font-size:var(--text-sm)}.score-number{display:flex;flex-direction:column;flex-shrink:0;font-family:var(--font-display);font-size:var(--text-score);font-weight:800;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.score-out-of{font-size:var(--text-lg);font-weight:500;color:var(--color-muted);letter-spacing:0;margin-top:var(--space-3)}
.breakdown>.muted{font-size:var(--text-xs);margin-bottom:var(--space-5)}.block-row{padding:var(--space-4) 0}.block-label{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-3)}.block-label strong{font-weight:600;white-space:nowrap}.bar{height:4px;background:#e8e8e8}.bar span{height:100%;display:block;background:#111}
.commitment{padding:var(--space-8);background:var(--color-soft);margin:var(--space-10) 0}.commitment .eyebrow{margin-bottom:var(--space-3)}.commitment>p{font-size:var(--text-sm)}.commitment label{display:block;margin:var(--space-5) 0 var(--space-2);font-size:var(--text-sm);font-weight:600}.commitment textarea,.commitment input{width:100%;border:1px solid #aaa;border-radius:0;background:#fff;padding:var(--space-3);font-size:var(--text-base)}.commitment textarea{resize:vertical}.commitment .muted{font-size:var(--text-xs);margin-top:var(--space-3)}
.review{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.review-row{display:flex;gap:var(--space-5);align-items:flex-start;justify-content:space-between;padding:var(--space-5) 0;border-top:1px solid var(--color-border)}.review-row h3{font-size:var(--text-sm)}.review-row p{font-size:var(--text-sm);margin:0}.review-row .text-button{flex-shrink:0}.end-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-8)}
dialog{margin:auto;max-width:720px;width:calc(100% - 32px);max-height:90dvh;border:1px solid #aaa;padding:var(--space-8);color:#111;background:#fff;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.55)}dialog h2{font-size:var(--text-xl)}dialog h3{margin-top:var(--space-6)}dialog p,dialog li{font-size:var(--text-sm);margin-bottom:var(--space-4)}dialog ul{padding-left:var(--space-5)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.dialog-top p{margin:0}.actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-6);flex-wrap:wrap}#reset-dialog{max-width:520px}#reset-dialog .eyebrow{margin-bottom:var(--space-4)}.table-wrap{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm);text-align:left}th,td{padding:var(--space-2);border-bottom:1px solid var(--color-border)}caption{text-align:left;font-size:var(--text-xs);padding:var(--space-3) 0}
.skip{position:absolute;left:-1000px;top:8px;z-index:10;padding:var(--space-3);background:#fff}.skip:focus{left:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.nojs{padding:var(--space-8);background:#fff}.enter{animation:enter 280ms ease-out}@keyframes enter{from{opacity:.3}to{opacity:1}}
@media(min-width:1450px){.shell{grid-template-columns:360px minmax(0,1fr)}.rail{padding:var(--space-12)}main{padding-top:var(--space-16)}}
@media(max-height:750px) and (min-width:901px){.rail-copy{margin-top:0}.rail{gap:var(--space-6);overflow-y:auto}.rail-foot{display:none}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.rail{height:auto;position:relative;padding:var(--space-5) var(--space-6);display:grid;grid-template-columns:1fr auto;gap:var(--space-4)}.brand{font-size:var(--text-base)}.brand br{display:none}.brand span{font-size:var(--text-xs);margin-top:var(--space-1)}.rail-copy,.rail-foot,.phases{display:none}#journey{min-width:150px;margin:auto 0}.progress-label{margin:0 0 var(--space-2);gap:var(--space-3)}.progress-label span:first-child{max-width:130px}.progress-label span:last-child{display:none}.topbar{padding:var(--space-4) var(--space-6)}main{padding:var(--space-8) var(--space-6);max-width:800px}.footer{padding:var(--space-4) var(--space-6)}.intro{padding:var(--space-5) 0}.intro h1 br{display:contents}.intro h1 br::after{content:" "}}
@media(max-width:480px){.rail{padding:var(--space-4) var(--space-5);grid-template-columns:1fr 115px}.brand{font-size:var(--text-sm);letter-spacing:-.03em}#journey{min-width:0}.brand span{font-size:var(--text-xs);letter-spacing:.04em}.progress-label{font-size:var(--text-xs)}.topbar{padding:var(--space-3) var(--space-5)}main{padding:var(--space-8) var(--space-5)}.intro h1{font-size:var(--text-2xl)}.intro .eyebrow{max-width:28ch}.intro-lead{font-size:var(--text-base)}.start-area{margin:var(--space-8) 0;gap:var(--space-4)}.question-meta{align-items:flex-start}.question-meta .eyebrow{max-width:24ch}.question-count{font-size:var(--text-xs)}.option{gap:var(--space-3);padding:var(--space-4) var(--space-3)}.choice-mark{min-width:10px}.score-panel{display:block}.score-number{flex-direction:row;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-6)}.score-out-of{margin:0}.block-label{flex-wrap:wrap;gap:var(--space-2)}.commitment{padding:var(--space-5)}.end-actions{flex-wrap:wrap}.footer{padding:var(--space-4) var(--space-5);align-items:flex-start}.footer>span{max-width:17ch}dialog{padding:var(--space-5)}.review-row{gap:var(--space-3)}}
.letter{border-color:#777}
.footer{flex-wrap:wrap}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6)}.footer-links a{display:inline-flex;align-items:center}
.brand-logo{display:block;width:160px;height:auto;background:transparent;mix-blend-mode:screen}
@media(max-width:900px){.brand-logo{width:96px}}
@media(max-height:750px) and (min-width:901px){.brand-logo{width:120px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
