.number-picker{margin:0;padding:0;border:0;min-width:0}.number-picker legend{margin:0 0 14px;color:white;font:700 14px Manrope}.number-options{display:grid;grid-template-columns:repeat(var(--option-count),minmax(42px,1fr));gap:7px}.number-option{height:48px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:#292b26;color:white;font:700 16px Manrope;cursor:pointer;transition:transform .18s,background .18s,color .18s,border-color .18s}.number-option:hover{border-color:var(--violet);transform:translateY(-2px)}.number-option.active{background:var(--lime);border-color:var(--lime);color:var(--ink);box-shadow:0 5px 0 var(--violet);transform:translateY(-3px)}.scenario-controls{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:end}.effort-dashboard{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;margin-top:24px}.effort-card,.goal-path{border:1px solid var(--line);border-radius:28px;padding:30px;background:#faf8f2}.effort-card{display:grid;grid-template-columns:190px 1fr;gap:32px;align-items:center}.effort-ring{--school-share:70%;width:190px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--violet) var(--school-share),var(--lime) 0);animation:effort-pop .6s cubic-bezier(.2,.8,.2,1) both}.effort-ring:after{content:'';position:absolute;inset:21px;border-radius:50%;background:#faf8f2}.effort-ring div{position:relative;z-index:1;text-align:center}.effort-ring b{display:block;font:600 38px/1 Unbounded;letter-spacing:-.06em}.effort-ring small{margin-top:7px;font:700 10px/1.35 Manrope;color:#686b63}.effort-copy>small,.goal-path-head small{color:#704cb0}.effort-copy h3{font-size:23px;margin:10px 0}.effort-copy p{font-size:15px;color:#5b5d57}.effort-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:#ddd8cf;margin:22px 0 12px}.effort-bar i{display:block;background:var(--violet);transition:width .35s ease}.effort-bar span{display:block;background:var(--lime);transition:width .35s ease}.effort-legend{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:12px;font-weight:700}.effort-legend span{display:flex;align-items:center;gap:7px}.effort-legend i{width:9px;height:9px;border-radius:50%;background:var(--violet)}.effort-legend span:nth-child(2) i{background:var(--lime);box-shadow:inset 0 0 0 1px rgba(23,24,21,.18)}.goal-path{background:var(--ink);color:white}.goal-path-head{display:flex;align-items:flex-start;gap:15px}.goal-path-head>span{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:15px;background:var(--lime);font-size:22px}.goal-path-head h3{margin:8px 0 0;color:white}.path-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px;position:relative;gap:9px}.path-steps:before{content:'';position:absolute;top:18px;left:18px;right:18px;height:2px;background:rgba(255,255,255,.18)}.path-steps>div{position:relative}.path-steps b{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--violet);color:var(--ink);font:600 12px Unbounded}.path-steps>div:last-child b{background:var(--lime)}.path-steps small{margin-top:15px;color:var(--lime);font-size:9px}.path-steps p{font-size:12px;line-height:1.45;color:#c7c8c3}.support-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.support-split article{border:1px solid var(--line);border-radius:28px;padding:32px;background:#faf8f2}.support-split article:first-child{background:var(--violet);border-color:var(--violet)}.support-icon{font-size:32px}.support-split small{margin-top:24px;color:#654590}.support-split article:first-child small{color:white}.support-split h3{font-size:24px;margin:10px 0 20px}.support-split ul{margin:0;padding-left:20px}.support-split li{margin:10px 0;line-height:1.5}.support-split article:first-child li::marker{color:white}.support-split article:last-child li::marker{color:var(--coral)}.portrait{width:min(100%,320px)!important;aspect-ratio:1!important;border-radius:28px!important;object-position:center;justify-self:end;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.portrait:hover{transform:translateY(-7px) rotate(1deg);box-shadow:20px 22px 0 var(--violet)}.hero>div:first-child{animation:hero-copy-in .7s cubic-bezier(.2,.8,.2,1) both}.hero>.portrait,.hero>.identity-tile{animation:portrait-in .7s .1s cubic-bezier(.2,.8,.2,1) both}.reveal-section{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.reveal-section.is-visible{opacity:1;transform:none}
@keyframes effort-pop{from{transform:scale(.88);opacity:.35}to{transform:scale(1);opacity:1}}
@keyframes hero-copy-in{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}@keyframes portrait-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:1050px){.effort-dashboard{grid-template-columns:1fr}.effort-card{grid-template-columns:170px 1fr}.effort-ring{width:170px}.scenario-controls{grid-template-columns:1fr}}
@media(max-width:850px){body{font-size:16px}.report-nav{min-height:76px;padding:12px 18px;gap:12px}.report-nav img{width:72px}.report-nav div{display:flex;gap:7px}.report-nav button{min-height:42px;margin:0;padding:9px 12px;font-size:12px}.hero{padding:42px 20px 50px;gap:34px}.hero h1{font-size:clamp(40px,11.5vw,70px);line-height:.98}.hero-goal{font-size:18px;line-height:1.5}.portrait{width:min(100%,320px)!important;max-width:none!important;aspect-ratio:1;border-width:4px;justify-self:start}.identity-tile{width:min(100%,260px)!important}.report-section{padding:54px 20px}.report-section>h2{font-size:clamp(34px,9.6vw,52px);line-height:1.02;margin-bottom:25px}.report-section>.intro{font-size:16px;line-height:1.6}.coordinate-grid,.evidence-grid,.method,.school-grid,.support-split{grid-template-columns:1fr}.tile,.method,.adaptation,.tradeoff,.final-note{border-radius:20px;padding:22px}.coordinate-grid .tile,.scenes .tile,.checkpoints .tile,.school-grid .tile{min-height:0}.coordinate-grid .tile{min-height:0}.evidence-grid{gap:0}.evidence-grid article{padding:20px 0;border-left:0;border-top:1px solid var(--line)}.method{gap:18px}.adjustments{grid-template-columns:1fr}.scenario-controls{padding:22px 18px;border-radius:20px;gap:26px}.number-options{gap:5px}.number-option{height:44px;border-radius:11px;font-size:15px}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:20px;border-radius:18px}.metrics b{font-size:30px}.checkpoints{grid-template-columns:1fr 1fr}.support-split article{border-radius:20px}.final-note blockquote{font-size:22px}}
@media(max-width:620px){.effort-card{grid-template-columns:1fr}.effort-ring{margin:auto}.path-steps{grid-template-columns:1fr;gap:16px}.path-steps:before{top:18px;bottom:18px;left:18px;right:auto;width:2px;height:auto}.path-steps>div{padding-left:55px;min-height:42px}.path-steps b{position:absolute;left:0;top:0}.path-steps small{margin-top:0}.path-steps p{margin:4px 0}.effort-legend{display:grid}.report-nav button{font-size:0;width:44px;padding:0}.report-nav #copyButton:before{content:'↗';font-size:19px}.report-nav #pdfButton:before{content:'↓';font-size:19px}.report-nav button:after{font-size:0}}
@media(max-width:520px){.effort-card,.goal-path,.support-split article{padding:20px}.metrics,.checkpoints{grid-template-columns:1fr}.number-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.number-option{min-width:0;padding:0;font-size:14px}.hero .tag{font-size:11px}.report-section>.kicker{font-size:10px}.tile h3,.method h3,.tradeoff h3,.final-note h3{font-size:19px}blockquote{font-size:18px}.scenes{grid-template-columns:1fr}}
@media print{.effort-dashboard{grid-template-columns:1fr}.effort-card{grid-template-columns:42mm 1fr}.effort-ring{width:42mm}.support-split{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.effort-ring,.hero>div:first-child,.hero>.portrait,.hero>.identity-tile{animation:none}.effort-bar i,.effort-bar span,.reveal-section{transition:none}.reveal-section{opacity:1;transform:none}}
@media print{.reveal-section{opacity:1!important;transform:none!important}.number-options{display:none}}
