.roadmap{scroll-margin-top:24px}.roadmap-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid var(--line);border-radius:14px 14px 0 0;background:linear-gradient(115deg,var(--accent-bg),var(--card) 75%)}.roadmap-hero h2{font-size:29px;letter-spacing:-.045em;margin:10px 0}.roadmap-hero p{max-width:385px;font-size:12px;line-height:1.8;color:var(--muted)}.roadmap-progress{flex:none;width:160px}.roadmap-progress>strong{font:35px var(--mono);letter-spacing:-.06em}.roadmap-progress>strong>span{font-size:20px;color:var(--subtle)}.roadmap-progress>span{display:block;font-size:10px;color:var(--muted);margin:8px 0 15px}.roadmap-progress progress{display:block;width:100%;height:6px;border:0;border-radius:20px;overflow:hidden;accent-color:var(--accent);background:var(--line)}.roadmap-progress progress::-webkit-progress-bar{background:var(--line)}.roadmap-progress progress::-webkit-progress-value{background:var(--accent);border-radius:20px}.roadmap-rewards{display:grid;grid-template-columns:1fr 1fr 1.2fr;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;overflow:hidden;margin-bottom:27px}.roadmap-rewards>span{display:grid;grid-template-columns:24px 1fr;padding:18px 20px;font:11px var(--mono);color:var(--subtle);gap:5px 9px;background:var(--surface)}.roadmap-rewards>span+span{border-left:1px solid var(--line)}.roadmap-rewards strong{font:11px var(--body);color:var(--muted)}.roadmap-rewards small{grid-column:2;font:9px/1.6 var(--body)}.roadmap-rewards .unlocked{color:var(--good);background:var(--good-bg)}.roadmap-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.3fr);gap:26px;align-items:start}.roadmap-path{list-style:none;margin:0;padding:0;display:grid;gap:12px}.roadmap-step{position:relative}.roadmap-step:not(:last-child):after{content:'';height:13px;width:1px;background:var(--line);position:absolute;top:100%;left:38px}.roadmap-step button{position:relative;display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:22px 18px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text)}.roadmap-step button:disabled{cursor:default;opacity:1}.roadmap-step.selected button{border-color:var(--accent);background:var(--accent-bg)}.roadmap-node{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:50%;border:1px solid var(--line);background:var(--raise);font:12px var(--mono);color:var(--muted)}.selected .roadmap-node{background:var(--accent);color:var(--ink);border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-bg)}.approved .roadmap-node{background:var(--good-bg);color:var(--good);border-color:var(--good)}.roadmap-step-copy{display:grid;gap:6px;min-width:0}.roadmap-step-copy>strong{font-size:13px;font-weight:500;line-height:1.5}.roadmap-step-copy>span:last-child{font-size:10px;line-height:1.6;color:var(--subtle)}.roadmap-step-status{font-size:9px;line-height:1.5;color:var(--accent)}.approved .roadmap-step-status{color:var(--good)}.locked .roadmap-step-status,.locked strong{color:var(--subtle)}.roadmap-step-arrow{margin-left:auto;color:var(--subtle);font-size:16px}.roadmap-detail{padding:25px;border:1px solid var(--line);border-radius:13px;background:var(--card);min-width:0}.challenge-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.challenge-badge{padding:4px 7px;font-size:9px;border-radius:4px;background:var(--accent-bg);color:var(--accent)}.challenge-badge.approved{color:var(--good);background:var(--good-bg)}.challenge-badge.changes_requested{color:var(--danger);background:var(--danger-bg)}.roadmap-detail h3{font-size:23px;line-height:1.25;letter-spacing:-.035em;margin:19px 0 12px}.roadmap-detail h3:focus{outline:none}.challenge-brief{font-size:12px;line-height:1.8;color:var(--muted);white-space:pre-line}.challenge-checklist{border:0;padding:0;margin:24px 0;min-width:0}.challenge-checklist legend{font-size:11px;font-weight:500;margin-bottom:15px}.challenge-check{display:flex;align-items:flex-start;gap:11px;font-size:11px;line-height:1.7;margin:11px 0;color:var(--muted)}.challenge-check input{width:16px;height:16px;min-height:0;margin:2px 0 0;accent-color:var(--accent);flex:none}.challenge-fields{display:grid;gap:17px;border-top:1px solid var(--line);padding-top:22px}.challenge-fields label{display:grid;gap:8px;font-size:11px}.challenge-fields label>span{font-size:10px;line-height:1.7;color:var(--subtle)}.challenge-fields input,.challenge-fields textarea{width:100%;min-width:0;font-size:11px;padding:11px 12px;line-height:1.7}.challenge-help,.challenge-state{font-size:10px;line-height:1.8;color:var(--subtle);margin:20px 0 14px}.challenge-state{padding:13px;border-radius:7px;background:var(--accent-bg);color:var(--accent)}.challenge-state.success{color:var(--good);background:var(--good-bg)}.challenge-actions{display:flex;flex-wrap:wrap;gap:9px}.challenge-actions .button{font-size:11px;min-height:40px}.challenge-actions .primary{flex:1;justify-content:center;gap:14px}.challenge-draft-state{font-size:10px;color:var(--subtle);margin:12px 0 0}.challenge-draft-state:empty{display:none}.challenge-feedback{padding:15px;margin-top:20px;background:var(--accent-bg);border-radius:8px;font-size:11px}.challenge-feedback strong{font-weight:500}.challenge-feedback p{margin-top:7px;line-height:1.8;white-space:pre-wrap}.challenge-evidence{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;border-top:1px solid var(--line);padding-top:20px}.challenge-evidence a,.roadmap-project a{color:var(--accent)}.challenge-evidence p{width:100%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:var(--muted)}.roadmap-library{display:grid;grid-template-columns:1fr 1fr;gap:18px}.roadmap-library-group{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.roadmap-library-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid var(--line)}.roadmap-library-title h3{font-size:12px;font-weight:500}.roadmap-library-title>span{font-size:9px;color:var(--accent)}.roadmap-library-empty,.roadmap-wait{padding:22px;font-size:11px;line-height:1.8;color:var(--subtle)}.roadmap-project{padding:20px;overflow-wrap:anywhere}.roadmap-project+.roadmap-project{border-top:1px solid var(--line)}.roadmap-project h3{font-size:15px;margin:8px 0 12px}.roadmap-project p{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:12px}.roadmap-project>div{display:flex;flex-wrap:wrap;gap:18px;font-size:11px}.roadmap-lock-note{padding:19px;border:1px dashed var(--line);border-radius:8px;font-size:11px;color:var(--muted);line-height:1.8}.roadmap-wait{margin-top:20px;border:1px solid var(--line);border-radius:10px}
.challenge-actions .primary{color:var(--ink)}
@media(max-width:1150px){.roadmap-layout{grid-template-columns:1fr}.roadmap-path{grid-template-columns:1fr 1fr}.roadmap-step:not(:last-child):after{display:none}.roadmap-rewards>span{padding:17px 14px}.roadmap-step button{height:100%;padding:17px 14px;gap:12px}.roadmap-step-copy>strong{font-size:12px}.roadmap-detail{padding:26px}}
@media(max-width:650px){.roadmap-hero{padding:22px;align-items:flex-start;gap:20px;flex-direction:column}.roadmap-hero h2{font-size:27px}.roadmap-hero p{font-size:11px}.roadmap-progress{display:grid;grid-template-columns:80px 1fr;width:100%;gap:0 14px;align-items:center}.roadmap-progress>strong{grid-row:1/3;font-size:30px}.roadmap-progress>strong>span{font-size:16px}.roadmap-progress>span{font-size:9px;margin:0 0 8px}.roadmap-rewards{grid-template-columns:1fr}.roadmap-rewards>span{grid-template-columns:24px 1fr auto;padding:13px 17px;align-items:center}.roadmap-rewards small{grid-column:3;text-align:right;max-width:125px}.roadmap-rewards>span+span{border-left:0;border-top:1px solid var(--line)}.roadmap-path{grid-template-columns:1fr}.roadmap-step button{padding:18px}.roadmap-step-copy>strong{font-size:13px}.roadmap-step:not(:last-child):after{display:block}.roadmap-layout{gap:24px}.roadmap-detail{padding:21px 18px}.roadmap-detail h3{font-size:22px}.roadmap-library{grid-template-columns:1fr}.challenge-heading .eyebrow{font-size:9px}.challenge-fields input,.challenge-fields textarea{font-size:16px}.challenge-check{font-size:12px}}
