.brand {
  font-size:1.8rem;
  font-weight:800;
  display:flex;
  align-items:center;
  letter-spacing:-.075em;
  line-height:1;
}
.brand>span {
  font-weight:450;
}
.brand .brand-logo {
    width: 40px;
    height: 40px;
    margin-right: 8px;
    flex-shrink: 0;
    object-fit: contain;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  background:var(--accent);
  color:var(--accent-ink);
  font-weight:650;
  font-size:1rem;
  min-height:52px;
  padding:14px 22px;
  border:0;
  border-radius:var(--radius-sm);
  transition:filter .2s,transform .2s;
}
.button:hover {
  filter:brightness(.94);
  transform:translateY(-1px);
}
.button.small {
  min-height:44px;
  font-size:.875rem;
  padding:11px 17px;
  gap:16px;
}
.button span {
  font-size:1.2em;
}
.text-link {
  font-weight:600;
  font-size:.9375rem;
}
.text-link span {
  margin-left:8px;
}
.eyebrow {
  font-size:.75rem;
  font-weight:750;
  letter-spacing:.13em;
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
.line {
  height:2px;
  width:28px;
  background:var(--ink);
}
h1 em {
  font-style:normal;
  color:var(--highlight);
}
.lead {
  font-size:1.125rem;
  line-height:1.8;
  max-width:470px;
  margin-top:26px;
}
.quiet {
  font-size:.8125rem;
  margin-top:18px;
}
.photo-label {
  position:absolute;
  left:26px;
  top:25px;
  color:var(--image-label);
  font-size:.6875rem;
  letter-spacing:.16em;
  font-weight:700;
  text-shadow:0 1px 8px var(--image-shadow);
}
.ride-card {
  position:absolute;
  bottom:24px;
  left:24px;
  right:24px;
  background:var(--paper);
  padding:22px;
  border-radius:var(--radius);
  box-shadow:0 8px 35px var(--card-shadow);
}
.ride-card-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.875rem;
  font-weight:650;
}
.tag {
  font-size:.6875rem;
  letter-spacing:.05em;
  padding:4px 7px;
  background:var(--soft);
  border-radius:var(--radius-tag);
  font-weight:700;
  white-space:nowrap;
}
.ride-stats {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:14px;
  margin:20px 0;
}
.ride-stats>div {
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--border);
}
.ride-stats>div:last-child {
  border:0;
}
.ride-stats strong {
  font-size:2rem;
  letter-spacing:-.04em;
  line-height:1.2;
}
.ride-stats span {
  font-size:.75rem;
  color:var(--muted);
  margin-top:7px;
}
.ride-bottom {
  border-top:1px solid var(--border);
  padding-top:12px;
  display:flex;
  justify-content:space-between;
  font-size:.75rem;
  color:var(--muted);
}
.principles {
  font-size:.875rem;
  font-weight:500;
  color:var(--muted);
}
.feature {
  background:var(--soft);
  padding:30px;
  border-radius:var(--radius);
  display:flex;
  flex-direction:column;
}
.feature-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:40px;
}
.number {
  font-size:.75rem;
  font-weight:650;
  letter-spacing:.07em;
}
.status {
  font-size:.6875rem;
  border:1px solid var(--border);
  padding:3px 6px;
  border-radius:var(--radius-tag);
  color:var(--muted);
}
.feature h3 {
  font-size:1.625rem;
  line-height:1.2;
}
.feature p {
  margin-top:20px;
  font-size:1rem;
  flex:1;
}
.feature-note {
  border-top:1px solid var(--border);
  padding-top:18px;
  margin-top:30px;
  font-size:.8125rem;
  font-weight:550;
}
.calculator-section .eyebrow {
  color:var(--accent);
}
.calculator-section .lead {
  color:var(--on-dark-muted);
}
.calculator-context {
  font-size:.875rem;
  color:var(--on-dark-secondary);
  max-width:380px;
  margin-top:28px;
}
.calculator {
  padding:34px;
  background:var(--paper);
  color:var(--ink);
  border-radius:var(--radius-lg);
}
.calculator-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:26px;
  flex-wrap:wrap;
}
.calculator-title h3 {
  font-size:1.125rem;
}
.field-grid label {
  font-size:.875rem;
  font-weight:550;
  display:block;
}
.input-unit {
  position:relative;
  margin-top:7px;
}
.input-unit input {
  width:100%;
  min-width:0;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--soft);
  padding:12px 40px 12px 13px;
  color:var(--ink);
  font-weight:550;
}
.input-unit span {
  position:absolute;
  right:14px;
  top:13px;
  color:var(--muted);
  pointer-events:none;
}
.calculator .button {
  margin-top:24px;
  width:100%;
}
.result {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--border);
}
.result>span {
  font-size:.875rem;
  max-width:150px;
  color:var(--muted);
}
.result strong {
  font-size:2.8rem;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.result small {
  font-size:1rem;
  letter-spacing:0;
}
details {
  font-size:.8125rem;
  color:var(--muted);
  margin-top:20px;
}
details p {
  margin-top:10px;
  line-height:1.6;
}
.steps article>span {
  display:block;
  font-size:2.5rem;
  letter-spacing:-.06em;
  color:var(--highlight);
  font-weight:600;
  margin-bottom:20px;
}
.steps h3 {
  font-size:1.25rem;
}
.steps p {
  margin-top:14px;
}
.offers-section {
  background:var(--soft);
}
.plan {
  border:1px solid var(--border);
  padding:36px;
  border-radius:var(--radius);
  background:var(--paper);
}
.plan-heading {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.plan-heading>span {
  font-size:.875rem;
  color:var(--muted);
}
.plan ul {
  margin:30px 0;
}
.plan li {
  padding:9px 0 9px 25px;
  position:relative;
  font-size:1rem;
}
.plan li:before {
  content:'✓';
  position:absolute;
  left:0;
  font-weight:600;
  color:var(--highlight);
}
.plan-foot {
  font-size:.875rem;
  border-top:1px solid var(--border);
  padding-top:18px;
}
.premium {
  background:var(--navy);
  color:var(--on-dark);
  border-color:var(--navy);
}
.premium .plan-heading>span,.premium .plan-foot {
  color:var(--on-dark-muted);
}
.premium .plan-foot {
  border-color:var(--on-dark-border);
}
.premium li:before {
  color:var(--accent);
}
.offer-note {
  font-size:.8125rem;
  margin-top:24px;
}
.footer>span {
  font-size:.8125rem;
  color:var(--muted);
}
.result,.ride-card-top {
  flex-wrap:wrap;
}
.button {
  text-align:center;
}
.ride-stats {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.ride-stats strong {
  font-size:clamp(1.4rem,3vw,2rem);
}
.calculator-feedback,.calculator-limits {
  font-size:.8125rem;
  margin-bottom:16px;
}
.calculator-feedback:empty {
  display:none;
}
.calculator-feedback {
  margin-top:16px;
}
.ride-card {
  position: relative;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin-top: 140px;
  align-self: end;
  min-width: 0;
}
.photo-label {
  right: 26px;
}
/* Account forms reuse the Sport theme. */
.account-layout { max-width: 42rem; }
.account-card { padding: clamp(1.25rem, 4vw, 2.5rem); background: var(--soft); border-radius: var(--radius-lg); }
.account-card h1 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1.5rem; }
.account-card h2 { font-size: 1.1rem; }
.account-card p { margin-block: 1rem; }
.account-form { display: flex; flex-direction: column; gap: .7rem; }
.account-form input:not([type="checkbox"]):not([type="hidden"]) { width: 100%; min-width: 0; padding: .8rem; border: 1px solid var(--border); background: var(--paper); color: var(--ink); border-radius: var(--radius-sm); }
.account-form input[type="checkbox"] { width: 1.25rem; height: 1.25rem; }
.account-form label { font-weight: 600; }
.account-form .button { margin-top: 1rem; }
.account-links { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; margin-top: 2rem; }
.account-links a,.document a { text-decoration: underline; text-underline-offset: .2em; }
.text-button { border: 0; background: transparent; color: var(--ink); padding: .5rem 0; text-align: left; }
.form-error { border: 2px solid var(--ink); border-radius: var(--radius-sm); padding: 1rem; margin-bottom: 1.5rem; }
.local-note { border-left: 3px solid var(--highlight); padding-left: .8rem; }
.language-switch { display: flex; gap: .3rem; }
.language-switch button { border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--ink); background: var(--paper); padding: .5rem; min-height: 44px; }
.language-switch [aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); }
.plan-badge { font-weight: 700; color: var(--highlight); }
.document { display: grid; gap: .5rem; }
.account-form select {
  width: 100%;
  min-width: 0;
  padding: .8rem;
  font: inherit;
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}
.account-form select:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 5px;
}
.account-links p { margin: 0; }
.account-links-inline { margin-top: 1.5rem; }
.account-links-inline a { text-decoration: underline; text-underline-offset: .2em; }

