.hub-onboarding-overlay{overflow-y:auto;align-items:center;padding:20px 16px}.hub-onboarding-overlay .hub-onboarding-content{position:relative;max-width:580px;max-height:min(94vh,820px);margin:auto;flex-shrink:0}.hub-onboarding-close{position:absolute;top:8px;right:8px;z-index:2;background:transparent;border:none;color:#666;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.hub-onboarding-close:hover{color:#fff}.hub-onboarding-close .material-symbols-outlined{font-size:22px}.hub-onboarding-stage{flex:1 1 auto!important;min-height:320px;max-height:none;overflow:visible}.hub-onboarding-footer{flex-shrink:0;position:relative;z-index:2}.hub-onboarding-eyebrow{margin:0 0 6px;font-size:.65rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#6b7280}.hub-onboarding-overlay .hub-tour-illustration{flex:1 1 auto;min-height:0;max-height:none;overflow:visible;display:flex;align-items:flex-start;justify-content:center;width:100%}.hub-tour-slide--brain .hub-tour-illustration{min-height:260px}.hub-tour-slide--thresholds .hub-tour-illustration{min-height:120px}.hub-tour-slide--plan .hub-tour-illustration{min-height:168px}.hub-tour-slide--simulator .hub-tour-illustration{min-height:280px}.hub-tour-slide--body .hub-tour-illustration{min-height:168px}.hub-tour-slide--injury .hub-tour-illustration{min-height:220px}.hub-onboarding-brain-wrap{width:100%;display:flex;justify-content:center;padding:8px 0 4px}.hub-tour-brain-network{position:relative;width:100%;height:280px;display:flex;align-items:center;justify-content:center;transform:scale(.9);transform-origin:center center}.hub-tour-network-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;display:flex;align-items:center;justify-content:center;border-radius:50%}.hub-tour-network-core .material-symbols-outlined{color:var(--swim, #00d2ff);font-size:40px;opacity:.9}.hub-tour-brain-network .line{position:absolute;top:50%;left:50%;height:1px;width:72px;background:#00d2ff40;transform-origin:0 50%;z-index:5}.hub-tour-brain-network .l1{transform:translateY(-50%) rotate(-90deg) translate(36px)}.hub-tour-brain-network .l2{transform:translateY(-50%) rotate(-45deg) translate(36px)}.hub-tour-brain-network .l3{transform:translateY(-50%) rotate(0) translate(36px)}.hub-tour-brain-network .l4{transform:translateY(-50%) rotate(45deg) translate(36px)}.hub-tour-brain-network .l5{transform:translateY(-50%) rotate(90deg) translate(36px)}.hub-tour-brain-network .l6{transform:translateY(-50%) rotate(135deg) translate(36px)}.hub-tour-brain-network .l7{transform:translateY(-50%) rotate(180deg) translate(36px)}.hub-tour-brain-network .l8{transform:translateY(-50%) rotate(225deg) translate(36px)}.hub-tour-brain-network .node{position:absolute;top:50%;left:50%;width:max-content;z-index:10}.hub-tour-brain-network .n1{transform:translate(-50%,-50%) rotate(-90deg) translate(168px) rotate(90deg)}.hub-tour-brain-network .n2{transform:translate(-50%,-50%) rotate(-45deg) translate(168px) rotate(45deg)}.hub-tour-brain-network .n3{transform:translate(-50%,-50%) rotate(0) translate(168px) rotate(0)}.hub-tour-brain-network .n4{transform:translate(-50%,-50%) rotate(45deg) translate(168px) rotate(-45deg)}.hub-tour-brain-network .n5{transform:translate(-50%,-50%) rotate(90deg) translate(168px) rotate(-90deg)}.hub-tour-brain-network .n6{transform:translate(-50%,-50%) rotate(135deg) translate(168px) rotate(-135deg)}.hub-tour-brain-network .n7{transform:translate(-50%,-50%) rotate(180deg) translate(168px) rotate(-180deg)}.hub-tour-brain-network .n8{transform:translate(-50%,-50%) rotate(225deg) translate(168px) rotate(-225deg)}.hub-tour-brain-network .pill{display:inline-block;margin:0;padding:4px 8px;font-size:.55rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;font-family:JetBrains Mono,monospace;background:#161822f2;border:1px solid rgba(0,210,255,.15);color:#ffffffb3;white-space:nowrap}.hub-tour-showcase{width:100%;display:flex;flex-direction:column;gap:10px;pointer-events:none;user-select:none}.hub-tour-showcase--thresholds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hub-tour-split-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hub-tour-mini-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px 10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.hub-tour-mini-card--wide{width:100%}.hub-tour-mini-tag{font-size:.55rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#6b7280;font-family:JetBrains Mono,monospace}.hub-tour-metric{font-size:1.35rem;font-weight:900;font-family:JetBrains Mono,monospace;line-height:1}.hub-tour-unit{font-size:.55rem;color:#666;margin-left:2px;font-weight:800}.hub-tour-meta{font-size:.5rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#555;font-family:JetBrains Mono,monospace}.hub-tour-plan-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:8px}.hub-tour-plan-race{display:block;font-size:.85rem;font-weight:900;color:#fff;font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-.3px}.hub-tour-plan-sub{font-size:.55rem;color:#888;font-family:JetBrains Mono,monospace;font-weight:800;letter-spacing:1px}.hub-tour-countdown-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.hub-tour-countdown{font-size:1.5rem;font-weight:900;color:var(--bike, #00ffc3);font-family:JetBrains Mono,monospace;line-height:1}.hub-tour-countdown-unit{display:block;font-size:.45rem;color:#666;text-align:right;letter-spacing:1px}.hub-tour-countdown-secondary{font-size:.5rem;color:#555;font-family:JetBrains Mono,monospace;font-weight:700;letter-spacing:.5px}.hub-tour-week-line{font-size:.6rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#6b7280;font-family:JetBrains Mono,monospace}.hub-tour-plan-stats{display:flex;gap:16px;width:100%;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:.55rem;font-weight:800;color:#888;letter-spacing:.5px}.hub-tour-plan-stats em{display:block;font-style:normal;font-size:.5rem;color:#555;margin-bottom:2px}.hub-tour-dna-val{font-size:.95rem;font-weight:900;color:#fff;font-family:JetBrains Mono,monospace}.hub-tour-sim-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;text-align:center}.hub-tour-sim-grid strong{display:block;font-size:.85rem;color:#fff;font-family:JetBrains Mono,monospace;font-weight:900;margin-top:2px}.hub-tour-sim-label{font-size:.5rem;color:#666;font-weight:800;letter-spacing:.5px;font-family:JetBrains Mono,monospace}.hub-tour-sim-total{color:var(--bike, #00ffc3)!important}.hub-tour-course-name{font-size:.85rem;font-weight:900;color:#fff;font-family:JetBrains Mono,monospace;letter-spacing:.5px;width:100%}.hub-tour-course-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;text-align:center}.hub-tour-course-stats strong{display:block;font-size:.9rem;color:#fff;font-family:JetBrains Mono,monospace;font-weight:900;margin-top:2px}.hub-tour-course-stat-label{font-size:.5rem;color:#666;font-weight:800;letter-spacing:.5px;font-family:JetBrains Mono,monospace}.hub-tour-elev-profile{display:flex;align-items:flex-end;gap:2px;width:100%;height:36px;margin-top:2px;padding:0 2px}.hub-tour-elev-profile span{flex:1 1 0;min-width:0;border-radius:2px 2px 0 0;background:linear-gradient(to top,color-mix(in srgb,var(--bike, #00ffc3) 15%,transparent),color-mix(in srgb,var(--bike, #00ffc3) 55%,transparent))}.hub-tour-nut-row{display:flex;justify-content:space-between;width:100%;text-align:center;gap:6px}.hub-tour-nut-row strong{display:block;font-size:1rem;color:#fff;font-family:JetBrains Mono,monospace;font-weight:900}.hub-tour-nut-label{font-size:.5rem;color:#666;font-weight:800;letter-spacing:.5px;font-family:JetBrains Mono,monospace}.hub-tour-weight{font-size:1.75rem;font-weight:900;color:#fff;font-family:JetBrains Mono,monospace;line-height:1}.hub-tour-gear-name{font-size:.85rem;font-weight:900;color:#fff;font-family:JetBrains Mono,monospace;line-height:1.2}.hub-tour-pressure{display:flex;gap:16px;font-family:JetBrains Mono,monospace;font-size:.75rem;color:#888}.hub-tour-pressure strong{display:block;font-size:1.25rem;color:#fff;font-weight:900}.hub-tour-injury-cleared{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.hub-tour-injury-label{font-size:.75rem;font-weight:900;color:#10b981;letter-spacing:1px;font-family:JetBrains Mono,monospace}.hub-tour-showcase--injury{gap:8px}.hub-tour-injury-active{border-color:#f59e0b40}.hub-tour-injury-row{display:flex;align-items:center;gap:12px;width:100%}.hub-tour-injury-icon{font-size:28px;color:#f59e0b}.hub-tour-injury-name{display:block;font-size:.9rem;font-weight:900;color:#f59e0b;font-family:JetBrains Mono,monospace;letter-spacing:.5px}.hub-tour-volume-transfer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-bottom:4px}.hub-tour-vol-pill{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);font-family:JetBrains Mono,monospace}.hub-tour-vol-pill span{font-size:.5rem;font-weight:800;letter-spacing:.5px;color:#666}.hub-tour-vol-pill strong{font-size:.85rem;font-weight:900;color:#fff}.hub-tour-vol-pill--swim strong{color:var(--swim, #00d2ff)}.hub-tour-vol-pill--bike strong{color:var(--bike, #00ffc3)}.hub-tour-vol-pill--run strong{color:var(--run, #FF5900)}.hub-tour-vol-pill--off{opacity:.45}.hub-tour-rtp{border-color:#10b98133}.hub-tour-rtp-phase{font-size:.95rem;font-weight:900;color:#10b981;font-family:JetBrains Mono,monospace;letter-spacing:.5px}@media(max-width:640px){.hub-onboarding-overlay .hub-onboarding-content{max-height:none}.hub-onboarding-stage{min-height:200px;overflow:hidden}.hub-onboarding-overlay .hub-tour-illustration{overflow:auto;min-height:0!important;flex:1 1 auto}.hub-tour-slide--brain .hub-tour-illustration,.hub-tour-slide--thresholds .hub-tour-illustration,.hub-tour-slide--plan .hub-tour-illustration,.hub-tour-slide--simulator .hub-tour-illustration{min-height:0}.hub-tour-course-stats{grid-template-columns:repeat(3,1fr)}.hub-tour-slide--body .hub-tour-illustration,.hub-tour-slide--injury .hub-tour-illustration{min-height:0}.hub-tour-brain-network{transform:scale(.62);height:200px}.hub-tour-brain-network .pill{font-size:.48rem;padding:3px 6px}.hub-tour-showcase--thresholds,.hub-tour-split-row{grid-template-columns:1fr}.hub-tour-sim-grid{grid-template-columns:repeat(2,1fr)}.hub-tour-metric{font-size:1.1rem}.hub-tour-countdown{font-size:1.25rem}.hub-tour-plan-race{font-size:.75rem}.hub-tour-weight{font-size:1.4rem}.hub-tour-volume-transfer{grid-template-columns:1fr}}
