:root{--color-bg:#f5f5f3;--color-surface:#fff;--color-text:#1a1a1a;--color-muted:#6b6b6b;--color-primary:#fc5200;--color-on-primary:#0a0a0a;--color-primary-text:#bf3c00;--color-border:#e2e2e0;--color-success:#1a7f37;--color-danger:#c0392b;--color-warning-bg:#fff4e5;--color-warning-border:#f0c987;--color-warning-text:#7a4a00;--content-form-width:600px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}[data-theme=dark]{--color-bg:#15171a;--color-surface:#202226;--color-text:#f0f0f0;--color-muted:#9a9fa6;--color-primary:#ff7433;--color-on-primary:#0a0a0a;--color-primary-text:#ff7433;--color-border:#34373c;--color-success:#3fb96a;--color-danger:#ff6b5e;--color-warning-bg:#3a2f14;--color-warning-border:#6b5322;--color-warning-text:#f0c987;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-accent=aqua]{--color-primary:#00c2db;--color-on-primary:#0a0a0a;--color-primary-text:#007584}[data-accent=lime]{--color-primary:#65fe08;--color-on-primary:#0a0a0a;--color-primary-text:#297a00}[data-accent=yellow]{--color-primary:#ffd60a;--color-on-primary:#0a0a0a;--color-primary-text:#836700}[data-accent=magenta]{--color-primary:#ff42d0;--color-on-primary:#0a0a0a;--color-primary-text:#ca0097}[data-accent=purple]{--color-primary:#8c32f2;--color-on-primary:#fff;--color-primary-text:#8c32f2}[data-theme=dark][data-accent=aqua]{--color-primary:#00c2db;--color-on-primary:#0a0a0a;--color-primary-text:#00c2db}[data-theme=dark][data-accent=lime]{--color-primary:#65fe08;--color-on-primary:#0a0a0a;--color-primary-text:#65fe08}[data-theme=dark][data-accent=yellow]{--color-primary:#ffd60a;--color-on-primary:#0a0a0a;--color-primary-text:#ffd60a}[data-theme=dark][data-accent=magenta]{--color-primary:#ff42d0;--color-on-primary:#0a0a0a;--color-primary-text:#ff42d0}[data-theme=dark][data-accent=purple]{--color-primary:#8c32f2;--color-on-primary:#fff;--color-primary-text:#b98cff}*{box-sizing:border-box}body{transition:background-color .15s,color .15s}a{color:var(--color-primary-text);font-weight:500;text-decoration:none}a:hover{text-decoration:underline}.material-symbols-outlined{vertical-align:middle;-webkit-user-select:none;user-select:none;font-family:Material Symbols Outlined;font-size:1.25rem;font-style:normal;font-weight:400;line-height:1;display:inline-flex}body{background:var(--color-bg);color:var(--color-text);margin:0}button{background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1.25rem;font-family:inherit;font-size:1rem;font-weight:600;display:inline-flex}button:disabled{opacity:.6;cursor:not-allowed}.link-button{color:var(--color-text);background:0 0;padding:.5rem;font-weight:500}:root[data-native] input[type=date]{appearance:none;background:var(--color-surface);min-height:2.9rem;color:var(--color-text);text-align:left}input,select,textarea{border:1px solid var(--color-border);border-radius:6px;padding:.6rem;font-family:inherit;font-size:1rem}textarea{resize:vertical}label{flex-direction:column;gap:.35rem;margin-bottom:1rem;font-weight:500;display:flex}.navbar-brand{color:var(--color-primary-text);align-items:center;gap:.4rem;font-size:1.25rem;font-weight:800;display:flex}.navbar-brand .material-symbols-outlined{background:var(--color-primary);color:var(--color-on-primary);border-radius:8px;padding:.3rem;font-size:1.35rem}.navbar-brand .version-badge{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);white-space:nowrap;cursor:default;border-radius:999px;align-items:baseline;gap:.35rem;margin-left:.25rem;padding:.1rem .5rem;font-size:.7rem;font-weight:700;line-height:1.4;display:inline-flex}.version-badge-commit{color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500}.navbar-topbar-actions{align-items:center;gap:1.25rem;display:flex}.navbar-topbar-actions a,.navbar-topbar-actions button{color:var(--color-text);align-items:center;gap:.35rem;font-weight:500;text-decoration:none;display:inline-flex}.navbar-topbar-actions a.active{background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;padding:.2rem .65rem}.navbar-sidebar{top:calc(64px + var(--safe-top));z-index:30;border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:.15rem;width:210px;padding:1rem .75rem;display:flex;position:fixed;bottom:0;left:0;overflow-y:auto}.navbar-sidebar a{color:var(--color-text);border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-weight:500;text-decoration:none;display:flex}.navbar-sidebar a.active{color:var(--color-on-primary);background:var(--color-primary)}.navbar-sidebar-profile{margin-top:auto;margin-bottom:.75rem}.navbar-sidebar-avatar{border-radius:8px}.navbar-sidebar-collapse-toggle{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-muted);background:0 0;border-radius:8px;justify-content:center;align-self:flex-end;align-items:center;padding:0;display:flex}:root[data-sidebar-collapsed=true] .navbar-sidebar{width:64px}:root[data-sidebar-collapsed=true] .navbar-sidebar-label{display:none}:root[data-sidebar-collapsed=true] .navbar-sidebar a{justify-content:center}:root[data-sidebar-collapsed=true] .navbar-sidebar-collapse-toggle{align-self:center}@media (width>=641px){:root[data-sidebar-collapsed=true] .app-main{margin-left:64px}}.navbar-links{display:none}.navbar-links a,.navbar-links button{align-items:center;gap:.35rem;display:inline-flex}.navbar-links a{color:var(--color-text);font-weight:500;text-decoration:none}.navbar-links a.active{background:var(--color-primary);color:var(--color-on-primary)}.navbar-bottom-tabs{display:none}.page{max-width:720px;margin:0 auto;padding:1.5rem}@media (width>=1100px){.page{max-width:960px}}.shared-activity-page{background:var(--color-bg);min-height:100vh}.shared-activity-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.shared-activity-header-actions{align-items:center;gap:1rem;display:flex}.shared-activity-cta{text-align:center;margin-top:1.5rem}.page h1 .material-symbols-outlined{color:var(--color-primary-text);margin-right:.4rem;font-size:1.5rem}.page-center{justify-content:center;align-items:center;height:100vh;display:flex}.auth-page{min-height:100vh;padding:calc(1rem + var(--safe-top)) max(1rem, var(--safe-right)) calc(1rem + var(--safe-bottom)) max(1rem, var(--safe-left));background:radial-gradient(ellipse 70% 55% at 50% -10%, color-mix(in srgb, var(--color-primary) 30%, transparent), transparent 60%), var(--color-bg);justify-content:center;align-items:center;display:flex}[data-theme=dark] .auth-page{background:radial-gradient(ellipse 65% 50% at 12% -8%, color-mix(in srgb, var(--color-primary) 32%, transparent), transparent 60%), radial-gradient(ellipse 60% 45% at 105% 105%, #3f6fb938, transparent 55%), var(--color-bg)}.auth-form{background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border);width:100%;max-width:360px;box-shadow:0 1px 3px #00000014, 0 0 60px -20px color-mix(in srgb, var(--color-primary) 45%, transparent);border-radius:12px;padding:2rem}.auth-logo{background:var(--color-primary);width:56px;height:56px;color:var(--color-on-primary);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.auth-logo .material-symbols-outlined{font-size:1.75rem}.auth-form button{width:100%}.oauth-buttons{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.oauth-button{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);font-weight:500}.auth-divider{color:var(--color-muted);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.mode-toggle{margin:.25rem 0 1rem;font-size:.9rem}.auth-form h1{color:var(--color-primary-text);text-align:center;margin:0 0 .25rem}.auth-subtitle{color:var(--color-muted);text-align:center;margin:0 0 1.5rem}.form-error{color:var(--color-danger);font-weight:500}.stats-row{flex-wrap:wrap;gap:1rem;margin:1.5rem 0;display:flex}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;flex:130px;align-items:center;padding:1rem;display:flex}.stat-card .material-symbols-outlined{color:var(--color-primary-text);margin-bottom:.25rem;font-size:1.5rem}.contribution-calendar{margin:1rem 0 1.5rem;overflow-x:auto}.contribution-cell.level-0{fill:var(--color-border)}.contribution-cell.level-1{fill:color-mix(in srgb, var(--color-primary) 35%, transparent)}.contribution-cell.level-2{fill:color-mix(in srgb, var(--color-primary) 65%, transparent)}.contribution-cell.level-3{fill:var(--color-primary-text)}.elevation-chart{margin:1rem 0 1.5rem}.elevation-chart svg{width:100%;height:120px;display:block}.elevation-chart-area{fill:var(--color-primary-text);fill-opacity:.15;stroke:none}.elevation-chart-line{fill:none;stroke:var(--color-primary-text);stroke-width:2px;vector-effect:non-scaling-stroke}.elevation-chart-labels,.elevation-chart-footer{color:var(--color-muted);justify-content:space-between;font-size:.75rem;display:flex}.elevation-chart-labels{margin-top:.25rem}.segment-progress-heading{color:var(--color-muted);margin:0 0 .4rem;font-size:.85rem;font-weight:600}.segment-progress-chart{margin:0 0 1rem}.segment-progress-chart svg{width:100%;height:80px;display:block}.segment-progress-line{fill:none;stroke:var(--color-primary-text);stroke-width:2px;vector-effect:non-scaling-stroke}.segment-progress-point{fill:var(--color-surface);stroke:var(--color-primary-text);stroke-width:1.5px;vector-effect:non-scaling-stroke}.segment-progress-point.best{fill:var(--color-primary-text)}.segment-progress-footer{color:var(--color-muted);justify-content:space-between;margin-top:.25rem;font-size:.75rem;display:flex}.splits-list{border:1px solid var(--color-border);border-radius:10px;margin:0 0 1.5rem;padding:0;list-style:none;overflow:hidden}.splits-row{border-bottom:1px solid var(--color-border);grid-template-columns:2rem 1fr 1fr 1fr;align-items:center;gap:.5rem;padding:.6rem 1rem;display:grid}.splits-row:last-child{border-bottom:none}.splits-index{color:var(--color-muted);font-weight:500}.splits-pace,.splits-duration{text-align:right;font-variant-numeric:tabular-nums}.segment-effort-row{grid-template-columns:1fr 1fr 1fr auto}.gear-row{grid-template-columns:1fr auto auto auto auto}.gear-default-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--color-primary-text);border:1px solid var(--color-primary-text);border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.segment-effort-name{color:var(--color-text);align-items:center;gap:.4rem;font-weight:500;display:inline-flex}.segment-pr-badge{color:var(--color-primary-text);align-items:center;gap:.2rem;font-size:.85rem;font-weight:600;display:flex}.segment-pr-badge .material-symbols-outlined{font-size:1.1rem}.highlight-row{grid-template-columns:2rem 1fr auto auto}.highlight-label{font-weight:500}.highlight-time{color:var(--color-muted);text-align:right;font-variant-numeric:tabular-nums}.export-button-row{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.activity-badge-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.activity-badge{background:var(--color-surface-muted,var(--color-border));border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.85rem;font-weight:500;display:inline-flex}.activity-badge .material-symbols-outlined{font-size:1rem}.activity-description{white-space:pre-wrap;margin:0 0 1rem}.group-ride-feed-badge{color:var(--color-primary-text);align-items:center;gap:.25rem;margin-top:.2rem;font-size:.85rem;font-weight:500;display:inline-flex}.group-ride-feed-badge .material-symbols-outlined{font-size:1rem}.activity-list li.outing-card{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);background:var(--color-surface);border-radius:12px;margin:.75rem 0;position:relative;overflow:hidden}.activity-list a.outing-head,.outing-head{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));color:var(--color-text);flex-direction:row;align-items:center;gap:.75rem;padding:.75rem .9rem;text-decoration:none;display:flex}.outing-avatars{flex-shrink:0;display:inline-flex}.outing-avatars .avatar,.outing-avatars .avatar-placeholder{box-shadow:0 0 0 2px var(--color-surface)}.outing-avatars>*+*{margin-left:-10px}.outing-head-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.outing-names{overflow-wrap:anywhere;font-weight:700}.outing-sub{color:var(--color-primary-text);align-items:flex-start;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.outing-sub .material-symbols-outlined{flex-shrink:0;font-size:1.1rem}.outing-date{color:var(--color-muted);font-size:.8rem}.outing-chevron{color:var(--color-muted);margin-left:auto}.outing-rows{margin:0;padding:.25rem .9rem;list-style:none}.activity-list .outing-rows li{border-bottom:none;position:relative}.activity-list .outing-rows li:not(:last-child):after{content:"";border-left:2px dotted var(--color-primary);opacity:.6;position:absolute;top:calc(50% + 18px);bottom:calc(18px - 50%);left:17px}.activity-list a.outing-row{flex-direction:row;align-items:center;gap:.75rem;padding:.7rem 0}.outing-row-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.outing-more{color:var(--color-muted);margin:0;padding:0 .9rem .7rem 3.2rem;font-size:.85rem}.guest-add-form{align-items:center;gap:.75rem;margin:1rem 0;display:flex}.guest-add-form input{flex:1}.config-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.config-row:last-child{border-bottom:none}.config-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.connection-status{flex-shrink:0;align-items:center;gap:.3rem;font-size:.9rem;font-weight:500;display:inline-flex}.connection-status-connected{color:var(--color-success)}.connection-status-not_configured{color:var(--color-muted)}.connection-status-error{color:var(--color-danger)}.connection-status-checking{color:var(--color-muted)}.gear-picker-add{border:1px solid var(--color-border);border-radius:10px;margin:0 0 1rem;padding:.8rem}.gear-picker-add-actions{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.rating-icons{gap:.1rem;display:flex}.empty-state{border:1px solid var(--color-border);color:var(--color-muted);border-radius:10px;padding:1.25rem;font-size:1rem}.gopro-panel{border:1px solid var(--color-border);border-radius:10px;margin:1rem 0;padding:.8rem 1rem}.gopro-connected-row{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;display:flex}.gopro-connected-row>span{align-items:center;gap:.3rem;font-weight:500;display:flex}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{color:var(--color-muted);font-size:.85rem}.activity-list{margin:0;padding:0;list-style:none}.activity-list li{border-bottom:1px solid var(--color-border)}.activity-list a{color:var(--color-text);flex-direction:column;gap:.25rem;padding:.9rem .25rem;text-decoration:none;display:flex}.activity-list a.activity-list-link{flex-direction:row;align-items:center;gap:.75rem}.activity-list-body{flex-direction:column;gap:.25rem;display:flex}.activity-author{color:inherit;align-items:center;gap:.5rem;margin-bottom:.5rem;text-decoration:none;display:inline-flex}.visibility-badge{color:var(--color-muted);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.2rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.visibility-badge .material-symbols-outlined{font-size:.9rem}.activity-title{align-items:center;gap:.4rem;font-weight:600;display:flex}.activity-title .material-symbols-outlined{color:var(--color-primary-text)}.activity-meta{color:var(--color-muted);font-size:.9rem}.weather-inline-icon{vertical-align:text-bottom;font-size:1rem}.weather-banner{color:var(--color-muted);align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.weather-banner .material-symbols-outlined{color:var(--color-primary-text);font-size:1.4rem}.weather-banner-temp{color:var(--color-text);font-size:1.1rem;font-weight:700}.goal-progress{margin-bottom:1.5rem}.weekly-recap{border:1px solid var(--color-primary-text);background:color-mix(in srgb, var(--color-primary) 6%, transparent);border-radius:12px;margin:1.5rem 0;padding:1rem 1.25rem 1.25rem}.weekly-recap h2{align-items:center;gap:.6rem;margin:0 0 .15rem;display:flex}.weekly-recap h2 .material-symbols-outlined{flex-shrink:0;font-size:1.35em}.weekly-recap .stats-row{margin:1rem 0 0}.goal-progress-header{color:var(--color-muted);justify-content:space-between;margin-bottom:.4rem;font-size:.9rem;display:flex}.goal-progress-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;height:8px;overflow:hidden}.goal-progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s}.route-map{border:1px solid var(--color-border);border-radius:12px;width:100%;height:320px;overflow:hidden}.heatmap-map{border:1px solid var(--color-border);border-radius:12px;width:100%;height:70vh;min-height:400px;margin-top:1rem;overflow:hidden}.planned-route-map{border:1px solid var(--color-border);cursor:crosshair;border-radius:12px;width:100%;height:50vh;min-height:320px;margin-top:1rem;overflow:hidden}.planned-route-draft-actions{align-items:center;gap:1rem;margin:.75rem 0 1.5rem;display:flex}.gpx-export-button{margin-top:.5rem}.track-setup{max-width:var(--content-form-width);flex-direction:column;gap:1rem;display:flex}.field-label{margin-bottom:.5rem;font-weight:500;display:block}.segmented-control{gap:.5rem;max-width:320px;margin-bottom:1.25rem;display:flex}.activity-filter-bar{max-width:var(--content-form-width);flex-direction:column;gap:.75rem;margin:1rem 0 1.5rem;display:flex}.activity-filter-bar .segmented-control{max-width:none;margin-bottom:0}.segment{background:var(--color-surface);width:auto;color:var(--color-text);border:1px solid var(--color-border);flex:1;font-size:.9rem;font-weight:500}.segment.selected{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary-text)}.accent-swatch{border:1px solid #00000026;border-radius:50%;width:.9rem;height:.9rem}.activity-type-picker{gap:.5rem;margin-bottom:1rem;display:flex}.activity-type-option{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);flex-direction:column;flex:1;gap:.3rem;padding:.75rem .5rem;font-size:.85rem;font-weight:500}.activity-type-option .material-symbols-outlined{font-size:1.4rem}.activity-type-option.selected{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary-text)}.hint{color:var(--color-muted);font-size:.85rem}.save-form{max-width:var(--content-form-width);margin-top:1.5rem;margin-bottom:1.5rem}.settings-section{margin-top:1.5rem}.private-details{flex-direction:column;gap:1.1rem;display:flex}.private-details h2,.private-details p{margin:0}.private-details label{flex-direction:column;gap:.45rem;max-width:360px;display:flex}.private-details .settings-form{flex-direction:column;gap:.85rem;display:flex}.group-suggestions .splits-list{margin:.5rem 0 0}.group-suggestion-row{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;padding:.85rem 0;display:flex}.group-suggestion-row:last-child{border-bottom:none}.group-suggestion-who{align-items:center;gap:.65rem;min-width:0;display:flex}.group-suggestion-row .recovery-banner-actions{align-items:center;gap:.75rem;display:flex}.compare-others-pool{margin-top:1rem}.compare-others-pool h3{margin:0 0 .5rem;font-size:1rem}.compare-others-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.compare-others-row{grid-template-columns:minmax(8rem,12rem) minmax(4rem,1fr) auto;align-items:center;gap:.75rem;display:grid}.compare-others-bar{background:var(--color-border);border-radius:999px;height:.5rem;overflow:hidden}.compare-others-fill{background:var(--color-primary);border-radius:999px;height:100%;display:block}.compare-others-stat{white-space:nowrap}@media (width<=640px){.compare-others-row{grid-template-columns:1fr;gap:.35rem}.compare-others-stat{white-space:normal}}.danger-zone h2{color:var(--color-danger)}.danger-form{flex-direction:column;gap:.85rem;margin-top:.75rem;display:flex}.danger-form label{flex-direction:column;gap:.4rem;display:flex}.danger-button{background:var(--color-danger);border-color:var(--color-danger);color:#fff;justify-content:center;align-self:flex-start;align-items:center;gap:.4rem;display:inline-flex}.danger-button:disabled{opacity:.5}:root[data-native] body{overscroll-behavior:none}:root[data-native] *{-webkit-tap-highlight-color:transparent}.about-section p{max-width:60ch;margin:0 0 .9rem;line-height:1.55}.about-links{flex-direction:column;align-items:flex-start;gap:.7rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.about-links .link-button{align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.feedback-form{flex-direction:column;gap:1rem;max-width:560px;margin-top:1rem;display:flex}.feedback-form label{flex-direction:column;gap:.45rem;display:flex}.feedback-form label.checkbox-label{flex-direction:row;align-items:flex-start;gap:.6rem}.feedback-form textarea{resize:vertical;width:100%;font:inherit}.feedback-form .hint,.feedback-form p{margin:0}.feedback-form .segmented-control{max-width:none;margin-bottom:0}.feedback-form .segmented-control.wrap .segment{white-space:nowrap;flex:auto;justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-reply{overflow-wrap:anywhere;align-self:flex-start;align-items:center;gap:.35rem;display:inline-flex}.feedback-agent{overflow-wrap:anywhere;opacity:.75}.section-divider{border:none;border-top:1px solid var(--color-border);margin:2rem 0 0}.provider-list{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.provider-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.provider-row .hint{text-align:right}.provider-name{white-space:nowrap;flex-shrink:0;align-items:center;gap:.6rem;font-weight:600;display:flex}.provider-status{align-items:center;gap:.75rem;display:flex}.provider-connected{color:var(--color-success);align-items:center;gap:.3rem;font-size:.9rem;font-weight:500;display:inline-flex}.provider-connect-button{width:auto}.settings-form{max-width:360px}.settings-form-footer{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.settings-form-footer .link-button{white-space:nowrap}.trim-editor{max-width:var(--content-form-width)}.trim-editor input[type=range]{border:none;width:100%;padding:0}.form-success{color:var(--color-success);font-weight:500}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0}.avatar-placeholder{background:var(--color-border);color:var(--color-muted);justify-content:center;align-items:center;display:inline-flex}.avatar-placeholder .material-symbols-outlined{font-size:60%}.avatar-upload{align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;margin:1rem 0;display:grid}.photo-grid-item{aspect-ratio:1;border:1px solid var(--color-border);border-radius:10px;position:relative;overflow:hidden}.photo-grid-item img{object-fit:cover;width:100%;height:100%;display:block}.photo-remove-button{color:#fff;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;display:flex;position:absolute;top:.3rem;right:.3rem}.photo-remove-button .material-symbols-outlined{font-size:1rem}.photo-upload-label{cursor:pointer;align-items:center;gap:.4rem;margin-bottom:1rem;display:inline-flex}.profile-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.profile-header h1{margin:0}.tab-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.tab{color:var(--color-muted);border:1px solid var(--color-border);background:0 0;padding:.5rem 1rem;font-weight:500}.tab.selected{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary-text)}.social-counts{color:var(--color-muted);flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto;font-size:.85rem;display:inline-flex}.social-counts .material-symbols-outlined{font-size:1.1rem}.social-counts .material-symbols-outlined:not(:first-child){margin-left:.5rem}.activity-social{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.5rem}.like-button{background:var(--color-surface);width:auto;color:var(--color-text);border:1px solid var(--color-border)}.like-button .material-symbols-outlined{color:var(--color-muted)}.like-button.liked{color:var(--color-primary-text);border-color:var(--color-primary-text)}.like-button.liked .material-symbols-outlined{color:var(--color-primary-text)}.comment-list{flex-direction:column;gap:1rem;margin:1rem 0;padding:0;list-style:none;display:flex}.comment-row{align-items:flex-start;gap:.75rem;display:flex}.comment-body{flex-direction:column;flex:1;gap:.15rem;display:flex}.comment-body p{margin:0}.comment-meta{color:var(--color-muted);font-size:.85rem}.comment-meta a{color:var(--color-text);font-weight:600;text-decoration:none}.comment-delete{flex-shrink:0;padding:.25rem}.comment-form{gap:.5rem;display:flex}.comment-form input{flex:1}.comment-form button{width:auto}.comment-reply-toggle{color:var(--color-muted);align-self:flex-start;padding:.1rem 0;font-size:.8rem}.comment-reply-list{border-left:2px solid var(--color-border);flex-direction:column;gap:.75rem;margin:.75rem 0 0;padding:0 0 0 2.5rem;list-style:none;display:flex}.comment-reply-form{margin:.5rem 0 0 2.5rem}.activity-detail-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.activity-detail-header h1{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.activity-detail-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.activity-copied-note{color:var(--color-success);font-size:.85rem;font-weight:600}.action-menu{position:relative}.action-menu-button{border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-text);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.action-menu-button[aria-expanded=true]{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));border-color:var(--color-primary)}.action-menu-list{z-index:25;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;min-width:15rem;max-width:calc(100vw - 2rem);padding:.35rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 10px 30px #00000047}.action-menu-item{width:100%;color:var(--color-text);text-align:left;background:0 0;border:none;border-radius:8px;justify-content:flex-start;align-items:center;gap:.7rem;padding:.7rem .75rem;font-weight:500;display:flex}.action-menu-item .material-symbols-outlined{flex-shrink:0}.action-menu-item:hover:not(:disabled),.action-menu-item:focus-visible{background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.action-menu-item:disabled{opacity:.5}.action-menu-item.danger{color:var(--color-danger)}.action-menu-divider{background:var(--color-border);height:1px;margin:.35rem .25rem}.action-menu-heading{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;padding:.45rem .75rem .2rem;font-size:.75rem;font-weight:700}.danger-button{background:var(--color-surface);width:auto;color:var(--color-danger);border:1px solid var(--color-danger)}.danger-text{color:var(--color-danger)}.club-actions{gap:.75rem;margin:1rem 0 1.5rem;display:flex}.club-actions button{width:auto}.challenges-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.challenge-form{max-width:var(--content-form-width);border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-direction:column;gap:.75rem;margin:1rem 0 1.5rem;padding:1rem;display:flex}.challenge-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin:0 0 1.5rem;padding:1rem}.challenge-card-header{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.event-rsvp-actions{gap:.5rem;margin-top:.5rem;display:flex}.event-rsvp-button{border:1px solid var(--color-border);width:auto;color:var(--color-text);background:0 0;padding:.4rem .9rem;font-size:.85rem}.event-rsvp-button.active{border-color:var(--color-primary-text);color:var(--color-primary-text);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.event-rsvp-summary{margin:.5rem 0 0}.challenge-progress-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.challenge-progress-row{align-items:center;gap:.6rem;display:flex}.challenge-progress-name{min-width:7rem;font-size:.9rem}.challenge-progress-bar{background:var(--color-border);border-radius:999px;flex:1;height:8px;overflow:hidden}.challenge-progress-bar-fill{background:var(--color-primary);border-radius:999px;height:100%}.achievement-grid{flex-wrap:wrap;gap:.75rem;margin:1rem 0 2rem;padding:0;list-style:none;display:flex}.achievement-badge{border:1px solid var(--color-border);background:var(--color-surface);width:84px;color:var(--color-muted);text-align:center;opacity:.5;border-radius:10px;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;display:flex}.achievement-badge .material-symbols-outlined{font-size:1.5rem}.achievement-badge.earned{opacity:1;color:var(--color-text);border-color:var(--color-primary-text)}.achievement-badge.earned .material-symbols-outlined{color:var(--color-primary-text)}.achievement-badge-title{font-size:.75rem;font-weight:500;line-height:1.2}.pr-list{flex-direction:column;gap:.5rem;margin:1rem 0 2rem;padding:0;list-style:none;display:flex}.pr-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.pr-type{align-items:center;gap:.4rem;min-width:5rem;font-weight:600;display:flex}.pr-stat{color:inherit;flex-direction:column;text-decoration:none;display:flex}.pr-stat-value{font-weight:700}.pr-stat-label{color:var(--color-muted);font-size:.8rem}.member-list{flex-direction:column;gap:.5rem;margin:1rem 0 2rem;padding:0;list-style:none;display:flex}.member-row{color:var(--color-text);align-items:center;gap:.6rem;font-weight:500;text-decoration:none;display:flex}.owner-badge{color:var(--color-primary-text);border:1px solid var(--color-primary-text);border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:600}.admin-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.admin-row-actions{align-items:center;gap:.75rem;display:flex}.segment-row{flex-direction:column;align-items:stretch;gap:.5rem}.segment-row-main{width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:0;font-weight:500;display:flex}.segment-row-name{text-align:left;flex:1}.segment-leaderboard{padding:.5rem 0 .75rem}.segment-leaderboard-list{counter-reset:leaderboard;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.segment-leaderboard-row{counter-increment:leaderboard;align-items:center;gap:.5rem;display:flex}.segment-leaderboard-row:before{content:counter(leaderboard) ".";color:var(--color-muted);width:1.25rem}.segment-leaderboard-row.mine{color:var(--color-primary-text);font-weight:700}.segment-leaderboard-time{font-variant-numeric:tabular-nums;margin-left:auto}.banned-badge{color:var(--color-danger);align-items:center;gap:.3rem;font-size:.85rem;font-weight:500;display:inline-flex}.report-row{align-items:flex-start;gap:1rem}.report-row-main{flex-direction:column;flex:1;gap:.35rem;display:flex}.report-parties{align-items:center;gap:.5rem;display:flex}.report-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.report-reason{white-space:pre-wrap;margin:0}.report-row .admin-row-actions{flex-direction:column;flex-shrink:0;align-items:flex-end}.report-show-resolved{flex-direction:row;align-items:center;gap:.5rem;margin:1rem 0;font-weight:500;display:flex}.report-show-resolved input{width:auto}.report-form{margin-top:.75rem}:root{--safe-top:env(safe-area-inset-top,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}.navbar-top{height:calc(64px + var(--safe-top));padding:var(--safe-top) max(1.5rem, var(--safe-right)) 0 max(1.5rem, var(--safe-left));z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar-menu-toggle{width:auto;color:var(--color-text);background:0 0;border:none;padding:.25rem;display:none}.app-main{margin-left:210px;margin-top:calc(64px + var(--safe-top))}@media (width<=640px){.navbar-top{height:calc(60px + var(--safe-top));padding:var(--safe-top) max(1rem, var(--safe-right)) 0 max(1rem, var(--safe-left))}.navbar-sidebar,.navbar-topbar-actions{display:none}:root .app-main{margin-left:0;margin-top:calc(60px + var(--safe-top));padding-bottom:calc(4.5rem + var(--safe-bottom))}.navbar-menu-toggle{display:inline-flex}.navbar-links{top:calc(60px + var(--safe-top));z-index:35;max-height:calc(100vh - 60px - var(--safe-top) - 4.5rem - var(--safe-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:0;padding:.75rem 1rem 0;position:fixed;left:0;right:0;overflow-y:auto}.navbar-links.open{display:flex}.navbar-links a,.navbar-links button{border-radius:8px;flex-direction:row;justify-content:flex-start;gap:.6rem;width:100%;padding:.7rem .75rem;font-size:1rem}.navbar-bottom-tabs{z-index:30;background:var(--color-surface);border-top:1px solid var(--color-border);padding:.4rem max(.5rem, var(--safe-right)) calc(.4rem + var(--safe-bottom)) max(.5rem, var(--safe-left));display:flex;position:fixed;bottom:0;left:0;right:0}.navbar-bottom-tabs a{color:var(--color-muted);flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.25rem 0;font-size:.65rem;text-decoration:none;display:flex}.navbar-bottom-tabs a.active{color:var(--color-text)}.navbar-bottom-tabs a.active:not(.bottom-tab-record):not(.bottom-tab-you) .material-symbols-outlined,.navbar-bottom-tabs a.active:not(.bottom-tab-record) .bottom-tab-you-icon{background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;padding:.1rem .9rem}.bottom-tab-you-icon{border-radius:999px;justify-content:center;align-items:center;padding:.1rem .9rem;display:inline-flex}.bottom-tab-you-icon .avatar{object-fit:cover;border-radius:50%}.navbar-bottom-tabs a.bottom-tab-record{color:var(--color-primary-text);font-weight:600}.navbar-bottom-tabs a.bottom-tab-record .material-symbols-outlined{background:var(--color-primary);width:3.4rem;height:3.4rem;color:var(--color-on-primary);box-shadow:0 4px 12px #00000059, 0 0 0 4px var(--color-surface);border-radius:50%;justify-content:center;align-items:center;margin-top:-1.5rem;font-size:1.9rem}.page{padding:1rem}label{margin-bottom:.75rem}.settings-section{margin-top:1rem}.section-divider{margin-top:1.25rem}.stats-row{flex-wrap:wrap}.stat-card{flex:40%}.oauth-buttons,.club-actions,.admin-row-actions{flex-wrap:wrap}.admin-row{flex-wrap:wrap;gap:.5rem}.segmented-control,.activity-type-picker{max-width:none}.activity-filter-bar .segment{min-width:0;padding-left:.5rem;padding-right:.5rem}.health-workout-row{flex-wrap:wrap}}.health-workout-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem .25rem;display:flex}.health-workout-row .provider-connect-button{flex-shrink:0}.offline-banner{background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-warning-text);align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.offline-banner-text{flex-direction:column;flex:1;gap:.15rem;font-size:.9rem;display:flex}.offline-banner-error{color:var(--color-danger)}.offline-banner .link-button{color:var(--color-warning-text);flex-shrink:0;font-weight:600}.recovery-banner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.recovery-banner-actions{flex-shrink:0;gap:.5rem;display:flex}.recovery-banner-actions button{width:auto}.offline-hint{align-items:center;gap:.4rem;margin-bottom:1rem;display:flex}.paused-hint{color:var(--color-primary-text);align-items:center;gap:.4rem;margin-bottom:1rem;font-weight:500;display:flex}.gps-warning-hint{border-radius:var(--radius-md,8px);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);align-items:center;gap:.4rem;margin-bottom:1rem;padding:.6rem .8rem;font-weight:500;display:flex}.crash-banner{border:2px solid var(--color-danger);border-radius:var(--radius-md,8px);background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger);align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.crash-banner .material-symbols-outlined{flex-shrink:0;font-size:2rem}.crash-banner-body{flex:1}.crash-banner-body strong{display:block}.crash-banner-body p{color:var(--color-text);margin:.2rem 0 0}.crash-banner button{flex-shrink:0;width:auto}.manual-entry-hint{align-items:center;gap:.4rem;margin:1rem 0;display:flex}.checkbox-label{flex-direction:row;align-items:flex-start;gap:.5rem;font-weight:500;line-height:1.4}.checkbox-label input{flex-shrink:0;width:auto;margin-top:.2rem}.save-activity-actions{align-items:center;gap:1rem;display:flex}.private-lock{color:var(--color-muted);margin-left:.3rem;font-size:1rem!important}.notification-icon-wrap{display:inline-flex;position:relative}.notification-badge{background:var(--color-danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-6px;right:-8px}.message-search-box{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:10px;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem .9rem;display:flex}.message-search-box input{color:var(--color-text);background:0 0;border:none;flex:1;padding:0}.message-search-box input:focus{box-shadow:none;outline:none}.search-result-row{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);width:100%}.search-result-row mark{background:color-mix(in srgb, var(--color-primary) 30%, transparent);color:inherit;border-radius:3px}.notification-day+.notification-day{margin-top:1.5rem}.notification-day-header{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.25rem;display:flex}.notification-day-header h2{margin:0;font-size:1rem}.notification-list{flex-direction:column;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.notification-row{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;align-items:center;gap:.75rem;padding:.9rem 1rem;text-decoration:none;display:flex}.notification-row.unread{border-color:var(--color-primary-text);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface))}.notification-body{flex-direction:column;flex:1;gap:.2rem;font-size:.9rem;display:flex}.notification-row .material-symbols-outlined:last-child{color:var(--color-muted);flex-shrink:0}.thread-row-item{align-items:stretch;gap:.5rem;display:flex}.thread-row-item .notification-row{flex:1}.thread-delete-icon-button{border:1px solid var(--color-border);color:var(--color-muted);background:0 0;border-radius:10px;padding:0 .75rem}.thread-delete-icon-button:hover{color:var(--color-danger);border-color:var(--color-danger)}.muted-icon{color:var(--color-muted);vertical-align:middle;font-size:.85rem!important}.thread-unread-badge{background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.7rem;font-weight:700;display:flex}.message-thread-page{flex-direction:column;height:calc(100vh - 4rem);display:flex}.message-thread-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.message-thread-title{margin:0;font-size:1.1rem}.thread-delete-button{color:var(--color-danger);flex-shrink:0;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.thread-header-actions{flex-shrink:0;align-items:center;gap:1rem;display:flex}.thread-header-actions .link-button{align-items:center;gap:.35rem;padding:.4rem;font-size:.85rem;display:flex}.group-avatar{background:var(--color-surface-hover,var(--color-surface));border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.group-avatar-upload{border-radius:50%;flex-shrink:0;padding:0;position:relative}.group-avatar-upload-overlay{color:#fff;opacity:0;background:#00000080;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.group-avatar-upload-overlay .material-symbols-outlined{font-size:1rem}.group-avatar-upload:hover .group-avatar-upload-overlay{opacity:1}.group-add-member-form{margin-bottom:.75rem}.user-search-results{flex-direction:column;gap:.3rem;max-height:220px;margin:.5rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.user-search-results button{background:var(--color-surface);border:1px solid var(--color-border);text-align:left;border-radius:8px;align-items:center;gap:.6rem;width:100%;padding:.5rem .75rem;display:flex}.user-search-results button span{flex:1}.group-member-chips{flex-wrap:wrap;gap:.4rem;margin:.25rem 0;display:flex}.group-member-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem .2rem .3rem;font-size:.85rem;display:flex}.group-member-chip button{color:var(--color-muted);background:0 0;padding:0;display:flex}.message-sender-name{color:var(--color-muted);padding:0 .25rem;font-size:.75rem}.message-forwarded-tag{color:var(--color-muted);align-items:center;gap:.2rem;padding:0 .25rem;font-size:.7rem;display:flex}.message-forwarded-tag .material-symbols-outlined{font-size:.9rem}.pinned-panel{margin-top:.75rem}.pinned-toggle{align-items:center;gap:.35rem;padding:.3rem 0;font-size:.85rem;display:flex}.pinned-list{flex-direction:column;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.pinned-list li{align-items:stretch;gap:.4rem;display:flex}.pinned-list li>button:first-child{background:var(--color-surface);border:1px solid var(--color-border);text-align:left;border-radius:8px;flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;padding:.4rem .6rem;display:flex}.pinned-sender{color:var(--color-muted);font-size:.75rem;font-weight:600}.pinned-snippet{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.85rem;overflow:hidden}.pinned-list li>button:last-child{color:var(--color-muted);background:0 0;padding:0 .4rem}.forward-picker-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.forward-picker{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:90%;max-width:360px;max-height:70vh;padding:1.25rem;overflow-y:auto}.forward-picker-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.forward-picker-header h2{margin:0;font-size:1.05rem}.crop-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;display:flex}.crop-modal h2{align-self:flex-start;margin:0}.crop-viewport{border:1px solid var(--color-border);touch-action:none;cursor:grab;background:var(--color-bg);border-radius:50%;position:relative;overflow:hidden}.crop-viewport img{-webkit-user-select:none;user-select:none;max-width:none;position:absolute;top:0;left:0}.crop-modal input[type=range]{width:100%}.forward-picker-preview{border-left:2px solid var(--color-border);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .75rem;padding-left:.6rem;overflow:hidden}.message-list{flex-direction:column;flex:1;gap:.6rem;padding:1rem 0;display:flex;overflow-y:auto}.message-bubble-wrap{flex-direction:column;align-self:flex-start;align-items:flex-start;gap:.2rem;max-width:75%;display:flex}.message-bubble-wrap.mine{align-self:flex-end;align-items:flex-end}.message-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:.6rem .9rem}.message-bubble.mine{background:var(--color-primary);border-color:var(--color-primary-text);color:var(--color-on-primary)}.message-bubble p{margin:0}.message-time{color:var(--color-muted);margin-top:.25rem;font-size:.7rem;display:block}.message-bubble.mine .message-time{color:#ffffffbf}.message-bubble.deleted{border:1px dashed var(--color-border);background:0 0}.message-bubble.deleted p{margin:0;font-style:italic}.message-edit-form{align-items:center;gap:.3rem;display:flex}.message-edit-form input{min-width:180px}.message-edit-form button{flex-shrink:0;padding:.4rem}.message-seen-receipt{color:var(--color-muted);padding:0 .25rem;font-size:.7rem}.message-bubble-row{align-items:flex-end;gap:.25rem;display:flex}.reaction-add-button{color:var(--color-muted);opacity:.6;background:0 0;border:none;flex-shrink:0;padding:.2rem}.reaction-add-button:hover{opacity:1;color:var(--color-text)}.reaction-add-button .material-symbols-outlined{font-size:1.1rem}.reaction-picker{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;gap:.3rem;padding:.3rem .5rem;display:flex}.reaction-picker button{background:0 0;padding:.1rem .2rem;font-size:1.1rem;line-height:1;transition:transform .1s}.reaction-picker button:hover{transform:scale(1.25)}.reaction-chips{flex-wrap:wrap;gap:.3rem;display:flex}.reaction-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .5rem;font-size:.8rem;display:flex}.reaction-chip.mine{border-color:var(--color-primary-text);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface))}.typing-bubble{align-items:center;gap:4px;padding:.75rem .9rem;display:flex}.typing-dot{background:var(--color-muted);opacity:.4;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.message-compose-wrap{position:relative}.message-compose{border-top:1px solid var(--color-border);gap:.5rem;padding:.75rem 0;display:flex}.message-compose input{flex:1}.message-compose button{width:auto}.mention-suggestions{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;max-height:200px;margin:0 0 .25rem;padding:.3rem;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.mention-suggestions button{text-align:left;background:0 0;border-radius:6px;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;display:flex}.mention-suggestions button:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.mention{color:var(--color-primary-text);font-weight:600}.message-bubble.mine .mention{color:var(--color-on-primary);text-decoration:underline}.mention.mine{background:color-mix(in srgb, var(--color-primary) 20%, transparent);border-radius:4px;padding:0 .15rem}.nudge-banner{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));border-bottom:1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));color:var(--color-text);align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.nudge-banner .material-symbols-outlined{color:var(--color-primary-text)}.nudge-banner-text{flex:1;font-size:.9rem}.nudge-banner-action{flex-shrink:0;font-size:.9rem;font-weight:600}.nudge-banner .link-button{color:var(--color-muted);flex-shrink:0;padding:.25rem}.auth-legal-links{color:var(--color-muted);font-size:.8rem}.legal-page{background:var(--color-bg);min-height:100vh;color:var(--color-text)}.legal-header{padding:calc(1rem + var(--safe-top)) max(1.5rem, var(--safe-right)) 1rem max(1.5rem, var(--safe-left));background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;display:flex}.legal-back{align-items:center;gap:.25rem;padding-left:0;display:inline-flex}.legal-content{max-width:720px;margin:0 auto;padding:2rem 1.5rem;line-height:1.6}.legal-content h2{margin:2rem 0 .5rem;font-size:1.2rem}.legal-sample{border-left:3px solid var(--color-primary-text);background:var(--color-surface);border-radius:0 8px 8px 0;margin:.5rem 0 1rem;padding:.75rem 1rem}.legal-example{border:1px dashed var(--color-border);background:var(--color-surface);border-radius:10px;margin:1.25rem 0;padding:1rem}.legal-example .settings-section{pointer-events:none}.legal-footer{padding:1.5rem 1.5rem calc(1.5rem + var(--safe-bottom));border-top:1px solid var(--color-border);justify-content:center;gap:1.25rem;font-size:.9rem;display:flex}.page-title-row{justify-content:space-between;align-items:center;gap:1rem;margin:1.34rem 0;display:flex}.page-title-row h1{margin:0}.news-updated{margin:0 0 1rem}.record-controls{gap:.75rem;display:flex}.record-controls>button{flex:1 1 0;min-width:0;padding-left:.75rem;padding-right:.75rem}.event-marker{background:var(--color-primary);width:32px;height:32px;color:var(--color-on-primary);cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 1px 4px #00000073}.event-marker .material-symbols-outlined{font-size:18px}.event-popup{color:#1a1a1a;font-size:.9rem}.event-popup strong{display:block}.event-popup-time{color:#6b6b6b;font-size:.8rem}.event-popup p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.4rem 0 0}.event-panel-collapsed{margin:.75rem 0 1rem}.event-panel-collapsed>button{width:100%}.event-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.event-panel-header{justify-content:space-between;align-items:center;display:flex}.event-tag-grid{flex-wrap:wrap;gap:.5rem;display:flex}.event-tag-wrap{align-items:center;display:inline-flex}.event-tag{color:var(--color-text);border:1px solid var(--color-border);background:0 0;align-items:center;gap:.35rem;padding:.45rem .8rem;font-weight:500;display:inline-flex}.event-tag.selected{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary-text)}.event-tag-new{color:var(--color-muted);border-style:dashed}.event-tag-remove{color:var(--color-muted);background:0 0;border:none;align-items:center;padding:.25rem;display:inline-flex}.event-new-tag{flex-direction:column;gap:.6rem;display:flex}.event-icon-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.4rem;display:grid}.event-icon-choice{color:var(--color-text);border:1px solid var(--color-border);background:0 0;justify-content:center;align-items:center;padding:.5rem;display:flex}.event-icon-choice.selected{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary-text)}.event-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.event-list li{align-items:center;gap:.5rem;display:flex}.event-list-label{overflow-wrap:anywhere;flex:1;min-width:0}.event-recent{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.6rem;padding:.6rem .8rem;display:flex}.event-recent-text{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.event-recent-note{flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;display:flex}.event-recent-note input{flex:12rem;min-width:0}.summary-events{margin:1.25rem 0}.event-list-editable li{border-bottom:1px solid var(--color-border);padding:.7rem 0;display:block}.event-list-editable li:last-child{border-bottom:none}.event-row{align-items:center;gap:.6rem;display:flex}.event-row .event-list-label{overflow-wrap:anywhere;flex:1;min-width:0}.event-edit-button{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.event-edit-form{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.event-edit-form label{flex-direction:column;gap:.4rem;display:flex}.event-edit-form textarea{resize:vertical;width:100%;font:inherit}.event-edit-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.event-delete-button{align-items:center;gap:.3rem;margin-left:auto;display:inline-flex}.event-delete-confirm{align-items:center;gap:.75rem;margin-left:auto;display:inline-flex}.event-list-detail{margin:.75rem 0}@media (width<=640px){.export-button-row,.club-actions,.save-activity-actions,.planned-route-draft-actions,.shared-activity-header-actions{flex-wrap:wrap;gap:.75rem;display:flex}.export-button-row>button,.club-actions>button,.save-activity-actions>button,.planned-route-draft-actions>button,.shared-activity-header-actions>button{flex:calc(50% - .375rem);width:auto;min-width:0}}.route-compare{margin-top:1.5rem}.route-compare-list{flex-direction:column;gap:.4rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:flex}.route-compare-row{text-align:left;background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.6rem .75rem;font-weight:500;display:grid}.route-compare-row.selected{border-color:var(--color-primary-text);box-shadow:0 0 0 1px var(--color-primary-text)}.route-compare-when,.route-compare-time{flex-direction:column;gap:.1rem;display:flex}.route-compare-time{align-items:flex-end}.route-compare-delta{text-align:right;min-width:5.5rem;font-weight:600}.route-compare-delta.faster{color:var(--color-success)}.route-compare-delta.slower{color:var(--color-danger)}.route-compare-detail h3{margin:1rem 0 .5rem;font-size:1rem}.route-compare-chart{width:100%;height:auto;margin-bottom:.75rem}.route-compare-ahead{fill:color-mix(in srgb, var(--color-success) 35%, transparent)}.route-compare-behind{fill:color-mix(in srgb, var(--color-danger) 35%, transparent)}.route-compare-zero{stroke:var(--color-border);stroke-width:1px}.route-compare-line{fill:none;stroke:var(--color-text);stroke-width:2px;stroke-linejoin:round}.route-compare-axis{fill:var(--color-muted);font-size:11px}.news-source-list{border:1px solid var(--color-border);border-radius:8px;max-height:min(18rem,50vh);margin-top:.5rem;padding:.5rem .75rem;overflow-y:auto}.group-stretches{margin-top:1.5rem}.group-stretch-form{flex-direction:column;gap:.25rem;margin:.75rem 0;display:flex}.group-stretch-map{height:240px}.group-stretch-form input[type=range]{border:0;padding:0}.accent-picker,.segmented-control.wrap{flex-wrap:wrap}.accent-picker .segment{flex:5.5rem;min-width:0}@media (width<=640px){.accent-picker .segment{flex:calc(33.333% - .4rem);padding-left:.4rem;padding-right:.4rem}}.segmented-control.wrap .segment{flex:7rem}@media (width<=640px){.app-main{overflow-x:clip}.gear-row{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.gear-row .segment-effort-name{flex:100%}.gear-row .link-button{padding:.25rem 0}}:root{--hover-neutral:color-mix(in srgb, var(--color-text) 7%, transparent);--hover-fill:#ffffff38}[data-accent=purple]{--hover-fill:#0000002e}@media (hover:hover) and (pointer:fine){button:not(:disabled):hover{background-image:linear-gradient(var(--hover-neutral), var(--hover-neutral))}button:not([class]):not(:disabled):hover,.provider-connect-button:not(:disabled):hover,.gpx-export-button:not(:disabled):hover,.segment.selected:hover,.tab.selected:hover,.activity-type-option.selected:hover,.event-tag.selected:hover,.event-icon-choice.selected:hover{background-image:linear-gradient(var(--hover-fill), var(--hover-fill))}.navbar-sidebar a:not(.active):hover,.navbar-topbar-actions a:not(.active):hover,.navbar-sidebar-profile:hover{background-color:var(--hover-neutral);text-decoration:none}.navbar-sidebar a.active:hover,.navbar-topbar-actions a.active:hover{background-image:linear-gradient(var(--hover-fill), var(--hover-fill));text-decoration:none}.navbar-brand:hover{opacity:.85;text-decoration:none}.notification-row:hover,.member-row:hover,.pr-stat:hover,.activity-list li>a:hover{background-color:var(--hover-neutral);text-decoration:none}input:not(:disabled):not([type=range]):not([type=checkbox]):not([type=radio]):hover,select:not(:disabled):hover,textarea:not(:disabled):hover{border-color:color-mix(in srgb, var(--color-text) 38%, var(--color-border))}label.checkbox-label:hover{cursor:pointer}}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-primary-text);outline-offset:2px}@media (width<=640px){.message-thread-page{height:calc(100vh - 60px - var(--safe-top) - 4.5rem - var(--safe-bottom))}}.people-search{width:100%;max-width:420px}
