
/* TGL brand: off-white controls, steel details and selective pink markers. */
:root{accent-color:#E6007E;color-scheme:dark}
a:hover{text-decoration:underline}
header{border-bottom-color:#5E7A86;align-items:center}
/* Compact the standard brand row without changing horizontal page padding. */
body>header:has(.brand-mark){padding-block:8px;min-height:0;align-items:center}
body>header:has(.brand-mark)>strong{display:flex;align-items:center}
.tgl-about{border-left:3px solid #E6007E}
.hero h1 span{text-decoration:underline;text-decoration-color:#E6007E;text-decoration-thickness:3px;text-underline-offset:8px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #F4F7F9!important;outline-offset:3px;box-shadow:0 0 0 6px #E6007E!important}
button,.button{background:#F4F7F9;color:#18162F}
button:where(:hover),.button:where(:hover){background:#FFFFFF}
/* Low-specificity action defaults: local variants retain their foreground/background pair in every state. */
button:where(:not(.secondary):is(:hover,:active,:focus-visible)),.button:where(:not(.secondary):is(:hover,:active,:focus-visible)),a.button:where(:not(.secondary):visited){color:#18162F}
button.secondary,button.secondary:is(:hover,:active,:focus-visible),.button.secondary,.button.secondary:is(:hover,:active,:focus-visible),a.button.secondary:visited{background:#39495F;color:#F4F7F9}
button:disabled,.button[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
button[aria-pressed="true"],button[aria-selected="true"],.active,[aria-current="page"]{border-color:#E6007E!important;box-shadow:inset 0 -3px #E6007E}
input[type=checkbox],input[type=radio]{accent-color:#E6007E}
header .brand-mark{display:inline-flex;align-items:center;gap:10px;line-height:1.12;white-space:nowrap;text-decoration:none;color:#F4F7F9!important}
header .brand-mark img{width:70px;height:60px;object-fit:contain;flex:none}
.tgl-header-account{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:8px 11px;border:1px solid #62788A;border-radius:8px;background:#28263F;color:#F4F7F9!important;text-decoration:none;font:600 13px Arial,sans-serif;white-space:nowrap}.tgl-header-account:hover{background:#39475A;text-decoration:none}
.tgl-report-tab{position:fixed;right:0;top:50%;z-index:90;transform:translateY(-50%);writing-mode:vertical-rl;transform-origin:center;padding:14px 9px;border-radius:9px 0 0 9px;border:1px solid #718a9a;border-right:0;background:#25243C;color:#F4F7F9!important;font:700 13px Arial,sans-serif;letter-spacing:.02em;text-decoration:none;box-shadow:-3px 3px 15px #08081588}.tgl-report-tab:hover{background:#39495F;text-decoration:none}@media(max-width:600px){.tgl-report-tab{top:auto;bottom:16%;transform:none;padding:11px 7px;font-size:12px}}
header .brand-mark .brand-name,header .brand-mark strong{font-family:Arial,sans-serif;font-size:18px;font-weight:800;line-height:1.12;letter-spacing:.065em;color:#F4F7F9}
.hero-logo{display:block;width:min(100%,470px);height:auto;margin:0 0 22px}
/* Long organiser names wrap inside action buttons; the final word and arrow stay together. */
.actions>.button,.actions>button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.event-card .card-top>span:first-child{border-left:3px solid #E6007E;padding-left:11px}
.event-card .card-link .link-arrow{color:#E6007E;font-weight:800}
/* One lock-up for standard static and Account headers. Homepage type is the reference. */
@media(max-width:600px){header .brand-mark img{width:60px;height:52px}header .brand-mark .brand-name,header .brand-mark strong{font-size:14px;letter-spacing:.025em}}
@media(max-width:350px){header .brand-mark{gap:8px}header .brand-mark img{width:46px;height:46px}header .brand-mark .brand-name,header .brand-mark strong{font-size:13px}}

/* Small marker used across cards; keep the pink area restrained. */
.card>small:first-child,.card>.eyebrow:first-child,.panel>.eyebrow:first-child{display:block;border-left:3px solid #E6007E;padding-left:11px}
.tgl-sync-conflict{display:grid!important;gap:14px;padding:18px;margin-top:16px;border:1px solid #6F8894;border-left:3px solid #E6007E;border-radius:12px;background:#25243C;color:#F4F7F9}
.tgl-sync-conflict[hidden]{display:none!important}.tgl-sync-conflict button{width:auto;max-width:100%;min-height:44px;padding:10px 16px;text-align:center;border:1px solid #b6c7d0;border-radius:9px;font:700 14px Arial,sans-serif;line-height:1.25}.tgl-sync-conflict button:first-of-type{background:#F4F7F9;color:#18162F}.tgl-sync-conflict button.secondary{background:#39495F;color:#F4F7F9;border-color:#718a9a}.tgl-sync-conflict p{margin:0;line-height:1.45}.tgl-sync-conflict .sync-conflict-heading{font-size:1.08rem}.tgl-sync-conflict .sync-conflict-explanation{font-size:.85rem;color:#c2d0d7}@media(max-width:480px){.tgl-sync-conflict{grid-template-columns:1fr 1fr;gap:10px}.tgl-sync-conflict .sync-conflict-heading,.tgl-sync-conflict p{grid-column:1/-1}.tgl-sync-conflict button{width:100%;font-size:13px}}
.add-bike-card{display:grid;gap:5px;width:100%;min-height:90px;text-align:left;margin-top:16px}.add-bike-card span{font-size:.9rem;font-weight:400}.add-bike-card.compact-add{min-height:45px;width:auto;background:#39495F;color:#F4F7F9}
#workChoices{border:1px solid #62788A;border-radius:9px;padding:12px;margin:12px 0}#workChoices legend{font-weight:700}#workChoices .work-option{display:flex;align-items:center;gap:9px;padding:6px 0}#workChoices input{width:auto;min-height:0}
.time-stepper{display:flex;align-items:center;gap:8px;margin-bottom:12px}.time-stepper button{min-height:46px;border-radius:9px}.time-stepper button:first-child,.time-stepper button:nth-child(3){min-width:48px;background:#39495F;color:#fff}.time-stepper .stepper-value{flex:1;background:#201F38;color:#fff;border:1px solid #6F8894}.time-stepper .stepper-input{flex:1;min-width:0}.time-stepper [hidden]{display:none!important}
.event-day-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.event-day-actions a{display:grid;gap:6px;min-height:100px;padding:16px;border:1px solid #62788A;border-radius:12px;background:#25243C;color:#F4F7F9;text-decoration:none}.event-day-actions a:hover,.event-day-actions a:focus-visible{border-color:#E6007E}.event-day-actions span{font-size:.9rem;color:#c6d3db}
#launch{min-height:50px;margin-bottom:24px}.schedule-heading{margin:12px 0 14px}.sessionkicker{color:#E6007E!important;font-weight:800;letter-spacing:.08em}.sessionintensity{display:inline-block;border-left:3px solid #E6007E;padding-left:12px}.phase-track{height:5px;background:#39495F;border-radius:99px;overflow:hidden;margin:13px auto 30px;max-width:480px}.phase-track>div{height:100%;background:#E6007E;width:0;transition:width .3s linear}.sessionnext:before{content:'NEXT';display:block;color:#E6007E;font-size:.8rem;font-weight:800;letter-spacing:.09em;margin-bottom:9px}.sessionbuttons #nextSession{background:#F4F7F9;color:#18162F}.sessionbuttons #pauseSession{background:#39495F;color:#F4F7F9}

/* Shared introduction rhythm and accent actions. Individual page grids retain their balance. */
:root{--tgl-space-1:4px;--tgl-space-2:8px;--tgl-space-3:12px;--tgl-space-4:16px;--tgl-space-6:24px;--tgl-space-8:32px;--tgl-space-12:48px;--tgl-space-16:64px}
.tgl-density-compact{--tgl-intro-gap:var(--tgl-space-4)}
.tgl-accent-link{display:inline-flex;align-items:center;min-height:44px;color:#F4F7F9;font-size:1rem;font-weight:700;line-height:1.25;letter-spacing:.01em;text-decoration:none;text-underline-offset:5px}
.tgl-accent-link:hover{text-decoration:underline;text-decoration-color:#E6007E;text-decoration-thickness:2px}
.tgl-tool-card>a:last-child{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px}
:is(.tgl-rhythm main,main.tgl-rhythm)>.eyebrow+h1{margin-top:var(--tgl-space-2)}
:is(.tgl-rhythm main,main.tgl-rhythm)>h1+:is(.intro,.note){margin-top:0;margin-bottom:var(--tgl-intro-gap,var(--tgl-space-6))}
@media(max-width:760px){
 :is(.tgl-rhythm main,main.tgl-rhythm){padding-top:var(--tgl-space-6)}
 :is(.tgl-rhythm main,main.tgl-rhythm)>.eyebrow+h1{margin-bottom:var(--tgl-space-2)}
 :is(.tgl-rhythm main,main.tgl-rhythm)>h1+:is(.intro,.note){margin-bottom:var(--tgl-space-4)}
 :is(.tgl-rhythm main,main.tgl-rhythm)>h1:first-child{margin-bottom:var(--tgl-space-4)}
}
#baseline-choice:not([hidden]),#target-choice:not([hidden]){display:block;width:100%;margin-bottom:10px}#goal-baseline[hidden],#goal-target[hidden]{display:none!important}

/* Opt-in task actions. Layout, padding and radius remain with the owning page.
   Navigation remains <a>; operations remain <button>. Destructive presentation
   is deliberately neutral: explicit wording and existing recovery/confirmation
   carry its meaning, rather than colour. This does not define removal policy. */
.tgl-action{min-height:44px;min-width:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.3;cursor:pointer}
a.tgl-action{display:inline-flex;align-items:center}
.tgl-action.tgl-action--prominent{background:#F4F7F9;color:#18162F}
.tgl-action.tgl-action--prominent:where(:hover){background:#FFFFFF;color:#18162F}
.tgl-action.tgl-action--prominent:where(:active){background:#D5DEE3;color:#18162F}
.tgl-action.tgl-action--secondary{background:var(--tgl-action-secondary-bg,#25243C);color:#F4F7F9;border-color:#708393}
.tgl-action.tgl-action--secondary:where(:hover,:active){background:#39495F;color:#F4F7F9}
.tgl-action.tgl-action--quiet,.tgl-action.tgl-action--destructive{background:transparent;color:#F4F7F9;border-color:transparent;text-decoration:underline;text-underline-offset:3px}
.tgl-action:is(.tgl-action--quiet,.tgl-action--destructive):where(:hover,:active){background:#39495F;color:#F4F7F9}
.tgl-action.tgl-action--icon{text-decoration:none}
a.tgl-action:visited{color:#F4F7F9}
a.tgl-action.tgl-action--prominent:visited{color:#18162F}
.tgl-action:is(:disabled,[aria-disabled="true"]){opacity:.65;cursor:not-allowed}
.tgl-action[aria-busy="true"]{cursor:wait}
/* Existing brand focus ring applies unchanged to these semantic variants. */
