:root{--bg:#ffffff;--surface:#f8faf9;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--primary:#69b42e;--primary-dark:#4f8d23;--secondary:#e95130;--danger:#dc2626;--app-shell-gradient-default:radial-gradient(circle at 8% 6%,rgba(22,211,176,0.2),transparent 36%),radial-gradient(circle at 100% 0%,rgba(105,180,46,0.24),transparent 34%),linear-gradient(180deg,#04111a,#061723 44%,#05131d);--app-shell-gradient-home:var(--app-shell-gradient-default);--app-shell-gradient-trainflix:var(--app-shell-gradient-default);--app-shell-gradient-community:var(--app-shell-gradient-default);--app-shell-gradient-you:var(--app-shell-gradient-default);--app-shell-gradient-unified:var(--app-shell-gradient-default);--app-shell-gradient:var(--app-shell-gradient-default)}*{box-sizing:border-box}body,html{min-height:100dvh;width:100%;margin:0;padding:0;font-family:Avenir Next,Segoe UI,sans-serif;background:var(--app-shell-gradient);background-color:#04111a;color:var(--text);-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;overscroll-behavior:none}html:has(body .app-shell){background:var(--app-shell-gradient)}body:has(.app-shell){background:var(--app-shell-gradient);overscroll-behavior:none;overflow-x:clip}.app-shell:has(.home-brand-shell),body:has(.home-brand-shell),html:has(body .home-brand-shell){--app-shell-gradient:var(--app-shell-gradient-home)}.app-shell:has(.trainflix-shell),body:has(.trainflix-shell),html:has(body .trainflix-shell){--app-shell-gradient:var(--app-shell-gradient-trainflix)}.app-shell:has(.community-shell),body:has(.community-shell),html:has(body .community-shell){--app-shell-gradient:var(--app-shell-gradient-community)}.app-shell:has(.you-shell),body:has(.you-shell),html:has(body .you-shell){--app-shell-gradient:var(--app-shell-gradient-you)}.app-shell:has(.performance-shell),body:has(.performance-shell),html:has(body .performance-shell){--app-shell-gradient:var(--app-shell-gradient-you)}.app-shell:has(.app-unified-shell),body:has(.app-unified-shell),html:has(body .app-unified-shell){--app-shell-gradient:var(--app-shell-gradient-unified)}a{color:inherit;text-decoration:none}main{max-width:1080px;margin:0 auto;padding:24px 16px 40px}.app-main{max-width:none;margin:0;padding:0 0 calc(92px + env(safe-area-inset-bottom));background:var(--app-shell-gradient)}.app-main-content{position:relative}.app-tab-swipe-area{min-width:0;touch-action:pan-y;overscroll-behavior-x:contain}.app-route-back-btn{width:44px;height:44px;margin:0;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(2,6,23,.8);color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(15,23,42,.3);position:absolute;top:calc(env(safe-area-inset-top) + 8px);left:10px;z-index:30}.app-route-back-btn svg{width:20px;height:20px}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px 16px 18px;background:#ffffff}.auth-wrap-center{min-height:100dvh;justify-content:center;padding-top:max(24px,calc(env(safe-area-inset-top) + 12px));padding-bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))}.auth-wrap-center .auth-card{margin:0}.auth-wrap-strava{background:radial-gradient(circle at 10% 0,rgba(105,180,46,.14),transparent 34%),radial-gradient(circle at 92% 0,rgba(233,81,48,.14),transparent 34%),linear-gradient(180deg,#f7faf8,#edf2ef)}.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 28px rgba(17,24,39,.05);padding:20px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.auth-card{width:min(392px,100%);border:1px solid #e5e7eb;background:#ffffff;box-shadow:0 10px 28px rgba(15,23,42,.08);color:var(--text);margin:auto 0 16px;padding:18px}.auth-card-strava{position:relative;overflow:hidden;width:min(430px,100%);border-radius:18px;border-color:#d8e4dc;box-shadow:0 18px 36px rgba(15,23,42,.1);padding:24px 20px 18px}.auth-card-strava:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#69b42e,#e95130)}.title{margin:0 0 8px;font-size:28px;color:#0f172a}.subtitle{margin:0 0 18px;color:#4b5563;font-size:14px}.page-hero{position:relative;overflow:hidden;border-color:#dce8df}.page-hero:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary) 0,var(--secondary) 100%)}.page-hero-head{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}.page-hero-copy{min-width:0}.page-kicker{margin:0 0 6px;color:#3f7e1f;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-title{margin-bottom:4px;font-size:26px}.page-subtitle{margin-bottom:0;max-width:64ch}.page-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #d1d5db;font-size:12px;font-weight:700;padding:4px 10px;line-height:1}.status-pill.status-draft{color:#b45309;background:#fffbeb;border-color:#fcd34d}.status-pill.status-completed{color:#166534;background:#ecfdf3;border-color:#86efac}.status-pill.status-shared{color:#9a3412;background:#fff7ed;border-color:#fdba74}.empty-state{display:grid;grid-gap:12px;gap:12px}.empty-state p{margin:0}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-title{margin:0;font-size:18px;color:#0f172a}.form{display:grid;grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field-help{margin:0;font-size:12px;color:#64748b}.field-help-error{color:#b91c1c}label{font-size:14px;color:#334155}button,input,select,textarea{font:inherit;font-size:16px}input,select,textarea{border:1px solid #cfe7d8;background:rgba(255,255,255,.95);color:#111827;border-radius:10px;padding:10px 12px;min-height:44px}input::placeholder,textarea::placeholder{color:#9ca3af}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(22,163,74,.15)}input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.16)}button{border:1px solid transparent;border-radius:10px;padding:10px 14px;min-height:44px;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;touch-action:manipulation}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;border-radius:10px;padding:10px 14px;font-weight:700;line-height:1;background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{min-height:44px;border-radius:10px;padding:10px 14px;border:1px solid #d1d5db;background:#fff;color:#111827}.btn-orange,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1}.btn-orange{min-height:40px;border:1px solid rgba(255,184,137,.45);border-radius:999px;padding:0 18px;letter-spacing:.01em;background:linear-gradient(135deg,#e95130,#f97316);box-shadow:0 8px 18px rgba(233,81,48,.32);color:#fff}.btn-orange:hover:not(:disabled){border-color:rgba(255,190,150,.58);background:linear-gradient(135deg,#d84828,#ea640f);transform:translateY(-1px);box-shadow:0 10px 22px rgba(233,81,48,.4)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;padding:10px 14px;font-weight:700;line-height:1;background:#fff;border-color:#fecaca}.btn-danger,.error{color:var(--danger)}.error,.success{font-size:13px}.success{color:var(--primary-dark)}.app-shell{min-height:100dvh;overflow-x:hidden}.app-frame,.app-shell{width:100%;background:var(--app-shell-gradient)}.app-frame{max-width:560px;margin:0 auto;padding:0 0 34px}.app-main-content{background:var(--app-shell-gradient)}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.header-inner{max-width:560px;margin:0 auto;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand-link{display:inline-flex;align-items:center}.header-menu-logo{width:52px;height:52px;border-radius:18px;border:2px solid #e5e7eb;background:#6dbd31;object-fit:contain;padding:4px}.brand-logo-wrap{display:inline-flex;align-items:center;gap:10px}.brand-logo-text{font-weight:700;font-size:21px;color:var(--primary);letter-spacing:.2px}.brand-logo-mark{border-radius:10px}.menu-drawer-trigger{width:44px;min-height:44px;padding:0;border-radius:12px;border:1px solid #d9e1dc;background:rgba(255,255,255,.96);color:#111827;display:inline-flex;align-items:center;justify-content:center}.menu-drawer-trigger:focus-visible,.sidebar-sheet-close:focus-visible{outline:2px solid #69b42e;outline-offset:2px}.menu-drawer-icon{width:22px;height:22px}.sidebar-backdrop{position:fixed;inset:0;z-index:36;border:0;min-height:0;padding:0;border-radius:0;background:rgba(2,6,23,.42)}.sidebar-sheet{position:fixed;top:0;left:0;bottom:0;z-index:37;width:min(320px,86vw);padding:14px 12px 18px;background:linear-gradient(180deg,#161c1a,#0f1412);border-right:1px solid rgba(255,255,255,.12);box-shadow:0 18px 36px rgba(2,6,23,.38);animation:sidebar-in .2s ease}.sidebar-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sidebar-sheet-title{margin:0;color:#f8fafc;font-size:16px;font-weight:700}.sidebar-sheet-close{width:36px;min-height:36px;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#f8fafc;font-size:18px;line-height:1}.sidebar-sheet-panel{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}@keyframes sidebar-in{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.sidebar-panel{background:linear-gradient(180deg,#161c1a,#0f1412);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:10px;box-shadow:0 14px 30px rgba(2,6,23,.22)}.sidebar-nav{display:grid;grid-gap:6px;gap:6px;width:100%}.sidebar-item{display:grid;grid-template-columns:24px 1fr;align-items:center;grid-gap:10px;gap:10px;width:100%;min-height:50px;padding:10px 12px;border-radius:14px;border:1px solid transparent;color:rgba(248,250,252,.92);transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease}.sidebar-item:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);transform:translateY(-1px)}.sidebar-item-active{color:#fff;border-color:rgba(233,81,48,.82);background:linear-gradient(180deg,#f06a3f,#e95130)}.sidebar-icon{display:inline-flex;align-items:center;justify-content:center}.sidebar-icon,.sidebar-icon svg{width:24px;height:24px}.sidebar-label{font-size:14px;font-weight:700;line-height:1}.auth-brand{margin-bottom:8px}.auth-brand-strava{display:grid;justify-items:center;grid-gap:6px;gap:6px;margin-bottom:10px}.auth-brand-caption{margin:0;color:#374151;font-size:11px;font-weight:700;letter-spacing:.14em}.auth-brand-clean{margin-bottom:10px}.auth-strava-kicker{margin:0 auto 8px;color:#1f7a2f;text-transform:uppercase;font-size:11px;letter-spacing:.1em;font-weight:700;text-align:center;border-radius:999px;border:1px solid #d6e8db;background:linear-gradient(180deg,#f5fbf7,#edf7f0);padding:6px 12px;width:-moz-fit-content;width:fit-content}.auth-strava-title{margin-bottom:5px;text-align:center;font-size:32px;letter-spacing:-.02em;color:#0f172a}.auth-strava-subtitle{margin-bottom:14px;text-align:center;color:#5b6676}.onboarding-splash{border:1px solid #bde8ca;background:linear-gradient(180deg,#ecfdf3,#f8fffb);border-radius:14px;padding:14px 14px 10px}.auth-benefits,.onboarding-splash{margin-bottom:12px;display:grid;grid-gap:8px;gap:8px}.auth-benefits{border:1px solid #deece1;border-radius:12px;background:linear-gradient(180deg,#fbfffc,#f5fbf7);padding:10px 12px}.auth-benefit-item{display:flex;align-items:flex-start;gap:8px}.auth-benefit-item p{margin:0;color:#334155;font-size:12px}.auth-benefit-dot{width:7px;height:7px;margin-top:6px;border-radius:999px;background:#69b42e;flex:0 0 7px;box-shadow:0 0 0 4px rgba(105,180,46,.18)}.onboarding-kicker{margin:0;color:#166534;font-size:13px;font-weight:600}.signup-form{gap:12px}.signup-form-strava{gap:10px;padding:2px 0 0}.signup-form-strava .error,.signup-form-strava .success{margin:0;border-radius:10px;font-size:12px;line-height:1.35;padding:9px 11px}.signup-form-strava .error{color:#9f1239;border:1px solid #fbcfe8;background:#fff1f8}.signup-form-strava .success{color:#166534;border:1px solid #bbf7d0;background:#ecfdf3}.signup-wizard{display:grid;grid-gap:12px;gap:12px}.signup-wizard-loading{min-height:180px;place-items:center}.signup-progress{display:grid;grid-gap:7px;gap:7px}.signup-progress-label{margin:0;font-size:11px;color:#2f6d30;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.signup-progress-track{width:100%;height:6px;border-radius:999px;background:#e5f0e8;overflow:hidden}.signup-progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e95130,#69b42e);transition:width .2s ease}.signup-step-title{margin:0;font-size:31px;line-height:1.06;letter-spacing:-.02em;color:#0f172a;text-wrap:balance}.signup-step-subtitle{margin:0 0 4px;color:#516074;font-size:14px;line-height:1.35}.signup-step-subtitle strong{color:#1f2937}.signup-back-link{justify-self:start;min-height:28px;border:0;background:transparent;color:#2f6d30;font-size:12px;font-weight:700;padding:0;text-transform:uppercase;letter-spacing:.06em}.signup-back-link:hover{color:#e95130;transform:none}.signup-channel-badge{margin:0 0 4px;border:1px solid #d3e4d9;border-radius:999px;background:linear-gradient(180deg,#f5fbf7,#edf7f0);color:#2f6d30;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-align:center;padding:8px 10px}.signup-form-strava .field{gap:4px}.signup-form-strava label{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:#3e4e63;font-weight:700}.signup-form-strava input{border-color:#c7dcd0;border-radius:10px;min-height:46px;background:#ffffff}.signup-form-strava input:focus{border-color:#69b42e;box-shadow:0 0 0 3px rgba(105,180,46,.16)}.signup-form-strava input.is-invalid{border-color:#e11d48;box-shadow:0 0 0 3px rgba(225,29,72,.12)}.signup-code-input{text-align:center;letter-spacing:.4em;font-size:21px;font-weight:700;color:#0f172a}.signup-inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.signup-inline-actions .btn-secondary{min-height:42px;border-radius:10px;border-color:#d3e2d8;background:#f5faf7;color:#2f4f3c;font-size:12px;font-weight:700}.signup-inline-actions .btn-secondary:hover:not(:disabled){border-color:#b9d3c2;background:#ecf5f0}.signup-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signup-choice-grid,.signup-name-grid{display:grid;grid-gap:8px;gap:8px}.signup-choice-btn{width:100%;min-height:48px;border-radius:12px;border:1px solid #dde8e1;background:#f6faf8;color:#111827;font-size:15px;font-weight:700;justify-content:flex-start}.signup-choice-btn:hover:not(.is-selected){border-color:#cfe1d6;background:#eef6f1}.signup-choice-btn.is-selected{border-color:#69b42e;background:linear-gradient(135deg,#69b42e,#4f8d23);color:#ffffff;box-shadow:0 8px 16px rgba(79,141,35,.24)}.signup-motivation-grid{display:grid;grid-gap:8px;gap:8px}.signup-motivation-card{width:100%;border-radius:12px;border:1px solid #dde8e1;background:#f6faf8;display:grid;justify-items:start;grid-gap:4px;gap:4px;min-height:72px;padding:10px 12px}.signup-motivation-card:hover:not(.is-selected){border-color:#d2e2d8;background:#edf6f1}.signup-motivation-card strong{font-size:14px;color:#111827}.signup-motivation-card small{font-size:12px;color:#6b7280;text-align:left;line-height:1.35}.signup-motivation-card.is-selected{border-color:#e95130;background:radial-gradient(circle at 100% 0,rgba(233,81,48,.16),transparent 40%),#fff4ef;box-shadow:0 0 0 2px rgba(233,81,48,.12)}.signup-motivation-card.is-selected strong{color:#9a3412}.signup-motivation-card.is-selected small{color:#b45309}.password-input-wrap{position:relative;display:grid}.password-input-wrap input{padding-right:82px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);min-height:30px;border-radius:8px;border:1px solid #d3e2d8;background:#f6faf7;color:#2f4f3c;font-size:12px;font-weight:600;padding:0 10px}.password-toggle:hover{border-color:#b7d4c0;background:#edf7f0}.signup-form-strava .password-toggle{border-color:#cfe1d6;border-radius:8px;background:#f2f8f4;color:#2f4f3c}.signup-form-strava .password-toggle:hover{border-color:#b8d4c1;background:#e9f4ed}.password-checklist{margin:2px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px;list-style:none}.password-checklist li{color:#64748b;font-size:12px;display:inline-flex;align-items:center;gap:6px}.password-checklist li:before{content:"";width:8px;height:8px;border-radius:999px;border:1px solid #cbd5e1;background:#fff}.password-checklist li.is-valid{color:#166534}.password-checklist li.is-valid:before{border-color:#15803d;background:#22c55e}.signup-form-strava .password-checklist{gap:3px;margin-top:1px}.signup-form-strava .password-checklist li{font-size:11px}.signup-form-strava .btn-primary{width:100%;min-height:48px;border-radius:12px;border-color:rgba(255,184,137,.45);background:linear-gradient(135deg,#e95130,#f97316);box-shadow:0 8px 18px rgba(233,81,48,.3);text-transform:uppercase;letter-spacing:.06em;font-size:13px;margin-top:4px}.signup-form-strava .btn-primary:hover:not(:disabled){border-color:rgba(255,190,150,.58);background:linear-gradient(135deg,#d84828,#ea640f);transform:translateY(-1px);box-shadow:0 10px 22px rgba(233,81,48,.38)}.signup-terms{margin:1px 0 0;color:#6b7280;font-size:11px;line-height:1.4;text-align:center}.signup-login-cta{margin-top:1px;text-align:center;font-size:13px}.signup-login-cta .signup-inline-link,.signup-login-cta a{color:#2f6d30;font-weight:700;text-decoration:underline;text-underline-offset:3px}.signup-login-cta .signup-inline-link{border:0;background:transparent;cursor:pointer;padding:0;font:inherit}.signup-welcome-panel{border-radius:16px;border:1px solid rgba(105,180,46,.44);padding:16px;background:linear-gradient(180deg,rgba(7,18,28,.24),rgba(7,18,28,.72)),radial-gradient(circle at 10% 10%,rgba(105,180,46,.22),transparent 36%),radial-gradient(circle at 92% 0,rgba(233,81,48,.22),transparent 36%),url(/duplobg.png);background-size:cover;background-position:50%;color:#ffffff;display:grid;grid-gap:10px;gap:10px;min-height:260px;align-content:end}.signup-welcome-panel .error{margin:0;color:#fff1f2;border:1px solid rgba(254,205,211,.55);background:rgba(190,24,93,.3);border-radius:10px;font-size:12px;padding:9px 10px}.signup-welcome-kicker{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#86efac;font-weight:700}.signup-welcome-panel h2{margin:0;font-size:31px;line-height:1.08;letter-spacing:-.02em}.signup-welcome-panel p{margin:0;color:rgba(255,255,255,.92);font-size:14px}.signup-welcome-panel .btn-primary{width:100%;border-radius:12px;border-color:rgba(255,184,137,.45);background:linear-gradient(135deg,#e95130,#f97316);box-shadow:0 10px 20px rgba(233,81,48,.34);text-transform:uppercase;letter-spacing:.06em;min-height:48px}.signup-welcome-panel .btn-primary:hover:not(:disabled){border-color:rgba(255,190,150,.58);background:linear-gradient(135deg,#d84828,#ea640f)}.signup-welcome-panel .btn-primary:disabled{opacity:.72}.login-gps-banner{margin-bottom:12px;padding:8px 10px;border-radius:999px;border:1px solid #dce8df;background:linear-gradient(180deg,#ffffff,#f7fcf9);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 20px rgba(15,23,42,.06);display:flex;align-items:center;gap:8px}.login-gps-banner p{margin:0;color:#25313f;font-size:11px;line-height:1.2;font-weight:600;white-space:nowrap}.login-gps-dot{position:relative;flex:0 0 12px;width:12px;height:12px;border-radius:999px;background:#7fdc3f;box-shadow:0 0 0 3px rgba(127,220,63,.12),0 0 10px rgba(127,220,63,.48);animation:loginGpsDotBlink 1.2s ease-in-out infinite}.login-gps-dot:after{content:"";position:absolute;inset:-8px;border-radius:999px;border:1px solid rgba(127,220,63,.36);animation:loginGpsDotWave 1.2s ease-out infinite}@keyframes loginGpsDotBlink{0%,to{opacity:1;transform:scale(1)}45%{opacity:.34;transform:scale(.86)}}@keyframes loginGpsDotWave{0%{opacity:.62;transform:scale(.62)}to{opacity:0;transform:scale(1.15)}}.share-header-card{position:relative;overflow:hidden}.share-splash{border:1px solid #dcfce7;background:linear-gradient(180deg,#f0fdf4,#ffffff);border-radius:14px;padding:12px;margin-bottom:12px;display:inline-flex}.share-story-card{border-color:#d9e6de;background:radial-gradient(circle at 94% 6%,rgba(104,179,45,.14),transparent 36%),radial-gradient(circle at 6% 96%,rgba(59,130,246,.09),transparent 34%),#ffffff;display:grid;grid-gap:14px;gap:14px}.share-story-head{display:grid;grid-gap:4px;gap:4px}.share-story-head h3{margin:0;color:#0f172a;font-size:23px}.share-story-kicker{margin:0;color:#2f7f12;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.share-story-preview-shell{width:min(340px,100%);margin:0 auto;padding:10px;border-radius:34px;border:1px solid #dce7df;background:linear-gradient(180deg,#f8fcf9,#ffffff);box-shadow:0 14px 28px rgba(15,23,42,.09)}.share-story-preview{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:28px;border:1px solid #d2dfd5;background:#eef4ef}.nav{display:flex;gap:8px;align-items:center}.nav-desktop{display:none;flex-wrap:wrap}.nav a{color:#374151;font-size:13px;font-weight:600;padding:6px 8px;border-radius:8px;border:1px solid transparent}.nav a:hover{border-color:#e5e7eb;background:#fff}.muted{color:var(--muted);font-size:14px}.auth-card .muted,.auth-card .muted a{color:#4b5563}.auth-card .muted a{text-decoration:underline;text-underline-offset:3px}.auth-card .btn-primary{width:100%}.btn-login.is-loading,.btn-login:active{background:var(--secondary)}.auth-card .title{font-size:24px;margin-bottom:6px}.login-title{margin-top:8px}.auth-card .subtitle{font-size:13px;margin-bottom:14px}.auth-card .form{gap:10px}.auth-social-grid{display:grid;grid-gap:8px;gap:8px}.auth-social-button{width:100%;font-weight:600}.auth-divider{margin:2px 0 0;text-align:center;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.auth-card .field{gap:5px}.auth-card label{font-size:13px}.auth-footer{margin-top:auto;display:grid;justify-items:center;grid-gap:6px;gap:6px;padding-bottom:max(4px,env(safe-area-inset-bottom))}.auth-footer-label{margin:0;font-size:12px;color:#6b7280}.auth-footer-logo{width:132px;height:auto;object-fit:contain;opacity:.88}.auth-switch-text{color:var(--secondary)!important}.auth-switch-link{color:var(--primary)!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}.muted-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-compact{min-height:38px;padding:6px 10px;font-size:14px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;transition:border-color .2s ease,box-shadow .2s ease}.metric p{margin:0}.metric .label{font-size:12px;color:var(--muted);margin-bottom:6px}.metric .value{font-size:22px;font-weight:700}.home-clean-grid{gap:14px}.home-quick-actions{border-color:#dce6df;box-shadow:0 10px 24px rgba(15,23,42,.04)}.home-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.home-action{min-height:88px;border-radius:14px;padding:14px;display:grid;grid-gap:5px;gap:5px;align-content:center;border:1px solid #d5e4d9;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.home-action:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.06)}.home-action span{font-size:18px;font-weight:700;line-height:1.2}.home-action small{font-size:12px;color:#64748b}.home-action-primary{background:linear-gradient(135deg,#64b82b,#4f9a1f);border-color:#4f9a1f;color:#f8fff5}.home-action-primary small{color:rgba(248,255,245,.92)}.home-action-secondary{background:#ffffff;border-color:#d8e2db;color:#0f172a}.home-weekly-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-weekly-metrics .metric{border-radius:14px;border-color:#dce4df;background:#ffffff;box-shadow:0 4px 14px rgba(15,23,42,.03)}.home-evolution{display:grid;grid-gap:14px;gap:14px;border-color:#d7e0ff;background:radial-gradient(circle at 100% 0,rgba(80,103,215,.09),transparent 45%),linear-gradient(180deg,#ffffff,#f8faff);box-shadow:0 14px 28px rgba(30,41,59,.06)}.home-evolution-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.home-evolution-kicker{margin-bottom:4px;color:#3458be}.home-evolution-subtitle{margin:4px 0 0;font-size:13px;color:#3e4b65}.home-level-badge{border-radius:999px;border:1px solid #bcc9ff;background:linear-gradient(180deg,#eef2ff,#e5ebff);color:#273489;font-size:12px;font-weight:700;padding:7px 12px;line-height:1;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.home-progress-track{width:100%;height:11px;border-radius:999px;border:1px solid #c4d8c8;background:#edf6ef;overflow:hidden}.home-progress-fill{display:block;height:100%;background:linear-gradient(90deg,#4ba31a,#7bc93f);transition:width .25s ease;box-shadow:0 0 10px rgba(82,166,31,.22)}.home-progress-track-soft{border-color:#c2cff8;background:#ecf1ff}.home-progress-fill-soft{background:linear-gradient(90deg,#2f57c2,#6584de);box-shadow:0 0 10px rgba(47,87,194,.24)}.home-weekly-goal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#1f2937}.home-weekly-goal-row strong{font-weight:700}.home-weekly-goal-row span{color:#334155}.home-missions-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-missions-head strong{font-size:16px;color:#1e293b}.home-missions-head span{font-size:12px;font-weight:700;color:#334155;border:1px solid #d3dcff;background:#f1f5ff;border-radius:999px;padding:4px 9px}.home-missions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.home-mission{border:1px solid #d7dfeb;background:#ffffff;border-radius:12px;padding:12px;display:grid;grid-gap:8px;gap:8px;box-shadow:0 4px 12px rgba(15,23,42,.03)}.home-mission-done{border-color:#94e3b1;background:linear-gradient(180deg,#f8fffb,#edfdf3)}.home-mission-head{display:flex;justify-content:space-between;gap:8px}.home-mission-head p{margin:0;font-size:14px;font-weight:700;color:#1f2937}.home-mission-head span{margin:0;font-size:12px;color:#334155;font-weight:700;white-space:nowrap}.home-mission-meta{margin:0;font-size:13px;color:#475569}.home-mission-track{width:100%;height:7px;border-radius:999px;background:#e9eef8;overflow:hidden}.home-mission-fill{display:block;height:100%;background:linear-gradient(90deg,#6b85d9,#88a0e8);transition:width .25s ease}.home-mission-fill-done{background:linear-gradient(90deg,#3ea86d,#67c88f)}.home-last-session .activity-meta{margin:0 0 12px}.home-strava-shell{margin:0;padding:16px 14px calc(112px + env(safe-area-inset-bottom));min-height:100dvh;background:#06080b;color:#f8fafc}.home-strava-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.home-strava-title{margin:0;font-size:38px;line-height:1;letter-spacing:-.03em}.home-strava-date{margin:4px 0 0;color:rgba(248,250,252,.68);font-size:14px}.home-strava-avatar{width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:radial-gradient(circle at 32% 26%,rgba(59,130,246,.9),rgba(30,41,59,.9) 58%),#0f172a;justify-content:center;color:#fff;font-size:15px}.home-strava-avatar,.home-strava-streak{display:inline-flex;align-items:center;font-weight:700}.home-strava-streak{padding:6px 11px;border-radius:999px;border:1px solid rgba(134,239,172,.7);background:rgba(34,197,94,.18);color:#dcfce7;font-size:13px;margin-bottom:12px}.home-strava-card{border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(28,30,36,.95),rgba(19,21,27,.95));box-shadow:0 14px 24px rgba(0,0,0,.35)}.home-strava-activity-card{padding:14px;margin-bottom:12px}.home-strava-card-kicker{margin:0;color:rgba(248,250,252,.86);font-size:18px;font-weight:700}.home-strava-activity-content{margin-top:10px;display:flex;align-items:center;gap:12px}.home-activity-ring{--ring-progress:0;width:150px;height:150px;flex:0 0 auto;border-radius:50%;display:inline-grid;place-items:center;background:conic-gradient(#ff325f calc(var(--ring-progress) * 1%),rgba(255,255,255,.08) calc(var(--ring-progress) * 1%))}.home-activity-ring-core{width:96px;height:96px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#141821}.home-strava-activity-copy{display:grid;grid-gap:4px;gap:4px}.home-strava-activity-copy p{margin:0;font-size:22px;color:rgba(248,250,252,.74)}.home-strava-activity-copy strong{font-size:40px;line-height:.95;letter-spacing:-.02em;color:#ff325f}.home-strava-activity-copy small{color:rgba(248,250,252,.7);font-size:14px}.home-strava-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.home-strava-small-card{padding:12px}.home-strava-small-title{margin:0;font-size:20px;font-weight:700;color:#f8fafc}.home-strava-small-subtitle{margin:2px 0 0;color:rgba(248,250,252,.7);font-size:14px}.home-strava-small-value{display:block;margin-top:4px;font-size:46px;line-height:.95;letter-spacing:-.03em;color:#c7ff61}.home-strava-small-value-blue{color:#5ac4ff}.home-mini-chart{margin-top:10px;height:64px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;grid-gap:5px;gap:5px}.home-mini-bar{border-radius:999px;opacity:.95}.home-mini-bar-steps{background:linear-gradient(180deg,#ad93ff,#8267e8)}.home-mini-bar-distance{background:linear-gradient(180deg,#70d4ff,#3da3dc)}.home-strava-footnote{margin:8px 0 0;color:rgba(248,250,252,.74);font-size:14px}.home-strava-card-link{margin-top:10px;display:inline-flex;align-items:center;color:#f8fafc;font-size:13px;font-weight:700;text-decoration:none}.home-strava-banner{margin-top:12px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(130deg,rgba(84,47,17,.58),rgba(15,13,10,.74)),radial-gradient(circle at 18% 10%,rgba(255,196,125,.25),transparent 50%);box-shadow:0 14px 24px rgba(0,0,0,.35);padding:14px;color:#fff4e8}.home-strava-banner-kicker{margin:0 0 2px;color:rgba(255,226,196,.85);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.home-strava-banner strong{display:block;font-size:24px;line-height:1.05}.home-strava-banner p{margin:6px 0 0;color:rgba(255,240,225,.82)}.home-strava-gamification-card{margin-top:12px;padding:14px;display:grid;grid-gap:11px;gap:11px}.home-strava-gamification-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.home-strava-level-title{display:block;margin-top:4px;font-size:24px;line-height:1.02;letter-spacing:-.02em;color:#f8fafc}.home-strava-level-pill{border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#f8fafc;font-size:12px;font-weight:700;padding:7px 10px;white-space:nowrap}.home-strava-progress-track{--level-progress:0;width:100%;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);overflow:hidden}.home-strava-progress-fill{display:block;height:100%;width:calc(var(--level-progress) * 1%);background:linear-gradient(90deg,#22c55e,#86efac);box-shadow:0 0 10px rgba(34,197,94,.45)}.home-strava-goal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:rgba(248,250,252,.85);font-size:13px}.home-strava-goal-row strong{font-weight:700}.home-strava-progress-track-secondary{--weekly-xp-progress:0}.home-strava-progress-fill-secondary{width:calc(var(--weekly-xp-progress) * 1%);background:linear-gradient(90deg,#60a5fa,#93c5fd);box-shadow:0 0 10px rgba(96,165,250,.45)}.home-strava-missions-grid{display:grid;grid-gap:8px;gap:8px}.home-strava-mission{border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);padding:10px;display:grid;grid-gap:7px;gap:7px}.home-strava-mission-done{border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.12)}.home-strava-mission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.home-strava-mission-head p{margin:0;color:#f8fafc;font-size:13px;font-weight:700;line-height:1.2}.home-strava-mission-head span{font-size:12px;color:rgba(248,250,252,.84);font-weight:700;white-space:nowrap}.home-strava-mission-meta{margin:0;color:rgba(248,250,252,.74);font-size:12px}.home-strava-mission-track{width:100%;height:7px;border-radius:999px;background:rgba(248,250,252,.16);overflow:hidden}.home-strava-mission-fill{display:block;height:100%;background:linear-gradient(90deg,#fb7185,#fda4af)}.home-strava-bottom-space{height:4px}.home-brand-shell{position:relative;margin:0;padding:16px 14px calc(116px + env(safe-area-inset-bottom));min-height:100dvh;background:var(--app-shell-gradient);color:#eefaf5;overflow:hidden}.home-brand-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(105,180,46,.06),transparent 40%),linear-gradient(300deg,rgba(22,211,176,.06),transparent 35%);pointer-events:none}.home-brand-chips,.home-brand-footer-stats,.home-brand-header,.home-brand-level-card,.home-brand-section,.home-featured-card{position:relative;z-index:1}.home-brand-header{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px}.home-brand-top-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.home-brand-logo{margin:0;font-size:clamp(38px,8vw,48px);line-height:.95;letter-spacing:-.03em;background:linear-gradient(90deg,#27d8bd,#89ffe0 55%,#56f4d2);-webkit-background-clip:text;background-clip:text;color:transparent}.home-brand-logo-image-wrap{position:relative;width:clamp(96px,24.5vw,136px);aspect-ratio:646/168;overflow:visible;display:block}.home-brand-logo-image{object-fit:contain;object-position:left center;display:block}.home-brand-date{margin:0;color:rgba(224,241,235,.75);font-size:12px;text-align:left}.home-brand-profile{display:flex;align-items:center;justify-content:flex-start;gap:8px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(6,20,31,.74);padding:5px 10px 5px 5px;min-height:38px;-webkit-margin-end:0;margin-inline-end:0}.home-brand-profile-link{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.home-brand-profile-link:hover{transform:translateY(-1px);border-color:rgba(22,211,176,.5);box-shadow:0 10px 20px rgba(4,13,20,.32)}.home-brand-avatar{width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:linear-gradient(160deg,rgba(22,211,176,.88),rgba(7,101,85,.96));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700}.home-brand-name{display:block;color:#f8fafc;font-size:12px;line-height:1.1}.home-brand-sub{margin:3px 0 0;color:#fcb36a;font-size:10px;font-weight:700}.home-featured-card{border-radius:22px;border:1px solid rgba(255,255,255,.16);overflow:hidden;padding:13px;margin-bottom:14px;background:linear-gradient(120deg,rgba(8,18,30,.9),rgba(15,28,42,.88) 48%,rgba(13,26,20,.82)),repeating-linear-gradient(-12deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 2px,transparent 0,transparent 8px);box-shadow:0 16px 26px rgba(1,6,11,.4)}.home-featured-overlay{position:absolute;inset:0;background:radial-gradient(circle at 88% 18%,rgba(233,81,48,.28),transparent 30%),radial-gradient(circle at 15% 88%,rgba(105,180,46,.22),transparent 34%);pointer-events:none}.home-featured-kicker{margin:0;color:rgba(227,243,237,.82);font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.home-featured-title{margin:5px 0 0;color:#ffffff;font-size:clamp(23px,5.1vw,30px);line-height:1;letter-spacing:-.02em}.home-featured-level{margin:7px 0 0;color:rgba(220,241,233,.9);font-size:12px;font-weight:700}.home-featured-progress{--featured-progress:0;margin-top:8px;width:100%;height:8px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}.home-featured-progress span{display:block;height:100%;width:calc(var(--featured-progress) * 1%);background:linear-gradient(90deg,#69b42e,#22c55e);box-shadow:0 0 10px rgba(105,180,46,.45)}.home-featured-desc{margin:7px 0 0;color:rgba(236,248,244,.82);font-size:11px;line-height:1.35}.home-featured-actions{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.home-featured-cta{min-height:36px;border-radius:999px;background:#ffffff;color:#0f172a;padding:0 14px;display:inline-flex;align-items:center;font-size:12px;font-weight:800;letter-spacing:.03em}.home-featured-streak{border-radius:999px;border:1px solid rgba(252,167,94,.62);background:rgba(233,81,48,.18);color:#ffd8b7;font-size:12px;font-weight:700;padding:6px 10px}.home-brand-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:14px}.home-brand-chip{border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(4,14,23,.76);padding:9px 8px;min-height:76px}.home-brand-chip p{margin:0;color:rgba(226,242,235,.72);font-size:11px}.home-brand-chip strong{display:block;margin-top:3px;color:#f8fafc;font-size:18px;line-height:1.05;letter-spacing:-.01em}.home-brand-chip small{display:block;margin-top:2px;color:rgba(226,242,235,.76);font-size:11px}.home-brand-chip-highlight{border-color:rgba(105,180,46,.48);background:linear-gradient(165deg,rgba(22,53,33,.8),rgba(9,26,19,.84))}.home-brand-section{margin-bottom:14px}.home-brand-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;padding-bottom:6px;border-bottom:1px solid rgba(148,163,184,.18)}.home-brand-section-head h3{margin:0;color:#f4fbf8;font-size:22px;line-height:1.08;letter-spacing:-.02em}.home-brand-section-head a{color:rgba(170,241,226,.9);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.home-brand-scroll-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(208px,74%);grid-gap:11px;gap:11px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:5px}.home-brand-scroll-row::-webkit-scrollbar{display:none}.home-community-card,.home-session-card{border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(5,16,27,.86);min-height:158px;overflow:hidden;box-shadow:0 10px 22px rgba(2,6,11,.32),inset 0 1px 0 rgba(255,255,255,.07)}.home-session-map{min-height:92px;padding:9px 9px 0}.home-session-route-preview.activity-route-preview{min-height:80px;border-color:rgba(255,255,255,.16);background:radial-gradient(circle at 12% 8%,rgba(105,180,46,.2),transparent 38%),radial-gradient(circle at 92% 90%,rgba(233,81,48,.18),transparent 36%),rgba(7,22,33,.86)}.home-session-route-preview .activity-route-svg{height:80px}.home-session-route-preview .activity-route-svg polyline{stroke:#79ffe7}.home-session-route-preview .activity-route-empty{color:rgba(211,232,223,.8)}.home-session-card-empty{display:grid}.home-session-card-empty .home-session-map{opacity:.68}.home-session-body{padding:9px 10px 10px}.home-session-body strong{display:block;color:#ffffff;font-size:14px;line-height:1.15}.home-session-body p{margin:4px 0 0;color:rgba(222,242,235,.86);font-size:13px;font-weight:700}.home-session-body small{display:block;margin-top:2px;color:rgba(198,220,215,.78);font-size:12px}.home-community-card{padding:11px;min-height:154px;display:grid;grid-gap:7px;gap:7px}.home-community-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.home-community-head span{color:#f8fafc;font-size:14px;font-weight:700}.home-community-head small{color:rgba(178,232,219,.84);font-size:12px}.home-community-card p{margin:0;color:rgba(220,242,235,.86);font-size:12px;line-height:1.35}.home-community-progress{width:100%;height:7px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.home-community-progress span{display:block;height:100%;background:linear-gradient(90deg,#16d3b0,#69b42e)}.home-community-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:31px;border-radius:999px;border:1px solid rgba(105,180,46,.62);background:rgba(105,180,46,.22);color:#e8ffe9;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;text-decoration:none}.home-brand-level-card{border-radius:20px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(165deg,rgba(5,16,28,.92),rgba(7,22,32,.9));box-shadow:0 16px 28px rgba(1,8,12,.4);padding:12px;display:grid;grid-gap:8px;gap:8px}.home-brand-level-head{display:flex;justify-content:space-between;gap:10px}.home-brand-level-kicker{margin:0;color:rgba(169,229,211,.9);font-size:12px;letter-spacing:.07em;text-transform:uppercase}.home-brand-level-head strong{display:block;margin-top:2px;color:#f8fafc;font-size:24px;line-height:1.02;letter-spacing:-.02em}.home-brand-level-head small{display:block;margin-top:4px;color:rgba(213,234,226,.78);font-size:12px}.home-brand-level-head span{border-radius:999px;border:1px solid rgba(22,211,176,.42);background:rgba(22,211,176,.14);color:#9ff6e5;font-size:11px;font-weight:700;padding:6px 10px;white-space:nowrap;height:-moz-fit-content;height:fit-content}.home-brand-progress-track{--level-progress:0;width:100%;height:8px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.home-brand-progress-track span{display:block;width:calc(var(--level-progress) * 1%);height:100%;background:linear-gradient(90deg,#69b42e,#22c55e)}.home-brand-progress-track.is-secondary{--weekly-xp-progress:0}.home-brand-progress-track.is-secondary span{width:calc(var(--weekly-xp-progress) * 1%);background:linear-gradient(90deg,#16d3b0,#5be7cb)}.home-brand-goal-row{display:flex;justify-content:space-between;gap:10px;color:rgba(221,242,234,.84);font-size:13px}.home-brand-goal-row strong{font-weight:700}.home-brand-missions{display:grid;grid-gap:6px;gap:6px}.home-brand-mission-row{border-radius:11px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);padding:8px 9px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.home-brand-mission-row p{margin:0;color:#f8fafc;font-size:12px;font-weight:700}.home-brand-mission-row small{color:rgba(206,230,221,.76);font-size:10px}.home-brand-mission-row span{color:#9af5e3;font-size:11px;font-weight:700;white-space:nowrap}.home-brand-footer-stats{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.home-brand-footer-stats article{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(6,18,29,.78);padding:10px 8px}.home-brand-footer-stats p{margin:0;color:rgba(194,221,210,.78);font-size:11px}.home-brand-footer-stats strong{display:block;margin-top:2px;color:#f8fafc;font-size:17px;letter-spacing:-.01em}.home-brand-bottom-space{height:4px}.app-unified-shell{position:relative;margin:0;padding:16px 12px calc(116px + env(safe-area-inset-bottom));min-height:100dvh;background:var(--app-shell-gradient);color:#ebf8f3;overflow:hidden}.app-unified-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(105,180,46,.06),transparent 42%),linear-gradient(300deg,rgba(22,211,176,.06),transparent 36%)}.app-unified-shell>*{position:relative;z-index:1}.app-unified-shell .activity-item,.app-unified-shell .card,.app-unified-shell .map,.app-unified-shell .metric,.app-unified-shell .page-hero{border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,rgba(6,20,31,.95),rgba(7,24,36,.9));box-shadow:0 14px 28px rgba(2,8,13,.35);color:#ebf8f3}.app-unified-shell .page-hero:before{height:3px;background:linear-gradient(90deg,#27d8bd,#e95130)}.app-unified-shell .page-kicker{color:#9ff6e4}.app-unified-shell .account-link-copy strong,.app-unified-shell .activity-item-head strong,.app-unified-shell .activity-type,.app-unified-shell .card-title,.app-unified-shell .metric .value,.app-unified-shell .page-title,.app-unified-shell h3{color:#f8fafc}.app-unified-shell .account-link-copy p,.app-unified-shell .activity-meta,.app-unified-shell .metric .label,.app-unified-shell .muted,.app-unified-shell .page-subtitle,.app-unified-shell .subtitle{color:rgba(206,229,219,.86)}.app-unified-shell .btn-secondary{border-color:rgba(148,163,184,.48);background:rgba(10,24,36,.88);color:#e9f4ef}.app-unified-shell .btn-secondary:hover:not(:disabled){border-color:rgba(22,211,176,.58);background:rgba(9,31,45,.95)}.app-unified-shell .account-link-item,.app-unified-shell .account-setting-item{border-color:rgba(255,255,255,.14);background:rgba(8,21,32,.82);color:#edf7f1}.app-unified-shell .account-link-item:hover{border-color:rgba(22,211,176,.48);box-shadow:0 12px 22px rgba(4,13,20,.36)}.app-unified-shell .account-link-item-disabled:hover{border-color:rgba(255,255,255,.14);box-shadow:none}.app-unified-shell .account-link-copy p,.app-unified-shell .account-link-item>span{color:rgba(206,229,219,.78)}.app-unified-shell .status-pill{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#eaf6f0}.app-unified-shell .status-pill.status-draft{border-color:rgba(245,158,11,.52);background:rgba(245,158,11,.2);color:#fef3c7}.app-unified-shell .status-pill.status-completed{border-color:rgba(105,180,46,.54);background:rgba(105,180,46,.22);color:#ecfce5}.app-unified-shell .status-pill.status-shared{border-color:rgba(233,81,48,.58);background:rgba(233,81,48,.22);color:#ffece5}.app-unified-shell .account-signout-card{border-color:rgba(248,113,113,.45);background:linear-gradient(155deg,rgba(56,18,18,.62),rgba(78,20,20,.54))}.app-unified-shell .map{border-radius:16px}.trainflix-shell{position:relative;margin:0;padding:16px 12px calc(116px + env(safe-area-inset-bottom));min-height:100dvh;background:var(--app-shell-gradient);color:#edf7f1;overflow:hidden}.trainflix-shell:before{background:linear-gradient(120deg,rgba(105,180,46,.06),transparent 40%),linear-gradient(290deg,rgba(233,81,48,.08),transparent 35%)}.trainflix-shell:after,.trainflix-shell:before{content:"";position:absolute;inset:0;pointer-events:none}.trainflix-shell:after{background:radial-gradient(circle at 50% -8%,rgba(3,10,16,0),rgba(3,10,16,.58) 68%)}.trainflix-empty,.trainflix-featured,.trainflix-head,.trainflix-row{position:relative;z-index:1}.trainflix-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.trainflix-head>div{min-width:0}.trainflix-brand-mark{margin:0;color:#e95130;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.trainflix-kicker{margin:2px 0 0;color:#86f3d9;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.trainflix-head h1{margin:4px 0 0;color:#f8fafc;font-size:clamp(34px,7.4vw,44px);letter-spacing:-.03em;line-height:.96}.trainflix-subtitle{margin:7px 0 0;color:rgba(205,225,216,.86);font-size:13px;line-height:1.42;max-width:36ch}.trainflix-count{border-radius:999px;border:1px solid rgba(105,180,46,.48);background:rgba(105,180,46,.16);color:#e9fce8;font-size:12px;font-weight:700;white-space:nowrap;align-self:flex-start;padding:5px 10px}.trainflix-admin-pill{position:relative;z-index:1;margin:0 0 12px;border-radius:12px;border:1px solid rgba(148,163,184,.32);background:linear-gradient(130deg,rgba(12,35,53,.54),rgba(5,15,24,.8)),rgba(5,15,24,.78);color:rgba(211,228,220,.88);font-size:12px;line-height:1.35;padding:10px 12px}.trainflix-filter-float{position:relative;z-index:8;position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top) + 8px);margin:0 0 14px;padding:6px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:linear-gradient(130deg,rgba(6,22,34,.84),rgba(4,13,23,.78)),rgba(4,13,23,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.trainflix-filter-float::-webkit-scrollbar{display:none}.trainflix-filter-chip{flex:0 0 auto;border-radius:999px;border:1px solid rgba(148,163,184,.44);background:rgba(6,17,27,.82);color:rgba(222,240,232,.94);font-size:12px;font-weight:700;line-height:1;letter-spacing:.03em;min-height:40px;padding:0 18px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.trainflix-filter-chip.is-active{border-color:rgba(105,180,46,.72);background:linear-gradient(130deg,rgba(105,180,46,.36),rgba(39,216,189,.14)),rgba(15,48,33,.84);color:#efffee;box-shadow:0 8px 18px rgba(19,61,40,.38)}.trainflix-featured{border-radius:22px;border:1px solid rgba(255,255,255,.14);overflow:hidden;margin-bottom:14px;box-shadow:0 20px 36px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);background:rgba(2,10,17,.75)}.trainflix-featured.is-filtering{animation:trainflix-block-swap .32s cubic-bezier(.22,1,.36,1)}.trainflix-featured-video{width:100%;height:228px;object-fit:cover;display:block;background:#020a12}.trainflix-featured-video-mock{position:relative;background:linear-gradient(135deg,var(--poster-start,#103123),var(--poster-end,#69b42e)),radial-gradient(circle at 85% 15%,rgba(255,255,255,.2),transparent 38%)}.trainflix-featured-video-mock:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38)),repeating-linear-gradient(-14deg,rgba(255,255,255,.03),rgba(255,255,255,.03) 2px,transparent 0,transparent 8px)}.trainflix-featured-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,10,18,.08),rgba(2,10,18,.88) 64%,rgba(2,10,18,.97)),radial-gradient(circle at 92% 16%,rgba(233,81,48,.24),transparent 34%)}.trainflix-featured-body{position:absolute;left:10px;right:10px;bottom:10px;display:grid;grid-gap:7px;gap:7px;z-index:2;padding:10px 11px 11px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(165deg,rgba(2,9,16,.46),rgba(2,9,16,.18));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.trainflix-featured-badge{justify-self:start;border-radius:999px;border:1px solid rgba(105,180,46,.56);background:rgba(105,180,46,.2);color:#efffee;display:inline-flex;font-size:11px;font-weight:700;line-height:1;padding:5px 10px;letter-spacing:.02em}.trainflix-featured-body h2{margin:0;color:#ffffff;font-size:clamp(24px,5.6vw,32px);line-height:1.02;letter-spacing:-.03em;max-width:11ch;min-block-size:2.04em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 3px 12px rgba(0,0,0,.38)}.trainflix-featured-body p{margin:0;color:rgba(220,236,229,.86);font-size:13px;line-height:1.32}.trainflix-featured-match{margin:0}.trainflix-featured-body>p:not(.trainflix-featured-match){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trainflix-featured-match strong{color:#b9ffcf;font-size:12px;font-weight:800;letter-spacing:.03em}.trainflix-featured-actions{display:flex;align-items:center;gap:8px;margin-top:2px;flex-wrap:wrap}.trainflix-featured-action-disabled,.trainflix-featured-actions .trainflix-action-button,.trainflix-featured-actions a{border-radius:999px;font-size:13px;font-weight:800;line-height:1;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.trainflix-featured-actions .trainflix-action-button,.trainflix-featured-actions a{border:1px solid rgba(105,180,46,.62);background:#69b42e;color:#031109}.trainflix-featured-actions .trainflix-action-button.is-secondary,.trainflix-featured-actions a.is-secondary{border-color:rgba(233,81,48,.72);background:rgba(233,81,48,.2);color:#fef2f2}.trainflix-featured-actions a.is-secondary.is-cta{border-color:rgba(233,81,48,.8);background:linear-gradient(135deg,rgba(233,81,48,.46),rgba(233,81,48,.28));box-shadow:0 10px 20px rgba(233,81,48,.28)}.trainflix-featured-actions a.is-secondary.is-ghost{border-color:rgba(148,163,184,.5);background:rgba(8,20,31,.58);color:rgba(241,245,249,.96)}.trainflix-featured-action-disabled{border:1px solid rgba(148,163,184,.56);background:rgba(148,163,184,.16);color:#e2e8f0;cursor:default;box-shadow:none;transform:none}.trainflix-row{margin-bottom:18px}.trainflix-content-stack{display:grid;grid-gap:0;gap:0}.trainflix-content-stack.is-filtering .trainflix-empty,.trainflix-content-stack.is-filtering .trainflix-row{animation:trainflix-block-swap .32s cubic-bezier(.22,1,.36,1)}.trainflix-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(148,163,184,.18)}.trainflix-row-head h3{margin:0;color:#f6fcf8;font-size:22px;letter-spacing:-.02em;line-height:1.08}.trainflix-row-head a,.trainflix-row-head span{color:rgba(154,241,220,.9);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.trainflix-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(208px,74%);grid-gap:11px;gap:11px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-left:2px;padding-bottom:5px}.trainflix-track::-webkit-scrollbar{display:none}.trainflix-track-top10{grid-auto-columns:minmax(250px,86%);gap:12px}.trainflix-card{border-radius:18px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(160deg,rgba(5,16,27,.95),rgba(4,13,22,.88));overflow:hidden;box-shadow:0 10px 22px rgba(2,6,11,.32),inset 0 1px 0 rgba(255,255,255,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.trainflix-card-top10{display:grid;grid-template-columns:auto 1fr;align-items:stretch;grid-gap:5px;gap:5px;padding-left:6px}.trainflix-top-rank{align-self:flex-end;color:rgba(244,250,246,.94);font-size:58px;font-weight:900;letter-spacing:-.06em;line-height:.86;text-shadow:0 10px 18px rgba(1,5,11,.55);padding-bottom:10px;width:38px;text-align:center}.trainflix-card-stack{min-width:0;display:flex;flex-direction:column}.trainflix-card-highlight{border-color:rgba(233,81,48,.35)}.trainflix-card-video{width:100%;height:134px;object-fit:cover;display:block;background:#020a12;position:relative}.trainflix-card-video-mock{position:relative;background:linear-gradient(135deg,var(--poster-start,#103123),var(--poster-end,#69b42e)),radial-gradient(circle at 82% 12%,rgba(255,255,255,.22),transparent 34%)}.trainflix-card-video-mock:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.44)),repeating-linear-gradient(-10deg,rgba(255,255,255,.03),rgba(255,255,255,.03) 2px,transparent 0,transparent 9px)}.trainflix-card-top{position:absolute;top:8px;left:9px;right:9px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px}.trainflix-card-top small,.trainflix-card-top span{border-radius:999px;border:1px solid rgba(255,255,255,.36);background:rgba(3,11,18,.6);color:rgba(237,251,245,.94);font-size:9px;font-weight:700;line-height:1;padding:4px 6px}.trainflix-card-poster-copy{position:absolute;left:9px;right:9px;bottom:9px;z-index:1}.trainflix-card-poster-copy small{display:block;color:rgba(227,244,236,.88);font-size:10px;font-weight:700;letter-spacing:.02em}.trainflix-card-poster-copy strong{display:block;margin-top:1px;color:#ffffff;font-size:14px;line-height:1.1;max-width:14ch;text-shadow:0 6px 12px rgba(1,5,10,.5)}.trainflix-card-top10 .trainflix-card-poster-copy strong{font-size:15px}.trainflix-card-copy{padding:10px 11px;display:grid;grid-gap:2px;gap:2px}.trainflix-card-copy strong{display:block;color:#f8fafc;font-size:14px;line-height:1.2;min-height:1.2em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trainflix-card-copy p{margin:1px 0 0;color:rgba(186,255,219,.9);font-size:11px;font-weight:700}.trainflix-card-copy small{display:block;margin-top:1px;color:rgba(195,214,205,.82);font-size:10px;letter-spacing:.02em}.trainflix-card-progress{height:3px;margin:0 10px 8px;border-radius:999px;background:rgba(148,163,184,.28);overflow:hidden}.trainflix-card-progress span{display:block;width:var(--watch-progress,42%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#69b42e,#e95130)}.trainflix-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;padding:0 11px 11px}.trainflix-card-actions .trainflix-action-button,.trainflix-card-actions a,.trainflix-card-actions span{border-radius:999px;border:1px solid rgba(105,180,46,.56);background:rgba(105,180,46,.2);color:#eaffee;font-size:11px;font-weight:700;line-height:1;padding:7px 10px}.trainflix-card-actions .trainflix-action-button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit}.trainflix-card-actions .trainflix-action-button.is-secondary{border-color:rgba(233,81,48,.56);background:rgba(233,81,48,.18);color:#fee2e2}.trainflix-card-actions span.is-disabled{border-color:rgba(148,163,184,.45);background:rgba(148,163,184,.12);color:rgba(226,232,240,.9)}.trainflix-player-modal{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:14px}.trainflix-player-backdrop{position:absolute;inset:0;border:0;background:rgba(2,8,15,.8)}.trainflix-player-panel{position:relative;width:min(920px,100%);border-radius:18px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(160deg,rgba(6,18,29,.98),rgba(7,17,25,.94));box-shadow:0 24px 42px rgba(2,6,11,.6);overflow:hidden}.trainflix-player-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.22)}.trainflix-player-head strong{color:#f8fafc;font-size:15px}.trainflix-player-head p{margin:3px 0 0;color:rgba(210,227,219,.86);font-size:12px}.trainflix-player-head button{border-radius:999px;border:1px solid rgba(148,163,184,.5);background:rgba(255,255,255,.08);color:#f1f5f9;font-size:12px;font-weight:700;min-height:34px;padding:0 12px}.trainflix-player-frame{background:#020a12}.trainflix-player-frame video{width:100%;max-height:min(70vh,620px);display:block;background:#020a12}.trainflix-empty{border-radius:18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(160deg,rgba(6,18,29,.9),rgba(7,17,25,.84));padding:15px}.trainflix-empty h2{margin:0;color:#f8fafc;font-size:24px}.trainflix-empty p{margin:7px 0 0;color:rgba(210,227,219,.86);font-size:14px}.trainflix-empty-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.trainflix-empty-actions a{border-radius:999px;border:1px solid rgba(105,180,46,.62);background:#69b42e;color:#031109;font-size:13px;font-weight:800;min-height:0;padding:9px 14px}.trainflix-empty-actions a.is-secondary{border-color:rgba(148,163,184,.48);background:rgba(255,255,255,.08);color:#f1f5f9}.trainflix-bottom-space{height:4px}@keyframes trainflix-block-swap{0%{opacity:.42;transform:translateY(10px) scale(.986);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@media (hover:hover) and (pointer:fine){.trainflix-filter-chip:hover{transform:translateY(-1px);border-color:rgba(105,180,46,.55)}.trainflix-featured-actions .trainflix-action-button:hover,.trainflix-featured-actions a:hover{transform:translateY(-1px)}.trainflix-card:hover{transform:translateY(-4px) scale(1.012);border-color:rgba(105,180,46,.48);box-shadow:0 14px 24px rgba(2,9,16,.48)}}.community-shell{position:relative;margin:0;padding:16px 12px calc(116px + env(safe-area-inset-bottom));min-height:100dvh;background:var(--app-shell-gradient);color:#eaf7f1;overflow:hidden}.community-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,rgba(22,211,176,.07),transparent 44%),linear-gradient(300deg,rgba(105,180,46,.07),transparent 38%)}.community-footer-card,.community-grid,.community-head,.community-highlight{position:relative;z-index:1}.community-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.community-kicker{margin:0;color:#9df5e3;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.community-head h1{margin:3px 0 0;color:#f8fafc;font-size:35px;line-height:.98;letter-spacing:-.03em;max-width:13ch}.community-subtitle{margin:7px 0 0;color:rgba(214,234,226,.88);font-size:13px;line-height:1.33;max-width:32ch}.community-count{border-radius:999px;border:1px solid rgba(22,211,176,.48);background:rgba(22,211,176,.16);color:#dcfff7;font-size:12px;font-weight:700;white-space:nowrap;padding:6px 10px}.community-highlight{border-radius:20px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 88% 10%,rgba(105,180,46,.25),transparent 36%),linear-gradient(155deg,rgba(5,21,32,.95),rgba(8,22,33,.88));box-shadow:0 16px 30px rgba(2,7,11,.38);padding:14px;display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.community-highlight-kicker{margin:0;color:rgba(170,244,224,.9);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.community-highlight h2{margin:0;color:#f8fafc;font-size:30px;line-height:.98;letter-spacing:-.03em}.community-highlight-subtitle{margin:0;color:rgba(214,234,226,.86);font-size:13px;line-height:1.34}.community-highlight-meta{display:flex;flex-wrap:wrap;gap:7px}.community-highlight-meta span{border-radius:999px;border:1px solid rgba(148,163,184,.46);background:rgba(15,23,42,.36);color:#e2e8f0;font-size:12px;font-weight:700;line-height:1;padding:6px 10px}.community-highlight-cta{width:-moz-fit-content;width:fit-content;border-radius:999px;border:1px solid rgba(105,180,46,.68);background:#69b42e;color:#041007;font-size:13px;font-weight:800;padding:9px 14px}.community-moderation-card{border-radius:16px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,rgba(7,17,28,.94),rgba(8,19,30,.88));box-shadow:0 12px 26px rgba(1,7,13,.35);padding:12px;display:grid;grid-gap:10px;gap:10px;margin-bottom:12px}.community-moderation-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.community-moderation-head h2{margin:0;color:#f8fafc;font-size:17px;line-height:1.1;letter-spacing:-.02em}.community-moderation-head span{border-radius:999px;border:1px solid rgba(148,163,184,.48);background:rgba(15,23,42,.34);color:#d9e4ee;font-size:12px;font-weight:700;line-height:1;padding:6px 10px;white-space:nowrap}.community-moderation-list{display:grid;grid-gap:8px;gap:8px}.community-moderation-item{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(11,21,33,.72);padding:0;display:grid;grid-gap:0;gap:0;overflow:hidden}.community-moderation-post-head{display:flex;align-items:center;gap:8px;padding:10px 10px 8px}.community-moderation-avatar{width:28px;height:28px;border-radius:50%;border:1px solid rgba(105,180,46,.66);background:linear-gradient(155deg,rgba(22,211,176,.25),rgba(105,180,46,.35));color:#e8fff1;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:.06em}.community-moderation-author{margin:0;color:#f8fafc;font-size:13px;font-weight:700;line-height:1.15}.community-moderation-meta{margin:0;color:rgba(173,251,228,.9);font-size:11px;font-weight:700}.community-moderation-image{width:100%;aspect-ratio:4/5;object-fit:cover;background:rgba(15,23,42,.62)}.community-moderation-item h3{margin:8px 10px 0;color:#f8fafc;font-size:15px;line-height:1.22}.community-moderation-item>p{margin:8px 10px 10px;color:rgba(214,234,226,.88);font-size:13px;line-height:1.35}.community-moderation-empty{margin:0;color:rgba(214,234,226,.86);font-size:13px;line-height:1.33}.community-moderation-form{border-radius:12px;border:1px solid rgba(105,180,46,.28);background:rgba(6,17,28,.78);padding:10px;display:grid;grid-gap:8px;gap:8px}.community-moderation-form h3{margin:0;color:#e9fff4;font-size:14px;letter-spacing:-.01em}.community-moderation-form input,.community-moderation-form textarea{width:100%;border-radius:10px;border:1px solid rgba(148,163,184,.35);background:rgba(9,18,30,.86);color:#f1f5f9;font-size:13px;line-height:1.35;padding:10px;outline:none}.community-moderation-form input::placeholder,.community-moderation-form textarea::placeholder{color:rgba(226,232,240,.62)}.community-moderation-form input:focus,.community-moderation-form textarea:focus{border-color:rgba(105,180,46,.75);box-shadow:0 0 0 3px rgba(105,180,46,.2)}.community-moderation-form textarea{resize:vertical;min-height:90px}.community-moderation-field-hint{margin:-2px 0 0;color:rgba(201,223,214,.82);font-size:11px;line-height:1.3}.community-moderation-checkbox{display:inline-flex;align-items:center;gap:8px;color:rgba(214,234,226,.88);font-size:12px;font-weight:700}.community-moderation-checkbox input{width:16px;height:16px;margin:0}.community-profile-card{border-radius:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,rgba(6,18,29,.94),rgba(6,16,26,.88));box-shadow:0 14px 28px rgba(2,7,11,.35);margin-bottom:12px;overflow:hidden}.community-profile-photo{width:100%;aspect-ratio:16/7;object-fit:cover;background:rgba(15,23,42,.62)}.community-profile-photo-fallback{display:flex;align-items:center;justify-content:center;color:#dff8ec;font-size:44px;font-weight:800;letter-spacing:-.02em;background:radial-gradient(circle at 18% 22%,rgba(22,211,176,.34),transparent 42%),radial-gradient(circle at 82% 18%,rgba(105,180,46,.3),transparent 38%),linear-gradient(160deg,rgba(6,18,29,.96),rgba(11,23,35,.9))}.community-profile-content{padding:12px;display:grid;grid-gap:8px;gap:8px}.community-profile-content h2{margin:0;color:#f8fafc;font-size:25px;line-height:1;letter-spacing:-.03em}.community-profile-content p{margin:0;color:rgba(214,234,226,.88);font-size:13px;line-height:1.35}.community-grid{display:grid;grid-gap:10px;gap:10px}.community-card{border-radius:16px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(160deg,rgba(5,16,28,.95),rgba(6,15,24,.88));box-shadow:0 12px 24px rgba(2,6,10,.34);padding:12px;display:grid;grid-gap:8px;gap:8px}.community-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.community-card-head-profile{justify-content:flex-start;align-items:center;gap:10px}.community-group-avatar{width:44px;height:44px;border-radius:12px;object-fit:cover;flex-shrink:0;border:1px solid rgba(148,163,184,.42);background:rgba(15,23,42,.62)}.community-group-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:#dbfff4;font-size:13px;font-weight:800;letter-spacing:.02em;background:radial-gradient(circle at 24% 18%,rgba(22,211,176,.3),transparent 42%),linear-gradient(160deg,rgba(8,20,32,.95),rgba(9,19,30,.88))}.community-card-tag{margin:0 0 4px;color:rgba(158,248,227,.88);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.community-card-head h3{margin:0;color:#f8fafc;font-size:23px;line-height:.98;letter-spacing:-.02em}.community-member-pill{border-radius:999px;border:1px solid rgba(105,180,46,.5);background:rgba(105,180,46,.15);color:#edffe9;font-size:12px;font-weight:700;line-height:1;padding:6px 9px;white-space:nowrap}.community-card-description{margin:0;color:rgba(213,233,226,.86);font-size:13px;line-height:1.3}.community-card-meta{margin:0;color:rgba(173,251,228,.92);font-size:12px;font-weight:700}.community-progress-track{--community-progress:0;width:100%;height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.community-progress-track span{display:block;width:calc(var(--community-progress) * 1%);height:100%;background:linear-gradient(90deg,#16d3b0,#69b42e);box-shadow:0 0 10px rgba(22,211,176,.35)}.community-progress-label{margin:0;color:rgba(201,223,214,.82);font-size:12px}.community-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.community-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:999px;font-size:13px;font-weight:800;line-height:1;padding:0 12px;text-decoration:none}.community-btn-secondary{border:1px solid rgba(148,163,184,.52);background:rgba(148,163,184,.12);color:#e2e8f0}.community-btn-primary{border:1px solid rgba(105,180,46,.66);background:#69b42e;color:#041007}.community-footer-card{margin-top:12px;border-radius:16px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(155deg,rgba(6,18,29,.92),rgba(8,23,34,.88));padding:12px;display:flex;flex-direction:column;gap:10px}.community-footer-card p{margin:0;color:rgba(214,234,226,.86);font-size:13px;line-height:1.32}.community-footer-cta{width:-moz-fit-content;width:fit-content;border-radius:999px;border:1px solid rgba(233,81,48,.66);background:rgba(233,81,48,.2);color:#fff3ee;font-size:13px;font-weight:800;padding:9px 14px}.you-shell{position:relative;margin:0;padding:16px 12px calc(116px + env(safe-area-inset-bottom));min-height:100dvh;background:var(--app-shell-gradient);color:#ebf8f3;overflow:hidden}.you-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(105,180,46,.06),transparent 42%),linear-gradient(300deg,rgba(22,211,176,.06),transparent 36%)}.you-action-row,.you-head,.you-insights-grid,.you-metrics-grid,.you-profile-card{position:relative;z-index:1}.you-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.you-kicker{margin:0;color:#9ff6e4;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.you-head h1{margin:3px 0 0;color:#f8fafc;font-size:34px;line-height:.98;letter-spacing:-.03em;max-width:12ch}.you-subtitle{margin:6px 0 0;color:rgba(212,233,224,.86);font-size:13px;line-height:1.34;max-width:34ch}.you-streak-pill{border-radius:999px;border:1px solid rgba(105,180,46,.54);background:rgba(105,180,46,.18);color:#ebffe7;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;padding:6px 10px}.you-profile-card{border-radius:18px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 88% 12%,rgba(105,180,46,.2),transparent 36%),linear-gradient(158deg,rgba(5,18,29,.95),rgba(7,22,34,.88));box-shadow:0 16px 30px rgba(2,7,11,.38);padding:12px;display:grid;grid-gap:10px;gap:10px;margin-bottom:10px}.you-profile-top{display:flex;align-items:center;gap:9px}.you-avatar{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:linear-gradient(160deg,rgba(22,211,176,.92),rgba(6,87,72,.96));color:#ffffff;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.you-profile-copy{min-width:0}.you-profile-copy p{margin:0;color:#f8fafc;font-size:16px;font-weight:700;line-height:1.1}.you-profile-copy small{display:block;margin-top:2px;color:rgba(183,229,214,.86);font-size:12px}.you-profile-link{margin-left:auto;border-radius:999px;border:1px solid rgba(233,81,48,.64);background:rgba(233,81,48,.2);color:#fff2eb;font-size:12px;font-weight:700;line-height:1;padding:8px 10px}.you-goal-block{border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(5,16,26,.58);padding:10px;display:grid;grid-gap:7px;gap:7px}.you-goal-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.you-goal-head strong{color:#f8fafc;font-size:13px}.you-goal-head span{color:rgba(165,247,226,.92);font-size:12px;font-weight:700}.you-goal-track{--you-goal-progress:0;width:100%;height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.you-goal-track span{display:block;width:calc(var(--you-goal-progress) * 1%);height:100%;background:linear-gradient(90deg,#16d3b0,#69b42e);box-shadow:0 0 10px rgba(22,211,176,.38)}.you-goal-caption{margin:0;color:rgba(205,224,216,.84);font-size:12px}.you-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px;margin-bottom:10px}.you-metric-card{border-radius:14px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(160deg,rgba(6,17,28,.92),rgba(7,18,28,.86));padding:10px;min-height:84px;display:grid;align-content:space-between}.you-metric-card p{margin:0;color:rgba(190,213,204,.82);font-size:12px}.you-metric-card strong{display:block;margin-top:6px;color:#f8fafc;font-size:23px;line-height:1;letter-spacing:-.02em}.you-insights-grid{display:grid;grid-gap:9px;gap:9px;margin-bottom:10px}.you-insight-card{border-radius:14px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(158deg,rgba(5,16,25,.92),rgba(7,19,30,.86));padding:11px}.you-insight-label{margin:0;color:rgba(172,247,226,.9);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.you-insight-card strong{display:block;margin-top:6px;color:#f8fafc;font-size:24px;line-height:1.02;letter-spacing:-.02em}.you-insight-card small{display:block;margin-top:4px;color:rgba(201,224,214,.82);font-size:12px}.you-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:10px}.you-action-btn{width:100%;min-height:74px;border-radius:14px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 8px;text-align:center}.you-shell .you-action-btn.btn-secondary{border-color:rgba(148,163,184,.48);background:rgba(10,24,36,.88);color:#e9f4ef}.you-shell .you-action-btn.btn-secondary:hover:not(:disabled){border-color:rgba(22,211,176,.58);background:rgba(9,31,45,.95)}.you-action-icon{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1)}.you-action-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.you-action-label{font-size:11px;font-weight:700;line-height:1.15;letter-spacing:.01em}.performance-shell{position:relative;margin:0;padding:16px 12px calc(116px + env(safe-area-inset-bottom));min-height:100dvh;background:var(--app-shell-gradient);color:#eaf8f2;overflow:hidden}.performance-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 86% 12%,rgba(233,81,48,.2),transparent 34%),radial-gradient(circle at 6% 84%,rgba(105,180,46,.2),transparent 34%),linear-gradient(120deg,rgba(22,211,176,.05),transparent 40%)}.performance-actions,.performance-block,.performance-head,.performance-hero-card,.performance-stats-grid{position:relative;z-index:1}.performance-head{margin-bottom:12px}.performance-kicker{margin:0;color:#9ff6e4;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.performance-head h1{margin:4px 0 0;color:#f8fafc;font-size:34px;line-height:.98;letter-spacing:-.03em}.performance-subtitle{margin:8px 0 0;color:rgba(209,231,221,.88);font-size:13px;line-height:1.34;max-width:36ch}.performance-hero-card{border-radius:18px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(150deg,rgba(7,21,32,.94),rgba(7,22,32,.82)),repeating-linear-gradient(-14deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 2px,transparent 0,transparent 10px);box-shadow:0 14px 24px rgba(2,8,15,.36);padding:12px;margin-bottom:10px}.performance-hero-top{display:flex;align-items:center;gap:10px}.performance-avatar{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:linear-gradient(160deg,rgba(22,211,176,.9),rgba(10,111,95,.96));display:inline-flex;align-items:center;justify-content:center;color:#ffffff;font-size:14px;font-weight:800}.performance-hero-copy{min-width:0}.performance-hero-copy strong{display:block;color:#f8fafc;font-size:17px;line-height:1.1}.performance-hero-copy small{display:block;margin-top:2px;color:rgba(200,225,215,.84);font-size:12px}.performance-level-badge{margin-left:auto;width:58px;height:58px;border-radius:999px;border:1px solid rgba(252,167,94,.6);background:rgba(233,81,48,.18);color:#ffd7b2;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0}.performance-level-badge svg{width:19px;height:19px}.performance-level-badge small{font-size:11px;font-weight:800;line-height:1}.performance-xp-head{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.performance-xp-head p,.performance-xp-head span{margin:0;color:rgba(226,243,236,.9);font-size:12px;font-weight:700}.performance-xp-track{--performance-xp-progress:0;width:100%;height:9px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.16);margin-top:6px}.performance-xp-track span{display:block;height:100%;width:calc(var(--performance-xp-progress) * 1%);background:linear-gradient(90deg,#69b42e,#22c55e 66%,#16d3b0);box-shadow:0 0 12px rgba(84,220,141,.45)}.performance-xp-caption{margin:7px 0 0;color:rgba(202,226,215,.84);font-size:12px}.performance-pill-row{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px}.performance-pill{border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#eefcf6;font-size:11px;font-weight:700;padding:6px 9px;line-height:1}.performance-pill.is-highlight{border-color:rgba(105,180,46,.5);background:rgba(105,180,46,.18);color:#edffe8}.performance-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:10px}.performance-stat-card{border-radius:14px;border:1px solid rgba(255,255,255,.13);background:rgba(5,17,27,.84);padding:10px}.performance-stat-card p{margin:0;color:rgba(214,235,226,.76);font-size:11px}.performance-stat-card strong{display:block;margin-top:4px;color:#f8fafc;font-size:23px;line-height:1;letter-spacing:-.02em}.performance-stat-card small{display:block;margin-top:3px;color:rgba(199,222,213,.8);font-size:11px}.performance-block{border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(6,18,29,.84);box-shadow:0 12px 22px rgba(3,8,14,.34);padding:11px;margin-bottom:10px}.performance-block-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.performance-block-head h2{margin:0;color:#f8fafc;font-size:22px;letter-spacing:-.02em}.performance-block-head span{color:rgba(165,247,226,.9);font-size:12px;font-weight:700}.performance-trophy-grid{display:grid;grid-gap:8px;gap:8px}.performance-trophy-card{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);padding:9px}.performance-trophy-card.is-unlocked{border-color:rgba(105,180,46,.44);background:linear-gradient(155deg,rgba(24,55,33,.52),rgba(8,30,20,.46))}.performance-trophy-title{margin:0;color:#f8fafc;font-size:15px;font-weight:800;line-height:1.1}.performance-trophy-subtitle{display:block;margin-top:2px;color:rgba(202,224,215,.82);font-size:11px}.performance-goal-track{--performance-goal-progress:0;width:100%;height:7px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.15);margin-top:8px}.performance-goal-track span{display:block;height:100%;width:calc(var(--performance-goal-progress) * 1%);background:linear-gradient(90deg,#16d3b0,#69b42e)}.performance-goal-meta{margin:6px 0 0;color:rgba(201,223,214,.84);font-size:11px}.performance-reward-pill{display:inline-flex;margin-top:6px;border-radius:999px;border:1px solid rgba(252,167,94,.55);background:rgba(233,81,48,.16);color:#ffd8b7;font-size:11px;font-weight:700;padding:4px 8px}.performance-achievement-list{display:grid;grid-gap:8px;gap:8px}.performance-achievement{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);padding:9px}.performance-achievement.is-unlocked{border-color:rgba(22,211,176,.5);background:linear-gradient(155deg,rgba(6,43,40,.56),rgba(6,25,25,.5))}.performance-achievement-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.performance-achievement-head strong{color:#f8fafc;font-size:15px;line-height:1.14}.performance-achievement-head span{color:rgba(163,244,222,.9);font-size:11px;font-weight:700}.performance-achievement p{margin:4px 0 0;color:rgba(198,221,212,.82);font-size:12px}.performance-achievement-meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px}.performance-achievement-meta small{color:rgba(198,221,212,.82);font-size:11px}.performance-actions{display:flex;align-items:center;justify-content:center;gap:10px}.performance-action-icon{width:52px;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(3,8,14,.28)}.performance-action-icon svg{width:20px;height:20px}.performance-action-icon-primary{border-color:rgba(255,184,137,.45);background:linear-gradient(135deg,#e95130,#f97316);color:#fff}.performance-action-icon-secondary{background:rgba(10,24,36,.9);color:#e9f4ef}.performance-action-icon-secondary:hover{border-color:rgba(22,211,176,.58);background:rgba(9,31,45,.95)}.account-menu-card{border-color:#dce6df}.account-link-list{display:grid;grid-gap:10px;gap:10px}.account-link-item{width:100%;min-height:64px;border-radius:14px;border:1px solid #dbe5de;background:#ffffff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#0f172a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.account-link-item:hover{transform:translateY(-1px);border-color:#cfe0d4;box-shadow:0 10px 22px rgba(15,23,42,.06)}.account-link-item>span{font-size:22px;color:#94a3b8;line-height:1}.account-link-copy{min-width:0}.account-link-copy strong{display:block;font-size:16px;line-height:1.2}.account-link-copy p{margin:4px 0 0;color:#64748b;font-size:13px}.account-link-item-disabled{cursor:not-allowed;opacity:.7}.account-link-item-disabled:hover{transform:none;border-color:#dbe5de;box-shadow:none}.account-setting-list{display:grid;grid-gap:10px;gap:10px}.account-setting-item{background:#ffffff;border:1px solid #dbe5de;border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.account-subsection-card{border-color:#e4e7ec}.account-body-card{border-color:#dce6df}.account-body-form{gap:10px}.account-body-summary{border-radius:12px;border:1px solid #dbe7df;background:linear-gradient(180deg,#f4fbf7,#ffffff);padding:10px 12px}.account-body-summary p{margin:0;color:#1f2937;font-size:14px}.account-body-summary strong{color:#0f172a}.account-body-summary small{display:block;margin-top:4px;color:#64748b;font-size:12px}.account-signout-card{border-color:#fed7d7;background:#fffafa}.account-signout-btn{width:100%;justify-content:center}.body-reminder-overlay{position:fixed;inset:0;z-index:72;display:grid;place-items:center;padding:18px;background:rgba(3,11,19,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.body-reminder-modal{width:min(420px,calc(100% - 16px));border-radius:18px;border:1px solid rgba(255,255,255,.15);background:radial-gradient(circle at 10% 0,rgba(22,211,176,.16),transparent 42%),linear-gradient(170deg,rgba(5,18,29,.96),rgba(7,24,36,.92));box-shadow:0 20px 42px rgba(2,8,15,.44);padding:16px}.body-reminder-kicker{margin:0;color:#9ff6e4;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.body-reminder-modal h2{margin:6px 0 0;color:#f8fafc;font-size:24px;line-height:1.08;letter-spacing:-.02em}.body-reminder-copy{margin:10px 0 0;color:rgba(219,234,245,.92);font-size:14px;line-height:1.42}.body-reminder-user{margin:8px 0 0;color:rgba(255,204,172,.96);font-size:13px;font-weight:600}.body-reminder-actions{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.body-reminder-actions .btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#f8fafc}.map{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#07111d,#091625);box-shadow:0 16px 34px rgba(15,23,42,.2)}.map-locate-btn{position:absolute;top:12px;right:12px;z-index:18;min-height:38px;border-radius:999px;border:1px solid rgba(15,23,42,.16);background:rgba(255,255,255,.94);color:#0f172a;font-size:12px;font-weight:700;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(15,23,42,.16)}.map-locate-btn.is-loading,.map-locate-btn:disabled{opacity:.85;cursor:wait}.map-locate-btn.is-icon{width:44px;min-width:44px;min-height:44px;border-radius:14px;padding:0}.map-locate-btn-icon{display:inline-flex;align-items:center;justify-content:center}.map-locate-btn-icon,.map-locate-btn-icon svg{width:20px;height:20px}.map-locate-btn.is-icon .map-locate-btn-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.map-inner{position:relative;width:100%;height:100%;min-height:240px}.map-inner:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% -8%,rgba(255,255,255,.16),transparent 38%),linear-gradient(180deg,rgba(3,9,19,.04),rgba(3,9,19,.18))}.map-theme-dark .map-inner .maplibregl-canvas{filter:saturate(1.08) contrast(1.05)}.map-theme-dark.map-variant-satellite .map-inner .maplibregl-canvas{filter:saturate(1.18) contrast(1.1) brightness(.92)}.map .maplibregl-ctrl-bottom-right{right:8px;bottom:8px}.map .maplibregl-ctrl-attrib{border-radius:10px;border:1px solid rgba(148,163,184,.34);background:rgba(2,6,23,.72);color:#e2e8f0;padding:3px 8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map .maplibregl-ctrl-attrib a{color:#bbf7d0}.map-route-marker{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;position:relative;box-shadow:0 8px 20px rgba(2,6,23,.4)}.map-route-marker:before{content:"";position:absolute;inset:0;border-radius:999px;border:2px solid transparent}.map-route-marker-core{width:10px;height:10px;border-radius:999px;border:2px solid #ffffff;box-shadow:0 3px 10px rgba(2,6,23,.42)}.map-route-marker-start{background:rgba(34,197,94,.3)}.map-route-marker-start:before{border-color:rgba(134,239,172,.72)}.map-route-marker-start .map-route-marker-core{background:#16a34a}.map-route-marker-end{background:rgba(249,115,22,.28)}.map-route-marker-end:before{border-color:rgba(253,186,116,.8)}.map-route-marker-end .map-route-marker-core{background:#ea580c}.map-user-location-marker{width:24px;height:24px;border-radius:999px;position:relative;display:inline-flex;align-items:center;justify-content:center}.map-user-location-marker-pulse{position:absolute;inset:-5px;border-radius:999px;background:rgba(56,189,248,.28);animation:mapUserPulse 1.7s ease-out infinite}.map-user-location-marker-core{position:relative;z-index:2;width:12px;height:12px;border-radius:999px;border:2px solid #ffffff;background:#0ea5e9;box-shadow:0 5px 12px rgba(2,132,199,.55)}@keyframes mapUserPulse{0%{transform:scale(.82);opacity:.8}70%{transform:scale(1.24);opacity:0}to{transform:scale(1.24);opacity:0}}.map-gps-pill{position:absolute;top:12px;left:12px;z-index:17;border-radius:999px;border:1px solid rgba(15,23,42,.15);background:rgba(255,255,255,.94);color:#0f172a;font-size:11px;font-weight:700;line-height:1;padding:6px 10px;box-shadow:0 8px 18px rgba(15,23,42,.15);white-space:nowrap}.map-gps-pill-searching{border-color:rgba(148,163,184,.6);background:rgba(15,23,42,.88);color:#e2e8f0}.map-gps-pill-good{border-color:rgba(22,163,74,.52);background:rgba(22,163,74,.15);color:#14532d}.map-gps-pill-ok{border-color:rgba(14,165,233,.54);background:rgba(14,165,233,.16);color:#0c4a6e}.map-gps-pill-weak{border-color:rgba(217,119,6,.48);background:rgba(245,158,11,.18);color:#78350f}.map-locate-error{position:absolute;top:56px;right:10px;margin:0;border-radius:10px;border:1px solid rgba(248,113,113,.45);background:rgba(127,29,29,.86);color:#fee2e2;font-size:12px;line-height:1.35;max-width:min(280px,calc(100% - 20px));padding:8px 10px;z-index:16}.map-error-banner{border-radius:10px;border:1px solid rgba(248,113,113,.65);background:rgba(127,29,29,.88);color:#fee2e2;z-index:4}.map-error-banner,.map-loading-banner{position:absolute;left:10px;right:10px;bottom:10px;margin:0;font-size:12px;padding:8px 10px}.map-loading-banner{border-radius:10px;border:1px solid rgba(148,163,184,.55);background:rgba(15,23,42,.82);color:#e2e8f0;z-index:3}body.record-mode{background:#070a12;overflow:hidden}body.record-mode .app-header,body.record-mode .app-sidebar,body.record-mode .mobile-bottom-nav{display:none}body.record-mode .app-frame,body.record-mode .app-main,body.record-mode .app-main-content{max-width:none;margin:0;padding:0}.record-screen{position:relative;min-height:100dvh;overflow:hidden;color:#f8fafc;background:#090d1a;isolation:isolate;--record-controls-height:110px;--record-controls-gap:20px}.record-screen:after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(circle at 14% 84%,rgba(105,180,46,.2),transparent 50%),radial-gradient(circle at 88% 18%,rgba(233,81,48,.16),transparent 48%)}.record-map{position:absolute;inset:0;z-index:1;border:0;border-radius:0;height:100%!important}.record-map .map-inner{min-height:100dvh}.record-map .map-inner:after{background:radial-gradient(circle at 50% -4%,rgba(255,255,255,.18),transparent 34%),radial-gradient(circle at 50% 100%,rgba(2,6,23,.36),transparent 48%),linear-gradient(180deg,rgba(3,7,18,.18),rgba(3,7,18,.3))}.record-map .map-gps-pill,.record-map .map-locate-btn,.record-map .map-locate-error{display:none}.record-map .map-error-banner,.record-map .map-loading-banner{top:max(138px,calc(env(safe-area-inset-top) + 128px));left:14px;right:14px;bottom:auto;z-index:45}.record-top-overlay{position:absolute;top:max(14px,env(safe-area-inset-top));left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:40}.record-top-status-stack{flex:1 1;min-width:0;display:grid;grid-gap:6px;gap:6px}.record-circle-btn{width:50px;height:50px;flex:0 0 auto;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(2,6,23,.8);color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(15,23,42,.3)}.record-circle-btn svg{width:20px;height:20px}.record-gps-toast{margin-left:auto;min-height:42px;border-radius:999px;border:1px solid rgba(148,163,184,.46);background:rgba(2,6,23,.84);color:#dbe7f5;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-size:12px;font-weight:700;letter-spacing:.01em;line-height:1;white-space:nowrap}.record-gps-toast.is-searching{border-color:rgba(148,163,184,.5);color:#dbe7f5}.record-gps-toast.is-connected{border-color:rgba(134,239,172,.8);background:rgba(22,163,74,.28);color:#ecfdf5}.record-status-chip{min-height:54px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(2,6,23,.82);color:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;text-align:left}.record-group-hint{margin:0;width:-moz-fit-content;width:fit-content;max-width:100%;border-radius:999px;border:1px solid rgba(45,212,191,.54);background:rgba(15,118,110,.34);color:#e6fdf7;font-size:11px;line-height:1.1;padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-group-hint strong{font-weight:700}.record-status-copy{display:grid;grid-gap:1px;gap:1px}.record-status-copy strong{font-size:16px;font-weight:500;line-height:1.15}.record-status-copy small{color:#d1d5db;font-size:11px}.record-gps-pill{border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);padding:4px 9px;font-size:11px;font-weight:500;line-height:1;white-space:nowrap}.record-gps-pill-searching{border-color:rgba(148,163,184,.44);color:#dbe7f5}.record-gps-pill-good{border-color:rgba(74,222,128,.6);background:rgba(74,222,128,.2);color:#dcfce7}.record-gps-pill-ok{border-color:rgba(56,189,248,.6);background:rgba(56,189,248,.2);color:#e0f2fe}.record-gps-pill-weak{border-color:rgba(250,204,21,.62);background:rgba(250,204,21,.2);color:#fef9c3}.record-side-map-actions{justify-self:end;display:grid;grid-gap:10px;gap:10px;margin-right:2px}.record-map-icon-btn{width:46px;min-width:46px;height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(2,6,23,.82);color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(15,23,42,.36)}.record-map-icon-btn svg{width:21px;height:21px}.record-map-icon-btn:first-child{border-color:rgba(233,81,48,.56);background:rgba(233,81,48,.22);color:#fef2f2}.record-sos-map-btn{border-color:rgba(248,113,113,.8);background:rgba(185,28,28,.82);color:#fff1f2;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.08em}.record-sos-map-btn:hover{border-color:rgba(254,202,202,.88);background:rgba(153,27,27,.9)}.record-live-share-btn{border-color:rgba(45,212,191,.58);background:rgba(13,148,136,.3);color:#ddfbf7;font-size:10px;font-weight:800;letter-spacing:.05em}.record-live-share-btn.is-active{border-color:rgba(134,239,172,.75);background:rgba(22,163,74,.36);color:#f0fdf4}.record-live-share-card{border:1px solid rgba(255,255,255,.16);border-radius:16px;background:linear-gradient(180deg,rgba(2,6,23,.93),rgba(8,31,43,.9));padding:12px;display:grid;grid-gap:10px;gap:10px}.record-live-share-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.record-live-share-card header strong{color:#f8fafc;font-size:15px;line-height:1.1}.record-live-share-card header span{border-radius:999px;border:1px solid rgba(74,222,128,.52);background:rgba(74,222,128,.2);color:#dcfce7;font-size:11px;font-weight:700;padding:3px 8px}.record-live-share-copy{margin:0;color:rgba(220,232,244,.92);font-size:13px;line-height:1.4}.record-live-share-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.record-live-share-input-row input{min-height:40px;border-radius:10px;border:1px solid rgba(148,163,184,.42);background:rgba(15,23,42,.75);color:#f8fafc;padding:9px 11px}.record-live-share-input-row input::placeholder{color:rgba(203,213,225,.8)}.record-live-share-stop-btn{min-height:40px;border-radius:10px;border:1px solid rgba(248,113,113,.72);background:rgba(127,29,29,.66);color:#fff1f2;font-weight:700}.record-live-share-feedback{margin:0;font-size:12px}.record-live-share-feedback.is-error{color:#fecaca}.record-live-share-feedback.is-success{color:#bbf7d0}.record-bottom-stack{position:absolute;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom) + var(--record-controls-height) + var(--record-controls-gap));z-index:40;display:grid;grid-gap:12px;gap:12px}.live-track-card{border-color:rgba(22,211,176,.24);display:grid;grid-gap:10px;gap:10px}.live-track-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.live-track-subtitle{margin:4px 0 0;color:rgba(201,223,213,.86);font-size:12px;line-height:1.3}.live-track-refresh-btn{min-width:102px}.live-track-empty{margin:0}.live-track-chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.live-track-chip-row::-webkit-scrollbar{height:4px}.live-track-chip{min-width:140px;border-radius:12px;border:1px solid rgba(148,163,184,.34);background:rgba(8,22,33,.74);color:#e6f7f0;padding:8px 10px;text-align:left;display:grid;grid-gap:3px;gap:3px}.live-track-chip strong{font-size:13px;line-height:1.1}.live-track-chip small{color:rgba(174,216,200,.92);font-size:11px}.live-track-chip.is-active{border-color:rgba(22,211,176,.58);background:rgba(11,50,61,.88)}.live-track-selected{display:grid;grid-gap:8px;gap:8px}.live-track-meta{margin:0;color:rgba(209,231,221,.88);font-size:12px}.live-track-map{border-color:rgba(148,163,184,.3)}.record-metrics-card{background:radial-gradient(circle at 14% 10%,rgba(105,180,46,.16),transparent 48%),linear-gradient(180deg,rgba(2,6,23,.94),rgba(2,6,23,.87));border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:14px 16px;box-shadow:0 18px 40px rgba(2,6,23,.58)}.record-metrics-mainbox{border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(2,6,12,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);padding:12px 12px 10px}.record-metrics-mainbox header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:8px;gap:8px;margin-bottom:9px}.record-metrics-mainbox header p{grid-column:2;justify-self:center;margin:0;font-size:22px;font-weight:500;color:#f8fafc;line-height:1.05;text-align:center}.record-metrics-mainbox header span{grid-column:3;justify-self:end;border-radius:999px;border:1px solid rgba(105,180,46,.55);background:rgba(105,180,46,.2);padding:4px 10px;font-size:11px;font-weight:500;color:#ecfdf3}.record-metrics-grid{display:grid;grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.record-metric-cell{text-align:center;min-width:0}.record-metric-value{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:clamp(24px,6.8vw,34px);line-height:1;font-weight:500;letter-spacing:-.02em;color:#ffffff}.record-timer-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum";letter-spacing:-.01em;font-size:clamp(29px,8vw,41px)}.record-distance-value,.record-pace-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum";font-size:clamp(22px,6vw,32px)}.record-metrics-grid small{display:block;margin-top:6px;color:#cbd5e1;font-size:11px;font-weight:500}.record-metrics-card footer{margin-top:11px;display:flex;align-items:center;justify-content:center;gap:10px}.record-session-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.record-session-meta small{color:#d7e2ef;font-size:12px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.06);padding:2px 8px}.record-finish-btn{min-height:36px;border-radius:999px;border:1px solid rgba(233,81,48,.8);background:var(--secondary);color:#fff;padding:7px 13px;font-size:13px;font-weight:500}.record-controls-dock{position:fixed;left:0;right:0;bottom:0;margin-top:10px;z-index:44;min-height:var(--record-controls-height);border-radius:18px 18px 0 0;border:1px solid #1e293b;background:linear-gradient(180deg,#020817,#01040f);box-shadow:0 14px 30px rgba(2,6,23,.55);padding:16px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;justify-content:center;align-items:end;gap:clamp(8px,3vw,18px)}.record-control-item{min-width:0;display:grid;justify-items:center;grid-gap:6px;gap:6px}.record-control-item-primary{gap:7px}.record-control-circle{width:59px;height:59px;min-height:59px;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:rgba(71,85,105,.66);color:#e2e8f0;position:relative;display:flex;justify-content:center;align-items:center;box-shadow:0 12px 24px rgba(2,6,23,.36)}.record-control-circle-icon{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center}.record-control-circle-icon svg{width:100%;height:100%}.record-control-selected-badge{position:absolute;top:-2px;right:-2px;width:21px;height:21px;border-radius:999px;border:2px solid rgba(2,6,23,.86);background:#e95130;color:#fff;display:inline-flex;align-items:center;justify-content:center}.record-control-selected-badge svg{width:12px;height:12px}.record-control-circle-workout{border-color:rgba(105,180,46,.5);background:radial-gradient(circle at 50% 20%,rgba(105,180,46,.3),rgba(23,37,16,.98));color:#9ce35b}.record-control-circle-route{border-color:rgba(148,163,184,.5);background:rgba(71,85,105,.7);color:#e2e8f0}.record-control-circle-route.is-active{border-color:rgba(56,189,248,.62);background:rgba(14,116,144,.7);color:#dcf6ff}.record-control-circle-primary{width:76px;height:76px;min-height:76px;border-color:rgba(251,146,60,.82);background:linear-gradient(140deg,#e95130,#f97316);color:#ffffff;box-shadow:0 16px 28px rgba(233,81,48,.4),inset 0 1px 0 rgba(255,255,255,.28)}.record-control-circle-primary .record-control-circle-icon{width:30px;height:30px}.record-control-circle-primary.is-pause{border-color:rgba(134,239,172,.9);background:linear-gradient(140deg,#65a30d,#16a34a);box-shadow:0 16px 28px rgba(22,163,74,.38),inset 0 1px 0 rgba(255,255,255,.24)}.record-control-circle-primary.is-ready{transform:translateY(-2px)}.record-control-circle-primary.is-live{animation:recordPrimaryPulse 1.8s ease-in-out infinite}.record-control-circle-primary.is-disabled{border-color:rgba(148,163,184,.56);background:rgba(71,85,105,.76);color:#f1f5f9}.record-control-circle-primary.is-disabled .record-control-circle-icon svg{animation:recordSpin 1.05s linear infinite}.record-control-label{width:min(84px,24vw);text-align:center;font-size:10px;line-height:1.1;font-weight:600;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-control-label-primary{font-size:11px;font-weight:700}.record-control-label-primary.is-ready{color:#ff915f}.record-control-label-primary.is-pause{color:#86efac}.record-control-label-primary.is-disabled{color:#cbd5e1}@keyframes recordSpin{to{transform:rotate(1turn)}}@keyframes recordPrimaryPulse{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}.record-error-banner{position:absolute;left:14px;right:14px;bottom:264px;margin:0;z-index:45;color:#7f1d1d;background:rgba(255,237,237,.95);border:1px solid rgba(248,113,113,.6);border-radius:12px;padding:10px 12px;font-size:13px}.record-type-backdrop{position:absolute;inset:0;z-index:58;border:0;border-radius:0;background:rgba(2,6,23,.62)}.record-type-sheet{position:absolute;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));z-index:60;border-radius:24px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(2,6,23,.97),rgba(2,6,23,.93));box-shadow:0 24px 50px rgba(2,6,23,.72);padding:16px;display:grid;grid-gap:12px;gap:12px}.record-type-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.record-type-sheet-head h3{margin:0;color:#f8fafc;font-size:20px}.record-type-sheet-head button{min-height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#f8fafc;padding:0 12px;font-size:12px;font-weight:700}.record-type-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.record-type-option{min-height:52px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#f8fafc;font-size:14px;font-weight:600;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 11px;text-align:left}.record-type-option.is-selected{border-color:rgba(105,180,46,.84);background:rgba(105,180,46,.2);color:#f4fff4}.record-type-option-icon{width:28px;height:28px;color:#dbe4ef}.record-type-option.is-selected .record-type-option-icon{color:#9ce35b}.record-type-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-type-option-check{width:22px;height:22px;border-radius:999px;background:#e95130;color:#ffffff;display:inline-flex;align-items:center;justify-content:center}.record-type-option-check svg{width:14px;height:14px}.record-type-custom-card{border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.04);padding:11px;display:grid;grid-gap:9px;gap:9px}.record-type-custom-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.record-type-custom-head strong{color:#f8fafc;font-size:14px}.record-type-custom-head small{color:#cbd5e1;font-size:12px}.record-type-custom-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.record-type-custom-input-row input{border-color:rgba(148,163,184,.42);background:rgba(15,23,42,.68);color:#f8fafc;min-height:40px}.record-type-custom-input-row input::placeholder{color:rgba(203,213,225,.8)}.record-type-custom-input-row .btn-secondary{border-color:rgba(148,163,184,.5);background:rgba(255,255,255,.14);color:#f8fafc;min-height:40px}.record-type-custom-list{display:grid;grid-gap:6px;gap:6px}.record-type-custom-item{border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(2,6,23,.64);padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.record-type-custom-item>span{color:#e2e8f0;font-size:13px}.record-type-custom-item-label{min-width:0;display:inline-flex;align-items:center;gap:8px}.record-type-custom-item-icon{width:18px;height:18px;color:#9ce35b;flex:0 0 auto}.record-type-custom-item button{min-height:28px;border-radius:999px;border:1px solid rgba(248,113,113,.6);background:rgba(248,113,113,.14);color:#fee2e2;font-size:11px;font-weight:700;padding:0 9px}.record-type-custom-empty{margin:0;color:#cbd5e1;font-size:12px}.record-type-error{margin:0;border-radius:10px;border:1px solid rgba(248,113,113,.58);background:rgba(127,29,29,.82);color:#fee2e2;font-size:12px;padding:8px 10px}.record-routes-sheet{gap:10px}.record-routes-feedback{margin:0;border-radius:10px;border:1px solid rgba(148,163,184,.45);background:rgba(15,23,42,.68);color:#e2e8f0;font-size:12px;padding:9px 10px}.record-routes-list{display:grid;grid-gap:8px;gap:8px;max-height:min(44vh,330px);overflow-y:auto;padding-right:2px}.record-route-item{border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(2,6,23,.64);color:#f8fafc;padding:10px 11px;display:grid;grid-gap:4px;gap:4px;text-align:left}.record-route-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.record-route-item-head strong{font-size:14px;font-weight:700}.record-route-item-head small{border-radius:999px;border:1px solid rgba(148,163,184,.55);background:rgba(15,23,42,.68);color:#cbd5e1;font-size:11px;font-weight:600;padding:2px 8px}.record-route-item-meta{color:#cbd5e1;font-size:12px;line-height:1.3}.record-routes-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.record-routes-actions .btn-secondary{min-height:40px}.activity-list{display:grid;grid-gap:12px;gap:12px;content-visibility:auto;contain-intrinsic-size:1px 700px}.activity-item{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:12px;border:1px solid var(--border);background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.activity-item:hover{border-color:#c7d2cc;box-shadow:0 8px 20px rgba(15,23,42,.05);transform:translateY(-1px)}.activity-item-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.activity-meta{margin:0;color:#475569;font-size:14px}.activity-type{margin:0;color:#0f172a;font-size:13px;font-weight:700}.activity-route-preview{border-radius:12px;border:1px solid #dde6e1;background:radial-gradient(circle at 12% 8%,rgba(105,180,46,.14),transparent 36%),radial-gradient(circle at 92% 90%,rgba(233,81,48,.14),transparent 34%),#f8fcf9;min-height:78px;display:flex;align-items:center;justify-content:center;overflow:hidden}.activity-route-svg{width:100%;height:78px;display:block}.activity-route-svg polyline{fill:none;stroke:#2dd4bf;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.activity-route-svg circle{fill:#ecfeff;stroke-width:1.2}.activity-route-svg circle.is-start{stroke:#16a34a}.activity-route-svg circle.is-end{stroke:#e95130}.activity-route-empty{color:#64748b;font-size:12px;font-weight:600}.activity-summary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.activity-summary-metric{display:grid;grid-gap:2px;gap:2px;border-radius:10px;border:1px solid #dde5df;background:#ffffff;padding:8px}.activity-summary-metric small{color:#64748b;font-size:11px}.activity-summary-metric strong{color:#0f172a;font-size:13px;line-height:1.2}.app-unified-shell .activity-route-preview{border-color:rgba(255,255,255,.16);background:radial-gradient(circle at 12% 8%,rgba(105,180,46,.2),transparent 38%),radial-gradient(circle at 92% 90%,rgba(233,81,48,.18),transparent 36%),rgba(7,22,33,.86)}.app-unified-shell .activity-route-svg polyline{stroke:#79ffe7}.app-unified-shell .activity-route-empty{color:rgba(211,232,223,.8)}.app-unified-shell .activity-summary-metric{border-color:rgba(255,255,255,.14);background:rgba(7,21,32,.88)}.app-unified-shell .activity-summary-metric small{color:rgba(198,222,212,.78)}.app-unified-shell .activity-summary-metric strong{color:#f8fafc}.detail-stack{display:grid;grid-gap:12px;gap:12px}.surface-muted{background:#f8faf9;border:1px dashed #d2ddd6;border-radius:12px;padding:12px}.surface-muted p{margin:0}.inline-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.recorder-controls{position:-webkit-sticky;position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:8;background:rgba(255,255,255,.95);border:1px solid var(--border);border-radius:14px;padding:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-bottom-nav{position:fixed;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 18px));bottom:8px;z-index:30;display:grid;grid-template-columns:repeat(var(--nav-items,1),minmax(0,1fr));justify-items:center;align-items:center;overflow:visible;grid-gap:0;gap:0;padding:8px 8px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(90,68,44,.62),rgba(44,35,24,.74));border:1px solid rgba(255,255,255,.22);border-radius:24px;box-shadow:0 16px 34px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav.is-static{transform:translateX(-50%) translateZ(0)}.mobile-bottom-nav::-webkit-scrollbar{display:none}.mobile-nav-item{display:grid;justify-items:center;align-content:center;grid-gap:4px;gap:4px;width:100%;min-height:56px;border:0;border-radius:14px;color:rgba(255,255,255,.94);background:transparent;padding:0 2px;transition:color .16s ease,background-color .16s ease}.mobile-nav-item:active{transform:none}.mobile-nav-icon{display:inline-flex;align-items:center;justify-content:center}.mobile-nav-icon,.mobile-nav-icon svg{width:24px;height:24px}.mobile-nav-record-logo{width:24px;height:24px;display:inline-block;background-image:url(/movnosiconebotao.jpg);background-repeat:no-repeat;background-position:50%;background-size:contain}.mobile-nav-label{font-size:11px;font-weight:700;line-height:1}.mobile-nav-item-active{color:#ffffff;background:rgba(255,255,255,.08)}.mobile-nav-item-record{transform:translateY(-11px)}.mobile-nav-item-record .mobile-nav-icon{width:58px;height:58px;border-radius:999px;border:2px solid rgba(255,255,255,.72);background:#ffffff;color:#111827;box-shadow:0 12px 22px rgba(15,23,42,.35)}.mobile-nav-item-record .mobile-nav-icon svg{width:21px;height:21px}.mobile-nav-item-record .mobile-nav-record-logo{width:30px;height:30px}.mobile-nav-item-record .mobile-nav-label{margin-top:1px}.mobile-nav-item-record.mobile-nav-item-active{background:transparent}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px;content-visibility:auto;contain-intrinsic-size:1px 520px}.media-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.media-card img,.media-card video{width:100%;display:block;object-fit:cover;max-height:280px}@media (max-width:800px){.app-frame,.app-main-content,.app-shell{width:100%;max-width:none;margin:0}.app-frame{padding:0}.app-main{padding:0 0 calc(92px + env(safe-area-inset-bottom))}.app-main-content>.grid{padding:0 8px}.app-unified-shell,.community-shell,.home-brand-shell,.performance-shell,.trainflix-shell,.you-shell{margin:0;border-radius:0}.mobile-bottom-nav{left:0;right:0;transform:none;width:100%;bottom:0;border-left:0;border-right:0;border-bottom:0;border-radius:22px 22px 0 0}.mobile-bottom-nav.is-static{transform:none}.home-brand-logo-image-wrap{width:clamp(92px,30vw,134px);aspect-ratio:646/168}.trainflix-head h1{font-size:34px}.trainflix-brand-mark{font-size:10px}.trainflix-filter-float{top:calc(env(safe-area-inset-top) + 6px);margin-bottom:12px;padding:5px;gap:6px}.trainflix-filter-chip{min-height:36px;font-size:11px;padding:0 14px}.community-head h1{font-size:32px}.community-highlight h2{font-size:27px}.you-head h1{font-size:31px}.trainflix-featured-video{height:214px}.trainflix-featured-body h2{font-size:22px;max-width:12ch}.trainflix-featured-body{left:8px;right:8px;bottom:8px;padding:9px 10px 10px;gap:6px}.trainflix-featured-actions{gap:7px}.trainflix-featured-action-disabled,.trainflix-featured-actions .trainflix-action-button,.trainflix-featured-actions a{min-height:38px;font-size:12px;padding:0 13px}.trainflix-row{margin-bottom:16px}.trainflix-row-head{margin-bottom:8px;padding-bottom:5px}.trainflix-row-head h3{font-size:20px}.trainflix-track{grid-auto-columns:minmax(194px,72%)}.trainflix-track-top10{grid-auto-columns:minmax(228px,82%)}.trainflix-top-rank{font-size:48px;width:32px}.community-card-head h3{font-size:21px}.you-insight-card strong{font-size:22px}.you-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.home-brand-section-head h3{font-size:22px;line-height:1.08}.home-brand-scroll-row{grid-auto-columns:minmax(206px,76%)}.home-brand-chip strong{font-size:18px}.home-weekly-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.home-missions{grid-template-columns:1fr}.home-level-badge{align-self:flex-start}.grid-2,.grid-3,.home-action-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}main{padding:20px 14px 96px}.auth-wrap{padding:18px 14px 12px}.card{padding:16px}.page-hero-head{flex-direction:column;align-items:stretch;gap:10px}.page-hero-actions{justify-content:flex-start}.inline-row button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 10px)}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-splash{padding:12px}.auth-card-strava{width:min(392px,100%);padding:18px 16px 16px}.auth-strava-title{font-size:26px}.signup-step-title{font-size:28px}.signup-inline-actions,.signup-name-grid{grid-template-columns:1fr}.signup-choice-btn{min-height:46px}.signup-motivation-card{min-height:68px}.signup-welcome-panel{min-height:232px}.signup-welcome-panel h2{font-size:27px}.auth-benefits{padding:10px}.auth-benefit-item p{font-size:11px}.onboarding-kicker{font-size:12px}.login-gps-banner{padding:8px 10px}.login-gps-banner p{font-size:10px}.auth-card{width:min(360px,100%);margin-bottom:12px}.auth-footer-logo{width:118px}.record-status-copy strong{font-size:16px}.record-controls-dock{gap:11px;padding:16px 10px calc(8px + env(safe-area-inset-bottom))}.body-reminder-actions{grid-template-columns:1fr}}@media (min-width:801px){.home-brand-shell{width:min(760px,calc(100% - 24px));margin:0 auto;border-radius:24px;border:1px solid rgba(255,255,255,.08);padding:20px 18px calc(120px + env(safe-area-inset-bottom))}.home-brand-scroll-row{grid-auto-columns:minmax(250px,38%)}.trainflix-shell{width:min(760px,calc(100% - 24px));margin:0 auto;border-radius:24px;border:1px solid rgba(255,255,255,.08);padding:20px 18px calc(120px + env(safe-area-inset-bottom))}.trainflix-filter-float{top:max(8px,calc(env(safe-area-inset-top) + 4px));margin-bottom:16px}.app-unified-shell,.community-shell,.performance-shell,.you-shell{width:min(760px,calc(100% - 24px));margin:0 auto;border-radius:24px;border:1px solid rgba(255,255,255,.08);padding:20px 18px calc(120px + env(safe-area-inset-bottom))}.trainflix-track{grid-auto-columns:minmax(232px,38%)}.trainflix-track-top10{grid-auto-columns:minmax(284px,44%)}.you-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.you-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trainflix-featured-video{height:268px}.trainflix-top-rank{font-size:64px;width:42px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.account-body-form{grid-template-columns:repeat(2,minmax(0,1fr))}.account-body-form .account-body-summary,.account-body-form .error,.account-body-form .field:first-child,.account-body-form .success,.account-body-form button{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media (min-width:801px){.app-main-content{padding:18px 6px calc(92px + env(safe-area-inset-bottom))}.nav-desktop{display:flex}.btn-compact{min-height:40px}.recorder-controls{position:static;border:0;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.record-bottom-stack,.record-top-overlay{left:50%;right:auto;width:min(760px,calc(100% - 32px));transform:translateX(-50%)}.record-bottom-stack{bottom:max(12px,env(safe-area-inset-bottom))}}.app-main-content:has(.app-route-back-btn) .app-unified-shell,.app-main-content:has(.app-route-back-btn) .performance-shell{padding-top:max(70px,calc(56px + env(safe-area-inset-top)))}.app-root-loading,.app-root-recovery{min-height:100dvh;padding:24px 16px;display:flex;align-items:center;justify-content:center;background:var(--app-shell-gradient)}.app-loading-card{border-color:rgba(226,232,240,.14);background:rgba(2,6,23,.62);box-shadow:0 16px 36px rgba(2,6,23,.34)}.app-loading-card+.app-loading-card{margin-top:12px}.app-loading-card-centered{width:min(520px,100%)}.app-loading-line{display:block;height:12px;margin-bottom:10px;border-radius:999px;background:linear-gradient(100deg,rgba(148,163,184,.18) 20%,rgba(241,245,249,.32) 50%,rgba(148,163,184,.2) 80%);background-size:220% 100%;animation:app-loading-shimmer 1.1s linear infinite}.app-loading-line-kicker{width:28%;height:10px}.app-loading-line-title{width:74%;height:16px}.app-loading-line-title.is-short{width:54%}.app-loading-line-body{width:100%}.app-loading-line-body.is-short{width:66%;margin-bottom:0}.app-loading-nav{pointer-events:none}.app-loading-nav-item{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.16);animation:app-loading-shimmer 1.1s linear infinite}.app-loading-nav-item-record{width:54px;height:54px;border-radius:999px;transform:translateY(-9px)}.app-recovery-card{border-color:rgba(255,255,255,.16);background:rgba(2,6,23,.74);color:#f8fafc}.app-recovery-kicker{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#86efac;font-weight:700}.app-recovery-title{color:#f8fafc;margin-bottom:6px}.app-recovery-subtitle{color:#cbd5e1;margin-bottom:16px}.app-recovery-actions{display:flex;flex-wrap:wrap;gap:10px}.app-recovery-actions .btn-primary,.app-recovery-actions .btn-secondary{flex:1 1 170px}.app-update-guard{position:fixed;top:max(10px,calc(8px + env(safe-area-inset-top)));left:0;right:0;transform:none;width:100%;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:0;border:1px solid rgba(134,239,172,.44);border-left:0;border-right:0;background:rgba(6,17,26,.92);color:#d1fae5;box-shadow:0 12px 28px rgba(2,6,23,.44);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-update-guard p{margin:0;font-size:13px}.app-update-guard .btn-primary{min-height:38px;padding:8px 12px;border-radius:10px;white-space:nowrap}@keyframes app-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.xp-celebration-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;pointer-events:none}.xp-celebration-card{position:relative;overflow:hidden;width:min(410px,100%);border-radius:22px;border:1px solid rgba(22,211,176,.42);background:radial-gradient(circle at 14% 0,rgba(105,180,46,.25),transparent 42%),radial-gradient(circle at 95% 10%,rgba(22,211,176,.22),transparent 44%),rgba(3,16,27,.95);box-shadow:0 24px 46px rgba(2,8,23,.6);color:#ecfdf5;padding:22px 18px;animation:xp-celebration-entry .42s cubic-bezier(.16,1,.3,1)}.xp-celebration-burst{position:absolute;top:-16px;right:-10px;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(105,180,46,.7) 0,rgba(105,180,46,0) 68%);animation:xp-celebration-pulse 1.7s ease-in-out infinite}.xp-celebration-kicker{margin:0;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93f9d3}.xp-celebration-title{margin:8px 0 0;font-size:30px;line-height:1.02;letter-spacing:-.03em}.xp-celebration-meta{margin:8px 0 0;color:rgba(203,243,231,.92);font-size:14px}.xp-celebration-trophies{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.xp-celebration-trophy{border-radius:999px;border:1px solid rgba(134,239,172,.42);background:rgba(105,180,46,.2);color:#dcfce7;font-size:12px;font-weight:700;padding:6px 10px}@keyframes xp-celebration-entry{0%{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes xp-celebration-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:.9;transform:scale(1.08)}}@media (max-width:800px){.app-root-loading,.app-root-recovery{padding:16px 10px 86px}.app-update-guard{top:auto;bottom:calc(84px + env(safe-area-inset-bottom));align-items:stretch;flex-direction:column;border-radius:0}.app-update-guard .btn-primary{width:100%}}.integrations-stats-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.integrations-stat-card{border:1px solid #dbe5de;border-radius:14px;background:#fff;padding:14px}.integrations-stat-card p{margin:0;color:#64748b;font-size:12px}.integrations-stat-card strong{display:block;margin-top:6px;font-size:24px;line-height:1.1}.integrations-grid{display:grid;grid-gap:12px;gap:12px}.integrations-provider-card{border-color:#dce6df}.integrations-provider-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.integrations-stage-badge{border-radius:999px;border:1px solid transparent;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.integrations-stage-badge.is-active{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.integrations-stage-badge.is-web_test_via_strava{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.integrations-stage-badge.is-direct_mobile_sdk{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.integrations-stage-badge.is-partner_program_required{background:#fff1f2;border-color:#fecdd3;color:#be123c}.integrations-stage-badge.is-planned{background:#f8fafc;border-color:#e2e8f0;color:#334155}.integrations-provider-subtitle{margin-bottom:12px}.integrations-provider-meta{display:grid;grid-gap:8px;gap:8px;margin:0 0 12px}.integrations-provider-meta div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.integrations-provider-meta dt{margin:0;color:#64748b;font-size:12px}.integrations-provider-meta dd{margin:0;color:#0f172a;font-size:13px;font-weight:600}@media (max-width:720px){.integrations-stats-row{grid-template-columns:1fr}}