:root,:root[data-theme=giorno]{--surface: #FAF8F5;--surface-raised: #FFFFFF;--surface-sunken: #F0ECE6;--ink: #171412;--ink-muted: #5C5650;--border: #857D73;--hairline: #E2DCD3;--brand: #E8480C;--on-brand: #0F0A06;--brand-strong: #FF6A2B;--lane: #FF8A5C;--quick-run: #E8480C;--on-quick-run: #0F0A06;--accent: #FFB547;--on-accent: #171412;--accent-mark: #8A5700;--graphite: #1E1A17;--on-graphite: #FAF8F5;--focus: #171412;--success: #1E6E50;--warning: #855400;--danger: #B3261E;--info: #1F6480;--zone-1: #2B8C95;--zone-2: #206F41;--zone-3: #AF7604;--zone-4: #B24314;--zone-5: #711409;--card-border: transparent;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=giorno]):not([data-theme=sole]){--surface: #141210;--surface-raised: #1F1B18;--surface-sunken: #0C0A09;--ink: #F7F3EE;--ink-muted: #ADA69E;--border: #7F7870;--hairline: #2E2925;--brand: #FF6A2B;--on-brand: #140A04;--brand-strong: #FF8850;--lane: #FF9A70;--quick-run: #FF6A2B;--on-quick-run: #140A04;--accent: #FFB547;--on-accent: #1B1204;--accent-mark: #FFB547;--graphite: #2B2622;--on-graphite: #FFFFFF;--focus: #FFB547;--success: #6FD3A8;--warning: #FFB547;--danger: #FF8A80;--info: #79C2E0;--zone-1: #277E86;--zone-2: #33AE66;--zone-3: #FABF48;--zone-4: #E76229;--zone-5: #F69D93;color-scheme:dark}}:root[data-theme=notte]{--surface: #141210;--surface-raised: #1F1B18;--surface-sunken: #0C0A09;--ink: #F7F3EE;--ink-muted: #ADA69E;--border: #7F7870;--hairline: #2E2925;--brand: #FF6A2B;--on-brand: #140A04;--brand-strong: #FF8850;--lane: #FF9A70;--accent: #FFB547;--on-accent: #1B1204;--accent-mark: #FFB547;--graphite: #2B2622;--on-graphite: #FFFFFF;--focus: #FFB547;--success: #6FD3A8;--warning: #FFB547;--danger: #FF8A80;--info: #79C2E0;--zone-1: #277E86;--zone-2: #33AE66;--zone-3: #FABF48;--zone-4: #E76229;--zone-5: #F69D93;color-scheme:dark}:root[data-theme=sole]{--surface: #FFFFFF;--surface-raised: #FFFFFF;--surface-sunken: #F3F0EB;--ink: #000000;--ink-muted: #332F2B;--border: #4A4641;--hairline: #4A4641;--brand: #A02E00;--on-brand: #FFFFFF;--brand-strong: #7F2400;--lane: #D4551F;--quick-run: #E8480C;--on-quick-run: #000000;--accent: #FFB020;--on-accent: #000000;--accent-mark: #6B4300;--graphite: #171412;--on-graphite: #FFFFFF;--focus: #000000;--success: #0B4A34;--warning: #5C3A00;--danger: #8A1510;--info: #0F4257;--zone-1: #2D929B;--zone-2: #206F41;--zone-3: #B07705;--zone-4: #AF4213;--zone-5: #6A1209;--card-border: #4A4641;color-scheme:light}:root{--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, sans-serif;--font-mono: "DM Mono", ui-monospace, monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 80px;--r-input: 6px;--r-card: 12px;--r-hero: 20px;--r-pill: 999px;--dur: .2s}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--surface);color:var(--ink);font:400 16px/24px var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}img,svg{display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.display-xl{font:700 64px/68px var(--font-display);letter-spacing:-.02em;margin:0}.display-lg{font:700 40px/46px var(--font-display);letter-spacing:-.015em;margin:0}.title{font:600 24px/30px var(--font-display);margin:0}.body{font:400 16px/24px var(--font-body)}.label{font:600 14px/20px var(--font-body)}.caption{font:400 13px/18px var(--font-body);color:var(--ink-muted)}.stat-xl{font:500 48px/52px var(--font-mono);letter-spacing:-.01em}.stat{font:400 16px/22px var(--font-mono)}.muted{color:var(--ink-muted)}p,h1,h2,h3,h4{margin:0}@media(max-width:480px){.display-lg{font-size:32px;line-height:38px}}.app{min-height:100dvh;display:flex;flex-direction:column}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:var(--s5) var(--s4) calc(96px + env(safe-area-inset-bottom))}.stack{display:flex;flex-direction:column;gap:var(--s4)}.stack-sm{display:flex;flex-direction:column;gap:var(--s2)}.stack-lg{display:flex;flex-direction:column;gap:var(--s5)}.row{display:flex;align-items:center;gap:var(--s3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.wrap{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr;gap:var(--s4)}.grid-3{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}@media(min-width:820px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.main{padding-left:var(--s6);padding-right:var(--s6);padding-top:var(--s6)}}.screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}.topbar{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--hairline)}.topbar-inner{max-width:1080px;margin:0 auto;padding:10px var(--s4);display:flex;align-items:center;gap:var(--s4);min-height:60px}@media(min-width:820px){.topbar-inner{padding:10px var(--s6)}}.topnav{display:none;gap:var(--s1);margin-left:auto}@media(min-width:820px){.topnav{display:flex}}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface-raised);border-top:1px solid var(--hairline);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding-bottom:env(safe-area-inset-bottom)}@media(min-width:820px){.tabbar{display:none}.main{padding-bottom:var(--s7)}}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;text-decoration:none;color:var(--ink-muted);font:600 12px/16px var(--font-body)}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] svg{color:var(--brand)}.navlink{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);text-decoration:none;color:var(--ink-muted);font:600 14px/20px var(--font-body)}.navlink:hover,.navlink[aria-current=page]{color:var(--ink);background:var(--surface-sunken)}.card{background:var(--surface-raised);border:1px solid var(--card-border);border-radius:var(--r-card);padding:var(--s4)}@media(min-width:820px){.card{padding:var(--s5)}}.card-link{text-decoration:none;display:block;transition:background var(--dur)}.card-link:hover{background:var(--surface-sunken)}.well{background:var(--surface-sunken);border-radius:var(--r-card);padding:var(--s4)}.hairline{border:0;border-top:1px solid var(--hairline);margin:0}.hero{position:relative;overflow:hidden;border-radius:var(--r-hero);background:var(--brand);color:var(--on-brand);padding:var(--s5)}.hero>*{position:relative}.hero-lanes{position:absolute;right:-40px;bottom:-40px;width:260px;height:260px;pointer-events:none}.hero .muted,.hero .caption{color:var(--on-brand);opacity:.85}.band{background:var(--graphite);color:var(--on-graphite);border-radius:var(--r-hero);padding:var(--s5)}.band .caption,.band .muted{color:var(--on-graphite);opacity:.8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:var(--r-pill);font:600 14px/20px var(--font-body);text-decoration:none;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--ink);transition:background var(--dur),border-color var(--dur),transform .15s}.btn:hover{background:var(--surface-sunken)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn-primary:hover,.btn-primary:active{background:var(--brand-strong);border-color:var(--brand-strong)}.hero .btn.btn-primary,.hero .btn.btn-primary:hover{background:var(--on-brand);color:var(--brand);border-color:var(--on-brand)}.hero .btn{border-color:var(--on-brand);color:var(--on-brand)}.hero .btn:hover{background:#00000014}.btn-ghost{border-color:transparent}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-small{min-height:44px;padding:0 var(--s4)}.btn-block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed}.file-btn{position:relative;cursor:pointer}.file-btn:focus-within{outline:2px solid var(--brand);outline-offset:2px}.file-btn.is-disabled{opacity:.5;pointer-events:none}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);border:0;background:transparent;cursor:pointer;color:var(--ink)}.icon-btn:hover{background:var(--surface-sunken)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--s4);border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--surface-raised);font:600 14px/20px var(--font-body);cursor:pointer;color:var(--ink)}.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.segmented{display:inline-flex;background:var(--surface-sunken);border-radius:var(--r-pill);padding:4px;gap:2px}.segmented button{min-height:40px;min-width:44px;padding:0 var(--s4);border:0;border-radius:var(--r-pill);background:transparent;font:600 14px/20px var(--font-body);cursor:pointer;color:var(--ink-muted)}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--ink)}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-input);font:600 13px/18px var(--font-body);background:var(--surface-sunken);color:var(--ink);white-space:nowrap}.tag-accent{background:var(--accent);color:var(--on-accent)}.tag-sample{background:var(--surface-sunken);color:var(--ink);border:1px dashed var(--border)}.status{display:inline-flex;align-items:center;gap:6px;font:600 14px/20px var(--font-body)}.status-success{color:var(--success)}.status-warning{color:var(--warning)}.status-danger{color:var(--danger)}.status-info{color:var(--info)}.field{display:flex;flex-direction:column;gap:6px}.field label,.field .label{font:600 14px/20px var(--font-body)}.input,select.input,textarea.input{min-height:48px;padding:10px 12px;border-radius:var(--r-input);border:1px solid var(--border);background:var(--surface-raised);width:100%}textarea.input{min-height:96px;resize:vertical}.zone-bar{display:flex;height:12px;border-radius:var(--r-pill);overflow:hidden;background:var(--surface-sunken);gap:2px}.zone-bar>span{height:100%}.z1{background:var(--zone-1)}.z2{background:var(--zone-2)}.z3{background:var(--zone-3)}.z4{background:var(--zone-4)}.z5{background:var(--zone-5)}.zone-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.progress{height:10px;border-radius:var(--r-pill);background:var(--surface-sunken);overflow:hidden}.progress>span{display:block;height:100%;background:var(--brand);border-radius:var(--r-pill);transition:width var(--dur)}.hero .progress{background:#00000026}.hero .progress>span{background:var(--on-brand)}table.data{width:100%;border-collapse:collapse;font:400 16px/22px var(--font-mono)}table.data th{font:600 13px/18px var(--font-body);color:var(--ink-muted);text-align:right;padding:8px 6px;border-bottom:1px solid var(--hairline)}table.data td{text-align:right;padding:10px 6px;border-bottom:1px solid var(--hairline)}table.data th:first-child,table.data td:first-child{text-align:left}.table-scroll{overflow-x:auto}.list{list-style:none;margin:0;padding:0}.list>li+li{border-top:1px solid var(--hairline)}.list-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0;min-height:56px;text-decoration:none}.bullets{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.chart{width:100%;height:auto;overflow:visible}.chart text{font:400 12px var(--font-mono);fill:var(--ink-muted)}.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{min-height:64px;border-radius:var(--r-input);background:var(--surface-raised);border:1px solid var(--card-border);padding:6px;display:flex;flex-direction:column;gap:4px;text-decoration:none;cursor:pointer;text-align:left}.cal-cell.other{opacity:.45}.cal-cell.today{outline:2px solid var(--brand);outline-offset:-2px}.cal-pill{font:600 11px/14px var(--font-body);border-radius:4px;padding:2px 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:var(--surface-sunken)}@media(min-width:820px){.cal-cell{min-height:96px}.cal-pill{font-size:12px}}.week-row{display:grid;grid-template-columns:64px 1fr auto;gap:var(--s3);align-items:center;padding:var(--s3) 0;min-height:64px}.chat{display:flex;flex-direction:column;gap:var(--s3)}.bubble{max-width:85%;padding:var(--s3) var(--s4);border-radius:16px}.bubble-coach{background:var(--surface-raised);border:1px solid var(--card-border);align-self:flex-start;border-bottom-left-radius:4px}.bubble-runner{background:var(--graphite);color:var(--on-graphite);align-self:flex-end;border-bottom-right-radius:4px}.composer{display:flex;gap:var(--s2)}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--brand);overflow:hidden;animation:splash-out .3s ease forwards}.sp-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sp-tile{background:#fff;border-radius:30px;padding:18px;line-height:0}.sp-card{background:#fff;border-radius:24px;padding:30px 34px;line-height:0;opacity:0}@keyframes splash-out{to{opacity:0;visibility:hidden}}@keyframes sp-card-in{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}@keyframes sp-out{to{opacity:0}}@keyframes sp-wipe{to{clip-path:inset(0 0 0 0)}}.sp-run{animation:sp-run-in 1.1s cubic-bezier(.2,.7,.2,1) both,sp-out .25s ease 1.15s forwards}.sp-bob{animation:sp-stride .22s ease-in-out 5 alternate}.sp-streak{position:absolute;left:0;height:6px;width:70vw;border-radius:3px;background:var(--lane);animation:sp-lane 1.1s cubic-bezier(.2,.7,.2,1) both}.sp-card-late{animation:sp-card-in .3s ease 1.15s forwards}@keyframes sp-run-in{0%{translate:-75vw 0}to{translate:0 0}}@keyframes sp-stride{0%{translate:0 0}to{translate:0 -10px}}@keyframes sp-lane{0%{transform:translate(-60vw);opacity:0}30%{opacity:1}to{transform:translate(-20vw);opacity:0}}.sp-track{position:absolute;top:50%;left:50%;width:min(92vw,440px);transform:translate(-50%,-50%) rotate(-90deg);animation:sp-out .3s ease 1.3s forwards}.sp-track circle{animation:sp-draw .9s cubic-bezier(.4,0,.2,1) forwards}@keyframes sp-draw{to{stroke-dashoffset:0}}.sp-wipe-card{animation:sp-card-in .25s ease .85s forwards}.sp-wipe{clip-path:inset(0 63% 0 0);animation:sp-wipe .55s cubic-bezier(.6,0,.2,1) 1.25s forwards}.sp-beat{animation:sp-beat .38s ease-in-out 3,sp-out .2s ease 1.25s forwards}.sp-ring{position:absolute;left:0;top:0;width:132px;height:132px;margin:-66px 0 0 -66px;border:5px solid var(--lane);border-radius:36px;opacity:0;animation:sp-ring .9s ease-out forwards}.sp-card-rhythm{animation:sp-card-in .3s ease 1.3s forwards}@keyframes sp-beat{0%,to{scale:1}30%{scale:1.08}}@keyframes sp-ring{0%{opacity:.9;scale:1}to{opacity:0;scale:2.4}}.sp-count{font:500 128px/1 var(--font-mono);color:var(--on-brand);opacity:0;animation:sp-count .45s ease forwards}.sp-go{opacity:0;scale:.6;animation:sp-go .38s cubic-bezier(.3,1.6,.5,1) 1.35s forwards,sp-out .2s ease 1.9s forwards}.sp-card-count{animation:sp-card-in .3s ease 1.9s forwards}@keyframes sp-count{0%{opacity:0;scale:.8}25%{opacity:1;scale:1}75%{opacity:1}to{opacity:0;scale:1.1}}@keyframes sp-go{to{opacity:1;scale:1}}.sp-step{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--on-brand);opacity:0;animation:sp-step .7s ease forwards}.sp-arrive{opacity:0;translate:-30vw 0;animation:sp-arrive .5s cubic-bezier(.2,.8,.2,1) .8s forwards,sp-out .2s ease 1.5s forwards}.sp-card-trail{animation:sp-card-in .3s ease 1.55s forwards}.sp-trail{position:absolute;top:0;right:0;bottom:0;left:0;animation:sp-out .3s ease 1.45s forwards}@keyframes sp-step{0%{opacity:0;scale:.4}30%{opacity:.9;scale:1}to{opacity:.3;scale:1}}@keyframes sp-arrive{to{opacity:1;translate:0 0}}.sp-quiet{animation:sp-fade-up .5s ease forwards}.sp-quiet-mask{clip-path:inset(0 63% 0 0);animation:sp-wipe .7s cubic-bezier(.6,0,.2,1) .65s forwards}@keyframes sp-fade-up{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.splash>*:not(.sp-card){display:none}.splash .sp-card{opacity:1;animation:none}.splash .sp-card *{clip-path:none!important;animation:none!important}}.skeleton{background:var(--surface-sunken);border-radius:var(--r-card);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.6}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.banner{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4);border-radius:var(--r-card);background:var(--surface-sunken)}.dropzone{border:2px dashed var(--border);border-radius:var(--r-card);padding:var(--s6) var(--s4);text-align:center;background:var(--surface-sunken);cursor:pointer}.dropzone.drag{border-color:var(--brand)}.kpi{display:flex;flex-direction:column;gap:2px}.kpi .v{font:500 24px/30px var(--font-mono)}.ol-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:var(--s2)}.app{display:block}.main{padding-top:0;max-width:760px}@media(min-width:820px){.app{display:grid;grid-template-columns:248px 1fr}.main{padding-top:var(--s4);max-width:920px}}.appbar{position:sticky;top:0;z-index:25;margin:0 calc(-1 * var(--s4));padding-top:env(safe-area-inset-top);background:transparent;transition:background var(--dur),border-color var(--dur);border-bottom:1px solid transparent}.appbar-compact{background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);border-bottom-color:var(--hairline)}.appbar-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:52px;padding:0 var(--s2)}.appbar-title{font:600 17px/22px var(--font-body);opacity:0;transform:translateY(6px);transition:opacity var(--dur),transform var(--dur);white-space:nowrap}.appbar-compact .appbar-title{opacity:1;transform:none}.appbar-side{display:flex;align-items:center;gap:var(--s2)}.appbar-right{justify-content:flex-end;padding-right:var(--s2)}.large-title{padding:0 0 var(--s4);display:flex;flex-direction:column;gap:2px}@media(min-width:820px){.appbar{margin:0 calc(-1 * var(--s6));padding:0 var(--s4)}.appbar:not(.appbar-compact) .appbar-inner{min-height:44px}}.tabbar{background:color-mix(in srgb,var(--surface-raised) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(20px);backdrop-filter:saturate(1.4) blur(20px);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tab{min-height:54px;gap:4px;font-size:11px;line-height:14px;letter-spacing:.01em}.tab svg{width:56px;height:30px;padding:3px 0;border-radius:var(--r-pill);transition:background var(--dur),color var(--dur)}.tab[aria-current=page] svg{background:var(--surface-sunken)}.tab:active svg{transform:scale(.92)}.sidebar{display:none}@media(min-width:820px){.topbar{display:none}.sidebar{display:flex;flex-direction:column;gap:var(--s2);position:sticky;top:0;height:100dvh;padding:var(--s5) var(--s3);border-right:1px solid var(--hairline);background:var(--surface)}.sidebar-logo{padding:0 var(--s3) var(--s5)}.sidebar .navlink{min-height:48px;border-radius:var(--r-card);padding:0 var(--s3);font-size:15px;gap:12px}.sidebar .navlink[aria-current=page]{background:var(--surface-raised);color:var(--ink)}.sidebar .navlink[aria-current=page] svg{color:var(--brand)}.sidebar-foot{margin-top:auto;padding:var(--s3)}}@media(max-width:819px){.topbar{display:none}}.avatar{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--graphite);color:var(--on-graphite);font:600 14px/1 var(--font-body);text-decoration:none}.weekstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.daychip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 10px;min-height:72px;border-radius:16px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--ink);transition:background var(--dur)}.daychip:hover{background:var(--surface-sunken)}.daychip-dow{font:600 12px/16px var(--font-body);color:var(--ink-muted)}.daychip-dom{font:500 18px/22px var(--font-mono)}.daychip-mark{width:8px;height:8px;border-radius:4px;border:1.5px solid}.daychip[aria-selected=true]{background:var(--ink);color:var(--surface)}.daychip[aria-selected=true] .daychip-dow{color:var(--surface);opacity:.8}.daychip.is-today:not([aria-selected=true]) .daychip-dom{color:var(--brand)}.wgraph{display:flex;align-items:flex-end;gap:3px}.wgraph>span{display:block;min-width:4px;border-radius:4px 4px 2px 2px}.wgraph-brand>span{background:var(--on-brand)}.wgraph-brand .wz1{opacity:.35}.wgraph-brand .wz2{opacity:.5}.wgraph-brand .wz3{opacity:.7}.wgraph-brand .wz4{opacity:.85}.wgraph-brand .wz5{opacity:1}.tiles{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:var(--s3);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--s4));padding:2px var(--s4);scrollbar-width:none}.tiles::-webkit-scrollbar{display:none}.tile{scroll-snap-align:start;display:flex;flex-direction:column;gap:4px;padding:var(--s4);border-radius:var(--r-card);background:var(--surface-raised);border:1px solid var(--card-border);text-decoration:none;min-height:112px;transition:transform .15s}.tile:active{transform:scale(.98)}.tile-value{font:500 30px/34px var(--font-mono);letter-spacing:-.01em;margin-top:auto}.tile-unit{font:600 14px/20px var(--font-body);color:var(--ink-muted)}.tile-accent{background:var(--accent);color:var(--on-accent)}.tile-accent .caption,.tile-accent .tile-unit{color:var(--on-accent);opacity:.8}@media(min-width:820px){.tiles{margin:0;padding:0;overflow:visible;grid-auto-flow:row;grid-template-columns:repeat(4,1fr)}}.section-title{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:calc(-1 * var(--s2))}.section-title .label{color:var(--ink-muted);text-transform:none}.group{background:var(--surface-raised);border:1px solid var(--card-border);border-radius:var(--r-card);overflow:hidden}.group>a,.group>div,.group>button{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s3) var(--s4);text-decoration:none;width:100%;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink)}.group>*+*{border-top:1px solid var(--hairline)}.group>a:active,.group>button:active{background:var(--surface-sunken)}.row-icon{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-sunken);flex:none}.hero{border-radius:24px;padding:var(--s5) var(--s5) var(--s5)}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.pill-on-brand{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--on-brand);font:600 13px/18px var(--font-body)}.card{border-radius:16px}@media(max-width:819px){.card{padding:var(--s4)}}.btn,.chip,.card-link{-webkit-user-select:none;user-select:none}.card-link:active{transform:scale(.99)}.app-bare{display:block!important}.tag-sample{text-decoration:none}.cal-month{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-cell{min-width:0}@media(max-width:480px){.cal-cell{padding:4px;min-height:58px}.cal-pill{font-size:10px;line-height:13px;padding:1px 3px}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:color-mix(in srgb,var(--graphite) 55%,transparent);display:flex;align-items:flex-end;justify-content:center;animation:fade-in .18s ease both}.sheet{width:100%;max-width:520px;max-height:92dvh;display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--card-border);border-radius:24px 24px 0 0;padding:8px 0 calc(var(--s4) + env(safe-area-inset-bottom));animation:sheet-up .24s cubic-bezier(.2,.8,.2,1) both}@media(min-width:820px){.sheet-backdrop{align-items:center}.sheet{border-radius:24px}}.sheet-grabber{width:40px;height:5px;border-radius:3px;background:var(--hairline);margin:0 auto var(--s2)}.sheet-body{overflow-y:auto;padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s4)}.sheet-footer{padding:var(--s3) var(--s4) 0;border-top:1px solid var(--hairline)}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}}.mcal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mcal-dow{text-align:center;padding:4px 0}.mcal-day{position:relative;aspect-ratio:1;min-height:44px;border:0;border-radius:50%;background:transparent;font:500 16px/1 var(--font-mono);cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center}.mcal-day:hover{background:var(--surface-sunken)}.mcal-day.out{color:var(--ink-muted);opacity:.55}.mcal-day.today{box-shadow:inset 0 0 0 2px var(--brand)}.mcal-day[aria-selected=true]{background:var(--brand);color:var(--on-brand)}.mcal-day:disabled{opacity:.25;cursor:not-allowed}.mcal-dot{position:absolute;bottom:6px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:currentColor}.pick{display:flex;align-items:center;gap:var(--s3);text-align:left;cursor:pointer}.stepper{display:flex;align-items:center;gap:var(--s2);background:var(--surface-sunken);border-radius:var(--r-pill);padding:4px}.stepper-input{flex:1;min-width:0;min-height:44px;border:0;background:transparent;text-align:center;font:500 22px/1 var(--font-mono)}.stepper .icon-btn{background:var(--surface-raised)}.duration{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.duration-col{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--surface-sunken);border-radius:16px;padding:4px 6px 8px}.duration-input{width:56px;min-height:48px;border:0;background:transparent;text-align:center;font:500 28px/1 var(--font-mono)}.fab{position:fixed;right:var(--s4);bottom:calc(84px + env(safe-area-inset-bottom));z-index:26;width:56px;height:56px;border-radius:50%;border:0;background:var(--brand);color:var(--on-brand);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur),transform .15s}.fab:hover,.fab:active{background:var(--brand-strong)}.fab:active{transform:scale(.94)}@media(min-width:820px){.fab{bottom:var(--s6);right:var(--s6)}}.pill-short{display:none}@media(max-width:480px){.pill-long{display:none}.pill-short{display:inline}}.cal-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:var(--s2)}.cal-nav-title{justify-self:center;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:0;background:var(--surface-sunken);font:600 17px/22px var(--font-body);color:var(--ink);cursor:pointer;white-space:nowrap}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{max-width:100%;overflow-x:clip}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}input,select,textarea{font-size:max(16px,1em)}body{overscroll-behavior-y:none;min-height:100dvh}button,a,[role=button],input,select,textarea,label{touch-action:manipulation}img,svg,video,canvas{max-width:100%}.splash .sp-card{padding:clamp(18px,6vw,30px) clamp(20px,7vw,34px);max-width:calc(100vw - 32px)}.splash .sp-card img{width:min(260px,calc(100vw - 32px - (2*clamp(20px,7vw,34px))));height:auto}.sp-lanes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.appbar-inner{grid-template-columns:minmax(44px,1fr) minmax(0,auto) minmax(44px,1fr)}.appbar-title{overflow:hidden;text-overflow:ellipsis;max-width:60vw}.large-title .display-lg{overflow-wrap:anywhere}.avatar{width:44px;height:44px}.segmented button{min-height:44px}.tag-sample{min-height:44px!important;display:inline-flex;align-items:center}@media(max-width:359px){.weekstrip{gap:1px;margin:0 -12px}.daychip{border-radius:12px}.segmented button{padding:0 12px}}.native .main{padding-left:max(var(--s4),env(safe-area-inset-left));padding-right:max(var(--s4),env(safe-area-inset-right))}.grid-2>*,.grid-3>*,.field,.stack>*,.row>*{min-width:0}.stepper-input{width:0;flex:1 1 auto}.stepper .icon-btn,.stepper .caption{flex:none}.appbar-inner{display:flex;gap:var(--s2)}.appbar-side{flex:none;min-width:44px}.appbar-title{flex:1 1 auto;min-width:0;text-align:center;max-width:none}.appbar-right>*{flex:none}@media(max-width:380px){.tag-sample{font-size:12px;padding:2px 8px}}.auth-wrap{min-height:100dvh;display:flex;justify-content:center;padding:0 var(--s4) calc(var(--s7) + env(safe-area-inset-bottom))}.pw-wrap{position:relative}.pw-wrap .input{padding-right:52px}.pw-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%)}.consent{display:flex;gap:var(--s3);align-items:flex-start;cursor:pointer;font:400 14px/20px var(--font-body)}.consent input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--brand)}.consent a{color:var(--ink)}.sync-banner{position:sticky;top:0;z-index:40;margin:0 calc(-1 * var(--s4)) var(--s3);padding:10px var(--s4);background:var(--surface-sunken);border-bottom:1px solid var(--hairline)}.modal-card{max-width:480px}.main-bare{max-width:720px}p a,.caption a,.consent a,li>span a{padding-block:14px;padding-inline:4px}.avatar-img{border-radius:50%;object-fit:cover;display:block;flex:none;background:var(--surface-sunken)}.crop-view{position:relative;overflow:hidden;border-radius:var(--r-card);background:var(--graphite);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.crop-view:active{cursor:grabbing}.crop-view img{position:absolute;left:50%;top:50%;max-width:none;pointer-events:none}.crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-card);box-shadow:inset 0 0 0 9999px color-mix(in srgb,var(--graphite) 55%,transparent);-webkit-mask:radial-gradient(circle at center,transparent 49.5%,#000 50%);mask:radial-gradient(circle at center,transparent 49.5%,#000 50%);background:color-mix(in srgb,var(--graphite) 55%,transparent)}.link-btn{background:none;border:0;padding:13px 3px;margin:-13px 0;color:inherit;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.display-sm{font:700 28px/34px var(--font-display);letter-spacing:-.01em;margin:0}.setup{max-width:560px;margin:0 auto;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}.setup-top{display:flex;align-items:center;gap:var(--s4);padding:calc(var(--s3) + env(safe-area-inset-top)) 0 var(--s5);min-height:44px}.setup-top .steps{flex:1}.setup-body{animation:step-in .22s ease-out}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.setup-body{animation:none}}.setup-footer{position:sticky;bottom:0;padding:var(--s4) 0 calc(var(--s3) + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,var(--surface) 30%)}.setup-points{list-style:none;margin:0}.setup-points li{display:flex;gap:var(--s3);align-items:flex-start}.setup-points svg{flex:none;color:var(--brand);margin-top:2px}.steps{display:flex;flex-direction:column;gap:6px}.steps-bar{display:flex;gap:4px}.steps-bar span{flex:1;height:6px;border-radius:var(--r-pill);background:var(--surface-sunken);transition:background var(--dur)}.steps-bar span.done{background:var(--brand)}.steps-bar span.now{background:color-mix(in srgb,var(--brand) 55%,var(--surface-sunken))}.choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:56px;padding:12px 16px;text-align:left;border-radius:var(--r-card);border:2px solid var(--hairline);background:var(--surface-raised);color:var(--ink);cursor:pointer;font:inherit;transition:border-color var(--dur),background var(--dur)}.choice:hover{border-color:var(--border)}.choice.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface-raised))}.dob{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:var(--s2)}.dob select{min-width:0}.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;max-width:min(92vw,420px);padding:12px 18px;border-radius:var(--r-pill);background:var(--graphite);color:var(--on-graphite);font:600 14px/20px var(--font-body);box-shadow:0 8px 24px #0003;animation:step-in .2s ease-out}.see-more{align-self:center;gap:6px}.avatar-photo{padding:0;overflow:hidden}.avatar-photo img{width:100%;height:100%;object-fit:cover}.hero-why{opacity:.95}.value-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;position:relative}.value-list li{display:flex;gap:8px;align-items:flex-start;font:500 15px/22px var(--font-body)}.value-list svg{flex:none;margin-top:2px}.week-preview{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-preview li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 2px;border-radius:var(--r-input);background:var(--surface-sunken);text-align:center;font-size:12px;line-height:16px;min-width:0}.week-preview li.muted{opacity:.6}.week-preview .stat{font-size:15px}.chart .axis-value{font-size:10px;fill:var(--ink-muted)}.chip{min-width:44px;justify-content:center}[data-draggable]{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}.drop-ok{outline:2px dashed var(--brand);outline-offset:-2px;border-radius:var(--r-input)}.drop-over{outline:2px solid var(--brand);outline-offset:-2px;border-radius:var(--r-input);background:var(--surface-sunken)}.drop-no{outline:2px solid var(--border);outline-offset:-2px;border-radius:var(--r-input);opacity:.6}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,calc(-100% - 12px));background:var(--ink);color:var(--surface);padding:6px 12px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 6px 20px #00000040}.update-toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;background:var(--surface-raised);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-card);padding:8px 12px;box-shadow:0 8px 24px #0000002e;max-width:calc(100vw - 32px)}@media(min-width:820px){.update-toast{bottom:24px}}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s3);margin:0}.report-grid dd{margin:0;font-size:20px}.pb-history{margin:0 0 var(--s2) var(--s4);padding-left:var(--s4);display:grid;gap:4px}.session-parts{list-style:none;margin:0;padding:0 0 0 var(--s3);border-left:2px solid var(--hairline);display:grid;gap:2px}.session-parts a{text-decoration:none;color:inherit;min-height:36px;align-items:center}.tab.active{color:var(--ink)}.tab.active svg{color:var(--brand);background:var(--surface-sunken)}.drop-zone{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:var(--s5) var(--s4);border:2px dashed var(--border);border-radius:var(--r-card);cursor:pointer;color:var(--ink)}.drop-zone:hover,.drop-zone:focus-within{border-color:var(--brand)}.shot-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--s2)}.shot-img{display:block;width:100%;aspect-ratio:9 / 16;padding:0;border:1px solid var(--hairline);border-radius:var(--r-input);overflow:hidden;background:var(--surface-sunken);cursor:zoom-in}.shot-img img{width:100%;height:100%;object-fit:cover}.rep-table th[scope=row]{text-align:left;font-weight:600;white-space:nowrap}.rep-table tr.muted th,.rep-table tr.muted td{color:var(--ink-muted)}.input-sm{min-height:44px;padding:6px 8px;width:84px;font-variant-numeric:tabular-nums}.input.unsure{border-color:#d99a00;background:color-mix(in srgb,#F5C542 18%,var(--surface))}.breakdown{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}.breakdown-bar{display:block;height:8px;border-radius:4px;background:var(--surface-sunken);overflow:hidden;margin:4px 0 2px}.breakdown-bar>span{display:block;height:100%;border-radius:4px}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--surface-sunken);font:600 13px/18px var(--font-body)}.full-analysis>summary{list-style:none;cursor:pointer}.full-analysis>summary::-webkit-details-marker{display:none}.run-live{display:flex;flex-direction:column;gap:var(--s4)}.run-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.run-stats>div{display:flex;flex-direction:column}.run-big .stat-xl{font-size:48px;line-height:52px}.run-big small{font-size:18px}.run-step.gauge-ok{border-left:4px solid var(--success)}.run-step.gauge-fast,.run-step.gauge-slow{border-left:4px solid var(--warning)}.run-controls{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.run-pause{min-height:64px;font-size:18px}.run-controls .holding{background:var(--warning);color:var(--ink);transition:background 1.5s linear}.run-route{width:100%;max-width:360px;aspect-ratio:1;background:var(--surface-sunken);border-radius:var(--r-card);align-self:center}.run-map-wrap{width:100%;max-width:360px;align-self:center}.run-start{min-height:64px;font-size:20px}.run-countdown{font:800 120px/1 var(--font-display, var(--font-body));text-align:center;color:var(--brand);padding:var(--s6) 0}.hub-avatar{width:40px;height:40px;border-radius:50%;background:var(--surface-sunken);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font:700 14px/1 var(--font-body);flex:none}.hub-route{position:relative;background:var(--surface-sunken);border-radius:var(--r-input);overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}.hub-route svg{display:block;width:100%;height:auto}.hub-flare{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1);animation:flare .22s ease-out}@keyframes flare{0%{transform:translate(-50%,-50%) scale(1);opacity:.4}50%{transform:translate(-50%,-50%) scale(1.25);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:.9}}@media(prefers-reduced-motion:reduce){.hub-flare{animation:none}}.hub-stats{display:flex;flex-wrap:wrap;gap:var(--s4)}.hub-stats>div{display:flex;flex-direction:column}.ritmo-btn{border:2px solid transparent;color:var(--ink-muted)}.ritmo-btn.on{border-color:var(--brand);color:var(--ink)}.ritmo-count{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:2px 10px;border:0;border-radius:var(--r-pill);background:var(--surface-sunken);font:500 13px/1 var(--font-mono, monospace);color:var(--ink);cursor:pointer}.hub-bell{position:relative}.hub-badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--brand);color:var(--on-brand);font:700 11px/18px var(--font-body);text-align:center}.hub-comment{list-style:none;padding:var(--s2) 0}.hub-comment.child{margin-left:var(--s5);border-left:2px solid var(--hairline);padding-left:var(--s3)}.share-preview{width:100%;max-width:300px;margin:0 auto;border-radius:var(--r-card);overflow:hidden;box-shadow:0 6px 20px #0000002e;touch-action:pan-y}.share-preview canvas{width:100%;height:100%;display:block}.share-preview.checker{background:repeating-conic-gradient(#ccc 0,#ccc 25%,#fff 0,#fff 50%) 0 0 / 24px 24px}.weather-note{font-size:15px;line-height:1.45;padding:var(--s2) var(--s3);border-left:3px solid var(--brand);background:var(--surface-sunken);border-radius:0 var(--r-input) var(--r-input) 0}.run-weather a{color:inherit}.explain-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:15px}.explain-week{font-size:16px;line-height:1.5;padding:var(--s3);background:var(--surface-sunken);border-radius:var(--r-card)}.preset{display:flex;gap:var(--s3);align-items:center;padding:var(--s3);border:2px solid var(--brand);border-radius:var(--r-card)}.preset .btn[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.warmup-now{display:flex;flex-direction:column;gap:6px;padding:var(--s4);background:var(--surface-sunken);border-radius:var(--r-card);text-align:center;align-items:center}.warmup-now .stat-xl{font-size:56px;line-height:1}.warmup-steps{list-style:none;padding:0;margin:0;display:grid;gap:6px}.warmup-steps li{display:flex;justify-content:space-between;padding:8px 12px;border-radius:var(--r-input);border:1px solid var(--line, rgba(0,0,0,.1))}.warmup-steps li.now{border-color:var(--brand);font-weight:600}.warmup-steps li.done{opacity:.55;text-decoration:line-through}.diff-fast{color:var(--success, #1f7a4d)}.diff-slow{color:var(--danger, #b3261e)}.cal-link{word-break:break-all;font-family:var(--font-mono, monospace);font-size:12px;padding:var(--s2) var(--s3);background:var(--surface-sunken);border-radius:var(--r-input)}.shoe-alert{display:block;text-decoration:none;color:inherit}.strava-connect{display:inline-flex;padding:0;border:0;background:none;cursor:pointer;border-radius:4px;flex:none}.strava-connect img{display:block;width:237px;max-width:100%;height:auto}.strava-connect:disabled{opacity:.6;cursor:default}.strava-connect:focus-visible{outline:3px solid var(--focus, #1a73e8);outline-offset:2px}.strava-powered{display:block;width:146px;height:auto;margin-top:4px}.strava-link{color:#fc5200;font-weight:600}.consent-banner{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:950;display:flex;flex-direction:column;gap:8px;background:var(--surface-raised);color:var(--ink);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px;box-shadow:0 10px 30px #0003;max-width:520px;margin:0 auto}.app-bare .consent-banner{bottom:calc(16px + env(safe-area-inset-bottom))}.consent-banner .caption{font-size:14px;line-height:1.45}@media(min-width:820px){.consent-banner{left:24px;right:auto;bottom:24px;margin:0}}.install-card{display:flex;gap:var(--s3);align-items:flex-start}.install-icon{border-radius:12px;flex:none}.quick-run,.quick-run:hover,.quick-run:active{background:var(--quick-run);border-color:var(--quick-run);color:var(--on-quick-run)}.quick-run{min-height:64px;justify-content:flex-start;gap:var(--s3);padding:0 var(--s5);border-radius:var(--r-card);text-align:left;text-decoration:none}.quick-run-text{display:flex;flex-direction:column;line-height:1.2}.quick-run-text span{font-size:18px;font-weight:700}.quick-run-text small{font-size:14px;font-weight:500;opacity:.9}.run-lap-flash{background:var(--quick-run);color:var(--on-quick-run);border-radius:var(--r-card);padding:var(--s3) var(--s4);font-weight:700;font-size:18px;text-align:center;animation:lap-pop .25s ease-out}@keyframes lap-pop{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.run-lap-flash{animation:none}}.run-laps{list-style:none;margin:0;padding:0;display:grid;gap:2px}.run-laps li{display:grid;grid-template-columns:1fr auto auto;gap:var(--s4);padding:6px 0;border-top:1px solid var(--hairline);font-variant-numeric:tabular-nums}.run-laps li:first-child{border-top:0}.run-laps li.current{font-weight:700}.voice-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.voice-row{display:flex;align-items:center;gap:4px;border:1px solid var(--hairline);border-radius:var(--r-card);background:var(--surface-raised)}.voice-row.on{border-color:var(--quick-run);box-shadow:0 0 0 1px var(--quick-run) inset}.voice-pick{flex:1;display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:8px var(--s3);background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-card)}.voice-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);display:grid;place-items:center;flex:none}.voice-row.on .voice-check{background:var(--quick-run);border-color:var(--quick-run);color:var(--on-quick-run)}.voice-name{font-weight:600}.voice-play{margin-right:6px;color:var(--quick-run)}.voice-play .pulse{animation:voice-pulse .8s ease-in-out infinite alternate}@keyframes voice-pulse{0%{opacity:1}to{opacity:.35}}@media(prefers-reduced-motion:reduce){.voice-play .pulse{animation:none}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--s4) var(--s3);align-items:start}.stat-grid .stat{font-size:clamp(19px,5.6vw,24px);line-height:1.25;white-space:nowrap}.stat-grid .stat small,.stat-xl small{font-size:.6em;font-weight:600;margin-left:1px}.run-weather{display:grid;gap:2px;padding-top:var(--s3);border-top:1px solid var(--hairline)}.run-weather strong{color:var(--ink);font-weight:600}.banner-stack{flex-direction:column;gap:var(--s2)}.banner-stack>.status{white-space:nowrap}.run-part-name{color:var(--ink)}.run-here{color:var(--quick-run);font-weight:700}.run-link{border-radius:var(--r-input);transition:background-color .15s ease;-webkit-tap-highlight-color:transparent}.session-parts .run-link{padding:4px var(--s3);margin-left:calc(-1 * var(--s3))}.run-link:active{background:color-mix(in srgb,var(--quick-run) 22%,transparent)}.run-link.is-current{background:color-mix(in srgb,var(--quick-run) 16%,transparent);box-shadow:inset 3px 0 0 var(--quick-run)}.run-link.is-current .run-part-name,.run-link.is-current .label{color:var(--quick-run)}.list-item.run-link{padding-left:var(--s3);padding-right:var(--s3)}@media(prefers-reduced-motion:reduce){.run-link{transition:none}}.page-in{animation:page-in .2s ease-out both}@keyframes page-in{0%{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){.page-in{animation:none}}.stat-2x2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s3)}.stat-2x2 .stat{font-size:clamp(22px,6.4vw,28px);line-height:1.2;white-space:nowrap}.stat-2x2 .stat small{font-size:.55em;font-weight:600;margin-left:2px}.mono-caption{font-family:var(--font-mono)}.banner-info{background:color-mix(in srgb,var(--info) 12%,var(--surface-raised));color:var(--ink);border:1px solid color-mix(in srgb,var(--info) 35%,transparent)}.banner-info>svg{color:var(--info)}.zone-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:2px 10px;border-radius:999px;background:var(--surface-sunken);font:600 13px/18px var(--font-body);white-space:nowrap}.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.check-list li{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) 0;border-top:1px solid var(--hairline)}.check-list li:first-child{border-top:0;padding-top:0}.check-list li>svg{flex:none;margin-top:1px}.check-list li.ok>svg{color:var(--success)}.check-list li.warn>svg{color:var(--warning)}.check-list li.warn .check-label{color:var(--warning)}.check-list .check-label{display:block;font-weight:600}.check-list .check-detail{display:block;overflow-wrap:anywhere}.race-line p.label{margin-bottom:2px}.settings-check{border:1px solid var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--surface-raised))}.settings-check svg{color:var(--warning)}.tabbar{min-height:calc(80px + env(safe-area-inset-bottom));align-items:end;overflow:visible}.tab{min-height:64px;min-width:44px}.tab.active{font-weight:700}.tab-run{position:relative;justify-content:flex-end;color:var(--ink);padding-bottom:6px}.tab-run-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:content-box;width:60px;height:60px;margin-top:-26px;margin-bottom:2px;border-radius:50%;background:var(--brand);color:var(--on-brand);border:4px solid var(--surface-raised);transition:transform .15s,box-shadow .15s}.tab-run svg{width:26px;height:26px;padding:0;background:none!important;color:var(--on-brand)!important;margin-left:3px}.tab-run.active .tab-run-btn{box-shadow:0 0 0 3px var(--ink)}.tab-run:active .tab-run-btn{transform:scale(.94)}.tab-run:focus-visible{outline:none}.tab-run:focus-visible .tab-run-btn{box-shadow:0 0 0 3px var(--ink),0 0 0 6px var(--brand)}.sidebar .navlink.active{background:var(--surface-raised);color:var(--ink)}.sidebar .navlink.active svg{color:var(--brand)}.appbar-side .avatar{flex:none}.daychip.is-today .daychip-dom{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-5px 0;border-radius:50%;background:var(--brand);color:var(--on-brand)!important}.daychip-mark.mark-done{background:currentColor;border-color:transparent}.daychip-mark.mark-planned{background:transparent;border:1.5px solid var(--border)}.daychip[aria-selected=true] .mark-planned{border-color:var(--surface)}.daychip-rest{font:600 10px/10px var(--font-body);color:var(--ink-muted);letter-spacing:.02em}.daychip[aria-selected=true] .daychip-rest{color:var(--surface);opacity:.85}.daychip-swap{color:var(--info)}.daychip[aria-selected=true] .daychip-swap{color:var(--surface)}.week-bar{display:flex;flex-direction:column;gap:6px;padding:var(--s2) 0}.week-bar .stat small{font-size:.7em;font-weight:600}.week-bar-track{height:6px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.week-bar-track>span{display:block;height:100%;border-radius:999px;background:var(--ink)}.rd-strip{padding:14px;display:flex;flex-direction:column;gap:8px}.rd-strip-main{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);min-height:44px}.rd-score{font:500 20px/24px var(--font-mono)}.rd-word{font:700 15px/20px var(--font-body);white-space:nowrap}.rd-strip-line{gap:var(--s3);min-height:24px}.rd-swap{white-space:nowrap;font-weight:700;min-height:44px;margin:-10px 0}.rd-bar{position:relative;display:grid;grid-template-columns:33fr 33fr 34fr;gap:3px;height:6px}.rd-seg{border-radius:999px}.rd-recover{background:color-mix(in srgb,var(--danger) 35%,var(--surface-sunken))}.rd-easy{background:color-mix(in srgb,var(--warning) 35%,var(--surface-sunken))}.rd-hard{background:color-mix(in srgb,var(--success) 35%,var(--surface-sunken))}.rd-marker{position:absolute;top:-4px;width:4px;height:14px;margin-left:-2px;border-radius:2px;background:var(--ink);box-shadow:0 0 0 2px var(--surface-raised)}.rd-bar-labels{display:grid;grid-template-columns:33fr 33fr 34fr}.rd-bar-labels span:nth-child(2){text-align:center}.rd-bar-labels span:nth-child(3){text-align:right}.rd-factors{list-style:none;padding:0;margin:0}.rd-factor{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4)}.rd-factor+.rd-factor{border-top:1px solid var(--hairline)}.rd-factor>svg{flex:none;margin-top:2px;color:var(--ink-muted)}.rd-effect{font:500 16px/20px var(--font-mono)}.rd-fbar{display:block;height:4px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.rd-fbar>span{display:block;height:100%;border-radius:999px}.btn.btn-graphite,.btn.btn-graphite:hover{background:var(--graphite);color:var(--on-graphite);border-color:var(--graphite)}.checkin-prompt{gap:var(--s3);padding:var(--s3) var(--s4)}.ci-pills{display:flex;flex-wrap:wrap;gap:6px}.chip.chip-on,.chip[aria-checked=true]{background:var(--graphite);color:var(--on-graphite);border-color:var(--graphite)}.next-race{gap:var(--s3)}.rest-week{list-style:none;margin:0;padding:0}.rest-week li+li{border-top:1px solid var(--hairline)}.rw-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:var(--s3);width:100%;min-height:56px;padding:var(--s2) var(--s4);background:none;border:0;text-align:left;color:var(--ink);cursor:pointer}.rw-day{display:flex;flex-direction:column}.rw-main{display:flex;flex-direction:column;min-width:0}.rw-main .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-plan .cal-nav .title{justify-self:center}.mp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.mp-dow{text-align:center}.mp-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:4px 0;border:0;border-radius:var(--r-input);background:none;color:var(--ink);cursor:pointer}.mp-cell:hover{background:var(--surface-sunken)}.mp-cell.other{opacity:.4}.mp-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font:500 15px/1 var(--font-mono)}.mp-cell.today .mp-num{background:var(--brand);color:var(--on-brand)}.mp-dot{display:inline-block;width:7px;height:7px;border-radius:50%;border:1.5px solid transparent}.mp-dot.done{background:var(--ink)}.mp-dot.planned{border-color:var(--border)}.mp-dot.race{background:var(--accent-mark)}.mp-legend{display:flex;flex-wrap:wrap;gap:var(--s3)}.mp-legend>span{display:inline-flex;align-items:center;gap:6px}.mp-today-key{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--brand)}.status-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font:600 12px/18px var(--font-body);background:var(--surface-sunken);color:var(--ink);white-space:nowrap}.status-chip.done{background:color-mix(in srgb,var(--success) 15%,var(--surface-raised));color:var(--success)}.status-chip.swapped{background:color-mix(in srgb,var(--info) 15%,var(--surface-raised));color:var(--info)}.status-chip.missed{background:color-mix(in srgb,var(--warning) 15%,var(--surface-raised));color:var(--warning)}.plan-more>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center}.plan-more>summary::-webkit-details-marker{display:none}.swapped-block{align-items:flex-start}.tag-swapped{display:inline-flex;align-items:center;gap:4px}.swapped-next{opacity:.9}.shoe-search{position:relative;display:block}.shoe-search>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none}.shoe-search .input{padding-left:42px;width:100%}.shoe-brands{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin:0 calc(-1 * var(--s4));padding-left:var(--s4);padding-right:var(--s4)}.shoe-brands::-webkit-scrollbar{display:none}.shoe-brands .chip{flex:none}.shoe-results{list-style:none;margin:0;padding:0}.shoe-results li+li{border-top:1px solid var(--hairline)}.shoe-result{display:grid;grid-template-columns:64px minmax(0,1fr) 18px;align-items:center;gap:var(--s3);width:100%;min-height:60px;padding:var(--s2) var(--s3);background:none;border:0;text-align:left;color:var(--ink);cursor:pointer}.shoe-result:hover{background:var(--surface-sunken)}.shoe-hero{display:flex;justify-content:center;padding:var(--s4) 0;border-radius:var(--r-card);background:var(--surface-sunken)}.shoe-colours{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);cursor:pointer}.swatch.on{box-shadow:0 0 0 3px var(--surface-raised),0 0 0 5px var(--ink)}.shoe-pic{flex:none;display:block}.shoe-photo{display:block;flex:none;object-fit:cover;border-radius:10px;background:var(--surface-sunken)}.shoe-photo-lg{width:min(100%,320px);height:auto;aspect-ratio:8 / 5}.shoe-photo-btn{position:relative;cursor:pointer}.shoe-photo-btn:focus-within{outline:2px solid var(--brand);outline-offset:2px}.run-ready{position:relative;min-height:calc(100dvh - 120px)}.run-map-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:var(--surface);pointer-events:none}.run-map-bg svg{width:100%;height:100%;filter:grayscale(1) contrast(.85);opacity:.22}:root[data-theme=notte] .run-map-bg svg,:root[data-theme=sole] .run-map-bg svg{opacity:.16;filter:grayscale(1) invert(1) contrast(.8)}@media(prefers-color-scheme:dark){:root:not([data-theme=giorno]):not([data-theme=sole]) .run-map-bg svg{opacity:.16;filter:grayscale(1) invert(1) contrast(.8)}}.run-map-credit{position:fixed;right:6px;bottom:calc(86px + env(safe-area-inset-bottom));font-size:10px;color:var(--ink-muted);pointer-events:auto;text-decoration:none;opacity:.8}@media(min-width:820px){.run-map-bg{left:240px}.run-map-credit{bottom:6px}}.run-ready-content{position:relative;z-index:1}.text-tabs{display:flex;gap:var(--s5);border-bottom:1px solid var(--hairline);margin-top:calc(-1 * var(--s3))}.text-tab{background:none;border:0;padding:10px 0;min-height:44px;font:600 16px/22px var(--font-body);color:var(--ink-muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}.text-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.run-card{border:1px solid var(--hairline);border-radius:12px;background:var(--surface-raised)}.run-card-stats{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,.8fr);gap:var(--s3)}.run-card-stats>div{display:flex;flex-direction:column;min-width:0}.run-card-stats .stat{font-size:clamp(16px,4.6vw,21px);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-card-stats .stat small{font-size:.6em;font-weight:600;margin-left:1px}.run-tip{font-size:14px;line-height:20px;color:var(--ink-muted)}.run-tip strong{color:var(--ink)}.run-dots{display:flex;justify-content:center;gap:2px}.run-dot{width:28px;height:28px;border:0;background:none;padding:0;cursor:pointer;position:relative}.run-dot:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--border)}.run-dot.on:after{background:var(--ink)}.run-gps-row{display:flex;justify-content:center;align-items:center;gap:var(--s3);flex-wrap:wrap}.gps-pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:999px;background:var(--surface-raised);border:1px solid var(--hairline);font:600 14px/20px var(--font-body);color:var(--ink-muted)}.gps-pill.ok{color:var(--success)}.gps-pill.bad{color:var(--warning)}.run-controls-row{display:grid;grid-template-columns:56px 128px 56px;justify-content:center;align-items:center;gap:var(--s6);padding:var(--s2) 0}.run-round{width:56px;height:56px;border-radius:50%;border:1px solid var(--hairline);background:var(--surface-raised);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.run-round[aria-pressed=false]{color:var(--ink-muted)}.run-go{width:128px;height:128px;border-radius:50%;border:0;background:var(--brand);color:var(--on-brand);font:700 24px/1 var(--font-display, var(--font-body));cursor:pointer;transition:transform .15s;box-shadow:0 0 0 6px color-mix(in srgb,var(--brand) 18%,transparent)}.run-go:active{transform:scale(.96)}.run-go:disabled{opacity:.55;cursor:not-allowed}.run-go:focus-visible,.run-round:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.pill-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface-raised);color:var(--ink);font:600 15px/20px var(--font-body);cursor:pointer}.run-switch{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);width:100%;min-height:44px;border-top:1px solid var(--hairline);padding-top:var(--s2);text-align:left}.run-switch>span:last-child{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-weight:700}.run-note{text-align:center}.period-pick{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;border:0;background:none;font:600 17px/22px var(--font-body);color:var(--ink);cursor:pointer}.you-total{align-items:flex-start;gap:0}.you-big{font:500 clamp(64px,20vw,84px)/1 var(--font-mono);letter-spacing:-.03em}.you-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);width:100%;margin-top:var(--s4)}.you-stats>div{display:flex;flex-direction:column}.you-stats .stat{font-size:clamp(18px,5.4vw,22px);line-height:1.25;white-space:nowrap}.pbars{margin:0}.pbars svg{width:100%;height:auto;display:block}.pbar{fill:var(--ink)}.pbar.today{fill:var(--brand)}.pbars-grid{stroke:var(--hairline);stroke-width:1}.pbars-axis{font:500 10px var(--font-mono);fill:var(--ink-muted)}.pbars-avg{stroke:var(--ink-muted);stroke-width:1.2;stroke-dasharray:4 3}.pbars-avg-label{font:600 10px var(--font-body);fill:var(--ink-muted)}.pb-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.pb-tile{display:flex;flex-direction:column;gap:2px;padding:var(--s3);text-decoration:none;color:var(--ink);min-width:0}.pb-tile .stat{font-size:clamp(16px,4.8vw,20px);white-space:nowrap}.tag-new{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent);font:700 11px/16px var(--font-body)}.link-row{display:inline-flex;align-items:center;gap:2px;min-height:44px;font-weight:600;color:var(--ink);text-decoration:none}.insights-row{display:flex;align-items:center;gap:var(--s3)}.run-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}.run-card-link{display:grid;grid-template-columns:64px minmax(0,1fr) 18px;gap:var(--s3);align-items:center;padding:var(--s3);border-radius:var(--r-card);background:var(--surface-raised);border:1px solid var(--card-border);color:var(--ink);text-decoration:none}.run-card-link:hover{background:var(--surface-sunken)}.run-thumb{width:64px;height:64px;border-radius:10px;background:var(--surface-sunken);display:block}.run-thumb-icon{display:inline-flex;align-items:center;justify-content:center}.run-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.run-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-card-nums{display:flex;flex-wrap:wrap;gap:4px var(--s4)}.run-card-nums .stat{font-size:15px;white-space:nowrap}.run-card-nums .stat small{font-size:.75em;margin-left:1px}.plan-tag{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;padding:1px 8px;border-radius:999px;font:600 12px/18px var(--font-body);background:var(--surface-sunken);color:var(--ink-muted);max-width:100%}.plan-tag.ok{background:color-mix(in srgb,var(--success) 13%,var(--surface-raised));color:var(--success)}.run-card-device{border-top:1px solid var(--hairline);padding-top:4px;margin-top:2px}.period-opt{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;background:none;border:0;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.period-opt.on{font-weight:700}.next-race-card{border:1.5px solid var(--brand)}.you-countdown{font:500 48px/1 var(--font-mono)}.race-vs{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.race-vs>div{display:flex;flex-direction:column}.race-vs .stat{font-size:22px}.pred-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}@media(min-width:600px){.pred-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.pred-tile{display:flex;flex-direction:column;gap:2px;padding:var(--s3)}.pred-tile .stat{font-size:20px}.coach-week{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);border-top:1px solid var(--hairline);padding-top:var(--s3);margin-top:var(--s1)}.coach-week>div{display:flex;flex-direction:column;min-width:0}.coach-week .stat{font-size:20px;white-space:nowrap}.coach-week .stat small{font-size:.65em;color:var(--ink-muted)}.coach-week .caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.based-on{cursor:pointer;min-height:32px;display:flex;align-items:center;color:var(--ink-muted);list-style:none}.based-on::-webkit-details-marker{display:none}.coach-composer{position:fixed;left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom));z-index:25;background:var(--surface);padding:var(--s2) var(--s4) var(--s3);display:flex;flex-direction:column;gap:var(--s2);border-top:1px solid var(--hairline)}.coach-composer-space{height:120px}@media(min-width:820px){.coach-composer{position:sticky;bottom:0;padding-left:0;padding-right:0}.coach-composer-space{display:none}}.suggest-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--s4));padding:0 var(--s4)}.suggest-row::-webkit-scrollbar{display:none}.suggest-row .chip{flex:none;white-space:nowrap}.icon-btn-round{width:44px;height:44px;border-radius:50%;background:var(--surface-raised);border:1px solid var(--hairline)}.hub-filter{gap:8px}.hub-week{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);text-decoration:none;color:var(--ink)}.hub-week-bars{display:grid;grid-template-columns:repeat(7,14px);gap:6px;height:52px;flex:none}.hub-week-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.hub-week-bar{width:10px;border-radius:5px;background:var(--ink-muted);min-height:4px;max-height:34px}.hub-week-bar.empty{height:4px;background:var(--hairline)}.hub-week-bar.today{background:var(--brand)}.hub-week-day{position:relative}.hub-week-letter{font:500 10px/12px var(--font-mono);color:var(--ink-muted)}.hub-week-bars .hub-week-day>.hub-week-bar{flex:none}.hub-feed{display:flex;flex-direction:column;gap:10px;margin-inline:calc(-1 * var(--s4))}.hub-post{background:var(--surface-raised);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;gap:var(--s3);padding-bottom:0}@media(min-width:600px){.hub-feed{margin-inline:0}.hub-post{border:1px solid var(--hairline);border-radius:var(--r-card);overflow:hidden}}.hub-post-head{display:flex;align-items:flex-start;gap:10px;padding:var(--s4) var(--s2) 0 var(--s4)}.hub-post-who{display:flex;flex-direction:column;flex:1;min-width:0}.hub-post-pad{padding-inline:var(--s4)}.hub-post-title{font:600 22px/28px var(--font-display);margin:0;overflow-wrap:anywhere}.hub-post .hub-stats{gap:var(--s5)}.hub-post .hub-stats .stat{font-size:18px;line-height:24px}.hub-post .hub-stats small{font-size:12px;color:var(--ink-muted);margin-left:1px}.hub-post .hub-route{border-radius:0;height:230px}.hub-post .hub-route svg{width:100%;height:230px}.hub-route .route-tile{filter:grayscale(.85) contrast(.9) brightness(1.05);opacity:.75}:root[data-theme=notte] .hub-route .route-tile{filter:grayscale(1) invert(.9) brightness(.9);opacity:.6}.hub-route .run-map-credit{position:absolute;right:6px;bottom:4px;font:400 10px/14px var(--font-body);color:var(--ink-muted);background:color-mix(in srgb,var(--surface-raised) 80%,transparent);padding:0 4px;border-radius:4px}.hub-summary{display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:var(--s2)}.hub-givers{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 0;min-height:36px;cursor:pointer;color:var(--ink)}.hub-givers .ritmo-count{background:none;padding:0;min-height:0;font:600 14px/20px var(--font-body)}.hub-stack{display:inline-flex}.hub-avatar-xs{width:26px;height:26px;font-size:10px;border:2px solid var(--surface-raised);margin-left:-8px}.hub-stack .hub-avatar-xs:first-child{margin-left:0}.hub-actions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline)}.hub-actions.two{grid-template-columns:repeat(2,1fr)}.hub-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;background:none;border:0;font:600 14px/20px var(--font-body);color:var(--ink);cursor:pointer}.hub-action+.hub-action{border-left:1px solid var(--hairline)}.hub-action svg{color:var(--ink)}.fuego-btn.on,.fuego-btn.on svg{color:var(--brand)}.hub-badge-post{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--r-card);background:var(--surface-sunken)}.badge-icon{width:44px;height:44px;flex:none;border-radius:50%;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center}.challenge-line{font:500 14px/20px var(--font-body);font-variant-numeric:tabular-nums}.badge-shelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:var(--s3)}.badge-shelf li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.club-logo{width:48px;height:48px;flex:none;border-radius:var(--r-card);background:var(--graphite);color:var(--on-graphite);display:inline-flex;align-items:center;justify-content:center;font:700 16px/1 var(--font-display)}.club-logo-sm{width:36px;height:36px;font-size:13px;border-radius:9px}.club-row{display:flex;align-items:center;gap:var(--s3);min-height:56px;text-decoration:none;color:var(--ink);padding:var(--s1) 0}.list.card .club-row{padding-inline:0}.group-run{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}.group-run>.row{margin-left:auto}.date-block{width:48px;flex:none;display:flex;flex-direction:column;align-items:center;border:1px solid var(--hairline);border-radius:10px;overflow:hidden;background:var(--surface-raised)}.date-block-m{width:100%;text-align:center;background:var(--brand);color:var(--on-brand);font:700 10px/16px var(--font-body);letter-spacing:.04em}.date-block-d{font:600 20px/28px var(--font-mono)}.leaderboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.leader-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s2);border-radius:8px}.leader-row+.leader-row{border-top:1px solid var(--hairline)}.leader-row.me{background:color-mix(in srgb,var(--accent) 24%,var(--surface-raised));border-top-color:transparent}.leader-rank{font:600 14px/20px var(--font-mono);color:var(--ink-muted)}.leader-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-color-scheme:dark){:root:not([data-theme=giorno]):not([data-theme=sole]) .hub-route .route-tile{filter:grayscale(1) invert(.9) brightness(.9);opacity:.6}}.profile-row-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
