.roadmap-page{--build: #60a5fa;--reading: #5fb3ac;--foundations: #a78bfa;--judgment: #d98b6f;--behavioral: #d9b45f;position:relative;z-index:1;padding-top:80px}.roadmap-page [hidden]{display:none!important}.roadmap-page .rm-wrap{max-width:920px;margin:0 auto;padding:var(--space-3xl) var(--space-lg) var(--space-4xl)}.rm-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 18px;display:flex;gap:10px;align-items:center}.rm-eyebrow:before{content:"";width:28px;height:1px;background:var(--color-border-hover)}.rm-title{font-size:clamp(34px,6vw,56px);line-height:1.02;margin:0 0 20px}.rm-title em{font-style:normal;color:var(--build)}.rm-thesis{font-size:clamp(16px,2.4vw,19px);color:var(--color-text-secondary);max-width:62ch;margin:0}.rm-dash{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin:44px 0 14px}.rm-stat{background:var(--color-bg-elevated);padding:18px 20px}.rm-n{font-size:24px;font-weight:700;letter-spacing:-.01em}.rm-n small{font-size:13px;color:var(--color-text-faint);font-weight:500}.rm-l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-top:6px}.rm-bar{height:4px;background:var(--color-bg-hover);border-radius:var(--radius-full);overflow:hidden;margin-top:12px}.rm-bar>i{display:block;height:100%;width:0;border-radius:var(--radius-full);transition:width var(--transition-slow)}.f-build{background:var(--build)}.f-reading{background:var(--reading)}.f-foundations{background:var(--foundations)}.rm-controls{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin:26px 0 8px}.rm-legend{display:flex;flex-wrap:wrap;gap:10px 22px;font-family:var(--font-mono);font-size:11.5px;color:var(--color-text-secondary)}.rm-legend span{display:inline-flex;align-items:center;gap:8px}.rm-legend b{color:var(--color-text-primary);font-weight:500}.rm-dot{width:9px;height:9px;border-radius:var(--radius-full);flex:none;display:inline-block}.d-build{background:var(--build)}.d-reading{background:var(--reading)}.d-foundations{background:var(--foundations)}.d-judgment{background:var(--judgment)}.d-behavioral,.f-behavioral{background:var(--behavioral)}.rm-edit-wrap{display:flex;align-items:center;gap:12px}.rm-save-state{font-family:var(--font-mono);font-size:11px;color:var(--color-text-faint)}.rm-edit-btn{font-family:var(--font-mono);font-size:12px;color:var(--color-accent);background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px 16px;cursor:pointer;transition:all var(--transition-base)}.rm-edit-btn:hover{border-color:var(--color-accent);background:var(--color-accent-bg)}.rm-message{font-size:13px;color:#f4a896;margin:12px 0 0}.rm-track{margin-top:var(--space-3xl)}.rm-track-h{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px}.rm-track-h .rm-dot{width:11px;height:11px}.rm-track-note{color:var(--color-text-secondary);font-size:14px;margin:0 0 14px;max-width:70ch}.rm-m,.rm-book{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);margin-top:12px;overflow:hidden}.rm-m>summary,.rm-book>summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:flex-start;gap:16px;outline:none}.rm-m>summary::-webkit-details-marker,.rm-book>summary::-webkit-details-marker{display:none}.rm-m>summary:focus-visible,.rm-book>summary:focus-visible{box-shadow:inset 0 0 0 2px var(--reading)}.rm-m-no{font-family:var(--font-mono);font-size:12px;color:var(--color-text-faint);padding-top:4px;min-width:28px;letter-spacing:.05em}.rm-m-mid{flex:1;min-width:0}.rm-m-title,.rm-book-title{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px;display:flex;align-items:center;gap:10px}.rm-m-goal{color:var(--color-text-secondary);font-size:14px;margin:0}.rm-m-goal:before{content:"Goal — ";color:var(--judgment);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.rm-book-author{color:var(--color-text-muted);font-size:13px;margin:0}.rm-badge{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--reading);border:1px solid color-mix(in srgb,var(--reading) 40%,transparent);border-radius:var(--radius-sm);padding:1px 6px}.rm-threads{display:flex;gap:6px;margin-top:12px}.rm-threads .rm-dot{width:7px;height:7px;opacity:.9}.rm-m-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-top:2px}.rm-pct{font-family:var(--font-mono);font-size:13px;color:var(--color-text-secondary);min-width:44px;text-align:right;white-space:nowrap}.rm-ring{font-family:var(--font-mono);color:var(--color-text-faint);font-size:18px;transition:transform var(--transition-base)}.rm-m[open]>summary .rm-ring,.rm-book[open]>summary .rm-ring{transform:rotate(45deg)}.rm-m-body{padding:4px 22px 22px;border-top:1px solid var(--color-border)}.rm-check{display:flex;gap:11px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--color-border)}.rm-check:first-child{border-top:none}.rm-track-sub+.rm-check{border-top:none}.rm-check input,.rm-mark input{appearance:none;width:17px;height:17px;border:1.5px solid var(--color-border-hover);border-radius:5px;flex:none;margin-top:2px;cursor:pointer;position:relative;transition:var(--transition-fast)}.rm-check input:disabled,.rm-mark input:disabled{cursor:default}.roadmap-page.rm-editing .rm-check input:hover,.roadmap-page.rm-editing .rm-mark input:hover{border-color:var(--color-text-secondary)}.rm-check input:checked,.rm-mark input:checked{background:var(--build);border-color:var(--build)}.rm-check input:checked:after,.rm-mark input:checked:after{content:"";position:absolute;left:5px;top:1.5px;width:4px;height:8px;border:solid var(--color-bg);border-width:0 2px 2px 0;transform:rotate(45deg)}.rm-check input:focus-visible,.rm-mark input:focus-visible{outline:2px solid var(--reading);outline-offset:2px}.rm-check label{cursor:default;font-size:14px;line-height:1.5}.roadmap-page.rm-editing .rm-check label{cursor:pointer}.rm-check input:checked+label .rm-check-label{color:var(--color-text-faint);text-decoration:line-through;text-decoration-color:var(--color-border-hover)}.rm-check-meta{font-family:var(--font-mono);font-size:11px;color:var(--color-text-faint);margin-left:8px}.rm-check-hint{display:inline-block;font-family:var(--font-mono);font-size:11px;color:var(--foundations);margin-left:8px}.rm-log{margin-top:16px;border:1px dashed color-mix(in srgb,var(--judgment) 45%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--judgment) 6%,transparent);overflow:hidden}.rm-log[open]{background:color-mix(in srgb,var(--judgment) 9%,transparent)}.rm-log-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:11px;padding:13px 15px}.rm-log-summary::-webkit-details-marker{display:none}.rm-log-prompt{flex:1;min-width:0;font-size:14px;color:var(--color-text-primary);font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-log[open] .rm-log-prompt{white-space:normal;font-style:italic;border-left:2px solid var(--judgment);padding-left:12px}.rm-log-status{flex:none;font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-full);padding:2px 9px;border:1px solid var(--color-border);color:var(--color-text-muted)}.rm-log-status.is-predicted{color:var(--judgment);border-color:color-mix(in srgb,var(--judgment) 35%,transparent);text-transform:none}.rm-log-status.is-confronted{color:var(--color-text-secondary);border-color:var(--color-border-hover);text-transform:none}.rm-log-status.is-right{color:var(--reading);border-color:color-mix(in srgb,var(--reading) 40%,transparent)}.rm-log-status.is-partly{color:#e0b45f;border-color:color-mix(in srgb,#e0b45f 40%,transparent)}.rm-log-status.is-wrong{color:#d98b8b;border-color:color-mix(in srgb,#d98b8b 40%,transparent)}.rm-log-status.is-none{color:var(--color-text-faint)}.rm-log-chev{flex:none;color:var(--color-text-muted);font-size:11px;transition:transform var(--transition-base)}@media(prefers-reduced-motion:reduce){.rm-log-chev{transition:none}}.rm-log[open] .rm-log-chev{transform:rotate(90deg)}.rm-log-summary:focus-visible{outline:2px solid var(--judgment);outline-offset:2px}.rm-log-body{padding:4px 15px 15px;border-top:1px dashed color-mix(in srgb,var(--judgment) 25%,transparent)}.rm-log-intro{margin:12px 0 0;font-size:13.5px;color:var(--color-text-secondary)}.rm-phase{margin-top:14px}.rm-phase-label{display:flex;align-items:center;gap:7px;margin-bottom:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.rm-phase-num{width:16px;height:16px;border-radius:var(--radius-full);flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--color-bg);background:var(--judgment)}.rm-phase-when{color:var(--color-text-muted);text-transform:none;letter-spacing:0}.rm-prose{width:100%;box-sizing:border-box;resize:vertical;font:inherit;font-size:13px;line-height:1.55;color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:9px 11px}.rm-prose:disabled{color:var(--color-text-secondary);resize:none;opacity:1;-webkit-text-fill-color:var(--color-text-secondary)}.rm-prose:focus-visible{outline:none;border-color:color-mix(in srgb,var(--judgment) 50%,transparent)}.rm-phase-meta{margin-top:7px}.rm-field-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--color-text-muted)}.rm-conf{width:54px}.rm-conf,.rm-verdict{font:inherit;font-size:11px;color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px 7px}.rm-conf:disabled,.rm-verdict:disabled{color:var(--color-text-secondary);-webkit-text-fill-color:var(--color-text-secondary)}.rm-mark{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);cursor:default}.roadmap-page.rm-editing .rm-mark{cursor:pointer}.rm-foundations{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);padding:6px 22px 18px}.rm-track-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);margin:18px 0 4px}.rm-note{font-size:12.5px;color:var(--color-text-faint);text-align:center;margin-top:46px;font-family:var(--font-mono);line-height:1.7}@media(max-width:640px){.rm-dash{grid-template-columns:repeat(2,1fr)}.rm-stat-retention{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.roadmap-page *{transition:none!important;animation:none!important}}.rm-retention{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);padding:18px 22px}.rv-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 22px;justify-content:space-between}.rv-rotation{display:flex;align-items:baseline;gap:10px}.rv-rotation-n{font-size:28px;font-weight:700;letter-spacing:-.01em}.rv-rotation-l{font-size:13px;color:var(--color-text-secondary)}.rv-of{color:var(--color-text-faint)}.rv-breakdown{display:flex;flex-wrap:wrap;gap:8px}.rv-chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:3px 9px;border-radius:var(--radius-full);border:1px solid color-mix(in srgb,var(--chip) 40%,transparent);background:color-mix(in srgb,var(--chip) 8%,transparent);color:color-mix(in srgb,var(--chip) 80%,var(--color-text-primary));white-space:nowrap}.rv-chip b{font-weight:700;color:var(--color-text-primary)}.rv-chip-build{--chip: var(--build)}.rv-chip-reading{--chip: var(--reading)}.rv-chip-foundations{--chip: var(--foundations)}.rv-chip-judgment{--chip: var(--judgment)}.rv-chip-behavioral{--chip: var(--behavioral)}.rv-empty{font-size:13.5px;color:var(--color-text-secondary);margin:14px 0 0}.rv-runner{margin-top:18px;border-top:1px solid var(--color-border);padding-top:16px}.rv-runner-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.rv-runner-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--behavioral)}.rv-runner-meta{font-family:var(--font-mono);font-size:11.5px;color:var(--color-text-secondary)}.rv-runner-meta b{color:var(--color-text-primary);font-weight:600}.rv-save-state{margin-left:10px;color:var(--color-text-faint)}.rv-card{margin-top:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:18px 20px}.rv-card .rv-chip{--chip: var(--behavioral);display:inline-block;margin-bottom:12px}.rv-front{font-size:16px;font-weight:600;line-height:1.5;margin:0}.rv-back{font-size:14px;line-height:1.6;color:var(--color-text-secondary);margin:14px 0 0;padding-top:14px;border-top:1px dashed var(--color-border-hover);animation:rv-reveal var(--transition-base)}@keyframes rv-reveal{0%{opacity:0}to{opacity:1}}.rv-reveal{margin-top:14px;font-family:var(--font-mono);font-size:12px;color:var(--color-accent);background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:7px 18px;cursor:pointer;transition:all var(--transition-base)}.rv-reveal:hover{border-color:var(--color-accent);background:var(--color-accent-bg)}.rv-ratings{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.rv-rate{flex:1 1 auto;min-width:72px;font-family:var(--font-mono);font-size:12px;padding:9px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base)}.rv-rate:hover{border-color:var(--color-text-secondary)}.rv-rate:focus-visible{outline:2px solid var(--behavioral);outline-offset:2px}.rv-rate-again:hover{border-color:#f4a896;color:#f4a896}.rv-rate-easy:hover{border-color:var(--reading);color:var(--reading)}
