:root{--public-hero-wash:linear-gradient(135deg, #b5122b38, transparent 24%), linear-gradient(315deg, #b5122b1f, transparent 26%), linear-gradient(180deg, #111317fa, #090a0cfa)}.public-hero-panel{background-image:var(--public-hero-wash)}@media (max-width:720px){.public-hero-panel{background-image:none}.public-hero-copy{background-image:var(--public-hero-wash)}}.public-final-cta{background-image:linear-gradient(90deg,#b5122b38,#ffffff09),linear-gradient(#121418fa,#0d0e11fa)}html[data-app-surface=brand] .panel.loading-card{visibility:hidden}
.xp-progress-card-link{border-radius:var(--radius-card);height:100%;display:block}.xp-progress-card-link:hover .xp-progress-card,.xp-progress-card-link:focus-visible .xp-progress-card{border-color:var(--progress-gold-border);box-shadow:var(--shadow-standard);transform:translateY(-1px)}.xp-progress-card{border:1px solid var(--border-default);background:linear-gradient(145deg, var(--progress-gold-soft), transparent 44%), var(--bg-surface);min-height:100%;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;gap:14px;display:flex}.xp-progress-heading,.xp-progress-rank-line,.xp-page-rank-heading,.xp-page-rank-meta,.xp-page-header,.xp-page-section-heading,.xp-award-row,.xp-opportunity-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.xp-progress-open{color:var(--progress-gold);font-family:var(--font-mono);font-size:18px}.xp-progress-rank-line{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.08em;justify-content:flex-start;font-size:clamp(14px,1.5vw,17px)}.xp-progress-rank-line strong{color:var(--text-primary);font-weight:600}.xp-progress-total-ratio,.xp-page-ratio{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:-.02em;margin:0;font-size:clamp(20px,2.6vw,30px);font-weight:600}.xp-progress-track,.xp-page-progress-track,.xp-week-track{border-radius:var(--radius-pill);background:#ffffff14;width:100%;position:relative;overflow:hidden}.xp-progress-track{height:9px}.xp-progress-fill,.xp-page-progress-track>span,.xp-week-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--brand-red), var(--progress-gold));height:100%;display:block}.xp-progress-fill{width:var(--xp-progress-width);transition:width .52s cubic-bezier(.22,1,.36,1)}.xp-progress-next{margin-top:auto;padding-top:4px}.xp-progress-section-label{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--type-label-sm);letter-spacing:var(--tracking-label);margin:0 0 8px;font-weight:600}.xp-progress-next ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.xp-progress-next li{color:var(--text-secondary);font-size:var(--type-body-sm);grid-template-columns:auto 1fr;gap:10px;display:grid}.xp-progress-next li strong{min-width:44px;color:var(--progress-gold);font-family:var(--font-mono);font-weight:600}.xp-streak-panel{--streak-training-ink:#e8697d;--streak-app-ink:var(--progress-gold);--streak-training-wash:color-mix(in srgb, var(--brand-red) 9%, transparent);--streak-app-wash:color-mix(in srgb, var(--progress-gold) 8%, transparent);border:1px solid var(--xp-rule,#ffffff14);border-radius:var(--radius-stat);background:color-mix(in srgb, var(--text-primary) 2%, transparent);grid-template-rows:repeat(4,auto);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:14px;display:grid;overflow:hidden;container-type:inline-size}html[data-theme=light] .xp-streak-panel{--streak-training-ink:#a5142a;--streak-training-wash:color-mix(in srgb, var(--brand-red) 5%, transparent);--streak-app-wash:color-mix(in srgb, var(--progress-gold) 10%, transparent)}.xp-streak{grid-row:1/-1;align-content:start;gap:0;min-width:0;padding:11px 12px 12px;display:grid}@supports (grid-template-rows:subgrid){.xp-streak{grid-template-rows:subgrid}}.xp-streak+.xp-streak{border-left:1px solid var(--xp-rule,#ffffff14)}.xp-streak[data-streak=training]{background:linear-gradient(180deg, var(--streak-training-wash), transparent 72%)}.xp-streak[data-streak=app]{background:linear-gradient(180deg, var(--streak-app-wash), transparent 72%)}.xp-streak-label{min-width:0;color:var(--text-secondary);font-family:var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;margin:0;font-size:clamp(8.5px,3.05cqi,10px);font-weight:700;line-height:1.25;display:flex}.xp-streak-label-text{min-width:0}.xp-streak-icon{flex-shrink:0}.xp-streak[data-streak=training] .xp-streak-icon{color:var(--streak-training-ink)}.xp-streak[data-streak=app] .xp-streak-icon{color:var(--streak-app-ink)}.xp-streak-value{color:var(--text-primary);letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:clamp(1.75rem,12cqi,2.05rem);font-weight:700;line-height:1}.xp-streak-best{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:11.5px;line-height:1.25}.xp-streak-extras{min-width:0;margin-top:7px}.xp-streak-note{color:var(--text-muted);margin:0;font-size:11px;line-height:1.3}.xp-streak[data-streak=training] .xp-streak-note{color:color-mix(in srgb, var(--streak-training-ink) 78%, var(--text-secondary))}.xp-streak[data-streak=app] .xp-streak-note{color:color-mix(in srgb, var(--streak-app-ink) 66%, var(--text-secondary))}.xp-streak-track{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--text-primary) 12%, transparent);width:100%;height:3px;margin-top:6px;overflow:hidden}.xp-streak-track>span{width:var(--xp-streak-fill,0%);border-radius:inherit;height:100%;transition:width .52s cubic-bezier(.22,1,.36,1);display:block}.xp-streak[data-streak=training] .xp-streak-track>span{background:linear-gradient(90deg, var(--brand-red), var(--streak-training-ink))}.xp-streak[data-streak=app] .xp-streak-track>span{background:linear-gradient(90deg, color-mix(in srgb, var(--streak-app-ink) 62%, transparent), var(--streak-app-ink))}.xp-streak-panel--page{margin-top:16px}.xp-streak-panel--page .xp-streak{padding:14px 16px 15px}.xp-streak-panel--page .xp-streak-value{font-size:clamp(2rem,13cqi,2.4rem)}@container (max-width:292px){.xp-streak,.xp-streak-panel--page .xp-streak{padding:10px 6px 11px}.xp-streak-label{letter-spacing:.05em;gap:4px}.xp-streak-icon{width:12px;height:12px}.xp-streak-best{font-size:11px}}@media (prefers-reduced-motion:reduce){.xp-streak-track>span{transition:none}}.xp-progress-empty,.xp-page-empty,.xp-progress-error{color:var(--text-muted);font-size:var(--type-body-sm);margin:0}.xp-progress-error{color:var(--danger-ink)}.xp-next-skeleton{gap:10px;margin-top:auto;display:grid}.xp-page{gap:var(--space-4);width:min(100%, var(--content-width));padding-bottom:var(--space-5);margin:0 auto;display:grid}.xp-page-header{align-items:flex-end;padding-top:4px}.xp-page-header h1{max-width:780px;font-size:var(--type-title-lg);letter-spacing:-.04em;margin:6px 0 8px;line-height:1.02}.xp-page-header .muted{max-width:740px;margin:0}.xp-page-notice{border:1px solid var(--progress-gold-border);border-radius:var(--radius-support);background:var(--progress-gold-soft);color:var(--text-secondary);font-size:var(--type-body-sm);padding:12px 16px}.xp-page-hero,.xp-page-panel{border:1px solid var(--border-default);background:var(--bg-panel);box-shadow:var(--shadow-support)}.xp-page-hero{border-radius:var(--radius-panel);background:radial-gradient(circle at 92% 8%, #d6af6a29, transparent 30%), radial-gradient(circle at 4% 100%, #b5122b29, transparent 34%), var(--bg-panel);padding:clamp(24px,4vw,44px);position:relative;overflow:hidden}.xp-page-rank-heading{align-items:flex-start}.xp-page-rank-heading h2{font-family:var(--font-mono);letter-spacing:.03em;margin:8px 0 0;font-size:clamp(22px,3.5vw,40px);font-weight:600}.xp-page-total{color:var(--progress-gold);font-family:var(--font-mono);font-size:clamp(16px,2vw,22px);font-weight:600}.xp-page-ratio{margin-top:clamp(28px,5vw,52px);font-size:clamp(30px,5vw,56px)}.xp-page-progress-track{height:12px;margin-top:20px}.xp-page-progress-track>span,.xp-week-track>span{transition:width .52s cubic-bezier(.22,1,.36,1)}.xp-page-rank-meta{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--type-body-sm);margin-top:12px}.xp-page-panel{border-radius:var(--radius-card);padding:clamp(20px,3vw,30px)}.xp-page-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.xp-page-section-heading{align-items:flex-start;margin-bottom:20px}.xp-page-section-heading h2,.xp-explanation h2{font-size:var(--type-title-md);margin:5px 0 0;line-height:1.15}.xp-page-section-heading>span{color:var(--text-muted);font-size:var(--type-body-sm)}.xp-opportunity-list,.xp-award-list{display:grid}.xp-opportunity-row{border-top:1px solid var(--border-subtle);min-height:58px;color:var(--text-secondary);justify-content:flex-start;padding:12px 0}.xp-opportunity-row:first-child,.xp-award-row:first-child{border-top:0}.xp-opportunity-row:hover{color:var(--text-primary)}.xp-opportunity-row>span:last-child{color:var(--text-muted);margin-left:auto}.xp-opportunity-amount,.xp-award-amount{color:var(--progress-gold);font-family:var(--font-mono);font-weight:600}.xp-week-count{color:var(--text-secondary);align-items:baseline;gap:10px;margin:8px 0 16px;display:flex}.xp-week-count strong{color:var(--text-primary);font-family:var(--font-mono);font-size:clamp(36px,5vw,54px);font-weight:600}.xp-week-track{height:9px;margin-bottom:14px}.xp-week-panel .muted{margin:0}.xp-milestone-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.xp-milestone-list li{grid-template-columns:20px 1fr;gap:12px;min-height:58px;display:grid;position:relative}.xp-milestone-list li:not(:last-child):before{content:"";background:var(--border-strong);width:1px;position:absolute;top:17px;bottom:-2px;left:6px}.xp-milestone-dot{z-index:1;border:3px solid var(--bg-panel);background:var(--progress-gold);width:13px;height:13px;box-shadow:0 0 0 1px var(--progress-gold-border);border-radius:50%;margin-top:4px;position:relative}.xp-milestone-list div,.xp-award-row>div{gap:3px;display:grid}.xp-milestone-list strong,.xp-award-row strong{color:var(--text-primary);font-weight:600}.xp-milestone-list span,.xp-award-row span{color:var(--text-muted);font-size:var(--type-body-sm)}.xp-award-row{border-top:1px solid var(--border-subtle);min-height:60px;padding:12px 0}.xp-award-row .xp-award-amount{color:var(--progress-gold);font-size:var(--type-body)}.xp-explanation{border-color:var(--progress-gold-border);background:linear-gradient(135deg, var(--progress-gold-soft), transparent 42%), var(--bg-panel)}.xp-explanation>p:not(.status-label){max-width:820px;color:var(--text-secondary)}.xp-explanation ul{color:var(--text-secondary);gap:8px;margin:18px 0 0;padding-left:20px;display:grid}.xp-level-up-feedback{z-index:1400;right:max(18px, var(--safe-area-right));bottom:calc(max(18px, var(--safe-area-bottom)) + 10px);border:1px solid var(--progress-gold-border);border-radius:var(--radius-panel);background:radial-gradient(circle at 100% 0%, #d6af6a33, transparent 38%), linear-gradient(145deg, #b5122b24, transparent 48%), var(--bg-panel);width:min(430px,100vw - 36px);padding:26px;animation:.42s cubic-bezier(.22,1,.36,1) xp-level-up-enter;position:fixed;overflow:hidden;box-shadow:0 24px 80px #00000080}.xp-level-up-kicker{color:var(--progress-gold);font-family:var(--font-mono);font-size:var(--type-label-sm);letter-spacing:var(--tracking-kicker);margin:0 0 8px;font-weight:600}.xp-level-up-feedback h2{max-width:330px;font-family:var(--font-mono);margin:0;font-size:clamp(21px,4vw,29px);line-height:1.15}.xp-level-up-feedback p:not(.xp-level-up-kicker){color:var(--text-secondary);margin:12px 0 20px}.xp-level-up-feedback a{color:var(--progress-gold);font-weight:600}.xp-level-up-dismiss{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:0;border-radius:50%;place-items:center;font-size:22px;display:grid;position:absolute;top:14px;right:14px}@keyframes xp-level-up-enter{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:760px){.xp-page{gap:var(--space-3)}.xp-page-header{flex-direction:column;align-items:flex-start}.xp-page-grid{grid-template-columns:1fr}.xp-page-rank-heading{flex-direction:column;align-items:flex-start}.xp-page-ratio{margin-top:30px}.xp-page-rank-meta{flex-direction:column;align-items:flex-start;gap:4px}.xp-page-section-heading{gap:8px}.xp-page-section-heading>span{text-align:right;max-width:120px}.xp-opportunity-row{grid-template-columns:86px 1fr auto;gap:10px;display:grid}.xp-level-up-feedback{right:12px;bottom:calc(var(--mobile-tab-bar-clearance) + 12px);width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){.xp-progress-fill,.xp-page-progress-track>span,.xp-week-track>span{transition:none}.xp-level-up-feedback{animation:none}}
.xp-progress-card-link{border-radius:var(--radius-card);height:100%;color:inherit;text-decoration:none;display:block}.xp-progress-card-link:hover .xp-progress-card,.xp-progress-card-link:focus-visible .xp-progress-card{border-color:color-mix(in srgb, var(--progress-gold) 32%, #ffffff14)}.xp-progress-card{border-color:color-mix(in srgb, var(--progress-gold) 20%, #ffffff0f);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--progress-gold) 9%, transparent), transparent 42%), linear-gradient(180deg, #121418fc, #0c0d10fc);min-height:0;box-shadow:var(--shadow-support), inset 0 1px 0 #ffffff09;transition:border-color var(--transition-fast);gap:0;padding:18px}.xp-progress-heading{align-items:flex-start;gap:12px}.xp-progress-track{height:9px;box-shadow:inset 0 0 0 1px var(--progress-gold-border);background:#ffffff14;margin-top:16px}.xp-progress-fill{width:var(--xp-progress-width,0%);background:linear-gradient(90deg, #9f7841 0%, var(--progress-gold) 48%, #e3c58d 100%);transition:width .68s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;box-shadow:0 0 12px #d6af6a42}.xp-progress-section-label{color:var(--text-muted);font-family:var(--font-mono), monospace;letter-spacing:.14em;margin:0 0 7px;font-size:10px;font-weight:700;line-height:1.2}.xp-progress-action-list{gap:6px;display:grid}.xp-progress-action-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.xp-progress-action-label{min-width:0}.xp-progress-action-row .xp-progress-award{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;font-weight:600}.xp-progress-error{border-top:1px solid var(--xp-rule);color:var(--danger-ink);margin:12px 0 0;padding-top:10px;font-size:12px}@media (prefers-reduced-motion:reduce){.xp-progress-fill{transition:none}}
.xp-page--refined{gap:var(--space-3);width:min(100%,920px)}.xp-athlete-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:6px 2px 4px;display:grid}.xp-athlete-avatar{border:1px solid var(--border-strong);background:var(--bg-surface-alt);width:52px;height:52px;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:.08em;border-radius:50%;place-items:center;font-size:16px;font-weight:600;display:grid;overflow:hidden}.xp-athlete-avatar img{object-fit:cover;width:100%;height:100%}.xp-athlete-identity{min-width:0}.xp-athlete-identity h1{overflow-wrap:anywhere;letter-spacing:-.035em;margin:3px 0 2px;font-size:clamp(22px,3vw,30px);line-height:1.08}.xp-athlete-style-line,.xp-athlete-record-line{color:var(--text-secondary);font-size:var(--type-body-sm);margin:0}.xp-athlete-style-line{font-family:var(--font-mono);font-size:var(--type-meta);letter-spacing:.035em;text-transform:uppercase}.xp-athlete-record-line{color:var(--text-muted);margin-top:2px}.xp-refresh-button{border:1px solid var(--border-default);background:var(--bg-panel);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.xp-refresh-button:hover:not(:disabled){border-color:var(--progress-gold-border);color:var(--text-primary)}.xp-refresh-button:disabled{cursor:wait;opacity:.55}.xp-athlete-skeleton-copy{gap:6px;min-width:0;display:grid}.xp-progress-card.xp-progress-card--page{border-radius:var(--radius-card);min-height:0;padding:20px}.xp-progress-card--page .xp-progress-action-link{color:var(--text-secondary);border-radius:8px;margin:-4px -6px;padding:4px 6px;text-decoration:none}.xp-progress-card--page .xp-progress-action-link:hover{color:var(--text-primary);background:#ffffff0a}.xp-progress-card--page .xp-progress-action-link:focus-visible{box-shadow:0 0 0 2px var(--border-active)}.xp-page-summary-grid{align-items:stretch}.xp-page--refined .xp-page-panel{padding:20px}.xp-page--refined .xp-page-section-heading{margin-bottom:14px}.xp-page--refined .xp-page-section-heading h2,.xp-page--refined .xp-explanation-disclosure summary strong{margin:4px 0 0;font-size:clamp(18px,2vw,20px);line-height:1.18}.xp-page--refined .xp-week-count{margin:4px 0 12px}.xp-page--refined .xp-week-count strong{font-size:clamp(32px,5vw,42px)}.xp-page--refined .xp-week-track{margin-bottom:12px}.xp-page--refined .xp-milestone-list li{min-height:52px}.xp-awards-panel .xp-page-section-heading>span{white-space:nowrap}.xp-page--refined .xp-award-row{min-height:54px;padding:10px 0}.xp-page--refined .xp-award-row strong{font-size:var(--type-body)}.xp-page--refined .xp-award-row .xp-award-amount{white-space:nowrap;font-size:var(--type-body-sm)}.xp-explanation-disclosure{overflow:hidden;padding:0!important}.xp-explanation-disclosure summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;list-style:none;display:flex}.xp-explanation-disclosure summary::-webkit-details-marker{display:none}.xp-explanation-disclosure summary>span:first-child{gap:3px;min-width:0;display:grid}.xp-explanation-disclosure summary strong{display:block}.xp-explanation-disclosure summary small{color:var(--text-secondary);font-size:var(--type-body-sm);font-weight:400}.xp-details-chevron{color:var(--progress-gold);font-family:var(--font-mono);transition:transform var(--transition-base);flex:none;font-size:22px}.xp-explanation-disclosure[open] .xp-details-chevron{transform:rotate(180deg)}.xp-explanation-content{border-top:1px solid var(--border-subtle);padding:0 20px 20px}.xp-explanation-content>p{margin:18px 0 0}.xp-explanation-content ul{margin-top:14px}@media (max-width:760px){.xp-page--refined{gap:14px}.xp-athlete-header{gap:11px;padding-top:2px}.xp-athlete-avatar{width:46px;height:46px;font-size:14px}.xp-athlete-identity h1{font-size:22px}.xp-athlete-style-line{font-size:11px;line-height:1.45}.xp-athlete-record-line{font-size:12px}.xp-progress-card.xp-progress-card--page,.xp-page--refined .xp-page-panel{padding:18px}.xp-page--refined .xp-page-section-heading{align-items:flex-start}.xp-awards-panel .xp-page-section-heading>span{text-align:right;max-width:none}.xp-explanation-disclosure summary{padding:16px 18px}.xp-explanation-content{padding:0 18px 18px}}@media (max-width:420px){.xp-athlete-header{grid-template-columns:42px minmax(0,1fr) 40px}.xp-athlete-avatar{width:42px;height:42px}.xp-refresh-button{width:40px;height:40px}.xp-progress-card.xp-progress-card--page,.xp-page--refined .xp-page-panel{padding:16px}.xp-explanation-disclosure summary{padding:15px 16px}.xp-explanation-content{padding:0 16px 16px}}@media (prefers-reduced-motion:reduce){.xp-details-chevron{transition:none}}
.cm-day .sp-week-body{padding-top:var(--space-2)}.cm-rest-reason{display:none}.cm-rest-label{font-size:0}.cm-rest-label:after{content:"Rest / Recovery";font-size:var(--type-label-xs);line-height:1.2}.cm-fight-week-sessionless .cm-rest-label:after{content:"No Planned Session"}