/* Public frame geometry and event-tour presentation. Overview shares the signed-in athlete styles. */
.public-demo{color:var(--text);background:#141516;border:1px solid #424446;box-shadow:none;border-radius:10px;overflow:hidden;scroll-margin-top:20px}
.public-demo [hidden]{display:none!important}.public-demo-loading{padding:65px 25px;min-height:500px;color:#aaa;font-size:15px}.public-demo-loading button{padding:10px;margin-top:20px;cursor:pointer}.public-demo-identity{display:flex;align-items:center;gap:12px;font-size:13px}.public-demo-identity>span,.public-demo-sample{color:#aaa;border:1px solid #ffffff20;border-radius:4px;font-size:10px;letter-spacing:.04em;padding:3px 7px}
.public-demo-viewport{max-height:760px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#4c4d4f #18191a;padding:26px;min-width:0}.public-demo-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.public-demo-title>div>span{color:#999;font-size:10px;letter-spacing:.1em}.public-demo .public-demo-title h2{font:600 30px/1.15 'Barlow Condensed',sans-serif;letter-spacing:0;text-transform:none;margin:5px 0}.public-demo-help,.public-demo-note{font:400 12px/1.6 'Barlow',sans-serif;color:#aaa;margin-bottom:20px}.public-demo-note{margin:20px 0 0}
.public-demo .rr-map-row{display:flex;gap:18px;margin-bottom:12px}.public-demo .rr-map{flex:1;min-width:0;height:320px;background:#18191a;border-radius:6px;overflow:hidden}.public-demo .rr-elevation-wrap{height:190px;margin-bottom:20px}.public-demo .intel-stats-col{min-width:115px}.public-demo .intel-stats{gap:5px}.public-demo .intel-stat-val{font-size:20px}.public-demo .intel-stat-lbl{font-size:11px}.public-demo .rr-seg-detail{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0;padding:10px;background:#222326;border-radius:5px;font-size:12px}.public-demo .rr-seg-active{background:#4a9eff16}.public-demo .rr-map .leaflet-container{font-family:'Barlow',sans-serif}
.public-demo .rr-accordion-toggle{min-height:40px}.public-demo .rr-accordion-body{overflow-x:auto}.public-demo .intel-climb-table{min-width:460px}.public-demo .intel-climb-table td,.public-demo .intel-climb-table th{font-size:12px;padding:8px}.public-demo .ath-pf-panel{background:#141516}.public-demo .ath-pf-radar{min-height:360px}.public-demo .ath-pf-controls{margin-bottom:18px}.public-demo .ath-pf-controls select{min-height:36px}.public-demo .ath-pf-chip{min-height:34px}.public-demo .ath-pf-heading h2{font-size:25px}.public-demo .ath-strengths-panel h2{font-size:22px}
.home-live-detail .ath-pf-heading h2{font:700 25px/1 'Barlow Condensed',sans-serif;letter-spacing:.02em;text-transform:uppercase;margin:5px 0}.home-route-detail tr[data-seg-start]{cursor:pointer}.home-route-detail .intel-climb-table td,.home-route-detail .intel-climb-table th{font-size:12px;padding:8px}.home-route-detail .rr-accordion-body{overflow-x:auto}.home-live-detail,.home-route-detail{--text-muted:#aaa;--border:#ffffff14;--surface-alt:#ffffff06}
.demo-standalone{max-width:1240px;margin:40px auto;padding:0 24px 40px}.demo-standalone .public-demo-viewport{max-height:none}.demo-standalone>p{color:#aaa;font-size:13px;margin-top:20px}
@media(max-width:760px){.public-demo-viewport{padding:18px;max-height:720px}.public-demo .rr-map-row{flex-direction:column}.public-demo .rr-map{flex:none;width:100%;height:250px}.public-demo .intel-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.public-demo .ath-pf-layout{grid-template-columns:1fr}.public-demo .ath-pf-radar{min-height:0}.public-demo .ath-pf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-live-detail .ath-pf-layout{grid-template-columns:1fr}.public-demo-title{align-items:flex-start}.public-demo .intel-climb-table{min-width:420px}.demo-standalone{padding:0 12px}.home-route-detail .intel-climb-table{min-width:420px}}
@media(max-width:480px){.public-demo-viewport{padding:15px 12px}.public-demo-title{flex-wrap:wrap}.public-demo .ath-pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-demo .intel-stat-val{font-size:18px}.public-demo .intel-stat-lbl{font-size:10px}.public-demo-identity{gap:7px}.public-demo .ath-pf-heading{flex-direction:column;gap:7px}.public-demo .ath-strengths-grid{grid-template-columns:1fr}}

/* A focused public tour: quieter chrome, fewer simultaneous details. */
.public-demo{border-color:#ffffff18;background:#111214;border-radius:12px;box-shadow:none}.public-demo-identity{color:#c9c9cd;font-size:12px}
.public-demo-viewport{padding:29px 30px;max-height:780px;scrollbar-width:thin}
.public-demo .public-demo-title h2{font:500 27px/1.2 'Barlow',sans-serif;letter-spacing:-.025em;margin:8px 0 0}.public-demo-title{margin-bottom:24px}.public-demo-help{margin-top:-11px;color:#9699a1}
.public-demo .public-demo-title>div>span{font-size:10px;letter-spacing:.11em;color:#8d919b}.public-demo-sample{font-size:10px;border-color:#ffffff0f;color:#92969f}
.public-course-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}.public-course-highlights>button{display:grid;gap:10px;text-align:left;background:#ffffff03;border:1px solid #ffffff10;border-radius:8px;padding:15px 17px;color:#cfd2da;cursor:pointer;font-family:'Barlow',sans-serif}.public-course-highlights>button:hover,.public-course-highlights>button[aria-pressed=true]{background:#ffffff07;border-color:#7f8fa66b}.public-course-highlights>button>span{font-size:11px;color:#a0a6b0}.public-course-highlights strong{font:500 20px/1.2 'Barlow',sans-serif}.public-course-highlights small{font-size:12px;font-weight:400;color:#a8adb6}.public-course-highlights i{float:right;font-style:normal;color:#dfe0e3}
.public-demo .rr-map{height:300px}.public-demo .intel-stats-col{width:104px}.public-demo .intel-stat{display:flex;align-items:baseline;gap:5px}.public-demo .intel-stat-val{font:500 19px/1.4 'Barlow',sans-serif}.public-demo .intel-stat-lbl{font:400 9px/1.4 'Barlow',sans-serif;color:#969ca6}.public-demo .rr-elevation-wrap{height:155px}.public-demo .rr-section{margin-top:12px}.public-demo .rr-section-title{font:500 11px/1.5 'Barlow',sans-serif;letter-spacing:.015em;text-transform:none}.public-demo .rr-accordion-toggle{min-height:43px}.public-demo .rr-section-body{font-size:13px}
.public-demo .public-street-pane{margin:16px 0;border:1px solid #ffffff13;border-radius:8px;overflow:hidden;background:#181a1e}.public-demo .public-street-pane iframe{width:100%;height:330px;display:block;border:0}.public-street-pane>a{display:block;padding:12px 16px;color:#c4c8d2;font-size:12px}.public-demo .ath-pf-radar svg{max-height:390px}.public-demo .ath-pf-grid{gap:8px}.public-demo .ath-pf-grid>div{padding:12px}.public-demo .ath-pf-grid strong{font-size:14px}.public-demo .ath-strengths-panel{margin-top:20px}
.home-live-detail .ath-pf-grid{display:none}.home-live-detail .ath-pf-layout{grid-template-columns:1fr}.home-live-detail .ath-pf-radar{background:radial-gradient(ellipse at center,#22283260,transparent 65%)}.home-live-detail .ath-pf-radar svg{max-height:440px}.home-live-detail .ath-pf-heading{margin-bottom:0}
@media(max-width:760px){.public-demo-viewport{padding:22px 18px}.public-demo .rr-map{height:245px}.public-demo .intel-stats-col{width:100%;min-width:0}.public-course-highlights{gap:7px}.public-course-highlights>button{padding:13px 10px}.public-course-highlights strong{font-size:17px}.public-demo .public-demo-title h2{font-size:24px}.public-demo .public-street-pane iframe{height:250px}}
@media(max-width:480px){.public-demo-identity>span:last-child{display:none}.public-demo-viewport{padding:21px 15px}.public-course-highlights{grid-template-columns:1fr}.public-course-highlights>button{grid-template-columns:1fr auto;gap:7px}.public-course-highlights>button>span:last-child{grid-column:1/-1}.public-demo .ath-pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* The public contract supplies peak-200m grade, not maximum grade. */
.public-demo .intel-climb-table th:nth-child(6),.public-demo .intel-climb-table td:nth-child(6),.home-route-detail .intel-climb-table th:nth-child(6),.home-route-detail .intel-climb-table td:nth-child(6){display:none}

/* Match the real athlete shell, constrained inside a stable product window. */
.public-demo{display:flex;flex-direction:column;background:var(--bg);overflow:hidden;isolation:isolate}
.public-demo>.page-header.ath-app-header{flex:none;position:relative;z-index:2;background:var(--bg);box-shadow:none}
.public-demo .ath-nav-link{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}
.public-demo .ath-nav-link.active{border-bottom-color:var(--accent)}
.public-demo .public-demo-viewport{flex:1;position:relative;z-index:1;width:100%;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--text-dim) var(--bg);padding:20px 24px 28px;margin:0 auto}
.home-product-stage .public-demo{width:min(1320px,100%);height:720px;margin-inline:auto}
.demo-standalone .public-demo{height:720px}
@media(max-width:760px){.home-product-stage .public-demo,.demo-standalone .public-demo{height:640px}.public-demo .public-demo-viewport{padding:18px 16px}.public-demo .ath-header-top{padding-inline:16px}.public-demo .ath-nav{padding-inline:0}}
.public-demo .public-event-static{cursor:default}.public-demo .public-event-static:hover{background:transparent}
.public-demo .ath-ea-when{min-width:130px}.public-demo .ath-ea-date{white-space:normal}
.public-demo #public-event-detail{padding-top:12px}
@media(max-width:760px){.public-demo .ath-ea-when{min-width:0;flex-wrap:wrap}.public-demo .ath-ea-date{font-size:.85rem;white-space:nowrap}}
.public-demo .ath-ea-header{grid-template-columns:130px minmax(0,1fr) auto}.public-demo .ath-ea-name{white-space:normal}
@media(max-width:760px){.public-demo .ath-ea-header{grid-template-columns:minmax(0,1fr) auto;gap:.4rem .75rem}}
/* Theme stays inside the product window; the marketing page keeps its own palette. */
.public-demo .theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:7px;cursor:pointer}
.public-demo .theme-toggle:hover{background:var(--surface-alt);color:var(--text)}
.public-demo :focus-visible{outline-color:var(--text)}
.public-demo .ath-pf-panel,.public-demo .public-street-pane{background:var(--surface-1)}
.public-demo .public-demo-identity,.public-demo .public-street-pane>a{color:var(--text-muted)}
.public-demo .rr-seg-detail{background:var(--surface-alt)}
.public-demo .public-demo-title>div>span,.public-demo .intel-stat-lbl{color:var(--text-muted)}
.public-demo .public-course-highlights>button{background:var(--surface-1);border-color:var(--border-subtle);color:var(--text)}
.public-demo .public-course-highlights>button:hover,.public-demo .public-course-highlights>button[aria-pressed=true]{background:var(--surface-alt);border-color:var(--text-dim)}
.public-demo .public-course-highlights>button>span,.public-demo .public-course-highlights small,.public-demo .public-course-highlights i{color:var(--text-muted)}
.public-demo{scrollbar-color:var(--text-dim) var(--bg)}

.public-demo .ath-app-header .theme-toggle{opacity:1;color:var(--text-muted)}
.public-demo[data-theme="light"] .semipro-map-tile{filter:grayscale(.68) saturate(.52) contrast(.92) brightness(1.06)}
.public-demo[data-theme="light"] .rr-map{background:#ecece8}

.public-community-caption{font-size:11px;color:var(--text-muted);margin:0 0 16px}.public-demo-reply{display:flex;gap:8px;flex-wrap:wrap;padding-top:16px}.public-demo-reply input{min-width:0;flex:1;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg);color:var(--text);font:13px 'Barlow',sans-serif}.public-demo-reply button{padding:9px 14px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--surface-alt);color:var(--text);cursor:pointer}.public-demo-reply small{width:100%;font-size:10px;color:var(--text-muted)}.public-demo .comm-comments-section{border-top:1px solid var(--border-subtle);margin-top:14px}.public-demo .comm-reaction-btn[aria-pressed=true]{color:var(--accent)}

.public-demo .sp-week-calendar-title{font-family:'Barlow',sans-serif;font-size:20px;font-weight:500;text-transform:none;letter-spacing:-.02em}