/* Rider settings reuse the existing sport palette and button/form components. */
.rider-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:2rem;align-items:start}
.settings-nav{display:flex;flex-direction:column;gap:.5rem;position:sticky;top:1rem}
.settings-nav a{padding:.8rem 1rem;border-radius:.6rem}
.settings-nav a[aria-current]{background:var(--navy);color:var(--paper)}
.rider-content{min-width:0;max-width:58rem}
.rider-content h1{margin-bottom:1.5rem}
.rider-form,.avatar-editor,.bike-card,.profile-stats,.delete-panel{background:var(--paper);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem}
.rider-form{max-width:42rem}
.rider-form details{display:grid;gap:.5rem;margin:1rem 0}
.rider-form details label,.rider-form details input{display:block;width:100%;margin:.6rem 0}
.avatar{display:inline-flex;width:2.75rem;height:2.75rem;border-radius:50%;align-items:center;justify-content:center;background:var(--navy);color:var(--paper);overflow:hidden;font-weight:700;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-large{width:6rem;height:6rem;font-size:1.8rem}
.profile-hero{display:flex;align-items:center;gap:1.5rem;margin:1.5rem 0}
.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.profile-stats dd{font-size:1.5rem;font-weight:700;margin:.3rem 0}
.profile-stats dt,.muted{color:var(--muted)}
.bike-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.bike-card a,.bike-card form{display:block;margin-top:.75rem}
.profile-menu{position:relative}
.profile-toggle{display:flex;align-items:center;gap:.4rem;background:transparent;border:0;padding:.25rem;cursor:pointer}
.profile-menu-items{position:absolute;right:0;top:100%;z-index:50;min-width:13rem;background:var(--paper);border:1px solid var(--border);box-shadow:0 .7rem 2rem var(--card-shadow);padding:1rem;border-radius:.75rem}
#navigation .profile-menu-items a,#navigation .profile-menu-items form{display:block;margin:.5rem 0}
.profile-menu-items[hidden],.crop-controls[hidden]{display:none}
.crop-controls canvas{max-width:100%;width:320px;height:auto;border:2px solid var(--navy);touch-action:none;cursor:move;display:block}
.crop-controls label{display:block;margin:.7rem 0}
.crop-controls input{width:100%}
.save-notice{padding:1rem;background:var(--soft);border-radius:.5rem}
.empty-state{padding:1.5rem;background:var(--soft);border-radius:.7rem}
@media(max-width:48rem){.rider-layout{grid-template-columns:1fr;gap:1rem}.settings-nav{position:static;flex-direction:row;overflow-x:auto;font-size:.9rem}.settings-nav a{white-space:nowrap;padding:.7rem}.rider-form,.avatar-editor{padding:1rem}.profile-stats{grid-template-columns:1fr}.profile-menu-items{right:auto;left:0}.profile-hero{gap:1rem}}

.avatar-picker{position:relative;display:inline-flex;align-self:start;justify-self:start;width:6rem;height:6rem;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.avatar-picker:focus-visible,.avatar-picker:focus-within{outline:3px solid var(--focus);outline-offset:5px}
.avatar-camera{position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:2px solid var(--paper);border-radius:50%;background:var(--accent);color:var(--accent-ink);pointer-events:none}
.avatar-file-hint{font-size:.875rem;color:var(--muted);margin:.25rem 0 .75rem}
[data-avatar-form] input[type=file][hidden]{display:none}

.workspace-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:2.5rem;align-items:start}
.workspace-sidebar{position:sticky;top:1rem;min-width:0}
.workspace-navigation{display:flex;flex-direction:column;gap:.4rem}
.workspace-navigation a{display:block;padding:.9rem 1rem;border-radius:var(--radius);text-decoration:none}
.workspace-navigation a[aria-current]{background:var(--navy);color:var(--on-dark);font-weight:700}
.workspace-nav-toggle{display:none}
.workspace-content{min-width:0}
.workspace-heading{display:flex;gap:1rem;align-items:start;justify-content:space-between;margin-bottom:1.5rem}
.workspace-heading h1{margin:0 0 .7rem}
.workspace-heading p{color:var(--muted)}
.workspace-data{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;margin:0}
.workspace-data>div{padding:1.4rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);min-width:0}
.workspace-data dt{color:var(--muted);font-size:.9rem}
.workspace-data dd{font-size:1.4rem;font-weight:700;margin:.7rem 0;overflow-wrap:anywhere}
.workspace-data p{margin:0;color:var(--muted)}
.workspace-data a{font-size:.875rem}
.workspace-edit-links{display:flex;gap:1.5rem;flex-wrap:wrap;margin:1.25rem 0 2.5rem}
.workspace-tool,.workspace-preparation{padding:clamp(1.5rem,4vw,2.5rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--soft)}
.workspace-tool{border-top:4px solid var(--accent)}
.workspace-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--highlight)}
.workspace-tool p,.workspace-preparation p{max-width:44rem}
.workspace-preparation{margin-top:2rem}
.workspace-bike-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;margin-top:1.5rem}
.workspace-bike-choice label,.workspace-bike-choice p{grid-column:1/-1}
.workspace-bike-choice select{width:100%;min-width:0;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:inherit}
.workspace-bike-choice p{font-size:.9rem;color:var(--muted);margin:0}
#navigation .workspace-entry{white-space:nowrap}
@media(max-width:48rem){
.workspace-layout{grid-template-columns:minmax(0,1fr);gap:1.25rem}
.workspace-sidebar{position:static}
.js .workspace-nav-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font:inherit;font-weight:700;text-align:left}
.workspace-nav-toggle small{font-weight:400;flex-basis:100%;color:var(--muted)}
.workspace-navigation{margin-top:.5rem}.workspace-navigation[hidden]{display:none}
.workspace-heading{flex-direction:column}.workspace-bike-choice{grid-template-columns:minmax(0,1fr)}
}

.workspace-heading h1{font-size:clamp(1.75rem,3.8vw,3rem);overflow-wrap:anywhere}
@media(min-width:60.01rem){.header-authenticated{flex-wrap:wrap;padding-block:1rem}.header-authenticated #navigation{flex-wrap:wrap;justify-content:flex-end;gap:clamp(.75rem,1.7vw,1.8rem)}}

/* Personal calculators: local chart, shared values and accessible horizontal tabs. */
.personal-calculator{--calc-series-1:var(--highlight);--calc-series-2:var(--ink);--calc-series-3:var(--muted)}
.personal-calculator [hidden]{display:none!important}
.calculation-values,.calculation-advanced{padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);margin-bottom:1rem}
.personal-calculator summary{cursor:pointer;font-weight:700;min-height:2rem}
.personal-calculator .plan-badge{margin-left:.6rem}
.calc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;margin:1rem 0}
.calc-fields label,.calc-comparison>label{display:flex;flex-direction:column;gap:.4rem;font-weight:600;min-width:0}
.calc-fields input,.calc-fields select{width:100%;min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--paper);color:var(--ink)}
.calc-fields input:disabled{opacity:1;background:var(--soft);color:var(--ink);cursor:not-allowed}
.calc-fields small{color:var(--muted);font-weight:400}.calc-fields fieldset{min-width:0}
.calc-fields .calc-ftp-hint{font-size:.875rem;line-height:1.4}
fieldset.calc-fields{border:0;padding:0;min-width:0}.calc-wide{grid-column:1/-1}
.calc-total{align-self:center}.calc-total strong{font-size:1.4rem}
.calc-tabs{display:flex;gap:.3rem;overflow-x:auto;padding:.4rem 0;border-bottom:1px solid var(--border);scrollbar-width:thin}
.calc-tabs button{flex:0 0 auto;white-space:nowrap;font:inherit;font-weight:600;cursor:pointer;padding:.8rem 1rem;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}
.calc-tabs button[aria-selected=true]{background:var(--navy);color:var(--on-dark);border-color:var(--navy)}
.calc-tabs-hint,.calc-model-note{font-size:.875rem;color:var(--muted)}
.personal-calculator [role=tabpanel]{padding-block:.5rem 1rem}
.personal-calculator input[type=range]{accent-color:var(--highlight);min-height:44px;padding:0;width:100%}
.personal-calculator button:focus-visible,.personal-calculator input:focus-visible,.personal-calculator select:focus-visible,.personal-calculator [tabindex]:focus-visible,.personal-calculator summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.personal-calculator button:disabled{opacity:.55;cursor:wait}
.calc-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;padding:1.25rem;background:var(--soft);border-radius:var(--radius)}
.calc-results>div{display:flex;flex-direction:column;gap:.5rem}.calc-results strong{font-size:1.6rem;overflow-wrap:anywhere}.calc-results span{color:var(--muted)}
.calc-results details,.calc-result-note{grid-column:1/-1}.calc-results dl{display:grid;grid-template-columns:1fr auto;gap:.5rem}.calc-results dd{margin:0}
.calc-comparison{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
[data-chart]>svg{width:100%;height:auto;display:block;cursor:crosshair}
.calc-axis{font-size:13px;fill:var(--ink)}.calc-grid{stroke:var(--border);stroke-width:1}.calc-cursor{stroke:var(--muted);stroke-dasharray:4 4}
.calc-legend{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;padding:0;font-size:.875rem}.calc-legend li{display:flex;gap:.4rem;align-items:center}
.calc-table-scroll{overflow-x:auto;margin-top:1rem}.calc-comparison table{border-collapse:collapse;width:100%;font-size:.875rem}
.calc-comparison caption{text-align:left;padding:.5rem 0;font-weight:600}.calc-comparison th,.calc-comparison td{padding:.7rem;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}
.calc-comparison th:first-child{text-align:left}.calc-model-note{margin-top:1.5rem}
@media(max-width:48rem){.calculation-values,.calculation-advanced,.calc-comparison{padding:.85rem}.calc-tabs button{padding:.75rem}.calc-fields{gap:.75rem}.calc-results{padding:1rem}}

/* Calculator navigation and per-function inputs. */
.calc-tabs{display:flex;flex-wrap:wrap;gap:.5rem;overflow:visible;border:0;padding:0;margin-bottom:1.5rem}
.calc-tabs button{flex:1 1 8rem;white-space:normal;min-height:52px;font-weight:800;font-size:1rem;border:2px solid var(--border)}
.calc-tabs button[aria-selected=true]{background:var(--navy);color:var(--accent);border-color:var(--navy);box-shadow:inset 0 -4px 0 var(--accent)}
.personal-calculator [role=tabpanel]>h2{font-size:1.6rem;margin:.25rem 0 1rem}
.calc-rider-inputs{border:0;border-top:1px solid var(--border);padding:1rem 0 0}
.calc-rider-inputs legend{font-weight:600;color:var(--muted);font-size:.9rem;padding-right:.75rem}
.calculation-advanced{margin-top:1rem}
.calc-results h3{grid-column:1/-1;margin:0}.calc-results{border-left:4px solid var(--highlight)}
.calc-power-row{cursor:pointer}.calc-power-row:hover{background:var(--soft)}
.calc-power-row button{font:inherit;font-weight:800;border:0;background:transparent;color:var(--highlight);cursor:pointer;padding:.5rem}
.calc-power-row button::after{content:' ›';display:inline-block;margin-left:.5rem}
.calc-power-row button[aria-expanded=true]::after{transform:rotate(90deg)}
.calc-weight-detail>td{text-align:left!important;white-space:normal!important;background:var(--soft);padding:1rem!important}
.calc-weight-detail h4{font-size:1.2rem;margin:.5rem 0}
.calc-impact{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.calc-impact p{display:flex;flex-direction:column;gap:.5rem}
.calc-weight-chart{width:100%;display:block;margin-top:1rem;background:var(--paper);border-radius:var(--radius)}
.calc-scenario-table{background:var(--paper)}.calc-reference{font-weight:800}
.calc-scenario-table [aria-current=true]{outline:2px solid var(--highlight);outline-offset:-2px}
@media(max-width:48rem){
 .calc-tabs{gap:.5rem}.calc-tabs button{flex:1 1 calc(50% - .5rem);font-size:.95rem}
 .calc-fields{grid-template-columns:minmax(0,1fr)}
 .calc-power-table,.calc-power-table>tbody,.calc-power-table>tbody>.calc-power-row,.calc-power-table>tbody>.calc-weight-detail{display:block;width:100%}
 .calc-power-table>thead{display:none}
 .calc-power-row{border:1px solid var(--border);border-radius:var(--radius);padding:.65rem;margin-top:.75rem}
 .calc-power-row>th,.calc-power-row>td{display:flex;align-items:center;justify-content:space-between;gap:.6rem;white-space:normal;padding:.4rem;border:0;font-size:.85rem}
 .calc-power-row>th::before,.calc-power-row>td::before{content:attr(data-label);font-weight:400;text-align:left;color:var(--muted)}
 .calc-weight-detail>td{display:block;width:100%;min-width:0;box-sizing:border-box}
 .calc-impact{grid-template-columns:1fr;gap:0}
}

.calc-speed-bar{display:block;width:100%;height:6px;margin-top:.4rem}
@media(max-width:48rem){.calc-speed-bar{display:none}}

#calc-panel-compare>div.calc-fields{grid-template-columns:repeat(6,minmax(0,1fr))}
#calc-panel-compare>div.calc-fields>label{grid-column:span 3}
#calc-panel-compare>div.calc-fields>label:nth-child(-n+2){grid-column:span 3}
@media(max-width:48rem){#calc-panel-compare>div.calc-fields{grid-template-columns:minmax(0,1fr)}#calc-panel-compare>div.calc-fields>label,#calc-panel-compare>div.calc-fields>label:nth-child(-n+2){grid-column:auto}}

.avatar-picker .visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.crop-controls[data-saved] label,.crop-controls[data-saved]>p{display:none}

.profile-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:24px}
.button.button-danger{background:#b42318;color:#fff;border:2px solid #b42318}
.button.button-danger:hover{background:#912018;border-color:#912018}
.button.button-secondary{background:#fff;color:var(--ink,#14202b);border:2px solid #89939b}
.account-delete-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid #d6dce0;border-radius:16px;color:var(--ink,#14202b);background:#fff}
.account-delete-dialog::backdrop{background:rgb(10 24 38 / 60%)}
.account-delete-dialog h2{margin-top:0}
.account-delete-dialog p{line-height:1.55}
.dialog-actions{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-top:24px}
.account-delete-dialog button:focus-visible,.profile-actions button:focus-visible{outline:3px solid var(--ink,#14202b);outline-offset:3px}
@media(max-width:480px){.profile-actions{gap:16px}.profile-actions .button{padding:12px 16px}.account-delete-dialog{padding:20px}.dialog-actions{flex-direction:column;align-items:stretch}.dialog-actions button{width:100%}}
/* Local language flags: compact artwork, accessible touch targets. */
.language-switch button { min-width:44px; display:inline-flex; align-items:center; justify-content:center; border-width:2px; }
.language-switch button img { display:block; object-fit:contain; border-radius:2px; }
.language-switch [aria-pressed="true"] { border-color:var(--ink); }
.language-switch button:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.language-status { max-width:20rem; font-size:.85rem; }
.language-status:empty { display:none; }
