@import url("./ai-markdown.css");

/* Generated by tools/styles/build.cjs. Edit the source styles, then rebuild. */
/**
 * BeStrongr Training - Common Styles
 * Shared CSS utilities and base styles
 */

/* ============================================
   Page Fade-In Animation
   ============================================ */
body {
  opacity: 0;
  transition: opacity 0.25s ease;
}

body.ready {
  opacity: 1;
}

/* Fallback: If JS fails, show page after 1s */
@keyframes fallback-show {
  to { opacity: 1; }
}

body {
  animation: fallback-show 0s 1s forwards;
}

body.ready {
  animation: none;
}

/* ============================================
   CSS Variables (Theme)
   ============================================ */
:root {
  --bestrongr-blue: #FFB800;
  --bestrongr-blue-dark: #E6A600;
  --bestrongr-black: #000000;
  --bestrongr-dark: #131316;
  --bestrongr-gray: #17181B;
  --bestrongr-text-gray: #A0A0A4;
  --bestrongr-success: #FFB800;
  --bestrongr-warning: #FFB800;
  --bestrongr-danger: #FF5C5C;
}

/* ============================================
   Form Placeholders (Dark Theme)
   ============================================ */
input::placeholder,
textarea::placeholder {
  color: #888 !important;
  opacity: 1;
}

/* Webkit browsers */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #888 !important;
}

/* Firefox */
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #888 !important;
  opacity: 1;
}

/* ============================================
   Typography
   ============================================ */
.text-oswald {
  font-weight: 700 !important;
  font-family: 'Anton', sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.text-muted-custom {
  color: var(--bestrongr-text-gray) !important;
}



/* ============================================
   Sticky Page Header
   ============================================ */
.page-header-sticky {
  background: var(--bestrongr-dark);
  padding: 12px 16px;
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid #2B2C30;
}

.page-header-sticky .back-btn {
  color: var(--bestrongr-blue);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size:var(--app-text-small);
  padding: 4px 0;
  transition: color 0.2s ease;
}

.page-header-sticky .back-btn:hover {
  color: white;
}

.page-header-sticky .page-title {
  font-size:var(--app-text-section);
  margin: 0;
}

.page-header-sticky .page-subtitle {
  font-size:var(--app-text-small);
  color: var(--bestrongr-text-gray);
  margin: 0;
}

.header-logo {
  width: 32px;
  height: 32px;
  border-radius: 8px;
}

/* ============================================
   Cards & Containers
   ============================================ */
.card-dark {
  background: var(--bestrongr-gray);
  border: 1px solid #2B2C30;
  border-radius: 12px;
}

.card-dark-lg {
  background: var(--bestrongr-gray);
  border: 1px solid #2B2C30;
  border-radius: 16px;
}

/* ============================================
   Status Colors
   ============================================ */
.status-complete {
  color: var(--bestrongr-success);
}

.status-partial {
  color: var(--bestrongr-blue);
}

.status-not-started {
  color: var(--bestrongr-text-gray);
}

/* ============================================
   Utility Classes
   ============================================ */
.clickable {
  cursor: pointer;
  transition: all 0.2s ease;
}

.clickable:hover {
  opacity: 0.85;
}

.icon-btn {
  background: none;
  border: none;
  color: var(--bestrongr-text-gray);
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.icon-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}

/* ============================================
   Expandable Sections
   ============================================ */
.expandable-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.expandable-header:hover {
  background: rgba(255, 255, 255, 0.05);
}

.expandable-header .expand-icon {
  transition: transform 0.3s ease;
}

.expandable-header.expanded .expand-icon {
  transform: rotate(180deg);
}

.expandable-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.expandable-content.expanded {
  max-height: 500px;
}

/* ============================================
   Badges
   ============================================ */
.badge-active {
  background: var(--bestrongr-success);
  color: #fff;
  padding: 4px 10px;
  border-radius: 12px;
  font-size:var(--app-text-small);
  font-weight: 600;
}

.badge-week {
  background: rgba(255, 184, 0, 0.2);
  color: var(--bestrongr-blue);
  padding: 4px 10px;
  border-radius: 12px;
  font-size:var(--app-text-small);
  font-weight: 600;
}

/* ============================================
   YouTube Button
   ============================================ */
.btn-youtube {
  background: rgba(255, 0, 0, 0.15);
  color: #ff4444;
  border: 1px solid rgba(255, 0, 0, 0.3);
  padding: 6px 12px;
  border-radius: 8px;
  font-size:var(--app-text-action);
  font-weight: 500;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.btn-youtube:hover {
  background: rgba(255, 0, 0, 0.25);
  color: #ff6666;
  border-color: rgba(255, 0, 0, 0.5);
}

.btn-youtube i {
  font-size: 17px;
}

/* ============================================
   Exercise Meta Row
   ============================================ */
.exercise-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}

.exercise-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size:var(--app-text-small);
  color: var(--bestrongr-text-gray);
}

.exercise-meta-item i {
  font-size: 17px;
  color: var(--bestrongr-blue);
}

.exercise-meta-rir i {
  color: var(--bestrongr-warning);
}

/* One navigation affordance, regardless of destination. */
.app-back-icon { display:inline-grid!important; place-items:center; flex:0 0 44px; width:44px; min-width:44px; height:44px; min-height:44px; padding:0!important; text-decoration:none; font-size:24px; }

/* home */
:where(.app-route[data-route="home"]){}
:where(.app-route[data-route="home"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; min-height: 100vh; padding-bottom: 200px;}
:where(.app-route[data-route="home"]) .text-oswald{text-transform: uppercase; letter-spacing: 1px; font-weight: 700 !important; font-family: Anton, sans-serif !important;}
:where(.app-route[data-route="home"]) .page-header{background: var(--bestrongr-dark); padding: 20px 16px; border-bottom: 1px solid rgb(51, 51, 51); position: sticky; top: 0px; z-index: 1000;}
:where(.app-route[data-route="home"]) .logo-small{width: 40px; height: 40px; border-radius: 10px;}
:where(.app-route[data-route="home"]) .continue-hero{background: rgb(23, 24, 27); border: 1px solid rgb(51, 52, 56); border-radius: 20px; padding: 24px; margin: 16px;}
:where(.app-route[data-route="home"]) .training-program-link{display: flex; align-items: center; gap: 16px; color: rgb(185, 186, 190); text-decoration: none; font-size: var(--app-text-small); line-height: 1.4;}
:where(.app-route[data-route="home"]) .training-program-link span{flex: 1 1 0%; min-width: 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="home"]) .training-program-link:hover{color: white;}
:where(.app-route[data-route="home"]) .training-next{margin: 28px 0px 24px;}
:where(.app-route[data-route="home"]) .training-when{color: rgb(255, 184, 0); font-size: var(--app-text-small); font-weight: 600; margin-bottom: 8px;}
:where(.app-route[data-route="home"]) .training-title{font-family: Anton, sans-serif; font-size: clamp(28px, 4vw, 36px); line-height: 1.2; text-transform: uppercase; overflow-wrap: anywhere; margin: 0px;}
:where(.app-route[data-route="home"]) .training-target{color: rgb(185, 186, 190); font-size: var(--app-text-small); margin: 12px 0px 0px;}
:where(.app-route[data-route="home"]) .training-open{display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 18px; background: rgb(255, 184, 0); color: rgb(17, 17, 17); border-radius: 12px; text-decoration: none; font-size: var(--app-text-body); font-weight: 600; min-height: 52px;}
:where(.app-route[data-route="home"]) .training-open:hover{background: rgb(255, 208, 77); color: rgb(17, 17, 17);}
:where(.app-route[data-route="home"]) .training-program-link:focus-visible,:where(.app-route[data-route="home"]) .training-open:focus-visible{outline: white solid 3px; outline-offset: 4px;}
@media (min-width: 768px) {:where(.app-route[data-route="home"]) .continue-hero{display: grid; grid-template-columns: minmax(0px, 1fr) 240px; gap: 24px; align-items: end;}
:where(.app-route[data-route="home"]) .training-program-link,:where(.app-route[data-route="home"]) .continue-hero > .update-banner{grid-column: 1 / -1;}
:where(.app-route[data-route="home"]) .training-next{margin: 0px;}}
:where(.app-route[data-route="home"]) .category-section{padding: 16px 0px;}
:where(.app-route[data-route="home"]) .category-title{font-size: var(--app-text-small); font-weight: 600; color: white; padding: 0px 16px; margin-bottom: 12px; display: flex; align-items: center; gap: 8px;}
:where(.app-route[data-route="home"]) .program-row{display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline-start: 16px; padding: 0px 16px; gap: 12px; scrollbar-width: none;}
:where(.app-route[data-route="home"]) .program-row::-webkit-scrollbar{display: none;}
:where(.app-route[data-route="home"]) .program-card-small{flex: 0 0 75%; max-width: 280px; scroll-snap-align: start; background: var(--bestrongr-gray); border: 1px solid rgb(43, 44, 48); border-radius: 12px; overflow: hidden; cursor: pointer; transition: 0.2s; text-decoration: none; color: white;}
:where(.app-route[data-route="home"]) .program-card-small:hover{border-color: var(--bestrongr-blue); color: white;}
:where(.app-route[data-route="home"]) .program-card-small:active{border-color: var(--bestrongr-blue); background: rgb(36, 37, 41);}
:where(.app-route[data-route="home"]) .program-card-small:focus-visible{outline: 2px solid var(--bestrongr-blue); outline-offset: -3px;}
:where(.app-route[data-route="home"]) .card-icon{width: 100%; height: 100px; display: flex; align-items: center; justify-content: center; font-size: 40px; background: linear-gradient(135deg, var(--bestrongr-blue) 0%, #E6A600 100%); position: relative;}
:where(.app-route[data-route="home"]) .card-author{position: absolute; bottom: 8px; left: 8px; display: flex; align-items: center; gap: 6px; background: rgba(0, 0, 0, 0.5); backdrop-filter: none; padding: 4px 8px 4px 4px; border-radius: 16px;}
:where(.app-route[data-route="home"]) .card-author-portrait{position: relative; width: 24px; height: 24px; flex: 0 0 24px; display: grid; place-items: center; border-radius: 50%; background: rgb(53, 54, 58); overflow: hidden;}
:where(.app-route[data-route="home"]) .card-author-portrait i{font-size: 17px; color: rgb(187, 187, 187);}
:where(.app-route[data-route="home"]) .card-author img{position: absolute; inset: 0px; visibility: hidden; object-fit: cover; width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.3);}
:where(.app-route[data-route="home"]) .card-author img.is-loaded{visibility: visible;}
:where(.app-route[data-route="home"]) .card-author span{font-size: var(--app-text-small); color: rgba(255, 255, 255, 0.9); font-weight: 500;}
:where(.app-route[data-route="home"]) .card-icon.ai{background: linear-gradient(135deg, rgb(255, 184, 0) 0%, rgb(255, 184, 0) 100%);}
:where(.app-route[data-route="home"]) .card-icon.coming-soon{background: linear-gradient(135deg, rgb(51, 51, 51) 0%, rgb(23, 24, 27) 100%); color: rgb(102, 102, 102);}
:where(.app-route[data-route="home"]) .card-body{padding: 12px;}
:where(.app-route[data-route="home"]) .card-title{font-size: var(--app-text-section); font-weight: 600; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
:where(.app-route[data-route="home"]) .card-meta{font-size: var(--app-text-small); color: var(--bestrongr-text-gray); display: flex; gap: 8px;}
:where(.app-route[data-route="home"]) .card-badges{display: flex; gap: 4px; margin-top: 8px; flex-wrap: wrap;}
:where(.app-route[data-route="home"]) .card-badge{font-size: var(--app-text-small); padding: 2px 6px; border-radius: 4px; background: rgba(255, 255, 255, 0.1); color: rgb(170, 170, 170);}
:where(.app-route[data-route="home"]) .card-badge.level-beginner{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="home"]) .card-badge.level-intermediate{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="home"]) .card-badge.level-advanced{background: rgba(255, 59, 48, 0.2); color: rgb(255, 92, 92);}
:where(.app-route[data-route="home"]) .create-ai-card{flex: 0 0 75%; max-width: 280px; scroll-snap-align: start; background: linear-gradient(135deg, rgb(23, 24, 27) 0%, rgb(23, 24, 27) 100%); border: 2px dashed var(--bestrongr-blue); border-radius: 12px; padding: 20px; text-align: center; cursor: pointer; transition: 0.2s; text-decoration: none; color: white; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 180px;}
:where(.app-route[data-route="home"]) .create-ai-card:hover{border-color: rgb(255, 184, 0); background: linear-gradient(135deg, rgb(23, 24, 27) 0%, rgb(23, 24, 27) 100%); color: white;}
:where(.app-route[data-route="home"]) .create-ai-card i{font-size: 32px; color: var(--bestrongr-blue); margin-bottom: 8px;}
:where(.app-route[data-route="home"]) .coming-soon-overlay{position: relative;}
:where(.app-route[data-route="home"]) .coming-soon-overlay::after{content: "Coming Soon"; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0, 0, 0, 0.8); padding: 4px 12px; border-radius: 4px; font-size: var(--app-text-small); color: rgb(136, 136, 136); text-transform: uppercase; letter-spacing: 1px;}
/* calendar */
:where(.app-route[data-route="calendar"]) .plan-overview{padding: 16px; scroll-margin-top: 90px;}
:where(.app-route[data-route="calendar"]) .program-summary .plan-overview{border-top: 1px solid var(--volt-line);}
:where(.app-route[data-route="calendar"]) .plan-heading{display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center;}
:where(.app-route[data-route="calendar"]) .plan-kind{color: var(--volt-accent); font-weight: 600; font-size: var(--app-text-small);}
:where(.app-route[data-route="calendar"]) .plan-countdown{color: var(--volt-muted); font: var(--app-text-small) 'JetBrains Mono', monospace;}
:where(.app-route[data-route="calendar"]) .plan-goal{font-size: var(--app-text-small); line-height: 1.45; margin: 10px 0px 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="calendar"]) .overview-disclosure{border-top: 1px solid var(--volt-line);}
:where(.app-route[data-route="calendar"]) .overview-disclosure > summary{position: relative; list-style: none; cursor: pointer; padding: 14px 42px 14px 16px; min-height: 52px; font-size: var(--app-text-small); font-weight: 600;}
:where(.app-route[data-route="calendar"]) .overview-disclosure > summary::-webkit-details-marker{display: none;}
:where(.app-route[data-route="calendar"]) .overview-disclosure > summary::after{content: "+"; position: absolute; right: 18px; top: 13px; color: var(--volt-accent); font-size: var(--app-text-body);}
:where(.app-route[data-route="calendar"]) .overview-disclosure[open] > summary::after{content: "−";}
:where(.app-route[data-route="calendar"]) .overview-disclosure > summary span{display: block; color: var(--volt-muted); font-size: var(--app-text-small); font-weight: 400; margin-top: 3px;}
:where(.app-route[data-route="calendar"]) .overview-disclosure > summary:focus-visible{outline: 2px solid var(--volt-accent); outline-offset: -3px; border-radius: 10px;}
:where(.app-route[data-route="calendar"]) .phase-disclosure{border: 1px solid var(--volt-line-strong); border-radius: 12px; background: var(--volt-inset); margin-top: 14px; overflow: hidden;}
:where(.app-route[data-route="calendar"]) .phase-disclosure > summary{padding-top: 14px; padding-bottom: 14px;}
:where(.app-route[data-route="calendar"]) .phase-disclosure > summary strong{font-size: var(--app-text-body);}
:where(.app-route[data-route="calendar"]) .phase-action{display: block; margin-top: 9px; color: var(--volt-accent); font-size: var(--app-text-small);}
:where(.app-route[data-route="calendar"]) .phase-disclosure[open] .phase-action{display: none;}
:where(.app-route[data-route="calendar"]) .phase-list{list-style: none; margin: 0px; padding: 0px 14px 14px;}
:where(.app-route[data-route="calendar"]) .phase-item{border-top: 1px solid var(--volt-line); padding: 16px 0px;}
:where(.app-route[data-route="calendar"]) .phase-item:last-child{padding-bottom: 0px;}
:where(.app-route[data-route="calendar"]) .phase-title{display: flex; align-items: baseline; gap: 10px; font-size: var(--app-text-small);}
:where(.app-route[data-route="calendar"]) .phase-number{color: var(--volt-muted); font: var(--app-text-small) 'JetBrains Mono', monospace;}
:where(.app-route[data-route="calendar"]) .is-current .phase-number,:where(.app-route[data-route="calendar"]) .phase-current{color: var(--volt-accent);}
:where(.app-route[data-route="calendar"]) .phase-current{display: block; font-size: var(--app-text-small); margin: 6px 0px;}
:where(.app-route[data-route="calendar"]) .phase-focus{font-size: var(--app-text-small); line-height: 1.5; color: var(--volt-muted); margin: 8px 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="calendar"]) .phase-range{font-size: var(--app-text-small); color: var(--volt-muted); margin: 6px 0px 0px;}
:where(.app-route[data-route="calendar"]) .plan-adjustment{margin-top: 12px;}
:where(.app-route[data-route="calendar"]) .plan-adjustment > summary{padding-left: 0px;}
:where(.app-route[data-route="calendar"]) .program-summary .program-meta{flex-wrap: wrap; gap: 8px 16px; margin-top: 14px;}
:where(.app-route[data-route="calendar"]) .program-summary .program-title-row{gap: 12px;}
:where(.app-route[data-route="calendar"]) .program-summary .program-title{overflow-wrap: anywhere;}
:where(.app-route[data-route="calendar"]) .program-summary .program-actions-row{flex-wrap: wrap;}
:where(.app-route[data-route="calendar"]){}
:where(.app-route[data-route="calendar"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; min-height: 100vh; padding-bottom: 120px;}
:where(.app-route[data-route="calendar"]) .text-oswald{text-transform: uppercase; letter-spacing: 1px; font-weight: 700 !important; font-family: Anton, sans-serif !important;}
:where(.app-route[data-route="calendar"]) .page-header{background: var(--bestrongr-dark); border-bottom: 1px solid rgb(51, 51, 51); padding: 16px; position: sticky; top: 0px; z-index: 100;}
:where(.app-route[data-route="calendar"]) .week-slider{background: var(--bestrongr-dark); border-bottom: 1px solid rgb(34, 34, 34); padding: 12px 0px; overflow: hidden;}
:where(.app-route[data-route="calendar"]) .week-nav{display: flex; align-items: center; justify-content: space-between; padding: 0px 16px; margin-bottom: 12px;}
:where(.app-route[data-route="calendar"]) .week-nav-btn{background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: var(--bestrongr-blue); font-size: var(--app-text-body); padding: 8px; cursor: pointer;}
:where(.app-route[data-route="calendar"]) .week-nav-btn:disabled{color: rgb(68, 68, 68); cursor: not-allowed;}
:where(.app-route[data-route="calendar"]) .week-label-wrapper{text-align: center;}
:where(.app-route[data-route="calendar"]) .week-label{font-size: var(--app-text-small); font-weight: 600; color: white;}
:where(.app-route[data-route="calendar"]) .today-link{font-size: var(--app-text-small); color: var(--bestrongr-blue); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity 0.2s;}
:where(.app-route[data-route="calendar"]) .today-link.visible{opacity: 1; visibility: visible;}
:where(.app-route[data-route="calendar"]) .today-link:hover{text-decoration: underline;}
:where(.app-route[data-route="calendar"]) .days-row{display: grid; grid-template-columns: repeat(7, minmax(0px, 1fr)); gap: 2px;}
:where(.app-route[data-route="calendar"]) .days-row.slide-left{animation: 0.25s ease-out 0s 1 normal none running slideLeft;}
:where(.app-route[data-route="calendar"]) .days-row.slide-right{animation: 0.25s ease-out 0s 1 normal none running slideRight;}
@keyframes slideLeft { 
  0% { transform: translateX(100%); opacity: 0; }
  100% { transform: translateX(0px); opacity: 1; }
}
@keyframes slideRight { 
  0% { transform: translateX(-100%); opacity: 0; }
  100% { transform: translateX(0px); opacity: 1; }
}
:where(.app-route[data-route="calendar"]) .day-cell{min-width: 0px; text-align: center; padding: 8px 4px; border-radius: 12px; cursor: pointer; transition: 0.2s;}
:where(.app-route[data-route="calendar"]) .day-cell:hover{background: rgba(255, 255, 255, 0.05);}
:where(.app-route[data-route="calendar"]) .day-cell.selected{background: var(--bestrongr-blue);}
:where(.app-route[data-route="calendar"]) .day-cell.today{border: 2px solid var(--bestrongr-blue);}
:where(.app-route[data-route="calendar"]) .day-cell.has-workout::after{content: ""; display: block; width: 6px; height: 6px; background: rgb(255, 184, 0); border-radius: 50%; margin: 4px auto 0px;}
:where(.app-route[data-route="calendar"]) .day-cell.selected.has-workout::after{background: white;}
:where(.app-route[data-route="calendar"]) .day-name{font-size: var(--app-text-small); color: var(--bestrongr-text-gray); text-transform: uppercase; margin-bottom: 4px;}
:where(.app-route[data-route="calendar"]) .day-cell.selected .day-name{color: rgba(255, 255, 255, 0.8);}
:where(.app-route[data-route="calendar"]) .day-number{font-size: var(--app-text-body); font-weight: 600;}
:where(.app-route[data-route="calendar"]) .day-content{padding: 16px;}
:where(.app-route[data-route="calendar"]) .day-header{display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;}
:where(.app-route[data-route="calendar"]) .selected-date{font-size: var(--app-text-body); font-weight: 600;}
:where(.app-route[data-route="calendar"]) .selected-week{font-size: var(--app-text-small); color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="calendar"]) .workout-card{background: var(--bestrongr-gray); border-radius: 12px; padding: 16px; margin-bottom: 12px; display: flex; align-items: center; gap: 12px; cursor: pointer; transition: transform 0.2s;}
:where(.app-route[data-route="calendar"]) .workout-card:hover{transform: translateX(4px);}
:where(.app-route[data-route="calendar"]) .workout-icon{width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px;}
:where(.app-route[data-route="calendar"]) .workout-icon.strength{background: rgba(255, 184, 0, 0.2); color: var(--bestrongr-blue);}
:where(.app-route[data-route="calendar"]) .workout-icon.conditioning{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="calendar"]) .workout-icon.rehab{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="calendar"]) .workout-icon.simple{background: rgba(108, 117, 125, 0.2); color: rgb(108, 117, 125);}
:where(.app-route[data-route="calendar"]) .workout-info{flex: 1 1 0%;}
:where(.app-route[data-route="calendar"]) .workout-name{font-weight: 600; margin-bottom: 2px;}
:where(.app-route[data-route="calendar"]) .workout-meta{font-size: var(--app-text-small); color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="calendar"]) .workout-outcome-label{color: var(--bestrongr-text-gray); font-size: var(--app-text-small); margin-top: 3px;}
:where(.app-route[data-route="calendar"]) .workout-outcome-shortcut{background: none; border: 0px; color: var(--bestrongr-blue); font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; margin-top: 8px; padding: 4px 0px;}
:where(.app-route[data-route="calendar"]) .workout-status{font-size: var(--app-text-body);}
:where(.app-route[data-route="calendar"]) .workout-status.completed{color: rgb(255, 184, 0);}
:where(.app-route[data-route="calendar"]) .workout-status.pending{color: rgb(68, 68, 68);}
:where(.app-route[data-route="calendar"]) .empty-day{text-align: center; padding: 40px 20px; color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="calendar"]) .empty-day i{font-size: 48px; margin-bottom: 12px; display: block;}
:where(.app-route[data-route="calendar"]) .no-program{text-align: center; padding: 60px 20px;}
:where(.app-route[data-route="calendar"]) .no-program i{font-size: 64px; color: var(--bestrongr-text-gray); margin-bottom: 16px;}
/* day */
:where(.app-route[data-route="day"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; min-height: 100vh; padding-bottom: 200px;}
:where(.app-route[data-route="day"]) .day-info{padding: 16px; background: var(--bestrongr-gray); margin: 16px; border-radius: 12px; border: 1px solid rgb(43, 44, 48);}
:where(.app-route[data-route="day"]) .day-title{font-size: var(--app-text-body); margin-bottom: 4px;}
:where(.app-route[data-route="day"]) .day-meta{font-size: var(--app-text-small); color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="day"]) .workout-card{background: var(--bestrongr-gray); border: 2px solid rgb(43, 44, 48); border-radius: 20px; padding: 30px; margin-bottom: 20px; transition: 0.3s; cursor: pointer; position: relative; overflow: hidden;}
:where(.app-route[data-route="day"]) .workout-card::before{content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 4px; transition: opacity 0.3s; opacity: 0;}
:where(.app-route[data-route="day"]) .workout-card.type-strength::before{background: linear-gradient(90deg, rgb(255, 184, 0), rgb(230, 166, 0));}
:where(.app-route[data-route="day"]) .workout-card.type-conditioning::before{background: linear-gradient(90deg, rgb(255, 184, 0), rgb(255, 184, 0));}
:where(.app-route[data-route="day"]) .workout-card.type-recovery::before{background: linear-gradient(90deg, rgb(255, 184, 0), rgb(255, 184, 0));}
:where(.app-route[data-route="day"]) .workout-card.type-simple::before{background: linear-gradient(90deg, rgb(255, 184, 0), rgb(255, 184, 0));}
:where(.app-route[data-route="day"]) .workout-card:hover{transform: translateY(-5px); box-shadow: rgba(255, 184, 0, 0.3) 0px 10px 40px;}
:where(.app-route[data-route="day"]) .workout-card:hover::before{opacity: 1;}
:where(.app-route[data-route="day"]) .workout-card.complete{border-color: rgb(255, 184, 0);}
:where(.app-route[data-route="day"]) .workout-icon{width: 60px; height: 60px; border-radius: 15px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px;}
:where(.app-route[data-route="day"]) .workout-icon.type-strength{background: linear-gradient(135deg, rgb(255, 184, 0), rgb(230, 166, 0));}
:where(.app-route[data-route="day"]) .workout-icon.type-conditioning{background: linear-gradient(135deg, rgb(255, 184, 0), rgb(255, 184, 0));}
:where(.app-route[data-route="day"]) .workout-icon.type-recovery{background: linear-gradient(135deg, rgb(255, 184, 0), rgb(255, 184, 0));}
:where(.app-route[data-route="day"]) .workout-icon.type-simple{background: linear-gradient(135deg, rgb(255, 184, 0), rgb(255, 184, 0));}
:where(.app-route[data-route="day"]) .workout-icon i{font-size: 30px; color: white;}
:where(.app-route[data-route="day"]) .workout-meta{display: flex; gap: 10px; margin-bottom: 15px; flex-wrap: wrap;}
:where(.app-route[data-route="day"]) .workout-badge{padding: 6px 12px; border-radius: 12px; font-size: var(--app-text-small); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;}
:where(.app-route[data-route="day"]) .badge-type{background: rgba(255, 184, 0, 0.2); color: var(--bestrongr-blue);}
:where(.app-route[data-route="day"]) .badge-complete{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="day"]) .badge-incomplete{background: rgba(142, 142, 147, 0.2); color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="day"]) .badge-in-progress{background: rgba(255, 184, 0, 0.2); color: var(--bestrongr-blue);}
:where(.app-route[data-route="day"]) .workout-description{color: var(--bestrongr-text-gray); margin-bottom: 15px; line-height: 1.6;}
@media (max-width: 768px) {:where(.app-route[data-route="day"]) .workout-card{padding: 20px;}}
:where(.app-route[data-route="day"]) .safety-badge{display: inline-flex; align-items: center; gap: 6px; background: rgba(255, 184, 0, 0.15); border: 1px solid rgba(255, 184, 0, 0.4); border-radius: 8px; padding: 6px 10px; color: rgb(255, 184, 0); font-size: var(--app-text-small); margin-bottom: 10px;}
:where(.app-route[data-route="day"]) .safety-badge i{font-size: 17px;}
/* workout */
:where(.app-route[data-route="workout"]){--workout-bg:#0e0f10;--workout-surface:#17181b;--workout-inset:#131316;--workout-line:rgba(255,255,255,.08);--workout-muted:#8a8a90;--workout-text:#f5f5f5;--workout-accent:#ffb800}
:where(.app-route[data-route="workout"]){background: var(--workout-bg); color: var(--workout-text); font-family: Barlow, sans-serif;}
:where(.app-route[data-route="workout"]) .workout-icon-back{display: grid; place-items: center; width: 44px; height: 44px; padding: 0px; border-radius: 50%; color: rgb(184, 184, 189); text-decoration: none; font-size: 20px;}
:where(.app-route[data-route="workout"]) .workout-icon-back:hover,:where(.app-route[data-route="workout"]) .workout-icon-back:focus-visible{color: var(--workout-accent); background: rgba(255, 255, 255, 0.04);}
:where(.app-route[data-route="workout"]) .workout-experience{width: min(100%, 680px); margin: 0px auto; padding: 4px 0px 116px; color: var(--workout-text);}
:where(.app-route[data-route="workout"]) .workout-equipment{display: flex; align-items: flex-start; gap: 10px; margin: 0px 0px 14px; color: var(--workout-muted); font-size: var(--app-text-small); line-height: 1.45; overflow-wrap: anywhere;}
:where(.app-route[data-route="workout"]) .workout-equipment i{flex: 0 0 auto; margin-top: 3px;}
:where(.app-route[data-route="workout"]) .workout-safety{margin: 0px 0px 18px; padding-left: 13px; border-left: 2px solid rgba(255, 184, 0, 0.5); color: rgb(184, 184, 189); font-size: var(--app-text-small); line-height: 1.5;}
:where(.app-route[data-route="workout"]) .workout-safety .ai-markdown > :last-child{margin-bottom: 0px;}
:where(.app-route[data-route="workout"]) .workout-preview{display: block; width: 100%; padding: 0px; border: 1px solid var(--workout-line); border-radius: 14px; background: var(--workout-surface); color: inherit; text-align: left; overflow: hidden; cursor: pointer;}
:where(.app-route[data-route="workout"]) .workout-preview > span{display: -webkit-box; padding: 16px 16px 0px; color: var(--workout-text); font-size: var(--app-text-body); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;}
:where(.app-route[data-route="workout"]) .workout-preview > strong{display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 14px 16px; border-top: 1px solid rgba(255, 255, 255, 0.06); color: var(--workout-accent); font-size: var(--app-text-small); font-weight: 600;}
:where(.app-route[data-route="workout"]) .workout-warmup-action{display:flex;width:100%;align-items:center;gap:12px;margin:0 0 22px;padding:14px 16px;min-height:52px;border:1px solid var(--workout-line);border-radius:12px;background:var(--workout-surface);color:var(--workout-text);text-align:left;font:600 var(--app-text-body)/1.4 Barlow,sans-serif;cursor:pointer}
:where(.app-route[data-route="workout"]) .workout-warmup-action>strong{flex:1}
:where(.app-route[data-route="workout"]) .workout-warmup-action>i{color:var(--workout-accent)}
:where(.app-route[data-route="workout"]) .workout-warmup-action>i:last-child{font-size:14px}
:where(.app-route[data-route="workout"]) .workout-warmup-action:focus-visible{outline:2px solid var(--workout-accent);outline-offset:3px}
:where(.app-route[data-route="workout"]) .workout-description{margin:0 0 24px}
:where(.app-route[data-route="workout"]) .workout-description>.ai-markdown{line-height:1.65}
:where(.app-route[data-route="workout"]) .workout-description .ai-markdown :is(ul,ol){padding-left:1.5em}
:where(.app-route[data-route="workout"]) .workout-description .ai-markdown li{padding-left:.2em;margin-bottom:.6em}
:where(.app-route[data-route="workout"]) .workout-description .ai-markdown li::marker{color:var(--workout-accent)}
:where(.app-route[data-route="workout"]) .workout-description .ai-markdown :is(h2,h3,h4,h5,h6){margin-top:1.4em}
:where(.app-route[data-route="workout"]) .workout-description .ai-markdown>:first-child{margin-top:0}
:where(.app-route[data-route="workout"]) .workout-support-actions{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; margin-top: 12px;}
:where(.app-route[data-route="workout"]) .workout-support-actions > button{display: grid; grid-template-columns: 1fr; gap: 4px; min-width: 0px; min-height: 112px; padding: 14px; border: 1px solid var(--workout-line); border-radius: 14px; background: var(--workout-surface); color: inherit; text-align: left; cursor: pointer;}
:where(.app-route[data-route="workout"]) .workout-support-actions i{color: var(--workout-accent); font-size: 19px;}
:where(.app-route[data-route="workout"]) .workout-support-actions strong{font-size: var(--app-text-body);}
:where(.app-route[data-route="workout"]) .workout-support-actions span{color: var(--workout-muted); font-size: var(--app-text-small); line-height: 1.35; overflow-wrap: anywhere;}
:where(.app-route[data-route="workout"]) .workout-primary-dock{position: fixed; z-index: 35; left: 0px; right: 0px; bottom: 0px; display: grid; justify-items: center; gap: 6px; padding: 28px max(20px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-bottom)); background: linear-gradient(transparent,var(--workout-bg) 32%);}
:where(.app-route[data-route="workout"]) .workout-primary-dock > .conditioning-save-button{width: min(100%, 640px); min-height: 58px; border: 0px; border-radius: 10px; background: var(--workout-accent); color: rgb(14, 15, 16); font: 600 var(--app-text-action)/1.3 Barlow,sans-serif;}
:where(.app-route[data-route="workout"]) .workout-primary-dock > .conditioning-save-status{min-height: 20px; margin: 0px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .workout-field,:where(.app-route[data-route="workout"]) .workout-result-sheet .mb-3{display: grid; gap: 6px; margin: 0px 0px 14px; color: rgb(184, 184, 189); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .workout-field > span{color: rgb(106, 106, 112); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .workout-result-sheet :is(input:not([type="radio"]), textarea){box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgb(72, 73, 76); border-radius: 12px; background: var(--workout-inset); color: white; font: var(--app-text-small)/1.4 Barlow,sans-serif;}
:where(.app-route[data-route="workout"]) .workout-result-sheet input{font-family: "JetBrains Mono", monospace; font-size: var(--app-text-section);}
:where(.app-route[data-route="workout"]) .workout-result-sheet textarea{min-height: 78px; resize: vertical;}
:where(.app-route[data-route="workout"]) .workout-result-sheet :is(input:not([type="radio"]), textarea):focus{outline: 0px; border-color: var(--workout-accent); box-shadow: rgba(255, 184, 0, 0.14) 0px 0px 0px 2px;}
:where(.app-route[data-route="workout"]) .workout-save-error{min-height: 1.5em; margin: 8px 0px 0px; color: rgb(255, 143, 133); font-size: var(--app-text-small);}
@media (min-width: 760px) {:where(.app-route[data-route="workout"]) .workout-experience{padding-top: 16px;}
:where(.app-route[data-route="workout"]) .workout-primary-dock{left: 50%; right: auto; width: min(680px, 100%); transform: translateX(-50%);}}
@media (max-height: 520px) and (orientation: landscape) {:where(.app-route[data-route="workout"]) .workout-primary-dock{position: sticky; margin-top: 20px; padding-top: 18px;}
:where(.app-route[data-route="workout"]) .workout-experience{padding-bottom: 20px;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="workout"]) .workout-experience *{scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important;}}
:where(.app-route[data-route="workout"]) #workout-header.workout-header{max-width: 680px; margin: 0px auto; padding: 18px 20px 10px; background: transparent; border: 0px;}
:where(.app-route[data-route="workout"]) .simple-kicker{color: var(--workout-muted); font: 400 var(--app-text-small)/1.3 'JetBrains Mono',monospace; letter-spacing: 0.09em; text-transform: uppercase;}
:where(.app-route[data-route="workout"]) #workout-header .workout-title{margin: 6px 0px 4px; color: white; font: 600 var(--app-text-title)/1.25 Barlow,sans-serif; overflow-wrap: anywhere;}
:where(.app-route[data-route="workout"]) #workout-header:not(.workout-header){max-width: 680px; margin: 0px auto;}
:where(.app-route[data-route="workout"]) .workout-identity{padding: 18px 20px 12px;}
:where(.app-route[data-route="workout"]) .workout-format{display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; padding: 6px 12px; border-radius: 20px; background: rgba(255, 184, 0, 0.125); color: rgb(255, 184, 0); font: 600 var(--app-text-small) 'JetBrains Mono',monospace; text-transform: uppercase;}
:where(.app-route[data-route="workout"]) #workout-header .workout-meta,:where(.app-route[data-route="workout"]) #workout-header .workout-performed-date{color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .simple-workout-preview{margin-top: 16px;}
:where(.app-route[data-route="workout"]) .progress-section{max-width: 648px; margin: 0px auto !important; padding: 0px 4px !important; border: 0px !important; background: transparent !important;}
:where(.app-route[data-route="workout"]) .simple-progress{display: flex; align-items: baseline; gap: 8px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .simple-progress strong{color: var(--workout-accent); font: 600 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="workout"]) .simple-progress.complete strong{color: white;}
:where(.app-route[data-route="workout"]) #exercises-container{max-width: 680px; margin: 0px auto;}
:where(.app-route[data-route="workout"]) .simple-exercise.exercise-card{margin: 0px; padding: 22px 4px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--workout-line); border-radius: 0px; background: transparent;}
:where(.app-route[data-route="workout"]) .simple-exercise.exercise-card.all-complete{border-color: var(--workout-line); background: transparent;}
:where(.app-route[data-route="workout"]) .simple-exercise .exercise-header{margin-bottom: 12px;}
:where(.app-route[data-route="workout"]) .simple-exercise .exercise-name{font-size: var(--app-text-section);}
:where(.app-route[data-route="workout"]) .simple-exercise .exercise-prescription{color: var(--workout-accent); font: 500 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="workout"]) .simple-exercise .video-btn{min-height: 44px; padding: 8px 11px; border-color: var(--workout-line); background: var(--workout-surface); color: rgb(184, 184, 189);}
:where(.app-route[data-route="workout"]) .simple-exercise .video-btn i{color: var(--workout-accent);}
:where(.app-route[data-route="workout"]) .simple-instructions{display: flex; width: 100%; align-items: center; gap: 12px; margin: 0px 0px 16px; padding: 0px; border: 0px; background: transparent; color: inherit; text-align: left;}
:where(.app-route[data-route="workout"]) .simple-instructions span{flex: 1 1 0%; display: -webkit-box; color: var(--workout-muted); font-size: var(--app-text-body); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
:where(.app-route[data-route="workout"]) .simple-instructions strong{color: var(--workout-accent); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .simple-exercise .sets-row{gap: 10px; flex-wrap: nowrap; overflow-x: auto; padding: 2px 1px 4px;}
:where(.app-route[data-route="workout"]) .simple-exercise .set-check-btn{position: relative; width: 52px; height: 52px; border: 1px solid rgb(58, 58, 64); border-radius: 14px; background: var(--workout-surface); color: rgb(184, 184, 189); font: 600 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="workout"]) .simple-exercise .set-check-btn i{display: none;}
:where(.app-route[data-route="workout"]) .simple-exercise .set-check-btn.checked{border-color: var(--workout-accent); background: var(--workout-accent); color: rgb(14, 15, 16); box-shadow: none;}
:where(.app-route[data-route="workout"]) .simple-exercise .set-check-btn.checked span{visibility: hidden;}
:where(.app-route[data-route="workout"]) .simple-exercise .set-check-btn.checked i{position: absolute; inset: 0px; display: grid; place-items: center; color: rgb(14, 15, 16); font-size: 21px; animation: 0.2s ease 0s 1 normal none running checkPop;}
:where(.app-route[data-route="workout"]) .workout-notes-section{max-width: 672px; margin: 16px auto 0px !important; padding: 18px !important; border-color: var(--workout-line) !important; background: var(--workout-surface) !important;}
:where(.app-route[data-route="workout"]) .simple-save-status{min-height: 1.4em; margin: 8px 0px 0px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .simple-save-actions{display: grid; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--workout-line);}
:where(.app-route[data-route="workout"]) .simple-save-actions #not-completed-simple{min-height: 44px; text-decoration: none; font: 500 var(--app-text-small)/1.3 Barlow,sans-serif; color: var(--workout-muted) !important;}
:where(.app-route[data-route="workout"]) .simple-save-actions [role="status"]{min-height: 1.3em; margin: 0px; font-size: var(--app-text-small); color: var(--workout-muted) !important;}
:where(.app-route[data-route="workout"]) .workout-primary-dock > .workout-not-completed{min-height: 44px; padding: 8px 16px; border: 0px; background: none; color: var(--workout-muted); font: inherit;}
:where(.app-route[data-route="workout"]) .workout-primary-dock > .conditioning-save-status:empty{display: none;}
:where(.app-route[data-route="workout"]) .workout-support-actions > [data-start]{grid-column: 1 / -1; border-color: var(--workout-accent,#ffb800);}
:where(.app-route[data-route="workout"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; min-height: 100vh; padding-bottom: 200px;}
:where(.app-route[data-route="workout"]) .workout-nav{display: grid; grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr); align-items: center; gap: 8px; width: 100%;}
:where(.app-route[data-route="workout"]) .workout-nav .back-btn{justify-self: start; min-height: 44px; white-space: nowrap;}
:where(.app-route[data-route="workout"]) .workout-nav .header-logo{justify-self: end;}
:where(.app-route[data-route="workout"]) .workout-nav-date{font-size: var(--app-text-body); font-weight: 600; text-align: center; font-variant-numeric: tabular-nums;}
:where(.app-route[data-route="workout"]) .workout-info{padding: 16px; background: var(--bestrongr-gray); margin: 16px; border-radius: 12px; border: 1px solid rgb(43, 44, 48);}
:where(.app-route[data-route="workout"]) .workout-title{font-size: var(--app-text-section); margin-bottom: 4px;}
:where(.app-route[data-route="workout"]) .workout-meta{font-size: var(--app-text-small); color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="workout"]) .exercise-section{background: var(--bestrongr-gray); border: 1px solid rgb(43, 44, 48); border-radius: 15px; padding: 25px; margin-bottom: 25px;}
:where(.app-route[data-route="workout"]) .sets-container{display: flex; flex-direction: column; gap: 12px;}
:where(.app-route[data-route="workout"]) .set-card{background: var(--bestrongr-dark); border: 1px solid rgb(43, 44, 48); border-radius: 12px; padding: 16px; transition: 0.2s;}
:where(.app-route[data-route="workout"]) .set-card.set-complete{border-color: var(--bestrongr-success); background: rgba(255, 184, 0, 0.05);}
:where(.app-route[data-route="workout"]) .set-card-header{display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;}
:where(.app-route[data-route="workout"]) .set-number{font-weight: 600; font-size: var(--app-text-small); color: var(--bestrongr-blue);}
:where(.app-route[data-route="workout"]) .save-status{font-size: var(--app-text-body);}
:where(.app-route[data-route="workout"]) .set-card-inputs{display: flex; gap: 12px; margin-bottom: 12px;}
:where(.app-route[data-route="workout"]) .input-group-custom{flex: 1 1 0%; position: relative;}
:where(.app-route[data-route="workout"]) .input-group-custom label{display: block; font-size: var(--app-text-small); color: rgb(136, 136, 136); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px;}
:where(.app-route[data-route="workout"]) .set-input-large{width: 100%; background: var(--bestrongr-black); border: 1px solid rgb(51, 51, 51); border-radius: 10px; padding: 14px 45px 14px 16px; font-size: var(--app-text-body); font-weight: 600; color: rgb(255, 255, 255); text-align: left; transition: 0.2s;}
:where(.app-route[data-route="workout"]) .set-input-large:focus{outline: none; border-color: var(--bestrongr-blue); background: rgb(23, 24, 27);}
:where(.app-route[data-route="workout"]) .set-input-large::placeholder{color: rgb(68, 68, 68);}
:where(.app-route[data-route="workout"]) .input-suffix{position: absolute; right: 14px; bottom: 16px; font-size: var(--app-text-small); color: rgb(102, 102, 102); pointer-events: none;}
:where(.app-route[data-route="workout"]) .set-card-note{margin-top: 8px;}
:where(.app-route[data-route="workout"]) .set-input-note{width: 100%; background: var(--bestrongr-black); border: 1px solid rgb(43, 44, 48); border-radius: 8px; padding: 10px 14px; font-size: var(--app-text-small); color: rgb(255, 255, 255); transition: 0.2s;}
:where(.app-route[data-route="workout"]) .set-input-note:focus{outline: none; border-color: var(--bestrongr-blue); background: rgb(23, 24, 27);}
:where(.app-route[data-route="workout"]) .set-input-note::placeholder{color: rgb(85, 85, 85);}
:where(.app-route[data-route="workout"]) .save-success{animation: 0.5s ease 0s 1 normal none running flash-green;}
@keyframes flash-green { 
  0%, 100% { border-color: rgb(43, 44, 48); }
  50% { border-color: var(--bestrongr-success); }
}
:where(.app-route[data-route="workout"]) .exercise-meta-row{display: flex; justify-content: space-between; align-items: center; background: var(--bestrongr-dark); border-radius: 10px; padding: 12px 16px; margin-bottom: 16px; gap: 12px;}
:where(.app-route[data-route="workout"]) .exercise-meta-item{display: flex; align-items: center; gap: 8px; color: rgb(255, 255, 255); font-size: var(--app-text-small); font-weight: 500;}
:where(.app-route[data-route="workout"]) .exercise-meta-item i{font-size: 17px; color: var(--bestrongr-blue);}
:where(.app-route[data-route="workout"]) .exercise-meta-rir i{color: var(--bestrongr-success);}
:where(.app-route[data-route="workout"]) .card{background: var(--bestrongr-gray); border-color: rgb(43, 44, 48);}
:where(.app-route[data-route="workout"]) .form-control,:where(.app-route[data-route="workout"]) .form-select{background: var(--bestrongr-dark); border: 1px solid rgb(43, 44, 48); color: white;}
:where(.app-route[data-route="workout"]) .form-control:focus,:where(.app-route[data-route="workout"]) .form-select:focus{background: var(--bestrongr-gray); border-color: var(--bestrongr-blue); color: white; box-shadow: rgba(255, 184, 0, 0.25) 0px 0px 0px 0.2rem;}
:where(.app-route[data-route="workout"]) .form-check-input{background-color: var(--bestrongr-dark); border-color: rgb(43, 44, 48);}
:where(.app-route[data-route="workout"]) .form-check-input:checked{background-color: var(--bestrongr-blue); border-color: var(--bestrongr-blue);}
:where(.app-route[data-route="workout"]) .conditioning-workout{padding-bottom: calc(76px + env(safe-area-inset-bottom));}
:where(.app-route[data-route="workout"]) .conditioning-save-actions{display: grid; justify-items: center; gap: 8px;}
:where(.app-route[data-route="workout"]) .conditioning-save-button{display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; border: 0px; border-radius: 16px; background: rgb(255, 184, 0); color: rgb(17, 17, 17); font: 600 var(--app-text-action)/1.3 Barlow, sans-serif; transition: transform 0.2s, background-color 0.2s, color 0.2s;}
:where(.app-route[data-route="workout"]) .conditioning-save-button:active:not(:disabled){transform: scale(0.98);}
:where(.app-route[data-route="workout"]) .conditioning-save-button:disabled{background: rgb(41, 43, 48); color: rgb(233, 233, 235); opacity: 1;}
:where(.app-route[data-route="workout"]) .conditioning-save-status{min-height: 24px; margin: 0px; color: rgb(160, 160, 164); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout"]) .conditioning-undo-button{min-height: 44px; border: 0px; background: transparent; color: rgb(160, 160, 164); font: 500 var(--app-text-action)/1.3 Barlow, sans-serif;}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="workout"]) .conditioning-save-button{transition: none;}}
:where(.app-route[data-route="workout"]) .form-switch .form-check-input{background-color: rgb(58, 58, 58); border: 2px solid rgb(85, 85, 85); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23888'/%3e%3c/svg%3e");}
:where(.app-route[data-route="workout"]) .form-switch .form-check-input:checked{background-color: var(--bestrongr-blue); border-color: var(--bestrongr-blue); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");}
:where(.app-route[data-route="workout"]) .alert{border-width: medium; border-style: none; border-color: currentcolor; border-image: none;}
@media (max-width: 768px) {:where(.app-route[data-route="workout"]) .exercise-section{padding: 15px;}}
/* workout-simple */
:where(.app-route[data-route="workout-simple"]){--workout-bg:#0e0f10;--workout-surface:#17181b;--workout-inset:#131316;--workout-line:rgba(255,255,255,.08);--workout-muted:#8a8a90;--workout-text:#f5f5f5;--workout-accent:#ffb800}
:where(.app-route[data-route="workout-simple"]){background: var(--workout-bg); color: var(--workout-text); font-family: Barlow, sans-serif;}
:where(.app-route[data-route="workout-simple"]) .workout-icon-back{display: grid; place-items: center; width: 44px; height: 44px; padding: 0px; border-radius: 50%; color: rgb(184, 184, 189); text-decoration: none; font-size: 20px;}
:where(.app-route[data-route="workout-simple"]) .workout-icon-back:hover,:where(.app-route[data-route="workout-simple"]) .workout-icon-back:focus-visible{color: var(--workout-accent); background: rgba(255, 255, 255, 0.04);}
:where(.app-route[data-route="workout-simple"]) .workout-experience{width: min(100%, 680px); margin: 0px auto; padding: 4px 0px 116px; color: var(--workout-text);}
:where(.app-route[data-route="workout-simple"]) .workout-equipment{display: flex; align-items: flex-start; gap: 10px; margin: 0px 0px 14px; color: var(--workout-muted); font-size: var(--app-text-small); line-height: 1.45; overflow-wrap: anywhere;}
:where(.app-route[data-route="workout-simple"]) .workout-equipment i{flex: 0 0 auto; margin-top: 3px;}
:where(.app-route[data-route="workout-simple"]) .workout-safety{margin: 0px 0px 18px; padding-left: 13px; border-left: 2px solid rgba(255, 184, 0, 0.5); color: rgb(184, 184, 189); font-size: var(--app-text-small); line-height: 1.5;}
:where(.app-route[data-route="workout-simple"]) .workout-safety .ai-markdown > :last-child{margin-bottom: 0px;}
:where(.app-route[data-route="workout-simple"]) .workout-preview{display: block; width: 100%; padding: 0px; border: 1px solid var(--workout-line); border-radius: 14px; background: var(--workout-surface); color: inherit; text-align: left; overflow: hidden; cursor: pointer;}
:where(.app-route[data-route="workout-simple"]) .workout-preview > span{display: -webkit-box; padding: 16px 16px 0px; color: var(--workout-text); font-size: var(--app-text-body); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;}
:where(.app-route[data-route="workout-simple"]) .workout-preview > strong{display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 14px 16px; border-top: 1px solid rgba(255, 255, 255, 0.06); color: var(--workout-accent); font-size: var(--app-text-small); font-weight: 600;}
:where(.app-route[data-route="workout-simple"]) .workout-warmup-action{display:flex;width:100%;align-items:center;gap:12px;margin:0 0 22px;padding:14px 16px;min-height:52px;border:1px solid var(--workout-line);border-radius:12px;background:var(--workout-surface);color:var(--workout-text);text-align:left;font:600 var(--app-text-body)/1.4 Barlow,sans-serif;cursor:pointer}
:where(.app-route[data-route="workout-simple"]) .workout-warmup-action>strong{flex:1}
:where(.app-route[data-route="workout-simple"]) .workout-warmup-action>i{color:var(--workout-accent)}
:where(.app-route[data-route="workout-simple"]) .workout-warmup-action>i:last-child{font-size:14px}
:where(.app-route[data-route="workout-simple"]) .workout-warmup-action:focus-visible{outline:2px solid var(--workout-accent);outline-offset:3px}
:where(.app-route[data-route="workout-simple"]) .workout-description{margin:0 0 24px}
:where(.app-route[data-route="workout-simple"]) .workout-description>.ai-markdown{line-height:1.65}
:where(.app-route[data-route="workout-simple"]) .workout-description .ai-markdown :is(ul,ol){padding-left:1.5em}
:where(.app-route[data-route="workout-simple"]) .workout-description .ai-markdown li{padding-left:.2em;margin-bottom:.6em}
:where(.app-route[data-route="workout-simple"]) .workout-description .ai-markdown li::marker{color:var(--workout-accent)}
:where(.app-route[data-route="workout-simple"]) .workout-description .ai-markdown :is(h2,h3,h4,h5,h6){margin-top:1.4em}
:where(.app-route[data-route="workout-simple"]) .workout-description .ai-markdown>:first-child{margin-top:0}
:where(.app-route[data-route="workout-simple"]) .workout-support-actions{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; margin-top: 12px;}
:where(.app-route[data-route="workout-simple"]) .workout-support-actions > button{display: grid; grid-template-columns: 1fr; gap: 4px; min-width: 0px; min-height: 112px; padding: 14px; border: 1px solid var(--workout-line); border-radius: 14px; background: var(--workout-surface); color: inherit; text-align: left; cursor: pointer;}
:where(.app-route[data-route="workout-simple"]) .workout-support-actions i{color: var(--workout-accent); font-size: 19px;}
:where(.app-route[data-route="workout-simple"]) .workout-support-actions strong{font-size: var(--app-text-body);}
:where(.app-route[data-route="workout-simple"]) .workout-support-actions span{color: var(--workout-muted); font-size: var(--app-text-small); line-height: 1.35; overflow-wrap: anywhere;}
:where(.app-route[data-route="workout-simple"]) .workout-primary-dock{position: fixed; z-index: 35; left: 0px; right: 0px; bottom: 0px; display: grid; justify-items: center; gap: 6px; padding: 28px max(20px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-bottom)); background: linear-gradient(transparent,var(--workout-bg) 32%);}
:where(.app-route[data-route="workout-simple"]) .workout-primary-dock > .conditioning-save-button{width: min(100%, 640px); min-height: 58px; border: 0px; border-radius: 10px; background: var(--workout-accent); color: rgb(14, 15, 16); font: 600 var(--app-text-action)/1.3 Barlow,sans-serif;}
:where(.app-route[data-route="workout-simple"]) .workout-primary-dock > .conditioning-save-status{min-height: 20px; margin: 0px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout-simple"]) .workout-field,:where(.app-route[data-route="workout-simple"]) .workout-result-sheet .mb-3{display: grid; gap: 6px; margin: 0px 0px 14px; color: rgb(184, 184, 189); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout-simple"]) .workout-field > span{color: rgb(106, 106, 112); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout-simple"]) .workout-result-sheet :is(input:not([type="radio"]), textarea){box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgb(72, 73, 76); border-radius: 12px; background: var(--workout-inset); color: white; font: var(--app-text-small)/1.4 Barlow,sans-serif;}
:where(.app-route[data-route="workout-simple"]) .workout-result-sheet input{font-family: "JetBrains Mono", monospace; font-size: var(--app-text-section);}
:where(.app-route[data-route="workout-simple"]) .workout-result-sheet textarea{min-height: 78px; resize: vertical;}
:where(.app-route[data-route="workout-simple"]) .workout-result-sheet :is(input:not([type="radio"]), textarea):focus{outline: 0px; border-color: var(--workout-accent); box-shadow: rgba(255, 184, 0, 0.14) 0px 0px 0px 2px;}
:where(.app-route[data-route="workout-simple"]) .workout-save-error{min-height: 1.5em; margin: 8px 0px 0px; color: rgb(255, 143, 133); font-size: var(--app-text-small);}
@media (min-width: 760px) {:where(.app-route[data-route="workout-simple"]) .workout-experience{padding-top: 16px;}
:where(.app-route[data-route="workout-simple"]) .workout-primary-dock{left: 50%; right: auto; width: min(680px, 100%); transform: translateX(-50%);}}
@media (max-height: 520px) and (orientation: landscape) {:where(.app-route[data-route="workout-simple"]) .workout-primary-dock{position: sticky; margin-top: 20px; padding-top: 18px;}
:where(.app-route[data-route="workout-simple"]) .workout-experience{padding-bottom: 20px;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="workout-simple"]) .workout-experience *{scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important;}}
:where(.app-route[data-route="workout-simple"]) #workout-header.workout-header{max-width: 680px; margin: 0px auto; padding: 18px 20px 10px; background: transparent; border: 0px;}
:where(.app-route[data-route="workout-simple"]) .simple-kicker{color: var(--workout-muted); font: 400 var(--app-text-small)/1.3 'JetBrains Mono',monospace; letter-spacing: 0.09em; text-transform: uppercase;}
:where(.app-route[data-route="workout-simple"]) #workout-header .workout-title{margin: 6px 0px 4px; color: white; font: 600 var(--app-text-title)/1.25 Barlow,sans-serif; overflow-wrap: anywhere;}
:where(.app-route[data-route="workout-simple"]) #workout-header:not(.workout-header){max-width: 680px; margin: 0px auto;}
:where(.app-route[data-route="workout-simple"]) .workout-identity{padding: 18px 20px 12px;}
:where(.app-route[data-route="workout-simple"]) .workout-format{display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; padding: 6px 12px; border-radius: 20px; background: rgba(255, 184, 0, 0.125); color: rgb(255, 184, 0); font: 600 var(--app-text-small) 'JetBrains Mono',monospace; text-transform: uppercase;}
:where(.app-route[data-route="workout-simple"]) #workout-header .workout-meta,:where(.app-route[data-route="workout-simple"]) #workout-header .workout-performed-date{color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout-simple"]) .simple-workout-preview{margin-top: 16px;}
:where(.app-route[data-route="workout-simple"]) .progress-section{max-width: 648px; margin: 0px auto !important; padding: 0px 4px !important; border: 0px !important; background: transparent !important;}
:where(.app-route[data-route="workout-simple"]) .simple-progress{display: flex; align-items: baseline; gap: 8px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout-simple"]) .simple-progress strong{color: var(--workout-accent); font: 600 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="workout-simple"]) .simple-progress.complete strong{color: white;}
:where(.app-route[data-route="workout-simple"]) #exercises-container{max-width: 680px; margin: 0px auto;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise.exercise-card{margin: 0px; padding: 22px 4px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--workout-line); border-radius: 0px; background: transparent;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise.exercise-card.all-complete{border-color: var(--workout-line); background: transparent;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .exercise-header{margin-bottom: 12px;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .exercise-name{font-size: var(--app-text-section);}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .exercise-prescription{color: var(--workout-accent); font: 500 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .video-btn{min-height: 44px; padding: 8px 11px; border-color: var(--workout-line); background: var(--workout-surface); color: rgb(184, 184, 189);}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .video-btn i{color: var(--workout-accent);}
:where(.app-route[data-route="workout-simple"]) .simple-instructions{display: flex; width: 100%; align-items: center; gap: 12px; margin: 0px 0px 16px; padding: 0px; border: 0px; background: transparent; color: inherit; text-align: left;}
:where(.app-route[data-route="workout-simple"]) .simple-instructions span{flex: 1 1 0%; display: -webkit-box; color: var(--workout-muted); font-size: var(--app-text-body); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
:where(.app-route[data-route="workout-simple"]) .simple-instructions strong{color: var(--workout-accent); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .sets-row{gap: 10px; flex-wrap: nowrap; overflow-x: auto; padding: 2px 1px 4px;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .set-check-btn{position: relative; width: 52px; height: 52px; border: 1px solid rgb(58, 58, 64); border-radius: 14px; background: var(--workout-surface); color: rgb(184, 184, 189); font: 600 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .set-check-btn i{display: none;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .set-check-btn.checked{border-color: var(--workout-accent); background: var(--workout-accent); color: rgb(14, 15, 16); box-shadow: none;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .set-check-btn.checked span{visibility: hidden;}
:where(.app-route[data-route="workout-simple"]) .simple-exercise .set-check-btn.checked i{position: absolute; inset: 0px; display: grid; place-items: center; color: rgb(14, 15, 16); font-size: 21px; animation: 0.2s ease 0s 1 normal none running checkPop;}
:where(.app-route[data-route="workout-simple"]) .workout-notes-section{max-width: 672px; margin: 16px auto 0px !important; padding: 18px !important; border-color: var(--workout-line) !important; background: var(--workout-surface) !important;}
:where(.app-route[data-route="workout-simple"]) .simple-save-status{min-height: 1.4em; margin: 8px 0px 0px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="workout-simple"]) .simple-save-actions{display: grid; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--workout-line);}
:where(.app-route[data-route="workout-simple"]) .simple-save-actions #not-completed-simple{min-height: 44px; text-decoration: none; font: 500 var(--app-text-small)/1.3 Barlow,sans-serif; color: var(--workout-muted) !important;}
:where(.app-route[data-route="workout-simple"]) .simple-save-actions [role="status"]{min-height: 1.3em; margin: 0px; font-size: var(--app-text-small); color: var(--workout-muted) !important;}
:where(.app-route[data-route="workout-simple"]) .workout-primary-dock > .workout-not-completed{min-height: 44px; padding: 8px 16px; border: 0px; background: none; color: var(--workout-muted); font: inherit;}
:where(.app-route[data-route="workout-simple"]) .workout-primary-dock > .conditioning-save-status:empty{display: none;}
:where(.app-route[data-route="workout-simple"]) .workout-support-actions > [data-start]{grid-column: 1 / -1; border-color: var(--workout-accent,#ffb800);}
:where(.app-route[data-route="workout-simple"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; min-height: 100vh; padding-bottom: 200px;}
:where(.app-route[data-route="workout-simple"]) .workout-header{padding: 20px 16px; background: linear-gradient(180deg, var(--bestrongr-gray) 0%, var(--bestrongr-black) 100%); border-bottom: 1px solid rgb(43, 44, 48);}
:where(.app-route[data-route="workout-simple"]) .workout-title{font-size: var(--app-text-section); margin-bottom: 8px;}
:where(.app-route[data-route="workout-simple"]) .workout-meta{font-size: var(--app-text-small); color: var(--bestrongr-text-gray); margin-bottom: 12px;}
:where(.app-route[data-route="workout-simple"]) .workout-description{font-size: var(--app-text-small); color: rgb(187, 187, 187); line-height: 1.5; background: var(--bestrongr-dark); padding: 12px 16px; border-radius: 10px; border-left: 3px solid var(--bestrongr-blue);}
:where(.app-route[data-route="workout-simple"]) .exercise-card{background: var(--bestrongr-gray); border: 1px solid rgb(43, 44, 48); border-radius: 16px; padding: 20px; margin-bottom: 16px; transition: 0.2s;}
:where(.app-route[data-route="workout-simple"]) .exercise-card.all-complete{border-color: var(--bestrongr-success); background: linear-gradient(135deg, rgba(255, 184, 0, 0.08) 0%, var(--bestrongr-gray) 100%);}
:where(.app-route[data-route="workout-simple"]) .exercise-header{display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px;}
:where(.app-route[data-route="workout-simple"]) .exercise-name{font-size: var(--app-text-section); font-weight: 600; color: rgb(255, 255, 255); margin-bottom: 4px;}
:where(.app-route[data-route="workout-simple"]) .exercise-prescription{font-size: var(--app-text-small); color: var(--bestrongr-blue); font-weight: 500;}
:where(.app-route[data-route="workout-simple"]) .video-btn{background: var(--bestrongr-dark); border: 1px solid rgb(58, 58, 58); border-radius: 10px; padding: 8px 12px; color: rgb(255, 255, 255); font-size: var(--app-text-action); display: flex; align-items: center; gap: 6px; transition: 0.2s; text-decoration: none;}
:where(.app-route[data-route="workout-simple"]) .video-btn:hover{background: rgb(43, 44, 48); color: rgb(255, 255, 255); border-color: var(--bestrongr-blue);}
:where(.app-route[data-route="workout-simple"]) .video-btn i{color: rgb(255, 0, 0); font-size: 17px;}
:where(.app-route[data-route="workout-simple"]) .exercise-description{font-size: var(--app-text-small); color: rgb(153, 153, 153); line-height: 1.5; margin-bottom: 16px; padding: 10px 12px; background: var(--bestrongr-dark); border-radius: 8px;}
:where(.app-route[data-route="workout-simple"]) .sets-row{display: flex; gap: 12px; flex-wrap: wrap;}
:where(.app-route[data-route="workout-simple"]) .set-checkbox{display: flex; flex-direction: column; align-items: center; gap: 6px;}
:where(.app-route[data-route="workout-simple"]) .set-checkbox label{font-size: var(--app-text-small); color: rgb(136, 136, 136); text-transform: uppercase; letter-spacing: 0.5px;}
:where(.app-route[data-route="workout-simple"]) .set-check-btn{width: 52px; height: 52px; border-radius: 14px; border: 2px solid rgb(58, 58, 58); background: var(--bestrongr-dark); color: rgb(102, 102, 102); font-size: var(--app-text-section); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.15s; -webkit-tap-highlight-color: transparent;}
:where(.app-route[data-route="workout-simple"]) .set-check-btn:hover{border-color: rgb(85, 85, 85); background: rgb(43, 44, 48);}
:where(.app-route[data-route="workout-simple"]) .set-check-btn:active{transform: scale(0.95);}
:where(.app-route[data-route="workout-simple"]) .set-check-btn.checked{background: linear-gradient(135deg, var(--bestrongr-success), #FFB800); border-color: var(--bestrongr-success); color: rgb(255, 255, 255); box-shadow: rgba(255, 184, 0, 0.3) 0px 2px 8px;}
:where(.app-route[data-route="workout-simple"]) .set-check-btn.checked i{animation: 0.2s ease 0s 1 normal none running checkPop;}
@keyframes checkPop { 
  0% { transform: scale(0.5); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
:where(.app-route[data-route="workout-simple"]) .workout-notes-section{background: var(--bestrongr-gray); border: 1px solid rgb(43, 44, 48); border-radius: 16px; padding: 20px; margin-top: 20px;}
:where(.app-route[data-route="workout-simple"]) .notes-label{font-size: var(--app-text-small); font-weight: 600; color: rgb(255, 255, 255); margin-bottom: 10px; display: flex; align-items: center; gap: 8px;}
:where(.app-route[data-route="workout-simple"]) .notes-label i{color: var(--bestrongr-blue);}
:where(.app-route[data-route="workout-simple"]) .notes-textarea{width: 100%; background: var(--bestrongr-dark); border: 1px solid rgb(43, 44, 48); border-radius: 10px; padding: 12px 14px; font-size: var(--app-text-small); color: rgb(255, 255, 255); resize: none; min-height: 80px; transition: 0.2s;}
:where(.app-route[data-route="workout-simple"]) .notes-textarea:focus{outline: none; border-color: var(--bestrongr-blue); background: rgb(23, 24, 27);}
:where(.app-route[data-route="workout-simple"]) .notes-textarea::placeholder{color: rgb(85, 85, 85);}
:where(.app-route[data-route="workout-simple"]) .progress-section{background: var(--bestrongr-gray); border: 1px solid rgb(43, 44, 48); border-radius: 12px; padding: 16px; margin-bottom: 20px;}
:where(.app-route[data-route="workout-simple"]) .progress-header{display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;}
:where(.app-route[data-route="workout-simple"]) .progress-label{font-size: var(--app-text-small); color: rgb(136, 136, 136);}
:where(.app-route[data-route="workout-simple"]) .progress-count{font-size: var(--app-text-small); font-weight: 600; color: rgb(255, 255, 255);}
:where(.app-route[data-route="workout-simple"]) .progress-bar-container{height: 8px; background: var(--bestrongr-dark); border-radius: 4px; overflow: hidden;}
:where(.app-route[data-route="workout-simple"]) .progress-bar-fill{height: 100%; background: linear-gradient(90deg, var(--bestrongr-blue), #FFB800); border-radius: 4px; transition: width 0.3s;}
:where(.app-route[data-route="workout-simple"]) .progress-bar-fill.complete{background: linear-gradient(90deg, var(--bestrongr-success), #FFB800);}
/* test-workout */
:where(.app-route[data-route="test-workout"]){--workout-bg:#0e0f10;--workout-surface:#17181b;--workout-inset:#131316;--workout-line:rgba(255,255,255,.08);--workout-muted:#8a8a90;--workout-text:#f5f5f5;--workout-accent:#ffb800}
:where(.app-route[data-route="test-workout"]){background: var(--workout-bg); color: var(--workout-text); font-family: Barlow, sans-serif;}
:where(.app-route[data-route="test-workout"]) .workout-icon-back{display: grid; place-items: center; width: 44px; height: 44px; padding: 0px; border-radius: 50%; color: rgb(184, 184, 189); text-decoration: none; font-size: 20px;}
:where(.app-route[data-route="test-workout"]) .workout-icon-back:hover,:where(.app-route[data-route="test-workout"]) .workout-icon-back:focus-visible{color: var(--workout-accent); background: rgba(255, 255, 255, 0.04);}
:where(.app-route[data-route="test-workout"]) .workout-experience{width: min(100%, 680px); margin: 0px auto; padding: 4px 0px 116px; color: var(--workout-text);}
:where(.app-route[data-route="test-workout"]) .workout-equipment{display: flex; align-items: flex-start; gap: 10px; margin: 0px 0px 14px; color: var(--workout-muted); font-size: var(--app-text-small); line-height: 1.45; overflow-wrap: anywhere;}
:where(.app-route[data-route="test-workout"]) .workout-equipment i{flex: 0 0 auto; margin-top: 3px;}
:where(.app-route[data-route="test-workout"]) .workout-safety{margin: 0px 0px 18px; padding-left: 13px; border-left: 2px solid rgba(255, 184, 0, 0.5); color: rgb(184, 184, 189); font-size: var(--app-text-small); line-height: 1.5;}
:where(.app-route[data-route="test-workout"]) .workout-safety .ai-markdown > :last-child{margin-bottom: 0px;}
:where(.app-route[data-route="test-workout"]) .workout-preview{display: block; width: 100%; padding: 0px; border: 1px solid var(--workout-line); border-radius: 14px; background: var(--workout-surface); color: inherit; text-align: left; overflow: hidden; cursor: pointer;}
:where(.app-route[data-route="test-workout"]) .workout-preview > span{display: -webkit-box; padding: 16px 16px 0px; color: var(--workout-text); font-size: var(--app-text-body); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;}
:where(.app-route[data-route="test-workout"]) .workout-preview > strong{display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 14px 16px; border-top: 1px solid rgba(255, 255, 255, 0.06); color: var(--workout-accent); font-size: var(--app-text-small); font-weight: 600;}
:where(.app-route[data-route="test-workout"]) .workout-warmup-action{display:flex;width:100%;align-items:center;gap:12px;margin:0 0 22px;padding:14px 16px;min-height:52px;border:1px solid var(--workout-line);border-radius:12px;background:var(--workout-surface);color:var(--workout-text);text-align:left;font:600 var(--app-text-body)/1.4 Barlow,sans-serif;cursor:pointer}
:where(.app-route[data-route="test-workout"]) .workout-warmup-action>strong{flex:1}
:where(.app-route[data-route="test-workout"]) .workout-warmup-action>i{color:var(--workout-accent)}
:where(.app-route[data-route="test-workout"]) .workout-warmup-action>i:last-child{font-size:14px}
:where(.app-route[data-route="test-workout"]) .workout-warmup-action:focus-visible{outline:2px solid var(--workout-accent);outline-offset:3px}
:where(.app-route[data-route="test-workout"]) .workout-description{margin:0 0 24px}
:where(.app-route[data-route="test-workout"]) .workout-description>.ai-markdown{line-height:1.65}
:where(.app-route[data-route="test-workout"]) .workout-description .ai-markdown :is(ul,ol){padding-left:1.5em}
:where(.app-route[data-route="test-workout"]) .workout-description .ai-markdown li{padding-left:.2em;margin-bottom:.6em}
:where(.app-route[data-route="test-workout"]) .workout-description .ai-markdown li::marker{color:var(--workout-accent)}
:where(.app-route[data-route="test-workout"]) .workout-description .ai-markdown :is(h2,h3,h4,h5,h6){margin-top:1.4em}
:where(.app-route[data-route="test-workout"]) .workout-description .ai-markdown>:first-child{margin-top:0}
:where(.app-route[data-route="test-workout"]) .workout-support-actions{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; margin-top: 12px;}
:where(.app-route[data-route="test-workout"]) .workout-support-actions > button{display: grid; grid-template-columns: 1fr; gap: 4px; min-width: 0px; min-height: 112px; padding: 14px; border: 1px solid var(--workout-line); border-radius: 14px; background: var(--workout-surface); color: inherit; text-align: left; cursor: pointer;}
:where(.app-route[data-route="test-workout"]) .workout-support-actions i{color: var(--workout-accent); font-size: 19px;}
:where(.app-route[data-route="test-workout"]) .workout-support-actions strong{font-size: var(--app-text-body);}
:where(.app-route[data-route="test-workout"]) .workout-support-actions span{color: var(--workout-muted); font-size: var(--app-text-small); line-height: 1.35; overflow-wrap: anywhere;}
:where(.app-route[data-route="test-workout"]) .workout-primary-dock{position: fixed; z-index: 35; left: 0px; right: 0px; bottom: 0px; display: grid; justify-items: center; gap: 6px; padding: 28px max(20px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-bottom)); background: linear-gradient(transparent,var(--workout-bg) 32%);}
:where(.app-route[data-route="test-workout"]) .workout-primary-dock > .conditioning-save-button{width: min(100%, 640px); min-height: 58px; border: 0px; border-radius: 10px; background: var(--workout-accent); color: rgb(14, 15, 16); font: 600 var(--app-text-action)/1.3 Barlow,sans-serif;}
:where(.app-route[data-route="test-workout"]) .workout-primary-dock > .conditioning-save-status{min-height: 20px; margin: 0px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="test-workout"]) .workout-field,:where(.app-route[data-route="test-workout"]) .workout-result-sheet .mb-3{display: grid; gap: 6px; margin: 0px 0px 14px; color: rgb(184, 184, 189); font-size: var(--app-text-small);}
:where(.app-route[data-route="test-workout"]) .workout-field > span{color: rgb(106, 106, 112); font-size: var(--app-text-small);}
:where(.app-route[data-route="test-workout"]) .workout-result-sheet :is(input:not([type="radio"]), textarea){box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid rgb(72, 73, 76); border-radius: 12px; background: var(--workout-inset); color: white; font: var(--app-text-small)/1.4 Barlow,sans-serif;}
:where(.app-route[data-route="test-workout"]) .workout-result-sheet input{font-family: "JetBrains Mono", monospace; font-size: var(--app-text-section);}
:where(.app-route[data-route="test-workout"]) .workout-result-sheet textarea{min-height: 78px; resize: vertical;}
:where(.app-route[data-route="test-workout"]) .workout-result-sheet :is(input:not([type="radio"]), textarea):focus{outline: 0px; border-color: var(--workout-accent); box-shadow: rgba(255, 184, 0, 0.14) 0px 0px 0px 2px;}
:where(.app-route[data-route="test-workout"]) .workout-save-error{min-height: 1.5em; margin: 8px 0px 0px; color: rgb(255, 143, 133); font-size: var(--app-text-small);}
@media (min-width: 760px) {:where(.app-route[data-route="test-workout"]) .workout-experience{padding-top: 16px;}
:where(.app-route[data-route="test-workout"]) .workout-primary-dock{left: 50%; right: auto; width: min(680px, 100%); transform: translateX(-50%);}}
@media (max-height: 520px) and (orientation: landscape) {:where(.app-route[data-route="test-workout"]) .workout-primary-dock{position: sticky; margin-top: 20px; padding-top: 18px;}
:where(.app-route[data-route="test-workout"]) .workout-experience{padding-bottom: 20px;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="test-workout"]) .workout-experience *{scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important;}}
:where(.app-route[data-route="test-workout"]) #workout-header.workout-header{max-width: 680px; margin: 0px auto; padding: 18px 20px 10px; background: transparent; border: 0px;}
:where(.app-route[data-route="test-workout"]) .simple-kicker{color: var(--workout-muted); font: 400 var(--app-text-small)/1.3 'JetBrains Mono',monospace; letter-spacing: 0.09em; text-transform: uppercase;}
:where(.app-route[data-route="test-workout"]) #workout-header .workout-title{margin: 6px 0px 4px; color: white; font: 600 var(--app-text-title)/1.25 Barlow,sans-serif; overflow-wrap: anywhere;}
:where(.app-route[data-route="test-workout"]) #workout-header:not(.workout-header){max-width: 680px; margin: 0px auto;}
:where(.app-route[data-route="test-workout"]) .workout-identity{padding: 18px 20px 12px;}
:where(.app-route[data-route="test-workout"]) .workout-format{display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; padding: 6px 12px; border-radius: 20px; background: rgba(255, 184, 0, 0.125); color: rgb(255, 184, 0); font: 600 var(--app-text-small) 'JetBrains Mono',monospace; text-transform: uppercase;}
:where(.app-route[data-route="test-workout"]) #workout-header .workout-meta,:where(.app-route[data-route="test-workout"]) #workout-header .workout-performed-date{color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="test-workout"]) .simple-workout-preview{margin-top: 16px;}
:where(.app-route[data-route="test-workout"]) .progress-section{max-width: 648px; margin: 0px auto !important; padding: 0px 4px !important; border: 0px !important; background: transparent !important;}
:where(.app-route[data-route="test-workout"]) .simple-progress{display: flex; align-items: baseline; gap: 8px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="test-workout"]) .simple-progress strong{color: var(--workout-accent); font: 600 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="test-workout"]) .simple-progress.complete strong{color: white;}
:where(.app-route[data-route="test-workout"]) #exercises-container{max-width: 680px; margin: 0px auto;}
:where(.app-route[data-route="test-workout"]) .simple-exercise.exercise-card{margin: 0px; padding: 22px 4px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--workout-line); border-radius: 0px; background: transparent;}
:where(.app-route[data-route="test-workout"]) .simple-exercise.exercise-card.all-complete{border-color: var(--workout-line); background: transparent;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .exercise-header{margin-bottom: 12px;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .exercise-name{font-size: var(--app-text-section);}
:where(.app-route[data-route="test-workout"]) .simple-exercise .exercise-prescription{color: var(--workout-accent); font: 500 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .video-btn{min-height: 44px; padding: 8px 11px; border-color: var(--workout-line); background: var(--workout-surface); color: rgb(184, 184, 189);}
:where(.app-route[data-route="test-workout"]) .simple-exercise .video-btn i{color: var(--workout-accent);}
:where(.app-route[data-route="test-workout"]) .simple-instructions{display: flex; width: 100%; align-items: center; gap: 12px; margin: 0px 0px 16px; padding: 0px; border: 0px; background: transparent; color: inherit; text-align: left;}
:where(.app-route[data-route="test-workout"]) .simple-instructions span{flex: 1 1 0%; display: -webkit-box; color: var(--workout-muted); font-size: var(--app-text-body); line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
:where(.app-route[data-route="test-workout"]) .simple-instructions strong{color: var(--workout-accent); font-size: var(--app-text-small);}
:where(.app-route[data-route="test-workout"]) .simple-exercise .sets-row{gap: 10px; flex-wrap: nowrap; overflow-x: auto; padding: 2px 1px 4px;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .set-check-btn{position: relative; width: 52px; height: 52px; border: 1px solid rgb(58, 58, 64); border-radius: 14px; background: var(--workout-surface); color: rgb(184, 184, 189); font: 600 var(--app-text-small) 'JetBrains Mono',monospace;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .set-check-btn i{display: none;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .set-check-btn.checked{border-color: var(--workout-accent); background: var(--workout-accent); color: rgb(14, 15, 16); box-shadow: none;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .set-check-btn.checked span{visibility: hidden;}
:where(.app-route[data-route="test-workout"]) .simple-exercise .set-check-btn.checked i{position: absolute; inset: 0px; display: grid; place-items: center; color: rgb(14, 15, 16); font-size: 21px; animation: 0.2s ease 0s 1 normal none running checkPop;}
:where(.app-route[data-route="test-workout"]) .workout-notes-section{max-width: 672px; margin: 16px auto 0px !important; padding: 18px !important; border-color: var(--workout-line) !important; background: var(--workout-surface) !important;}
:where(.app-route[data-route="test-workout"]) .simple-save-status{min-height: 1.4em; margin: 8px 0px 0px; color: var(--workout-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="test-workout"]) .simple-save-actions{display: grid; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--workout-line);}
:where(.app-route[data-route="test-workout"]) .simple-save-actions #not-completed-simple{min-height: 44px; text-decoration: none; font: 500 var(--app-text-small)/1.3 Barlow,sans-serif; color: var(--workout-muted) !important;}
:where(.app-route[data-route="test-workout"]) .simple-save-actions [role="status"]{min-height: 1.3em; margin: 0px; font-size: var(--app-text-small); color: var(--workout-muted) !important;}
:where(.app-route[data-route="test-workout"]) .workout-primary-dock > .workout-not-completed{min-height: 44px; padding: 8px 16px; border: 0px; background: none; color: var(--workout-muted); font: inherit;}
:where(.app-route[data-route="test-workout"]) .workout-primary-dock > .conditioning-save-status:empty{display: none;}
:where(.app-route[data-route="test-workout"]) .workout-support-actions > [data-start]{grid-column: 1 / -1; border-color: var(--workout-accent,#ffb800);}
:where(.app-route[data-route="test-workout"]){background: rgb(16, 17, 18); color: rgb(238, 238, 238); margin: 0px; opacity: 1;}
:where(.app-route[data-route="test-workout"]) header.test-nav{position: sticky; top: 0px; z-index: 1000; background: rgb(14, 15, 16); display: flex; align-items: center; justify-content: space-between; padding-right: 20px; padding-bottom: 12px; padding-left: 20px; padding-top: max(12px,env(safe-area-inset-top)); border-bottom: 1px solid rgb(51, 51, 51);}
:where(.app-route[data-route="test-workout"]) header.test-nav a{display: inline-flex; gap: 8px; align-items: center; min-height: 44px; color: rgb(255, 189, 0); text-decoration: none;}
:where(.app-route[data-route="test-workout"]) header.test-nav img{width: 32px;}
:where(.app-route[data-route="test-workout"]) main{padding: 20px 18px 110px;}
:where(.app-route[data-route="test-workout"]) #workout-header{max-width: 680px; margin: auto;}
/* program */
:where(.app-route[data-route="program"]) .plan-overview{padding: 16px; scroll-margin-top: 90px;}
:where(.app-route[data-route="program"]) .program-summary .plan-overview{border-top: 1px solid var(--volt-line);}
:where(.app-route[data-route="program"]) .plan-heading{display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center;}
:where(.app-route[data-route="program"]) .plan-kind{color: var(--volt-accent); font-weight: 600; font-size: var(--app-text-small);}
:where(.app-route[data-route="program"]) .plan-countdown{color: var(--volt-muted); font: var(--app-text-small) 'JetBrains Mono', monospace;}
:where(.app-route[data-route="program"]) .plan-goal{font-size: var(--app-text-small); line-height: 1.45; margin: 10px 0px 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="program"]) .overview-disclosure{border-top: 1px solid var(--volt-line);}
:where(.app-route[data-route="program"]) .overview-disclosure > summary{position: relative; list-style: none; cursor: pointer; padding: 14px 42px 14px 16px; min-height: 52px; font-size: var(--app-text-small); font-weight: 600;}
:where(.app-route[data-route="program"]) .overview-disclosure > summary::-webkit-details-marker{display: none;}
:where(.app-route[data-route="program"]) .overview-disclosure > summary::after{content: "+"; position: absolute; right: 18px; top: 13px; color: var(--volt-accent); font-size: var(--app-text-body);}
:where(.app-route[data-route="program"]) .overview-disclosure[open] > summary::after{content: "−";}
:where(.app-route[data-route="program"]) .overview-disclosure > summary span{display: block; color: var(--volt-muted); font-size: var(--app-text-small); font-weight: 400; margin-top: 3px;}
:where(.app-route[data-route="program"]) .overview-disclosure > summary:focus-visible{outline: 2px solid var(--volt-accent); outline-offset: -3px; border-radius: 10px;}
:where(.app-route[data-route="program"]) .phase-disclosure{border: 1px solid var(--volt-line-strong); border-radius: 12px; background: var(--volt-inset); margin-top: 14px; overflow: hidden;}
:where(.app-route[data-route="program"]) .phase-disclosure > summary{padding-top: 14px; padding-bottom: 14px;}
:where(.app-route[data-route="program"]) .phase-disclosure > summary strong{font-size: var(--app-text-body);}
:where(.app-route[data-route="program"]) .phase-action{display: block; margin-top: 9px; color: var(--volt-accent); font-size: var(--app-text-small);}
:where(.app-route[data-route="program"]) .phase-disclosure[open] .phase-action{display: none;}
:where(.app-route[data-route="program"]) .phase-list{list-style: none; margin: 0px; padding: 0px 14px 14px;}
:where(.app-route[data-route="program"]) .phase-item{border-top: 1px solid var(--volt-line); padding: 16px 0px;}
:where(.app-route[data-route="program"]) .phase-item:last-child{padding-bottom: 0px;}
:where(.app-route[data-route="program"]) .phase-title{display: flex; align-items: baseline; gap: 10px; font-size: var(--app-text-small);}
:where(.app-route[data-route="program"]) .phase-number{color: var(--volt-muted); font: var(--app-text-small) 'JetBrains Mono', monospace;}
:where(.app-route[data-route="program"]) .is-current .phase-number,:where(.app-route[data-route="program"]) .phase-current{color: var(--volt-accent);}
:where(.app-route[data-route="program"]) .phase-current{display: block; font-size: var(--app-text-small); margin: 6px 0px;}
:where(.app-route[data-route="program"]) .phase-focus{font-size: var(--app-text-small); line-height: 1.5; color: var(--volt-muted); margin: 8px 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="program"]) .phase-range{font-size: var(--app-text-small); color: var(--volt-muted); margin: 6px 0px 0px;}
:where(.app-route[data-route="program"]) .plan-adjustment{margin-top: 12px;}
:where(.app-route[data-route="program"]) .plan-adjustment > summary{padding-left: 0px;}
:where(.app-route[data-route="program"]) .program-summary .program-meta{flex-wrap: wrap; gap: 8px 16px; margin-top: 14px;}
:where(.app-route[data-route="program"]) .program-summary .program-title-row{gap: 12px;}
:where(.app-route[data-route="program"]) .program-summary .program-title{overflow-wrap: anywhere;}
:where(.app-route[data-route="program"]) .program-summary .program-actions-row{flex-wrap: wrap;}
:where(.app-route[data-route="program"]){}
:where(.app-route[data-route="program"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; min-height: 100vh; padding-bottom: 200px;}
:where(.app-route[data-route="program"]) .program-summary{background: var(--bestrongr-gray); border: 1px solid rgb(43, 44, 48); border-radius: 16px; margin: 16px; overflow: hidden;}
:where(.app-route[data-route="program"]) .program-summary-main{padding: 16px;}
:where(.app-route[data-route="program"]) .program-title-row{display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px;}
:where(.app-route[data-route="program"]) .program-title{font-size: var(--app-text-body); margin: 0px;}
:where(.app-route[data-route="program"]) .program-meta{display: flex; gap: 16px; font-size: var(--app-text-small); color: var(--bestrongr-text-gray); margin-bottom: 12px;}
:where(.app-route[data-route="program"]) .program-meta span{display: flex; align-items: center; gap: 4px;}
:where(.app-route[data-route="program"]) .progress-compact{height: 6px; background: rgb(51, 51, 51); border-radius: 3px; overflow: hidden;}
:where(.app-route[data-route="program"]) .progress-compact-bar{height: 100%; background: var(--bestrongr-success); border-radius: 3px; transition: width 0.3s;}
:where(.app-route[data-route="program"]) .progress-text{display: flex; justify-content: space-between; font-size: var(--app-text-small); color: var(--bestrongr-text-gray); margin-top: 6px;}
:where(.app-route[data-route="program"]) .program-details-content{padding: 16px;}
:where(.app-route[data-route="program"]) .program-description-content{font-size: var(--app-text-small); line-height: 1.6; color: rgba(255, 255, 255, 0.85);}
:where(.app-route[data-route="program"]) .program-description-content h5{font-size: var(--app-text-section); margin-top: 16px; margin-bottom: 8px;}
:where(.app-route[data-route="program"]) .program-description-content h5:first-child{margin-top: 0px;}
:where(.app-route[data-route="program"]) .program-description-content h6{font-size: var(--app-text-section); color: rgba(255, 255, 255, 0.9);}
:where(.app-route[data-route="program"]) .program-description-content ul{margin-bottom: 12px; padding-left: 20px;}
:where(.app-route[data-route="program"]) .program-description-content li{margin-bottom: 4px;}
:where(.app-route[data-route="program"]) .program-description-content p{margin-bottom: 8px;}
:where(.app-route[data-route="program"]) .program-description-content strong{color: white;}
:where(.app-route[data-route="program"]) .detail-item{display: flex; justify-content: space-between; padding: 8px 0px; font-size: var(--app-text-small); border-bottom: 1px solid rgb(34, 34, 34);}
:where(.app-route[data-route="program"]) .detail-item:last-child{border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
:where(.app-route[data-route="program"]) .detail-label{color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="program"]) .program-actions-row{display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid rgb(43, 44, 48);}
:where(.app-route[data-route="program"]) .action-btn{flex: 1 1 0%; padding: 10px; border-radius: 8px; font-size: var(--app-text-action); font-weight: 500; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px;}
:where(.app-route[data-route="program"]) .action-btn-restart{background: rgba(255, 184, 0, 0.15); color: rgb(255, 184, 0);}
:where(.app-route[data-route="program"]) .action-btn-end{background: rgba(220, 53, 69, 0.15); color: rgb(255, 92, 92);}
:where(.app-route[data-route="program"]) .week-card{background: var(--bestrongr-gray); border: 1px solid rgb(43, 44, 48); border-radius: 15px; padding: 25px; margin-bottom: 20px; transition: 0.2s;}
:where(.app-route[data-route="program"]) .week-card.deload{border-color: var(--bestrongr-blue); background: linear-gradient(135deg, rgb(23, 24, 27) 0%, rgb(19, 19, 22) 100%);}
:where(.app-route[data-route="program"]) .week-header{display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;}
:where(.app-route[data-route="program"]) .days-scroll-container{display: flex; gap: 12px; overflow-x: auto; padding: 0px 25px 12px; margin: 0px -25px; scroll-snap-type: x mandatory; scroll-padding-left: 25px; scrollbar-width: none;}
:where(.app-route[data-route="program"]) .days-scroll-container::-webkit-scrollbar{display: none;}
:where(.app-route[data-route="program"]) .day-card{flex: 0 0 calc(40% - 6px); min-width: 180px; background: var(--bestrongr-black); border: 1px solid rgb(43, 44, 48); border-radius: 12px; padding: 14px; cursor: pointer; transition: 0.2s; scroll-snap-align: start;}
:where(.app-route[data-route="program"]) .day-card:hover{border-color: var(--bestrongr-blue); transform: translateY(-2px);}
:where(.app-route[data-route="program"]) .day-card.rest-day{opacity: 0.5; cursor: default;}
:where(.app-route[data-route="program"]) .day-card.rest-day:hover{transform: none; border-color: rgb(43, 44, 48);}
:where(.app-route[data-route="program"]) .day-card.today-highlight{border-color: var(--bestrongr-blue); border-width: 2px;}
:where(.app-route[data-route="program"]) .day-card-header{display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px;}
:where(.app-route[data-route="program"]) .day-card-name{font-weight: 600; font-size: var(--app-text-section);}
:where(.app-route[data-route="program"]) .day-card-status{font-size: var(--app-text-small);}
:where(.app-route[data-route="program"]) .day-card-date{font-size: var(--app-text-small); color: var(--bestrongr-text-gray); margin-bottom: 10px;}
:where(.app-route[data-route="program"]) .day-card-footer{display: flex; justify-content: space-between; align-items: center;}
:where(.app-route[data-route="program"]) .day-outcome-shortcuts{border-top: 1px solid rgba(255, 255, 255, 0.08); display: grid; gap: 4px; margin-top: 10px; padding-top: 8px;}
:where(.app-route[data-route="program"]) .day-outcome-shortcut{background: none; border: 0px; color: var(--bestrongr-blue); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: var(--app-text-small); font-weight: 600; min-height: 44px; padding: 5px 0px; text-align: left; white-space: normal; overflow-wrap: anywhere;}
:where(.app-route[data-route="program"]) .day-card-progress{font-size: var(--app-text-small); color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="program"]) .day-card-arrow{color: var(--bestrongr-blue); font-size: var(--app-text-small);}
:where(.app-route[data-route="program"]) .day-card .badge{font-size: var(--app-text-small); padding: 2px 6px;}
:where(.app-route[data-route="program"]) .day-item{display: none;}
:where(.app-route[data-route="program"]) .day-name{font-weight: 600; display: flex; align-items: center; gap: 10px;}
:where(.app-route[data-route="program"]) .day-status{display: flex; align-items: center; gap: 10px;}
:where(.app-route[data-route="program"]) .status-complete{color: rgb(255, 184, 0);}
:where(.app-route[data-route="program"]) .status-partial{color: var(--bestrongr-blue);}
:where(.app-route[data-route="program"]) .status-not-started{color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="program"]) .today-workout-card{background: linear-gradient(135deg, rgb(23, 24, 27) 0%, rgb(23, 24, 27) 100%); border: 2px solid rgb(255, 184, 0); border-radius: 16px; padding: 20px; margin-bottom: 24px; cursor: pointer; transition: 0.2s;}
:where(.app-route[data-route="program"]) .today-workout-card:hover{transform: translateY(-2px); box-shadow: rgba(255, 184, 0, 0.3) 0px 8px 24px;}
:where(.app-route[data-route="program"]) .today-label{font-size: var(--app-text-small); font-weight: 700; color: rgb(255, 184, 0); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px;}
:where(.app-route[data-route="program"]) .today-workout-name{font-size: var(--app-text-body); font-weight: 600; margin-bottom: 4px;}
:where(.app-route[data-route="program"]) .today-meta{font-size: var(--app-text-small); color: rgb(170, 170, 170);}
:where(.app-route[data-route="program"]) .today-arrow{font-size: var(--app-text-section); color: rgb(255, 184, 0);}
:where(.app-route[data-route="program"]) .progress-section{margin-top: 20px; padding-top: 20px; border-top: 1px solid rgb(43, 44, 48);}
/* program-overview */
:where(.app-route[data-route="program-overview"]) #startDateInput{min-height: 48px; color-scheme: dark;}
:where(.app-route[data-route="program-overview"]) .start-week-grid{display: grid; grid-template-columns: repeat(7, minmax(0px, 1fr)); gap: 4px;}
:where(.app-route[data-route="program-overview"]) .start-week-day{text-align: center; padding: 9px 0px; border-radius: 8px; color: rgb(160, 160, 164);}
:where(.app-route[data-route="program-overview"]) .start-week-day.is-workout{background: rgb(255, 184, 0); color: rgb(19, 19, 22);}
:where(.app-route[data-route="program-overview"]) .start-week-day .weekday{display: block; font-size: var(--app-text-small);}
:where(.app-route[data-route="program-overview"]){}
:where(.app-route[data-route="program-overview"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; min-height: 100vh; padding-bottom: 200px;}
:where(.app-route[data-route="program-overview"]) .text-oswald{text-transform: uppercase; letter-spacing: 1px; font-weight: 700 !important; font-family: Anton, sans-serif !important;}
:where(.app-route[data-route="program-overview"]) .page-header{background: var(--bestrongr-dark); padding: 16px; border-bottom: 1px solid rgb(51, 51, 51); position: sticky; top: 0px; z-index: 100;}
:where(.app-route[data-route="program-overview"]) .program-hero{background: linear-gradient(135deg, var(--bestrongr-blue) 0%, #E6A600 100%); padding: 40px 20px; text-align: center;}
:where(.app-route[data-route="program-overview"]) .program-hero.ai{background: linear-gradient(135deg, rgb(255, 184, 0) 0%, rgb(255, 184, 0) 100%);}
:where(.app-route[data-route="program-overview"]) .hero-icon{font-size: 60px; margin-bottom: 16px;}
:where(.app-route[data-route="program-overview"]) .hero-title{font-size: var(--app-text-title); margin-bottom: 8px;}
:where(.app-route[data-route="program-overview"]) .hero-meta{display: flex; justify-content: center; gap: 16px; font-size: var(--app-text-small); opacity: 0.9;}
:where(.app-route[data-route="program-overview"]) .content-section{padding: 20px 16px; border-bottom: 1px solid rgb(34, 34, 34);}
:where(.app-route[data-route="program-overview"]) .section-title{font-size: var(--app-text-section); color: var(--bestrongr-text-gray); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; display: flex; align-items: center; gap: 8px;}
:where(.app-route[data-route="program-overview"]) .description-text{color: rgb(204, 204, 204); line-height: 1.6;}
:where(.app-route[data-route="program-overview"]) .training-day{display: flex; align-items: center; padding: 12px; background: var(--bestrongr-gray); border-radius: 8px; margin-bottom: 8px;}
:where(.app-route[data-route="program-overview"]) .day-name{width: 100px; font-weight: 600; color: var(--bestrongr-blue);}
:where(.app-route[data-route="program-overview"]) .day-workout{flex: 1 1 0%; color: rgb(204, 204, 204);}
:where(.app-route[data-route="program-overview"]) .guideline-item{display: flex; align-items: flex-start; gap: 12px; padding: 10px 0px; border-bottom: 1px solid rgb(34, 34, 34);}
:where(.app-route[data-route="program-overview"]) .guideline-item:last-child{border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
:where(.app-route[data-route="program-overview"]) .guideline-item i{color: var(--bestrongr-blue); margin-top: 3px;}
:where(.app-route[data-route="program-overview"]) .level-badge{display: inline-block; padding: 6px 12px; border-radius: 20px; font-size: var(--app-text-small); font-weight: 600; text-transform: uppercase;}
:where(.app-route[data-route="program-overview"]) .level-beginner{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="program-overview"]) .level-intermediate{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="program-overview"]) .level-advanced{background: rgba(255, 59, 48, 0.2); color: rgb(255, 92, 92);}
:where(.app-route[data-route="program-overview"]) .start-area{position: fixed; bottom: 0px; left: 0px; right: 0px; background: var(--bestrongr-dark); border-top: 1px solid rgb(51, 51, 51); padding-top: 16px; padding-right: 16px; padding-left: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom));}
:where(.app-route[data-route="program-overview"]) .btn-start{background: var(--bestrongr-blue); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: white; padding: 16px; font-size: var(--app-text-action); font-weight: 600; border-radius: 12px; width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px;}
:where(.app-route[data-route="program-overview"]) .btn-start:hover{background: var(--bestrongr-blue-dark); color: white;}
:where(.app-route[data-route="program-overview"]) .btn-start.active{background: rgb(255, 184, 0);}
:where(.app-route[data-route="program-overview"]) .btn-delete{background: rgba(220, 53, 69, 0.1); border: 1px solid rgba(220, 53, 69, 0.3); color: rgb(255, 92, 92); padding: 16px; font-size: var(--app-text-action); border-radius: 12px; width: 100%; margin-top: 8px;}
:where(.app-route[data-route="program-overview"]) .training-day{cursor: pointer; transition: 0.2s;}
:where(.app-route[data-route="program-overview"]) .training-day:hover{background: rgb(32, 33, 37); transform: translateX(4px);}
:where(.app-route[data-route="program-overview"]) .training-day:hover .day-name{color: rgb(255, 255, 255);}
:where(.app-route[data-route="program-overview"]) .training-day .day-arrow{color: rgb(85, 85, 85); transition: color 0.2s;}
:where(.app-route[data-route="program-overview"]) .training-day:hover .day-arrow{color: var(--bestrongr-blue);}
:where(.app-route[data-route="program-overview"]) .workout-variant{background: var(--bestrongr-gray); border-radius: 12px; padding: 16px; margin-bottom: 16px;}
:where(.app-route[data-route="program-overview"]) .workout-variant-header{font-size: var(--app-text-small); color: var(--bestrongr-blue); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px;}
:where(.app-route[data-route="program-overview"]) .workout-variant-title{font-size: var(--app-text-body); font-weight: 600; margin-bottom: 16px;}
:where(.app-route[data-route="program-overview"]) .exercise-item{padding: 12px 0px; border-bottom: 1px solid rgb(51, 51, 51);}
:where(.app-route[data-route="program-overview"]) .exercise-item:last-child{border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor;}
:where(.app-route[data-route="program-overview"]) .exercise-name{font-weight: 600; margin-bottom: 4px;}
:where(.app-route[data-route="program-overview"]) .exercise-meta{font-size: var(--app-text-small); color: rgb(170, 170, 170); display: flex; flex-wrap: wrap; gap: 12px;}
:where(.app-route[data-route="program-overview"]) .exercise-meta span{display: flex; align-items: center; gap: 4px;}
:where(.app-route[data-route="program-overview"]) .exercise-instructions{font-size: var(--app-text-body); color: rgb(221, 221, 221); margin-top: 8px; font-style: normal;}
:where(.app-route[data-route="program-overview"]) .workout-description{font-size: var(--app-text-small); color: rgb(204, 204, 204); line-height: 1.6; margin-bottom: 12px;}
:where(.app-route[data-route="program-overview"]) .workout-description p{margin-bottom: 8px;}
:where(.app-route[data-route="program-overview"]) .workout-description ul,:where(.app-route[data-route="program-overview"]) .workout-description ol{margin-left: 16px; margin-bottom: 8px;}
:where(.app-route[data-route="program-overview"]) .workout-notes{font-size: var(--app-text-small); color: rgb(136, 136, 136); margin-top: 12px; padding-top: 12px; border-top: 1px solid rgb(51, 51, 51);}
:where(.app-route[data-route="program-overview"]) .workout-equipment{font-size: var(--app-text-small); color: var(--bs-primary); margin-top: 8px;}
:where(.app-route[data-route="program-overview"]) .workout-type-badge{font-size: var(--app-text-small); font-weight: 600; padding: 2px 8px; border-radius: 10px; text-transform: uppercase; letter-spacing: 0.5px; margin-left: 8px;}
:where(.app-route[data-route="program-overview"]) .workout-type-badge.type-conditioning{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="program-overview"]) .workout-type-badge.type-recovery{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="program-overview"]) .workout-type-badge.type-simple{background: rgba(255, 184, 0, 0.2); color: rgb(255, 184, 0);}
:where(.app-route[data-route="program-overview"]) .content-wrapper{padding-bottom: 160px;}
/* create-program-composer */
:where(.app-route[data-route="create-program-composer"]),:where(.app-route[data-route="create-program-composer"]){background: rgb(18, 18, 18); color: rgb(255, 255, 255); margin: 0px;}
:where(.app-route[data-route="create-program-composer"]) .chat-header{background: rgb(23, 24, 27); padding: 16px; border-bottom: 1px solid rgb(51, 51, 51);}
:where(.app-route[data-route="create-program-composer"]){font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: var(--bestrongr-black); color: white; height: 100dvh; max-height: 100dvh; overflow: hidden; display: flex; flex-direction: column;}
:where(.app-route[data-route="create-program-composer"]) .chat-header{background: var(--bestrongr-dark); border-bottom: 1px solid rgb(51, 51, 51); padding: 16px; position: sticky; top: 0px; z-index: 100;}
:where(.app-route[data-route="create-program-composer"]) .chat-container{flex: 1 1 0%; height: 0px; min-height: 0px; overflow-y: auto; overscroll-behavior: contain; padding: 16px 16px 100px;}
:where(.app-route[data-route="create-program-composer"]) .message{margin-bottom: 16px; max-width: 85%;}
:where(.app-route[data-route="create-program-composer"]) .message-ai{margin-right: auto; display: flex; gap: 10px; align-items: flex-start;}
:where(.app-route[data-route="create-program-composer"]) .message-user{margin-left: auto;}
:where(.app-route[data-route="create-program-composer"]) .coach-avatar{width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid rgb(51, 51, 51);}
:where(.app-route[data-route="create-program-composer"]) .message-content{flex: 1 1 0%; min-width: 0px; margin-bottom: 40px;}
:where(.app-route[data-route="create-program-composer"]) .message-bubble{padding: 12px 16px; border-radius: 18px; line-height: 1.5;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-bubble{background: transparent; padding: 0px; border-radius: 0px;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-bubble h5{font-size: var(--app-text-section); margin: 12px 0px 6px; color: white;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-bubble h5:first-child{margin-top: 0px;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-bubble ul{margin: 6px 0px; padding-left: 18px;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-bubble li{margin-bottom: 3px;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-bubble p{margin-bottom: 8px;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-bubble p:last-child{margin-bottom: 0px;}
:where(.app-route[data-route="create-program-composer"]) .message-user .message-bubble{background: var(--bestrongr-gray); border: 1px solid rgb(51, 51, 51); border-bottom-right-radius: 4px;}
:where(.app-route[data-route="create-program-composer"]) .message-label{font-size: var(--app-text-small); color: var(--bestrongr-text-gray); margin-bottom: 4px;}
:where(.app-route[data-route="create-program-composer"]) .message-ai .message-label{font-size:var(--app-text-body);font-weight:600;color:#f5f5f5;}
:where(.app-route[data-route="create-program-composer"]) .message-ai[data-chat-pending]{max-width:100%;align-items:center;}
:where(.app-route[data-route="create-program-composer"]) .message-ai[data-chat-pending] .message-content{display:flex;align-items:center;gap:10px;margin-bottom:0;}
:where(.app-route[data-route="create-program-composer"]) .message-ai[data-chat-pending] .message-label{flex:none;margin:0;}
:where(.app-route[data-route="create-program-composer"]) .message-ai[data-chat-pending] .message-bubble{flex:1;min-width:0;}

:where(.app-route[data-route="create-program-composer"]) .addon-confirm-card{margin: 16px; padding: 0px;}
:where(.app-route[data-route="create-program-composer"]) .addon-confirm-content{background: linear-gradient(135deg, rgb(23, 24, 27) 0%, rgb(23, 24, 27) 100%); border: 1px solid rgba(255, 184, 0, 0.35); border-radius: 16px; padding: 16px;}
:where(.app-route[data-route="create-program-composer"]) .addon-confirm-header{font-size: var(--app-text-small); margin-bottom: 12px; display: flex; align-items: center;}
:where(.app-route[data-route="create-program-composer"]) .addon-confirm-details{background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 12px; margin-bottom: 12px;}
:where(.app-route[data-route="create-program-composer"]) .addon-confirm-details ul{list-style: none; padding: 0px; margin: 0px;}
:where(.app-route[data-route="create-program-composer"]) .addon-confirm-details li{padding: 2px 0px;}
:where(.app-route[data-route="create-program-composer"]) .addon-confirm-buttons{display: flex; gap: 12px; justify-content: flex-end;}
:where(.app-route[data-route="create-program-composer"]) .addon-confirm-buttons .btn{min-height: 44px;}
@media (max-width: 360px) {:where(.app-route[data-route="create-program-composer"]) .addon-confirm-buttons{flex-direction: column-reverse;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="create-program-composer"]) .addon-confirm-card .spinner-border{animation: none;}}
:where(.app-route[data-route="create-program-composer"]) .coach-intro{text-align: center; padding: 16px 0px 20px; margin-bottom: 16px;}
:where(.app-route[data-route="create-program-composer"]) #david-help-dialog[open],:where(.app-route[data-route="create-program-composer"]) #prompt-guide-overlay[open]{animation: 180ms ease-out 0s 1 normal none running david-help-enter;}
@keyframes david-help-enter { 
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: translateY(0px); }
}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="create-program-composer"]) #david-help-dialog[open],:where(.app-route[data-route="create-program-composer"]) #prompt-guide-overlay[open]{animation: auto ease 0s 1 normal none running none;}}
:where(.app-route[data-route="create-program-composer"]) .coach-intro[hidden]{display: none;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-identity{display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 16px;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-identity > div{text-align: left;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-avatar{width: 80px; height: 80px; flex-shrink: 0; border-radius: 50%; object-fit: cover; border: 3px solid rgb(255, 184, 0);}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-identity .coach-intro-title{margin: 0px;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-help{display: grid; grid-template-columns: 1fr 1fr; gap: 8px; max-width: 380px; margin: 20px auto 0px;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-help .coach-intro-tips-btn{justify-content: center; padding: 10px 8px; margin: 0px; font-size: var(--app-text-small); min-height: 48px; line-height: 1.25;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-name{font-size: var(--app-text-section); font-weight: 700; margin: 0px 0px 4px; color: white;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-title{font-size: var(--app-text-small); color: var(--bestrongr-blue); margin: 0px 0px 8px; font-weight: 500;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-desc{font-size: var(--app-text-small); color: var(--bestrongr-text-gray); max-width: 280px; margin: 0px auto; line-height: 1.4;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-tips-btn{display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 184, 0, 0.15); border: 1px solid rgba(255, 184, 0, 0.4); color: var(--bestrongr-blue); padding: 10px 20px; border-radius: 24px; font-size: var(--app-text-small); font-weight: 500; cursor: pointer; margin-top: 16px; transition: 0.2s;}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-tips-btn:hover{background: rgba(255, 184, 0, 0.25); border-color: rgba(255, 184, 0, 0.6);}
:where(.app-route[data-route="create-program-composer"]) .coach-intro-tips-btn i{font-size: 17px;}
:where(.app-route[data-route="create-program-composer"]) .header-actions{display: flex; gap: 4px; flex-shrink: 0; align-items: center;}
:where(.app-route[data-route="create-program-composer"]) .header-btn{width: 44px; min-width: 44px; height: 44px; padding: 0px; border: 0px; border-radius: 12px; background: transparent; color: rgb(238, 238, 238); display: flex; gap: 6px; align-items: center; justify-content: center; font-size: var(--app-text-small); cursor: pointer;}
:where(.app-route[data-route="create-program-composer"]) .header-btn:hover{background: rgba(255, 255, 255, 0.063); color: rgb(255, 184, 0);}
:where(.app-route[data-route="create-program-composer"]) .header-btn svg{display: block; width: 24px; height: 24px;}
:where(.app-route[data-route="create-program-composer"]) .header-btn:focus-visible,:where(.app-route[data-route="create-program-composer"]) .prompt-guide-close:focus-visible{outline: rgb(255, 184, 0) solid 2px; outline-offset: 2px;}
:where(.app-route[data-route="create-program-composer"]) .david-header-identity{display: flex; gap: 8px; align-items: center; min-width: 0px;}
:where(.app-route[data-route="create-program-composer"]) .david-back{width: 44px; height: 44px; display: grid; place-items: center; flex-shrink: 0;}
:where(.app-route[data-route="create-program-composer"]) .input-area{position: fixed; bottom: 0px; left: 0px; right: 0px; background: var(--bestrongr-dark); border-top: 1px solid rgb(51, 51, 51); padding-top: 12px; padding-right: 16px; padding-left: 16px; padding-bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 101;}
:where(.app-route[data-route="create-program-composer"]) .input-wrapper{display: flex; gap: 12px; max-width: 800px; margin: 0px auto;}
:where(.app-route[data-route="create-program-composer"]) .chat-input{flex: 1 1 0%; background: var(--bestrongr-gray); border: 1px solid rgb(68, 68, 68); border-radius: 24px; padding: 12px 20px; color: white; font-size: var(--app-text-small); resize: none; max-height: 120px; overflow-y: auto; scrollbar-width: none;}
:where(.app-route[data-route="create-program-composer"]) .chat-input::-webkit-scrollbar{display: none;}
:where(.app-route[data-route="create-program-composer"]) .prompt-guide-lead{margin: 0px 0px 20px; color: rgb(204, 204, 204);}
:where(.app-route[data-route="create-program-composer"]) .guide-list{list-style: none; padding: 0px; margin: 0px; display: grid; gap: 18px;}
:where(.app-route[data-route="create-program-composer"]) .guide-list li{display: grid; grid-template-columns: 24px 1fr; gap: 12px;}
:where(.app-route[data-route="create-program-composer"]) .guide-list i{color: rgb(255, 184, 0); font-size: 22px; line-height: 1.3;}
:where(.app-route[data-route="create-program-composer"]) .guide-list h3{margin: 0px 0px 3px; font-family: inherit; font-size: var(--app-text-section); font-weight: 600; line-height: 1.4; color: rgb(255, 255, 255);}
:where(.app-route[data-route="create-program-composer"]) .guide-list p,:where(.app-route[data-route="create-program-composer"]) .guide-media p{margin: 0px; color: rgb(204, 204, 204);}
:where(.app-route[data-route="create-program-composer"]) .guide-media{border-top: 1px solid rgb(52, 54, 56); margin-top: 20px; padding-top: 18px;}
:where(.app-route[data-route="create-program-composer"]) .guide-media strong{color: rgb(255, 255, 255);}
:where(.app-route[data-route="create-program-composer"]) .guide-examples{margin-top: 24px; border-top: 1px solid rgb(52, 54, 56); padding-top: 20px;}
:where(.app-route[data-route="create-program-composer"]) .guide-examples > h3{font-family: inherit; font-size: var(--app-text-section); margin: 0px 0px 8px; color: rgb(255, 255, 255);}
:where(.app-route[data-route="create-program-composer"]) .guide-examples-intro{font-size: var(--app-text-body); color: rgb(204, 204, 204); margin: 0px 0px 16px;}
:where(.app-route[data-route="create-program-composer"]) .guide-example{margin-top: 12px; border: 1px solid rgb(61, 63, 65); border-radius: 14px;}
:where(.app-route[data-route="create-program-composer"]) .guide-example summary{padding: 12px 14px; min-height: 44px; font-size: var(--app-text-small); color: rgb(255, 184, 0); cursor: pointer;}
:where(.app-route[data-route="create-program-composer"]) .guide-example blockquote{margin: 0px; padding: 0px 14px 16px; font-size: var(--app-text-body); color: rgb(221, 221, 221);}
:where(.app-route[data-route="create-program-composer"]) .guide-equipment{padding: 0px 14px 16px; font-size: var(--app-text-body); color: rgb(221, 221, 221); line-height: 1.5;}
:where(.app-route[data-route="create-program-composer"]) .guide-equipment p{margin: 0px 0px 14px;}
:where(.app-route[data-route="create-program-composer"]) .guide-equipment p:last-child{margin-bottom: 0px;}
:where(.app-route[data-route="create-program-composer"]) .guide-example blockquote p{margin: 0px 0px 14px; line-height: 1.5;}
:where(.app-route[data-route="create-program-composer"]) .guide-example blockquote p:last-child{margin-bottom: 0px;}
:where(.app-route[data-route="create-program-composer"]) .guide-example summary:focus-visible{outline: rgb(255, 184, 0) solid 2px; outline-offset: 2px; border-radius: 12px;}
:where(.app-route[data-route="create-program-composer"]) .chat-input:focus{outline: none; border-color: var(--bestrongr-blue);}
:where(.app-route[data-route="create-program-composer"]) .chat-input::placeholder{color: var(--bestrongr-text-gray);}
:where(.app-route[data-route="create-program-composer"]) .send-btn{width: 48px; height: 48px; border-radius: 50%; background: var(--bestrongr-blue); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: white; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
:where(.app-route[data-route="create-program-composer"]) .send-btn:disabled{background: rgb(68, 68, 68); color: rgb(102, 102, 102);}
:where(.app-route[data-route="create-program-composer"]) .send-btn:not(:disabled):hover{background: var(--bestrongr-blue-dark);}
:where(.app-route[data-route="create-program-composer"]) .ready-banner{background: linear-gradient(135deg, rgb(255, 184, 0) 0%, rgb(255, 184, 0) 100%); padding: 16px; margin: 8px 0px 0px; scroll-margin-bottom: 12px; flex-shrink: 0; color: rgb(18, 18, 18); border-radius: 12px; text-align: center;}
:where(.app-route[data-route="create-program-composer"]) .ready-banner h5{margin-bottom: 8px;}
:where(.app-route[data-route="create-program-composer"]) .ready-banner .btn{margin-top: 8px;}
:where(.app-route[data-route="create-program-composer"]) .generation-status-content{box-sizing: border-box; width: min(100%, 32rem); margin-inline: auto; padding-inline: 20px; overflow-wrap: anywhere; text-align: center;}
:where(.app-route[data-route="create-program-composer"]) .generation-coach{width: 112px; margin: 0px auto 20px;}
:where(.app-route[data-route="create-program-composer"]) .generation-coach img{display: block; width: 112px; height: 112px; object-fit: cover; border: 3px solid rgb(255, 184, 0); border-radius: 50%; margin: 0px auto 14px;}
:where(.app-route[data-route="create-program-composer"]) .generation-coach .volt-loading-mark{height: 20px; gap: 5px; margin: 0px;}
:where(.app-route[data-route="create-program-composer"]) .generation-coach .volt-loading-mark span{width: 6px; height: 19px;}
:where(.app-route[data-route="create-program-composer"]) .generation-status h4{font-size: 1.25rem; margin-bottom: 8px; color: white;}
:where(.app-route[data-route="create-program-composer"]) .generation-message{color: var(--bestrongr-text-gray); font-size: var(--app-text-small); min-height: 24px; transition: opacity 0.3s;}
:where(.app-route[data-route="create-program-composer"]) .generation-coach-name{margin: 0px 0px 4px; color: rgb(255, 255, 255); font-size: var(--app-text-body); font-weight: 600;}
:where(.app-route[data-route="create-program-composer"]) .generation-time-hint{color: var(--bestrongr-text-gray); font-size: var(--app-text-small); margin: 16px 0px 0px;}
:where(.app-route[data-route="create-program-composer"]) .generation-timer{color: var(--bestrongr-text-white); font-size: var(--app-text-section); font-weight: 600; margin: 12px 0px 0px; font-variant-numeric: tabular-nums;}
/* create-program */

/* statistics */
:where(.app-route[data-route="statistics"]){margin: 0px; background: rgb(14, 15, 16); color: rgb(246, 245, 240); font-family: Barlow, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: var(--app-text-body); padding-bottom: 110px;}
:where(.app-route[data-route="statistics"]) .progress-page{max-width: 850px; margin: auto; padding: 22px 20px 44px;}
:where(.app-route[data-route="statistics"]) .page-header{display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; border-bottom: 1px solid rgb(40, 41, 44);}
:where(.app-route[data-route="statistics"]) button,:where(.app-route[data-route="statistics"]) input,:where(.app-route[data-route="statistics"]) summary{font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; font-size: var(--app-text-action);}
:where(.app-route[data-route="statistics"]) button{cursor: pointer; color: inherit;}
:where(.app-route[data-route="statistics"]) button:focus-visible,:where(.app-route[data-route="statistics"]) input:focus-visible,:where(.app-route[data-route="statistics"]) summary:focus-visible,:where(.app-route[data-route="statistics"]) [tabindex]:focus-visible{outline: rgb(255, 184, 0) solid 3px; outline-offset: 4px;}
:where(.app-route[data-route="statistics"]) button:disabled{opacity: 0.4; cursor: default;}
:where(.app-route[data-route="statistics"]) .icon-button{display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; padding: 0px; border: 1px solid rgb(58, 59, 63); border-radius: 50%; background: transparent; font-size: var(--app-text-action);}
:where(.app-route[data-route="statistics"]) .periods{display: flex; flex-wrap: wrap; gap: 4px; margin: 0px 0px 28px; padding: 5px; border-radius: 14px; background: rgb(28, 29, 32); width: fit-content;}
:where(.app-route[data-route="statistics"]) .periods button{min-height: 44px; padding: 8px 12px; border: 0px; border-radius: 10px; background: transparent; color: rgb(182, 183, 189);}
:where(.app-route[data-route="statistics"]) .periods [aria-pressed="true"]{color: rgb(20, 20, 20); background: rgb(255, 184, 0); font-weight: 600;}
:where(.app-route[data-route="statistics"]) .eyebrow{color: rgb(170, 174, 182); font-size: var(--app-text-small); letter-spacing: 1.2px; text-transform: uppercase;}
:where(.app-route[data-route="statistics"]) .hero-number{display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 0px; line-height: 1.15;}
:where(.app-route[data-route="statistics"]) .hero-number strong{font-size: clamp(42px, 9vw, 66px); font-weight: 600; letter-spacing: -1.8px;}
:where(.app-route[data-route="statistics"]) .hero-number span{font-size: var(--app-text-section); color: rgb(154, 156, 164);}
:where(.app-route[data-route="statistics"]) .comparison{color: rgb(169, 172, 180); font-size: var(--app-text-small); margin: 12px 0px 24px;}
:where(.app-route[data-route="statistics"]) .overview{padding: 8px 0px 24px;}
:where(.app-route[data-route="statistics"]) .chart-heading{display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 24px 0px 10px;}
:where(.app-route[data-route="statistics"]) .chart-heading span{font-size: var(--app-text-small); color: rgb(154, 158, 167);}
:where(.app-route[data-route="statistics"]) .chart-frame{position: relative;}
:where(.app-route[data-route="statistics"]) .chart-frame svg{width: 100%; height: 165px; overflow: visible; display: block;}
:where(.app-route[data-route="statistics"]) .chart-axis{display: flex; justify-content: space-between; gap: 12px; font-size: var(--app-text-small); color: rgb(154, 158, 167); margin-top: 8px;}
:where(.app-route[data-route="statistics"]) .chart-readout{display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; min-height: 34px; margin-top: 18px; color: rgb(175, 178, 186); font-size: var(--app-text-small);}
:where(.app-route[data-route="statistics"]) .chart-readout strong{color: rgb(255, 202, 67); font-size: var(--app-text-body); font-weight: 600;}
:where(.app-route[data-route="statistics"]) .chart-point{cursor: pointer;}
:where(.app-route[data-route="statistics"]) .chart-point:focus{outline: none;}
:where(.app-route[data-route="statistics"]) .chart-point:focus .point-visible,:where(.app-route[data-route="statistics"]) .chart-point:hover .point-visible{stroke: rgb(255, 255, 255); stroke-width: 4;}
:where(.app-route[data-route="statistics"]) .summary-facts{display: grid; grid-template-columns: 1fr 1fr; gap: 20px; border-top: 1px solid rgb(52, 53, 57); margin-top: 24px; padding-top: 20px;}
:where(.app-route[data-route="statistics"]) .fact{display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px;}
:where(.app-route[data-route="statistics"]) .fact + .fact{border-left: 1px solid rgb(52, 53, 57); padding-left: 20px;}
:where(.app-route[data-route="statistics"]) .fact strong{font-size: var(--app-text-title); font-weight: 600;}
:where(.app-route[data-route="statistics"]) .fact span{font-size: var(--app-text-small); color: rgb(181, 182, 190);}
:where(.app-route[data-route="statistics"]) .section-heading,:where(.app-route[data-route="statistics"]) .dialog-heading{display: flex; justify-content: space-between; align-items: center; gap: 16px;}
:where(.app-route[data-route="statistics"]) h2{font-size: var(--app-text-title); font-weight: 600; margin: 0px;}
:where(.app-route[data-route="statistics"]) h3{font-size: var(--app-text-section); margin: 26px 0px 10px;}
:where(.app-route[data-route="statistics"]) .followed-section{margin-top: 16px; padding-top: 26px; border-top: 1px solid rgb(52, 53, 57);}
:where(.app-route[data-route="statistics"]) .text-button{min-height: 44px; background: transparent; border: 0px; color: rgb(255, 202, 67); padding: 8px 0px;}
:where(.app-route[data-route="statistics"]) .text-button i{margin-left: 6px;}
:where(.app-route[data-route="statistics"]) .selection-invite{display: flex; align-items: center; gap: 20px; width: 100%; text-align: left; padding: 28px 22px; margin-top: 20px; border: 1px dashed rgb(108, 93, 51); border-radius: 20px; background: linear-gradient(120deg, rgb(36, 32, 22), rgb(20, 21, 21) 80%);}
:where(.app-route[data-route="statistics"]) .invite-symbol{display: grid; place-items: center; flex-shrink: 0; width: 60px; height: 60px; border-radius: 50%; color: rgb(255, 191, 34); background: rgba(255, 184, 0, 0.08); font-size: 34px;}
:where(.app-route[data-route="statistics"]) .selection-invite strong{display: block; font-size: var(--app-text-section); font-weight: 600;}
:where(.app-route[data-route="statistics"]) .selection-invite small{display: block; margin-top: 5px; color: rgb(180, 179, 173); font-size: var(--app-text-small);}
:where(.app-route[data-route="statistics"]) .lift-list{margin-top: 16px;}
:where(.app-route[data-route="statistics"]) .lift-row{width: 100%; display: grid; grid-template-columns: minmax(0px, 1fr) 94px 16px; gap: 14px; text-align: left; align-items: center; padding: 22px 0px; border-width: 0px 0px 1px; border-style: none none solid; border-color: currentcolor currentcolor rgb(48, 49, 53); border-image: none; background: transparent;}
:where(.app-route[data-route="statistics"]) .lift-row:hover{background: rgba(255, 255, 255, 0.016);}
:where(.app-route[data-route="statistics"]) .lift-name{display: block; font-size: var(--app-text-section); font-weight: 600; overflow-wrap: anywhere; line-height: 1.25;}
:where(.app-route[data-route="statistics"]) .lift-result{display: block; color: rgb(169, 173, 181); font-size: var(--app-text-body); margin-top: 8px;}
:where(.app-route[data-route="statistics"]) .lift-spark svg{width: 94px; height: 54px; display: block;}
:where(.app-route[data-route="statistics"]) .lift-spark .no-history{display: block; width: 70px; height: 1px; background: rgb(69, 71, 76);}
:where(.app-route[data-route="statistics"]) .lift-chevron{color: rgb(169, 173, 181); font-size: 25px;}
:where(.app-route[data-route="statistics"]) .show-followed{width: 100%; margin-top: 12px;}
:where(.app-route[data-route="statistics"]) .sr-only{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px);}
:where(.app-route[data-route="statistics"]) .empty-chart{height: 165px; display: grid; place-items: center; color: rgb(169, 173, 181); border-bottom: 1px solid rgb(55, 56, 60); background: repeating-linear-gradient(to top, transparent 0px, transparent 53px, rgba(255, 255, 255, 0.027) 54px, rgba(255, 255, 255, 0.027) 55px);}
:where(.app-route[data-route="statistics"]) .picker-search{display: flex; align-items: center; gap: 10px; padding: 0px 14px; background: rgb(36, 37, 41); border: 1px solid rgb(66, 67, 72); border-radius: 12px;}
:where(.app-route[data-route="statistics"]) .picker-search input{min-width: 0px; width: 100%; padding: 13px 0px; color: white; background: transparent; border: 0px;}
:where(.app-route[data-route="statistics"]) .picker-search i{color: rgb(169, 173, 181);}
:where(.app-route[data-route="statistics"]) .picker-caption{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 20px 0px 8px; color: rgb(169, 173, 181); font-size: var(--app-text-small);}
:where(.app-route[data-route="statistics"]) #choices{padding-bottom: 20px;}
:where(.app-route[data-route="statistics"]) #choices label{display: flex; align-items: center; gap: 14px; min-height: 66px; padding: 14px 0px; border-bottom: 1px solid rgb(51, 53, 58); overflow-wrap: anywhere;}
:where(.app-route[data-route="statistics"]) #choices input{width: 23px; height: 23px; accent-color: rgb(255, 184, 0); flex-shrink: 0;}
:where(.app-route[data-route="statistics"]) #choices .choice-text{flex: 1 1 0%; min-width: 0px;}
:where(.app-route[data-route="statistics"]) #choices small{display: block; margin-top: 3px; color: rgb(169, 173, 181); font-size: var(--app-text-small);}
:where(.app-route[data-route="statistics"]) .picker-footer{display: flex; gap: 16px; align-items: center; position: sticky; bottom: -24px; padding: 16px 0px; background: rgb(23, 24, 27); box-shadow: rgb(23, 24, 27) 0px -12px 16px;}
:where(.app-route[data-route="statistics"]) .primary-button{min-height: 48px; flex: 1 1 0%; padding: 12px 16px; border: 0px; border-radius: 12px; background: rgb(255, 184, 0); color: rgb(18, 18, 18); font-weight: 600;}
:where(.app-route[data-route="statistics"]) #picker-error{color: rgb(255, 178, 167);}
:where(.app-route[data-route="statistics"]) #lift-detail{position: fixed; inset: 0px; margin: auto;}
:where(.app-route[data-route="statistics"]) #lift-detail .periods{margin-top: 6px;}
:where(.app-route[data-route="statistics"]) .metric-tabs{display: flex; gap: 22px; border-bottom: 1px solid rgb(61, 63, 69); margin: 24px 0px;}
:where(.app-route[data-route="statistics"]) .metric-tabs button{padding: 10px 0px; min-height: 44px; border-width: 0px 0px 3px; border-style: none none solid; border-color: currentcolor currentcolor transparent; border-image: none; background: transparent; color: rgb(169, 173, 181);}
:where(.app-route[data-route="statistics"]) .metric-tabs [aria-pressed="true"]{color: rgb(255, 202, 67); border-bottom-color: rgb(255, 202, 67);}
:where(.app-route[data-route="statistics"]) #lift-detail .chart-frame svg{height: 200px;}
:where(.app-route[data-route="statistics"]) .set-history{margin-top: 26px; border-top: 1px solid rgb(61, 63, 69); padding-top: 18px;}
:where(.app-route[data-route="statistics"]) .set-history summary{cursor: pointer; color: rgb(194, 196, 203);}
:where(.app-route[data-route="statistics"]) .history-day{display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 16px 0px; border-bottom: 1px solid rgb(51, 53, 58); font-size: var(--app-text-body);}
:where(.app-route[data-route="statistics"]) .history-day strong{font-weight: 600;}
@media (max-width: 420px) {:where(.app-route[data-route="statistics"]) .periods{width: 100%;}
:where(.app-route[data-route="statistics"]) .periods button{flex: 1 1 0%; padding: 8px 6px; font-size: var(--app-text-action);}
:where(.app-route[data-route="statistics"]) .progress-page{padding: 20px 18px 36px;}
:where(.app-route[data-route="statistics"]) .picker-footer{bottom: -20px;}
:where(.app-route[data-route="statistics"]) .lift-row{grid-template-columns: minmax(0px, 1fr) 78px 12px; gap: 10px;}
:where(.app-route[data-route="statistics"]) .lift-spark svg{width: 78px;}
:where(.app-route[data-route="statistics"]) .selection-invite{padding: 24px 16px; gap: 14px;}}
@media (min-width: 700px) {:where(.app-route[data-route="statistics"]) .lift-list{display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px;}
:where(.app-route[data-route="statistics"]) .chart-frame svg{height: 210px;}
:where(.app-route[data-route="statistics"]) .progress-page{padding-top: 32px;}}
:where(.app-route[data-route="statistics"]) .progress-page[data-has-selection="false"] .followed-section{border: 0px; margin: 0px 0px 30px; padding: 0px;}
:where(.app-route[data-route="statistics"]) .progress-page[data-has-selection="false"] .section-heading{display: none;}
:where(.app-route[data-route="statistics"]) .progress-page[data-has-selection="false"] .selection-invite{margin-top: 0px;}
:where(.app-route[data-route="statistics"]) .line-plot{position: relative;}
:where(.app-route[data-route="statistics"]) .line-plot svg{pointer-events: none;}
:where(.app-route[data-route="statistics"]) .line-plot .chart-sample{position: absolute; top: 0px; bottom: 0px; padding: 0px; border: 0px; background: transparent;}
:where(.app-route[data-route="statistics"]) .chart-sample::before{content: ""; position: absolute; left: var(--point-x); top: 8%; bottom: 12%; width: 1px; background: rgba(255, 255, 255, 0.125); opacity: 0;}
:where(.app-route[data-route="statistics"]) .chart-sample[aria-pressed="true"]::before,:where(.app-route[data-route="statistics"]) .chart-sample:focus-visible::before{opacity: 1;}
:where(.app-route[data-route="statistics"]) .chart-sample:focus-visible{outline: rgb(170, 174, 182) solid 2px; outline-offset: -2px; border-radius: 4px;}
:where(.app-route[data-route="statistics"]) .chart-dot{position: absolute; left: var(--point-x); transform: translate(-50%, -50%); width: 7px; height: 7px; border-radius: 50%; background: rgb(255, 195, 40);}
:where(.app-route[data-route="statistics"]) .chart-dot.estimate-dot{background: rgb(164, 168, 176);}
:where(.app-route[data-route="statistics"]) .chart-sample[aria-pressed="true"] .chart-dot{box-shadow: rgb(23, 24, 27) 0px 0px 0px 3px; width: 9px; height: 9px;}
:where(.app-route[data-route="statistics"]) .detail-readout{margin-bottom: 16px;}
:where(.app-route[data-route="statistics"]) .detail-date{font-size: var(--app-text-small); margin: 0px 0px 16px; color: rgb(169, 173, 181);}
:where(.app-route[data-route="statistics"]) .detail-metrics{display: grid; grid-template-columns: 1fr; gap: 16px;}
:where(.app-route[data-route="statistics"]) .detail-metrics.paired{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="statistics"]) .detail-metric{min-width: 0px;}
:where(.app-route[data-route="statistics"]) .metric-label{display: flex; align-items: center; gap: 8px; font-size: var(--app-text-small); color: rgb(195, 197, 204); margin-bottom: 6px;}
:where(.app-route[data-route="statistics"]) .weight-swatch,:where(.app-route[data-route="statistics"]) .estimate-swatch{display: inline-block; flex-shrink: 0; width: 16px; height: 2px; background: rgb(255, 191, 37);}
:where(.app-route[data-route="statistics"]) .estimate-swatch{background: rgb(164, 168, 176);}
:where(.app-route[data-route="statistics"]) .detail-value{font-size: clamp(30px, 8.4vw, 40px); font-weight: 600; line-height: 1.2; color: rgb(255, 202, 67); white-space: nowrap;}
:where(.app-route[data-route="statistics"]) .detail-value small{font-size: var(--app-text-body); font-weight: 400; color: inherit;}
:where(.app-route[data-route="statistics"]) .estimate-metric .detail-value{color: rgb(185, 189, 197);}
:where(.app-route[data-route="statistics"]) .detail-reps{display: block; min-height: 24px; margin-top: 5px; color: rgb(169, 173, 181); font-size: var(--app-text-small);}
@media (max-width: 360px) {:where(.app-route[data-route="statistics"]) .detail-metrics{gap: 10px;}
:where(.app-route[data-route="statistics"]) .metric-label{gap: 5px;}
:where(.app-route[data-route="statistics"]) .weight-swatch,:where(.app-route[data-route="statistics"]) .estimate-swatch{width: 10px;}}
/* awards */

/* test-history */
:where(.app-route[data-route="test-history"]){background: rgb(16, 17, 18); color: rgb(238, 238, 238); opacity: 1;}
:where(.app-route[data-route="test-history"]) main,:where(.app-route[data-route="test-history"]) header{max-width: 720px; margin: auto; padding: 20px;}
:where(.app-route[data-route="test-history"]) header a{color: rgb(255, 189, 0); display: inline-flex; align-items: center; min-height: 44px; font-size: var(--app-text-body);}
/* profile */
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-heading{display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin: 2px 0px 16px;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-heading strong{font-family: Barlow, sans-serif; font-size: var(--app-text-title);}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-heading > span{font-size: var(--app-text-small); color: var(--volt-muted);}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-dot{display: inline-block; width: 10px; height: 10px; flex-shrink: 0; border-radius: 3px;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-details{border-top: 1px solid var(--volt-border,#34373e);}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-details summary{padding: 16px 0px; font-size: var(--app-text-small); min-height: 48px;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-details[open] > summary > i:last-child{transform: rotate(180deg);}
:where(.app-route[data-route="profile"]) #storage-usage-section dl{margin: 0px 0px 16px;}
:where(.app-route[data-route="profile"]) #storage-usage-section dl > div{display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0px; border-bottom: 1px solid var(--volt-border,#34373e);}
:where(.app-route[data-route="profile"]) #storage-usage-section dt{font-size: var(--app-text-small); font-weight: 400; overflow-wrap: anywhere;}
:where(.app-route[data-route="profile"]) #storage-usage-section dt .storage-dot{margin-right: 8px;}
:where(.app-route[data-route="profile"]) #storage-usage-section dd{margin: 0px; white-space: nowrap; font-size: var(--app-text-small); font-variant-numeric: tabular-nums;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-total{font-weight: 600;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-total dt{font-weight: 600;}
:where(.app-route[data-route="profile"]) #storage-usage-section p{font-size: var(--app-text-small); line-height: 1.55; color: var(--volt-muted); margin: 12px 0px 0px;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-details summary{display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-details summary::-webkit-details-marker{display: none;}
:where(.app-route[data-route="profile"]) #storage-usage-section .storage-details summary > span{flex: 1 1 0%;}
:where(.app-route[data-route="profile"]) .membership-entry{margin: 20px 0px 12px;}
:where(.app-route[data-route="profile"]) .membership-eyebrow{font-size: var(--app-text-small); letter-spacing: 0.12em; font-weight: 600; color: rgb(255, 191, 0); margin-bottom: 12px;}
:where(.app-route[data-route="profile"]) .membership-heading{font: 600 var(--app-text-title)/1.15 Barlow,sans-serif; margin: 0px 0px 12px;}
:where(.app-route[data-route="profile"]) .membership-copy{color: rgb(190, 190, 195); line-height: 1.5; margin: 0px 0px 24px;}
:where(.app-route[data-route="profile"]) .membership-price{display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 24px 0px 4px;}
:where(.app-route[data-route="profile"]) .membership-price strong{font: 600 46px / 1.1 Barlow, sans-serif; letter-spacing: -1px;}
:where(.app-route[data-route="profile"]) .membership-price span,:where(.app-route[data-route="profile"]) .membership-regular{color: rgb(168, 168, 174); font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .membership-regular{margin: 8px 0px 20px;}
:where(.app-route[data-route="profile"]) .membership-badge{display: inline-block; padding: 7px 12px; border-radius: 8px; background: rgba(255, 191, 0, 0.09); color: rgb(255, 211, 90); font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .membership-details{margin: 26px 0px 24px;}
:where(.app-route[data-route="profile"]) .membership-details > div{padding: 14px 0px; border-top: 1px solid rgba(255, 255, 255, 0.098); display: flex; gap: 16px; justify-content: space-between; flex-wrap: wrap;}
:where(.app-route[data-route="profile"]) .membership-details dt{font-size: var(--app-text-small); font-weight: 400; color: rgb(168, 168, 174);}
:where(.app-route[data-route="profile"]) .membership-details dd{font-size: var(--app-text-small); margin: 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="profile"]) .membership-footnote{font-size: var(--app-text-small); color: rgb(168, 168, 174); line-height: 1.4; margin: 14px 0px 0px;}
:where(.app-route[data-route="profile"]) .membership-error{color: rgb(255, 211, 90);}
:where(.app-route[data-route="profile"]) .membership-loading{min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; color: rgb(190, 190, 195);}
:where(.app-route[data-route="profile"]) .usage-total{display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 4px 0px 24px;}
:where(.app-route[data-route="profile"]) .usage-total > div{display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; min-width: 0px;}
:where(.app-route[data-route="profile"]) .usage-total strong{font-size: 48px; line-height: 1; font-weight: 600; letter-spacing: -1.5px; color: rgb(255, 191, 34); overflow-wrap: anywhere;}
:where(.app-route[data-route="profile"]) .usage-total span{font-size: var(--app-text-body); color: rgb(177, 179, 188);}
:where(.app-route[data-route="profile"]) .usage-period{white-space: nowrap;}
:where(.app-route[data-route="profile"]) .usage-chart-heading{display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: var(--app-text-small); color: rgb(174, 176, 185); margin-bottom: 16px;}
:where(.app-route[data-route="profile"]) .usage-chart-heading output{color: rgb(232, 230, 223); font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .usage-chart{display: grid; grid-template-columns: repeat(7, minmax(0px, 1fr)); gap: 8px; padding-bottom: 20px;}
:where(.app-route[data-route="profile"]) .usage-day{display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0px; min-height: 44px; border: 0px; padding: 0px; background: transparent; color: rgb(159, 163, 173); font: inherit;}
:where(.app-route[data-route="profile"]) .usage-day:focus-visible{outline: rgb(255, 191, 34) solid 2px; outline-offset: 3px; border-radius: 5px;}
:where(.app-route[data-route="profile"]) .usage-bar-space{display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 94px; border-bottom: 1px solid rgb(69, 70, 77); background: linear-gradient(transparent 49%, rgba(255, 255, 255, 0.03) 50%, transparent 51%);}
:where(.app-route[data-route="profile"]) .usage-bar{display: block; width: 65%; max-width: 36px; min-height: 2px; border-radius: 5px 5px 0px 0px; background: rgb(117, 96, 39);}
:where(.app-route[data-route="profile"]) .usage-day[aria-pressed="true"]{color: rgb(255, 207, 82);}
:where(.app-route[data-route="profile"]) .usage-day[aria-pressed="true"] .usage-bar{background: linear-gradient(rgb(255, 209, 106), rgb(255, 184, 0));}
:where(.app-route[data-route="profile"]) .usage-day-label{font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .usage-bar.incomplete{background: transparent; border-top: 2px dashed rgb(129, 132, 140); border-radius: 0px;}
:where(.app-route[data-route="profile"]) .usage-categories{display: grid; grid-template-columns: 1fr 1fr; gap: 0px 24px; border-top: 1px solid rgb(56, 58, 64);}
:where(.app-route[data-route="profile"]) .usage-category{display: grid; grid-template-columns: 22px minmax(0px, 1fr) auto; align-items: center; gap: 10px; padding: 17px 0px; border-bottom: 1px solid rgb(48, 50, 56); font-size: var(--app-text-body);}
:where(.app-route[data-route="profile"]) .usage-category i{color: rgb(166, 170, 180); font-size: 19px;}
:where(.app-route[data-route="profile"]) .usage-category strong{font-size: var(--app-text-section); font-weight: 600; font-variant-numeric: tabular-nums;}
:where(.app-route[data-route="profile"]) .usage-empty{color: rgb(174, 176, 185); font-size: var(--app-text-body); margin: 0px 0px 22px;}
@media (max-width: 540px) {:where(.app-route[data-route="profile"]) .usage-categories{grid-template-columns: 1fr;}
:where(.app-route[data-route="profile"]) .usage-total strong{font-size: 44px;}
:where(.app-route[data-route="profile"]) .usage-total{gap: 10px;}
:where(.app-route[data-route="profile"]) .usage-period{font-size: var(--app-text-small) !important;}
:where(.app-route[data-route="profile"]) .usage-chart{gap: 5px;}}
:where(.app-route[data-route="profile"]){min-height: 100dvh; margin: 0px; padding-bottom: calc(90px + env(safe-area-inset-bottom)); font-size: var(--app-text-body);}
:where(.app-route[data-route="profile"]) .page-header{position: sticky; top: 0px; z-index: 100;}
:where(.app-route[data-route="profile"]) .profile-home{max-width: 680px; padding: 28px 22px 16px; margin: auto;}
:where(.app-route[data-route="profile"]) .profile-home button{color: inherit; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: var(--app-text-action); font-weight: 600; cursor: pointer;}
:where(.app-route[data-route="profile"]) .profile-identity{display: flex; align-items: center; gap: 16px; border: 0px; padding: 4px 0px 28px; background: transparent; text-align: left; width: 100%;}
:where(.app-route[data-route="profile"]) .profile-avatar{width: 60px; height: 60px; border-radius: 50%; background: var(--volt-tint); color: var(--volt-accent); display: grid; place-items: center; font-size: 28px; flex: 0 0 auto;}
:where(.app-route[data-route="profile"]) .profile-identity > span:nth-child(2){min-width: 0px; flex: 1 1 0%;}
:where(.app-route[data-route="profile"]) .profile-identity > .bi{color: var(--volt-muted); font-size: 20px; padding: 10px 0px 10px 10px;}
:where(.app-route[data-route="profile"]) .profile-eyebrow{display: block; color: var(--volt-muted); font-size: var(--app-text-small); letter-spacing: 0.1em;}
:where(.app-route[data-route="profile"]) #profile-display-name{display: block; font: 600 var(--app-text-title)/1.2 Barlow,sans-serif; margin: 6px 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="profile"]) #profile-display-meta{display: block; color: var(--volt-muted); font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .profile-section-heading{margin: 16px 0px;}
:where(.app-route[data-route="profile"]) .profile-section-heading h2{font: 600 var(--app-text-section)/1.3 Barlow,sans-serif; margin: 0px;}
:where(.app-route[data-route="profile"]) .profile-goal{display: block; width: 100%; padding: 20px; margin: 0px 0px 6px; border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 3px solid var(--volt-accent); background: var(--volt-surface); border-radius: 0px 12px 12px 0px; text-align: left;}
:where(.app-route[data-route="profile"]) .profile-goal-heading{display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; color: var(--volt-accent); font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .profile-goal-heading > .bi{color: var(--volt-muted);}
:where(.app-route[data-route="profile"]) .profile-goal-heading > span > .bi{margin-right: 8px;}
:where(.app-route[data-route="profile"]) #profile-goals-preview{display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: var(--app-text-body); line-height: 1.5; overflow-wrap: anywhere;}
:where(.app-route[data-route="profile"]) .profile-row{display: flex; align-items: center; width: 100%; gap: 14px; min-height: 64px; padding: 17px 0px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--volt-line-strong); background: transparent; color: inherit; text-align: left; text-decoration: none; font: var(--app-text-body)/1.45 Barlow,sans-serif;}
:where(.app-route[data-route="profile"]) .profile-row > .bi:first-child{font-size: 22px; color: var(--volt-accent); flex: 0 0 auto; width: 24px; text-align: center;}
:where(.app-route[data-route="profile"]) .profile-row > span{flex: 1 1 0%; min-width: 0px;}
:where(.app-route[data-route="profile"]) .profile-row strong{display: block; font-size: var(--app-text-body); font-weight: 600;}
:where(.app-route[data-route="profile"]) .profile-row > .bi:last-child{font-size: 17px; color: var(--volt-muted); flex: 0 0 auto;}
:where(.app-route[data-route="profile"]) .profile-preview{display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--volt-muted); font-size: var(--app-text-small); margin-top: 3px;}
:where(.app-route[data-route="profile"]) .profile-coaching{margin-top: 30px;}
:where(.app-route[data-route="profile"]) .profile-coaching .coaching-preference{background: transparent; margin: 0px; padding: 0px; border: 0px; border-radius: 0px;}
:where(.app-route[data-route="profile"]) .coaching-switch-row{display: flex; align-items: center; gap: 12px; padding: 8px 0px;}
:where(.app-route[data-route="profile"]) .coaching-switch-row label{flex: 1 1 0%; min-width: 0px; gap: 14px;}
:where(.app-route[data-route="profile"]) .coaching-switch-row label > .bi{width: 24px; font-size: var(--app-text-section); color: var(--volt-accent);}
:where(.app-route[data-route="profile"]) .coaching-switch-row label > span{flex: 1 1 0%; font-size: var(--app-text-body);}
:where(.app-route[data-route="profile"]) .profile-info{width: 44px; min-height: 44px; border: 0px; padding: 0px; background: transparent; color: var(--volt-muted) !important; font-size: var(--app-text-body) !important;}
:where(.app-route[data-route="profile"]) #chris-mode-status:empty{display: none;}
:where(.app-route[data-route="profile"]) .profile-tools{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border-top: 1px solid var(--volt-line-strong); border-bottom: 1px solid var(--volt-line-strong); margin-top: 32px; padding: 18px 0px;}
:where(.app-route[data-route="profile"]) .profile-tools button{border: 0px; background: transparent; display: flex; flex-direction: column; gap: 9px; align-items: center; justify-content: center; min-height: 74px; font-size: var(--app-text-action);}
:where(.app-route[data-route="profile"]) .profile-tools button + button{border-left: 1px solid var(--volt-line-strong);}
:where(.app-route[data-route="profile"]) .profile-tools .bi{color: var(--volt-accent); font-size: 24px;}
:where(.app-route[data-route="profile"]) .profile-admin{align-items: center; gap: 12px; color: var(--volt-muted); font-size: var(--app-text-small); text-decoration: none; padding: 24px 0px 0px; display: flex !important;}
:where(.app-route[data-route="profile"]) .profile-admin[style*="none"]{display: none !important;}
:where(.app-route[data-route="profile"]) .profile-admin > span{flex: 1 1 0%;}
:where(.app-route[data-route="profile"]) .profile-home :is(button, a):focus-visible{outline: 2px solid var(--volt-accent); outline-offset: 4px; border-radius: 4px;}
:where(.app-route[data-route="profile"]) .profile-home button:hover{background-color: var(--volt-tint);}
:where(.app-route[data-route="profile"]) .profile-dialog p{font-size: var(--app-text-body); line-height: 1.55;}
:where(.app-route[data-route="profile"]) .profile-dialog .edit-form{display: block;}
:where(.app-route[data-route="profile"]) .profile-dialog .edit-form :is(input, textarea, select){display: block; width: 100%; padding: 12px; border: 1px solid var(--volt-line-strong); border-radius: 10px; font: var(--app-text-body)/1.5 Barlow,sans-serif; background: var(--volt-inset); color: rgb(255, 255, 255); margin-bottom: 16px;}
:where(.app-route[data-route="profile"]) .profile-dialog .edit-form label{display: block; color: var(--volt-muted); font-size: var(--app-text-small); margin: 0px 0px 7px;}
:where(.app-route[data-route="profile"]) .profile-dialog .edit-form [hidden]{display: none !important;}
:where(.app-route[data-route="profile"]) .profile-dialog .edit-form :is(input, textarea, select):focus-visible{outline: 2px solid var(--volt-accent); outline-offset: 2px;}
:where(.app-route[data-route="profile"]) .profile-dialog .btn{min-height: 48px; font-size: var(--app-text-action);}
:where(.app-route[data-route="profile"]) #profile-edit-status{color: var(--volt-danger);}
:where(.app-route[data-route="profile"]) #profile-edit-status:empty{display: none;}
:where(.app-route[data-route="profile"]) .dialog-toolbar{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; font-size: var(--app-text-small); color: var(--volt-muted);}
:where(.app-route[data-route="profile"]) .memory-item{display: flex; align-items: start; gap: 12px; border-bottom: 1px solid var(--volt-line-strong); padding: 18px 0px;}
:where(.app-route[data-route="profile"]) .memory-item > div{flex: 1 1 0%; min-width: 0px;}
:where(.app-route[data-route="profile"]) .memory-category{color: var(--volt-accent); font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .memory-note{font-size: var(--app-text-body); margin: 8px 0px;}
:where(.app-route[data-route="profile"]) .memory-note p:last-child{margin-bottom: 0px;}
:where(.app-route[data-route="profile"]) .memory-date{display: block; font-size: var(--app-text-small); color: var(--volt-muted);}
:where(.app-route[data-route="profile"]) .memory-delete{border: 0px; color: var(--volt-danger); background: transparent; min-width: 44px; min-height: 44px;}
:where(.app-route[data-route="profile"]) .empty-state{padding: 24px 0px; color: var(--volt-muted); font-size: var(--app-text-body);}
:where(.app-route[data-route="profile"]) .dialog-links{margin-top: 24px; border-top: 1px solid var(--volt-line-strong);}
:where(.app-route[data-route="profile"]) .btn-clear{background: transparent; color: var(--volt-danger); border: 1px solid var(--volt-line-strong); border-radius: 10px; padding: 10px 14px;}
:where(.app-route[data-route="profile"]) .btn-clear:hover{color: var(--volt-danger); border-color: var(--volt-danger);}
:where(.app-route[data-route="profile"]) .settings-brand{display: flex; gap: 18px; align-items: center; margin: 0px 0px 22px;}
:where(.app-route[data-route="profile"]) .settings-brand strong{display: block; font-size: var(--app-text-section);}
:where(.app-route[data-route="profile"]) .settings-brand [data-app-version]{display: block; font-size: var(--app-text-small); color: var(--volt-muted); margin-top: 4px;}
@media (max-width: 540px) {:where(.app-route[data-route="profile"]) .profile-home{padding: 24px 20px 12px;}
:where(.app-route[data-route="profile"]) #profile-display-name{font-size: var(--app-text-title);}}
@media (max-width: 360px) {:where(.app-route[data-route="profile"]) .profile-home{padding-inline: 16px;}}
:where(.app-route[data-route="profile"]) .box-timer-promo{margin: 32px 0px 0px; padding: 26px; border: 1px solid rgb(255, 203, 67); border-radius: 18px; background: linear-gradient(125deg, rgb(255, 209, 91) 0%, rgb(255, 184, 0) 75%); color: rgb(21, 18, 10);}
:where(.app-route[data-route="profile"]) .box-timer-promo[hidden]{display: none;}
:where(.app-route[data-route="profile"]) .box-timer-eyebrow{margin: 0px 0px 22px; color: rgb(73, 51, 0); font-size: var(--app-text-small); font-weight: 600; letter-spacing: 0.08em;}
:where(.app-route[data-route="profile"]) .box-timer-heading{display: flex; gap: 18px; align-items: center;}
:where(.app-route[data-route="profile"]) .box-timer-heading img{flex: 0 0 auto; border-radius: 14px; box-shadow: rgba(94, 64, 0, 0.145) 0px 5px 16px;}
:where(.app-route[data-route="profile"]) .box-timer-platform{color: rgb(73, 51, 0); font-size: var(--app-text-small);}
:where(.app-route[data-route="profile"]) .box-timer-heading h2{margin: 4px 0px 0px; color: rgb(21, 18, 10); font: 700 var(--app-text-title)/1.12 Barlow,sans-serif;}
:where(.app-route[data-route="profile"]) .box-timer-description{margin: 20px 0px 24px; font-size: var(--app-text-body); line-height: 1.5; color: rgb(48, 35, 0);}
:where(.app-route[data-route="profile"]) .box-timer-download{display: flex; align-items: center; gap: 14px; min-height: 72px; padding: 12px 18px; border-radius: 12px; background: rgb(17, 17, 17); color: rgb(255, 255, 255); text-decoration: none;}
:where(.app-route[data-route="profile"]) .box-timer-download > span{flex: 1 1 0%;}
:where(.app-route[data-route="profile"]) .box-timer-download-label{display: block; font-size: var(--app-text-small); line-height: 1.2;}
:where(.app-route[data-route="profile"]) .box-timer-download strong{display: block; font-size: var(--app-text-title); line-height: 1.2; font-weight: 600;}
:where(.app-route[data-route="profile"]) .box-timer-download:hover{background: rgb(38, 38, 38); color: rgb(255, 255, 255);}
:where(.app-route[data-route="profile"]) .box-timer-download > .bi:first-child{font-size: 34px; flex: 0 0 auto;}
:where(.app-route[data-route="profile"]) .box-timer-download > .bi:last-child{font-size: 21px; flex: 0 0 auto;}
:where(.app-route[data-route="profile"]) .profile-home .box-timer-download:focus-visible{outline: rgb(17, 17, 17) solid 2px; outline-offset: 4px;}
@media (max-width: 360px) {:where(.app-route[data-route="profile"]) .box-timer-promo{padding: 20px;}
:where(.app-route[data-route="profile"]) .box-timer-heading{gap: 14px;}}
/* index */
:where(.app-route[data-route="index"]) *{box-sizing: border-box;}
:where(.app-route[data-route="index"]){margin: 0px; background: rgb(14, 15, 16); color: rgb(245, 245, 243); opacity: 0; transition: opacity 0.2s;}
:where(.app-route[data-route="index"]).ready{opacity: 1;}
:where(.app-route[data-route="index"]) .onboarding{width: 100%; max-width: 460px; height: 100dvh; margin: auto; display: flex; flex-direction: column; overflow: hidden;}
:where(.app-route[data-route="index"]) .slides-container{flex: 1 1 0%; min-height: 0px; overflow: clip;}
:where(.app-route[data-route="index"]) .slides{display: flex; height: 100%; transition: transform 0.35s;}
:where(.app-route[data-route="index"]) .slide{flex: 0 0 100%; min-width: 0px; padding: max(28px, env(safe-area-inset-top)) 24px 24px; display: flex; flex-direction: column; justify-content: safe center; overflow-y: auto; text-align: left;}
:where(.app-route[data-route="index"]) .slide-header{flex-shrink: 0; margin-bottom: 28px;}
:where(.app-route[data-route="index"]) .slide-header .slide-title{font-family: Anton, sans-serif; text-transform: uppercase; font-size: 38px; font-weight: 400; line-height: 1.12; letter-spacing: 0.3px; margin: 0px;}
:where(.app-route[data-route="index"]) .slide-title span{color: rgb(255, 184, 0);}
:where(.app-route[data-route="index"]) .slide-body{display: flex; flex-direction: column; align-items: stretch; flex-shrink: 0;}
:where(.app-route[data-route="index"]) .slide-subtitle{font-size: var(--app-text-small); line-height: 1.5; color: rgb(183, 183, 186); margin: 0px 0px 24px;}
:where(.app-route[data-route="index"]) .welcome-slide{justify-content: safe center;}
:where(.app-route[data-route="index"]) .welcome-logo{display: block; width: 100%; height: auto; margin: 0px 0px 44px;}
:where(.app-route[data-route="index"]) .beta-badge{align-self: flex-start; font-family: "JetBrains Mono", monospace; font-size: var(--app-text-small); letter-spacing: 2px; color: rgb(255, 184, 0); border: 1px solid rgb(102, 80, 25); padding: 7px 10px; border-radius: 4px; margin-bottom: 16px;}
:where(.app-route[data-route="index"]) .welcome-slide .slide-subtitle{font-size: var(--app-text-body); margin: 0px;}
:where(.app-route[data-route="index"]) .head-coach{display: grid; grid-template-columns: 88px 1fr; column-gap: 18px; margin: 0px 0px 20px; align-items: center;}
:where(.app-route[data-route="index"]) .head-coach-avatar{grid-row: 1 / 4; width: 88px; height: 88px; object-fit: cover; border-radius: 50%; border: 2px solid rgb(255, 184, 0);}
:where(.app-route[data-route="index"]) .head-coach h3{font-size: var(--app-text-section); margin: 0px;}
:where(.app-route[data-route="index"]) .head-coach .role{color: rgb(255, 184, 0); font-size: var(--app-text-small); text-transform: uppercase; letter-spacing: 1px; margin: 2px 0px 5px;}
:where(.app-route[data-route="index"]) .head-coach .desc{font-size: var(--app-text-small); line-height: 1.4; margin: 0px; color: rgb(183, 183, 186);}
:where(.app-route[data-route="index"]) .team-row{display: flex; gap: 12px;}
:where(.app-route[data-route="index"]) .team-member-small{flex: 1 1 0%; min-width: 0px; padding: 20px 12px 16px; background: rgb(24, 25, 27); border: 1px solid rgb(43, 44, 46); border-radius: 18px; text-align: center;}
:where(.app-route[data-route="index"]) .team-avatar-small{width: 76px; height: 76px; border-radius: 50%; object-fit: cover; margin-bottom: 12px;}
:where(.app-route[data-route="index"]) .team-info-small h4{font-size: var(--app-text-section); margin: 0px 0px 4px;}
:where(.app-route[data-route="index"]) .team-info-small .role{color: rgb(255, 184, 0); font-size: var(--app-text-small); text-transform: uppercase; letter-spacing: 0.4px; margin: 0px 0px 8px;}
:where(.app-route[data-route="index"]) .team-info-small p:last-child{font-size: var(--app-text-small); color: rgb(183, 183, 186); line-height: 1.4; margin: 0px;}
:where(.app-route[data-route="index"]) .coach-speech{display: flex; gap: 12px; align-items: flex-start; margin-bottom: 20px;}
:where(.app-route[data-route="index"]) .coach-speech-avatar{width: 52px; height: 52px; object-fit: cover; border-radius: 50%; border: 1px solid rgb(255, 184, 0);}
:where(.app-route[data-route="index"]) .coach-speech-bubble{flex: 1 1 0%; padding: 16px; border-radius: 4px 18px 18px; background: rgb(24, 25, 27);}
:where(.app-route[data-route="index"]) .coach-speech-name{color: rgb(255, 184, 0); font-weight: 600; font-size: var(--app-text-small); margin-bottom: 6px;}
:where(.app-route[data-route="index"]) .coach-speech-text{font-size: var(--app-text-small); line-height: 1.5; margin: 0px;}
:where(.app-route[data-route="index"]) .mockup-chat-bubble{background: rgb(32, 33, 35); border-radius: 4px 16px 16px; padding: 14px; font-size: var(--app-text-small); line-height: 1.5;}
:where(.app-route[data-route="index"]) .user-message{background: rgb(17, 18, 20); border: 1px solid rgb(69, 70, 73); margin: 0px 0px 16px 28px; border-radius: 16px 4px 16px 16px;}
:where(.app-route[data-route="index"]) .start-preview .user-message{margin-left: 64px; margin-bottom: 0px;}
:where(.app-route[data-route="index"]) .mockup-container{width: 100%;}
:where(.app-route[data-route="index"]) .mockup-exercise{padding: 20px 16px; background: rgb(24, 25, 27); border: 1px solid rgb(53, 54, 56); border-radius: 18px;}
:where(.app-route[data-route="index"]) .mockup-exercise-header{display: flex; flex-direction: column; gap: 4px; margin-bottom: 18px;}
:where(.app-route[data-route="index"]) .mockup-exercise-name{font-family: Anton, sans-serif; font-size: var(--app-text-section); text-transform: uppercase;}
:where(.app-route[data-route="index"]) .mockup-exercise-sets{font-size: var(--app-text-small); color: rgb(183, 183, 186);}
:where(.app-route[data-route="index"]) .mockup-sets{display: flex; gap: 8px;}
:where(.app-route[data-route="index"]) .mockup-set{flex: 1 1 0%; border: 1px solid rgb(57, 58, 60); border-radius: 10px; padding: 12px 4px; text-align: center; background: rgb(17, 18, 20);}
:where(.app-route[data-route="index"]) .mockup-set.highlighted{border-color: rgb(255, 184, 0); background: rgb(41, 36, 20);}
:where(.app-route[data-route="index"]) .mockup-set-label{font-size: var(--app-text-small); letter-spacing: 0.7px; color: rgb(183, 183, 186); margin-bottom: 8px;}
:where(.app-route[data-route="index"]) .mockup-set-value{font-size: var(--app-text-small); font-weight: 600; white-space: nowrap; color: rgb(255, 207, 77);}
:where(.app-route[data-route="index"]) .info-card{display: flex; gap: 12px; align-items: flex-start; padding: 16px 0px 0px;}
:where(.app-route[data-route="index"]) .info-card-icon{font-size: 22px; color: rgb(255, 184, 0); flex: 0 0 26px;}
:where(.app-route[data-route="index"]) .info-card-content h4{font-size: var(--app-text-section); font-weight: 600; margin: 0px 0px 5px;}
:where(.app-route[data-route="index"]) .info-card-content p{font-size: var(--app-text-small); color: rgb(183, 183, 186); line-height: 1.45; margin: 0px;}
:where(.app-route[data-route="index"]) .mockup-chat{background: rgb(24, 25, 27); border: 1px solid rgb(48, 49, 51); border-radius: 18px; padding: 16px;}
:where(.app-route[data-route="index"]) .mockup-chat-header{display: flex; align-items: center; gap: 10px; margin-bottom: 16px;}
:where(.app-route[data-route="index"]) .mockup-chat-avatar{width: 34px; height: 34px; border-radius: 50%; object-fit: cover;}
:where(.app-route[data-route="index"]) .mockup-chat-name{font-size: var(--app-text-small); font-weight: 600;}
:where(.app-route[data-route="index"]) .fab-preview{width: 48px; height: 48px; border-radius: 50%; background: rgb(255, 184, 0); color: rgb(14, 15, 16); display: flex; justify-content: center; align-items: center; font-size: var(--app-text-section); margin: 16px 0px 0px auto;}
:where(.app-route[data-route="index"]) .final-icon{display: none;}
:where(.app-route[data-route="index"]) .final-checklist-compact{display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px;}
:where(.app-route[data-route="index"]) .final-check-inline{font-size: var(--app-text-small); display: flex; align-items: center; gap: 8px;}
:where(.app-route[data-route="index"]) .final-check-inline i{color: rgb(255, 184, 0);}
:where(.app-route[data-route="index"]) .one-more-thing{flex-direction: column; margin-top: 16px; padding-top: 24px; border-top: 1px solid rgb(48, 49, 51);}
:where(.app-route[data-route="index"]) .one-more-label{font-size: var(--app-text-small); color: rgb(150, 150, 155); margin: 0px 0px 12px;}
:where(.app-route[data-route="index"]) .app-promo-large{position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 12px; text-decoration: none; color: inherit; padding: 16px; border: 1px solid rgb(52, 53, 55); border-radius: 16px; background: rgb(24, 25, 27);}
:where(.app-route[data-route="index"]) .app-promo-icon-large{width: 44px; height: 44px; border-radius: 10px;}
:where(.app-route[data-route="index"]) .app-promo-badge-large{color: rgb(255, 184, 0); font-size: var(--app-text-small); letter-spacing: 0.7px; margin-bottom: 5px;}
:where(.app-route[data-route="index"]) .app-promo-content-large h4{font-size: var(--app-text-section); margin: 0px 0px 6px;}
:where(.app-route[data-route="index"]) .app-promo-content-large p{font-size: var(--app-text-small); line-height: 1.4; color: rgb(183, 183, 186); margin: 0px;}
:where(.app-route[data-route="index"]) .app-promo-large > i{position: absolute; right: 12px; top: 12px; color: rgb(150, 150, 155); font-size: 17px;}
:where(.app-route[data-route="index"]) .nav-container{flex-shrink: 0; padding: 16px 24px max(20px, env(safe-area-inset-bottom));}
:where(.app-route[data-route="index"]) .nav-row{display: flex; align-items: center; gap: 12px;}
:where(.app-route[data-route="index"]) .nav-arrow{display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; flex-shrink: 0; border: 1px solid rgb(52, 53, 55); border-radius: 50%; color: rgb(208, 208, 210); background: transparent; font-size: var(--app-text-body);}
:where(.app-route[data-route="index"]) .nav-arrow:disabled{visibility: hidden;}
:where(.app-route[data-route="index"]) .nav-arrow.primary{background: rgb(255, 184, 0); color: rgb(14, 15, 16); border-color: rgb(255, 184, 0);}
:where(.app-route[data-route="index"]) .nav-arrow.start-button{flex: 1 1 0%; width: auto; border-radius: 14px; gap: 12px; font-size: var(--app-text-action); font-weight: 600;}
:where(.app-route[data-route="index"]) .dots{flex: 1 1 0%; display: flex; justify-content: center; align-items: center;}
:where(.app-route[data-route="index"]) .dot{width: 20px; height: 32px; cursor: pointer; position: relative;}
:where(.app-route[data-route="index"]) .dot::after{content: ""; position: absolute; width: 5px; height: 5px; border-radius: 3px; background: rgb(81, 82, 85); top: 14px; left: 7px;}
:where(.app-route[data-route="index"]) .dot.active::after{background: rgb(255, 184, 0); width: 14px; left: 3px;}
:where(.app-route[data-route="index"]) .nav-row:has(.start-button) .dots{display: none;}
:where(.app-route[data-route="index"]) :focus-visible{outline: rgb(255, 184, 0) solid 2px; outline-offset: 4px;}
@media (max-height: 700px) {:where(.app-route[data-route="index"]) .slide{padding-top: 20px; padding-bottom: 12px;}
:where(.app-route[data-route="index"]) .slide-header{margin-bottom: 20px;}
:where(.app-route[data-route="index"]) .slide-header .slide-title{font-size: var(--app-text-title);}
:where(.app-route[data-route="index"]) .slide-subtitle{margin-bottom: 18px;}
:where(.app-route[data-route="index"]) .team-member-small{padding-top: 14px;}
:where(.app-route[data-route="index"]) .team-avatar-small{width: 60px; height: 60px; margin-bottom: 8px;}
:where(.app-route[data-route="index"]) .welcome-logo{margin-bottom: 32px;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="index"]) .slides,:where(.app-route[data-route="index"]){transition: none;}}
:where(.app-route[data-route="index"]) .onboarding .mockup-container,:where(.app-route[data-route="index"]) .onboarding .info-card{background: transparent; border: 0px; box-shadow: none;}
@media (max-height: 700px) {:where(.app-route[data-route="index"]) .mockup-chat{padding: 12px;}
:where(.app-route[data-route="index"]) .mockup-chat .fab-preview{margin-top: 8px;}}
:where(.app-route[data-route="index"]) .team-info-small .role,:where(.app-route[data-route="index"]) .head-coach .role,:where(.app-route[data-route="index"]) .beta-badge{letter-spacing: 0px;}
:where(.app-route[data-route="index"]) .team-info-small .role{text-transform: none;}
:where(.app-route[data-route="index"]) .final-checklist-compact{grid-template-columns: 1fr; gap: 12px;}
:where(.app-route[data-route="index"]) .mockup-sets{flex-wrap: wrap;}
:where(.app-route[data-route="index"]) .mockup-set{min-width: 90px;}
:where(.app-route[data-route="index"]) .app-promo-large{grid-template-columns: 1fr;}
:where(.app-route[data-route="index"]) .app-promo-icon-large{display: none;}
:where(.app-route[data-route="index"]) .slide-subtitle,:where(.app-route[data-route="index"]) .coach-speech-text,:where(.app-route[data-route="index"]) .mockup-chat-bubble,:where(.app-route[data-route="index"]) .info-card-content p{font-size: var(--app-text-body);}
:where(.app-route[data-route="index"]) .profile-intro-slide .slide-header{margin-bottom: 12px;}
:where(.app-route[data-route="index"]) .profile-intro-slide .slide-subtitle{margin-bottom: 20px;}
:where(.app-route[data-route="index"]) .onboarding-profile-form > label,:where(.app-route[data-route="index"]) .onboarding-profile-fields label{display: block; font-size: var(--app-text-small); margin-bottom: 6px;}
:where(.app-route[data-route="index"]) .onboarding-profile-form > input,:where(.app-route[data-route="index"]) .onboarding-profile-fields input,:where(.app-route[data-route="index"]) .onboarding-profile-fields select{width: 100%; min-height: 48px; border: 1px solid var(--volt-line-strong); border-radius: 10px; background: var(--volt-surface); color: rgb(245, 245, 245); padding: 10px 12px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: var(--app-text-body);}
:where(.app-route[data-route="index"]) .onboarding-profile-fields{display: grid; grid-template-columns: 80px minmax(0px, 1fr); gap: 12px; margin-top: 16px;}
:where(.app-route[data-route="index"]) .onboarding-profile-fields > div{min-width: 0px;}
:where(.app-route[data-route="index"]) .onboarding-profile-form .coaching-preference{border-top: 1px solid var(--volt-line-strong); padding: 20px 0px 0px; margin-top: 24px;}
:where(.app-route[data-route="index"]) .onboarding-profile-status{font-size: var(--app-text-small); color: rgb(255, 184, 0); margin: 16px 0px 0px;}
:where(.app-route[data-route="index"]) .onboarding-profile-status:empty{display: none;}
:where(.app-route[data-route="index"]) .onboarding-skip{display: block; margin: 0px auto 8px; min-height: 44px; padding: 8px 16px; border: 0px; background: transparent; color: rgb(183, 183, 186); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: var(--app-text-small);}
:where(.app-route[data-route="index"]) .onboarding-skip[hidden],:where(.app-route[data-route="index"]) .dots[hidden]{display: none;}
:where(.app-route[data-route="index"]):has(.onboarding){overflow: hidden; padding-bottom: 0px !important;}
:where(.app-route[data-route="index"]) .onboarding .slide{overflow-y: auto; justify-content: safe center;}
:where(.app-route[data-route="index"]) .slide-content{width: 100%; flex: 0 0 auto; overflow: visible;}
:where(.app-route[data-route="index"]) .slide-composition{transform-origin: center top;}
:where(.app-route[data-route="index"]) .onboarding.keyboard-open .slide[aria-hidden="false"]{overflow-y: auto; justify-content: flex-start; scroll-padding: 20px;}
:where(.app-route[data-route="index"]) .onboarding.keyboard-open .slide-content{overflow: visible;}
:where(.app-route[data-route="index"]) .onboarding.keyboard-open .slide-composition{transform: none !important;}
@media (max-width: 350px) {:where(.app-route[data-route="index"]) .slide{padding-inline: 18px;}
:where(.app-route[data-route="index"]) .slide-header{margin-bottom: 16px;}
:where(.app-route[data-route="index"]) .head-coach{grid-template-columns: 64px 1fr; gap: 12px;}
:where(.app-route[data-route="index"]) .head-coach-avatar{width: 64px; height: 64px;}
:where(.app-route[data-route="index"]) .team-member-small{padding: 10px 8px;}
:where(.app-route[data-route="index"]) .team-avatar-small{width: 52px; height: 52px;}
:where(.app-route[data-route="index"]) .team-info-small .role{font-size: var(--app-text-small);}
:where(.app-route[data-route="index"]) .coach-speech-bubble,:where(.app-route[data-route="index"]) .mockup-chat,:where(.app-route[data-route="index"]) .mockup-exercise{padding: 12px;}
:where(.app-route[data-route="index"]) .coach-speech{margin-bottom: 12px;}
:where(.app-route[data-route="index"]) .info-card{padding-top: 10px;}
:where(.app-route[data-route="index"]) .mockup-exercise-header{margin-bottom: 12px;}
:where(.app-route[data-route="index"]) .mockup-set{min-width: 70px; padding: 8px 3px;}
:where(.app-route[data-route="index"]) .mockup-set-label{margin-bottom: 4px;}
:where(.app-route[data-route="index"]) .onboarding-profile-form .coaching-preference{padding-top: 12px; margin-top: 14px;}
:where(.app-route[data-route="index"]) .profile-intro-slide .slide-subtitle{margin-bottom: 12px;}}
@media (orientation: landscape) and (max-height: 500px) {:where(.app-route[data-route="index"]) .onboarding{max-width: 960px;}
:where(.app-route[data-route="index"]) .slide{padding: 12px 24px;}
:where(.app-route[data-route="index"]) .slide-composition{display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0px, 1.6fr); gap: 24px; align-items: center;}
:where(.app-route[data-route="index"]) .slide-header{margin: 0px;}
:where(.app-route[data-route="index"]) .welcome-slide .slide-composition{display: block; max-width: 460px; margin: auto;}
:where(.app-route[data-route="index"]) .welcome-logo{width: 260px; margin: 0px auto 16px;}
:where(.app-route[data-route="index"]) .welcome-slide .slide-subtitle{text-align: center;}
:where(.app-route[data-route="index"]) .profile-intro-slide .slide-composition{grid-template-columns: 1fr 1.8fr; row-gap: 12px;}
:where(.app-route[data-route="index"]) .profile-intro-slide .onboarding-profile-form{grid-area: 1 / 2 / span 2;}
:where(.app-route[data-route="index"]) .profile-intro-slide .slide-subtitle{grid-column: 1; margin: 0px;}
:where(.app-route[data-route="index"]) .nav-container{padding: 8px 24px max(8px,env(safe-area-inset-bottom));}}
:where(.app-route[data-route="index"]) .membership-team{display: flex; justify-content: center; margin: 16px 0px 24px;}
:where(.app-route[data-route="index"]) .membership-team img{width: 76px; height: 76px; object-fit: cover; border-radius: 50%; border: 2px solid rgb(255, 184, 0); background: rgb(23, 24, 26);}
:where(.app-route[data-route="index"]) .membership-team img + img{margin-left: -10px;}
:where(.app-route[data-route="index"]) .membership-price{font-size: var(--app-text-title); font-weight: 600; text-align: center; color: rgb(255, 184, 0); min-height: 42px;}
:where(.app-route[data-route="index"]) .membership-terms{text-align: center; color: rgb(183, 183, 186); font-size: var(--app-text-small); margin: 8px 0px 16px;}
:where(.app-route[data-route="index"]) #membership-status{font-size: var(--app-text-small); text-align: center; line-height: 1.4;}
:where(.app-route[data-route="index"]) #membership-status:empty{display: none;}
:where(.app-route[data-route="index"]) #membership-checkout{width: 100%; margin: 12px 0px;}
:where(.app-route[data-route="index"]) #membership-checkout[hidden]{display: none;}
:where(.app-route[data-route="index"]) .membership-team--david img:not(:first-child){display: none;}
:where(.app-route[data-route="index"]) .membership-team--david img:first-child{width: 88px; height: 88px;}
:where(.app-route[data-route="index"]) .access-code{width: min(100%, 360px); margin: 10px auto 4px;}
:where(.app-route[data-route="index"]) .access-code-toggle{display: block; width: auto; min-height: 44px; margin: 0px auto; padding: 8px 14px; border: 0px; background: transparent; color: rgb(255, 191, 0); font: 600 var(--app-text-small)/1.2 Barlow,sans-serif;}
:where(.app-route[data-route="index"]) .access-code-form{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 8px; align-items: end; padding-top: 8px;}
:where(.app-route[data-route="index"]) .access-code-form label{grid-column: 1 / -1; text-align: left; color: rgb(212, 212, 215); font-size: var(--app-text-small);}
:where(.app-route[data-route="index"]) .access-code-form input{min-width: 0px; height: 46px; padding: 10px 12px; border: 1px solid rgb(70, 72, 76); border-radius: 10px; background: rgb(23, 24, 26); color: rgb(255, 255, 255); font: 600 var(--app-text-body)/1 Barlow,sans-serif; letter-spacing: 0.12em; text-transform: uppercase; outline: none;}
:where(.app-route[data-route="index"]) .access-code-form input:focus{border-color: rgb(255, 184, 0); box-shadow: rgba(255, 184, 0, 0.11) 0px 0px 0px 3px;}
:where(.app-route[data-route="index"]) .access-code-form input[aria-invalid="true"]{border-color: rgb(255, 202, 69);}
:where(.app-route[data-route="index"]) .access-code-form button{min-height: 46px; margin: 0px; padding: 10px 13px; border: 0px; border-radius: 10px; background: rgb(255, 184, 0); color: rgb(16, 17, 19); font: 600 var(--app-text-action)/1.15 Barlow,sans-serif;}
:where(.app-route[data-route="index"]) .access-code-form button:disabled{opacity: 0.55;}
:where(.app-route[data-route="index"]) .access-code-status{min-height: 22px; margin: 8px 0px 0px; color: rgb(198, 198, 202); font-size: var(--app-text-small); line-height: 1.35; text-align: left;}
:where(.app-route[data-route="index"]) .access-code-status[data-kind="error"]{color: rgb(255, 211, 90);}
:where(.app-route[data-route="index"]) .access-code-status[data-kind="success"]{color: rgb(255, 225, 150);}
:where(.app-route[data-route="index"]) .membership-price-loader{display: inline-flex; align-items: center; gap: 4px; height: 32px; vertical-align: middle;}
:where(.app-route[data-route="index"]) .membership-price-loader i{display: block; width: 3px; height: 15px; border-radius: 3px; background: rgb(255, 184, 0);}
:where(.app-route[data-route="index"]) .membership-account-options{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px 10px; margin: 4px 0px 0px;}
:where(.app-route[data-route="index"]) .membership-account-options a{display: flex; align-items: center; justify-content: center; min-height: 44px; color: rgb(207, 207, 211); font-size: var(--app-text-small); line-height: 1.2; text-align: center; text-decoration: underline; text-underline-offset: 3px;}
:where(.app-route[data-route="index"]) .membership-code-ready :is(.membership-price, .membership-terms){display: none;}
:where(.app-route[data-route="index"]) .onboarding .slide.membership-access{overflow: hidden;}
:where(.app-route[data-route="index"]) .membership-access .slide-content{margin: auto 0px; overflow: visible;}
:where(.app-route[data-route="index"]) .membership-access .slide-composition{transform: none !important;}
:where(.app-route[data-route="index"]) .onboarding:has(.membership-payment){min-height: 100dvh; overflow: visible; height: auto !important;}
:where(.app-route[data-route="index"]) .onboarding:has(.membership-payment) .slides-container{flex: 0 0 auto; overflow: clip;}
:where(.app-route[data-route="index"]) .onboarding:has(.membership-payment) .slides{height: auto; align-items: flex-start;}
:where(.app-route[data-route="index"]) .onboarding .slide.membership-payment{overflow: visible; justify-content: flex-start; padding-bottom: calc(104px + env(safe-area-inset-bottom));}
:where(.app-route[data-route="index"]) .membership-payment .slide-content{overflow: visible; height: auto !important;}
:where(.app-route[data-route="index"]) .membership-payment .slide-composition{display: block; transform: none !important;}
:where(.app-route[data-route="index"]) .membership-payment .slide-header{margin-bottom: 16px;}
:where(.app-route[data-route="index"]) .membership-payment .slide-header .slide-title{font-size: var(--app-text-title);}
:where(.app-route[data-route="index"]) .membership-payment .membership-team,:where(.app-route[data-route="index"]) .membership-payment .slide-subtitle{display: none;}
:where(.app-route[data-route="index"]) .membership-payment .membership-price{font-size: var(--app-text-title); min-height: 32px;}
:where(.app-route[data-route="index"]) .membership-payment #membership-checkout{margin: 12px 0px 0px;}
:where(.app-route[data-route="index"]) .onboarding:has(.membership-payment) .dots{display: none;}
:where(.app-route[data-route="index"]) .onboarding:has(.membership-payment) .nav-container{position: fixed; bottom: 0px; left: 0px; right: 0px; max-width: 460px; margin: auto; background: rgb(14, 15, 16); z-index: 20; box-sizing: border-box;}
@media (max-width: 360px) {:where(.app-route[data-route="index"]) .membership-team img{width: 64px; height: 64px;}
:where(.app-route[data-route="index"]) .membership-price{font-size: var(--app-text-title);}
:where(.app-route[data-route="index"]) .access-code-form{grid-template-columns: 1fr;}
:where(.app-route[data-route="index"]) .access-code-form label{grid-column: 1;}
:where(.app-route[data-route="index"]) .access-code-form button{width: 100%;}}
@media (max-height: 600px) {:where(.app-route[data-route="index"]) .onboarding .slide.membership-access{padding: 8px 14px 4px;}
:where(.app-route[data-route="index"]) .membership-access .slide-header{margin-bottom: 4px;}
:where(.app-route[data-route="index"]) .membership-access .slide-header .slide-title{font-size: var(--app-text-title); line-height: 1;}
:where(.app-route[data-route="index"]) .membership-team{display: none;}
:where(.app-route[data-route="index"]) .membership-terms{display: none;}
:where(.app-route[data-route="index"]) .membership-price{font-size: var(--app-text-section); min-height: 28px;}
:where(.app-route[data-route="index"]) .access-code{margin: 0px auto;}
:where(.app-route[data-route="index"]) .access-code-form{padding-top: 4px;}
:where(.app-route[data-route="index"]) .access-code-status{margin-top: 4px;}
:where(.app-route[data-route="index"]) .membership-account-options{margin-top: 0px;}
:where(.app-route[data-route="index"]) #membership-status{margin: 3px 0px 0px; font-size: var(--app-text-small); line-height: 1.2;}
:where(.app-route[data-route="index"]) .onboarding:has(.membership-access[aria-hidden="false"]) .nav-container{padding-top: 6px; padding-bottom: max(6px,env(safe-area-inset-bottom));}
:where(.app-route[data-route="index"]) .membership-payment .slide-header{margin-bottom: 8px;}}
@media (max-height: 500px) {:where(.app-route[data-route="index"]) .membership-access #membership-reason{display: none;}
:where(.app-route[data-route="index"]) .membership-access .membership-price{font-size: var(--app-text-section); min-height: 24px;}
:where(.app-route[data-route="index"]) .membership-account-options a{font-size: var(--app-text-small);}
:where(.app-route[data-route="index"]) .membership-access:has(.access-code-toggle[aria-expanded="true"]) :is(.membership-price, .access-code-toggle){display: none;}
:where(.app-route[data-route="index"]) .membership-access:has(.access-code-toggle[aria-expanded="true"]) .access-code-form{grid-template-columns: minmax(0px, 1fr) auto;}
:where(.app-route[data-route="index"]) .membership-access:has(.access-code-toggle[aria-expanded="true"]) .access-code-form label{grid-column: 1 / -1;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="index"]) [data-access-code-panel]{animation: auto ease 0s 1 normal none running none !important; transform: none !important;}}
:where(.app-route[data-route="index"]) .access-code{width: 100%; max-width: 420px; margin: 20px auto 0px;}
:where(.app-route[data-route="index"]) .access-code-toggle{width: 100%; min-height: 56px; border: 1px solid rgb(255, 184, 0); border-radius: 14px; font-size: var(--app-text-body); padding: 14px 20px;}
:where(.app-route[data-route="index"]) .membership-access .membership-team img{object-fit: cover; object-position: center center;}
:where(.app-route[data-route="index"]) .membership-payment #membership-access-code{display: none;}
:where(.app-route[data-route="index"]) .access-code-dialog .app-dialog-body{padding: 24px; min-height: 180px;}
:where(.app-route[data-route="index"]) .access-code-dialog .access-code-form{grid-template-columns: 1fr; gap: 12px; padding: 0px;}
:where(.app-route[data-route="index"]) .access-code-dialog .access-code-form input,:where(.app-route[data-route="index"]) .access-code-dialog .access-code-form button{width: 100%; min-height: 56px; font-size: var(--app-text-action); box-sizing: border-box;}
:where(.app-route[data-route="index"]) .access-code-dialog .access-code-form[hidden],:where(.app-route[data-route="index"]) .access-code-loading[hidden]{display: none;}
:where(.app-route[data-route="index"]) .access-code-loading{display: grid; place-items: center; min-height: 100px;}
:where(.app-route[data-route="index"]) .access-code-dialog[aria-busy="true"] .access-code-status{text-align: center; font-size: var(--app-text-body);}
:where(.app-route[data-route="index"]) .access-code-dialog .access-code-status{margin: 16px 0px 0px; min-height: 0px;}
:where(.app-route[data-route="index"]) .access-code-dialog .access-code-status:empty{display: none;}
:where(.app-route[data-route="index"]) .access-code-dialog .app-dialog-close:disabled{visibility: hidden;}
@media (max-height: 500px) {:where(.app-route[data-route="index"]) .access-code-dialog .app-dialog-body{padding: 16px; min-height: 0px;}
:where(.app-route[data-route="index"]) .access-code-dialog .access-code-form{grid-template-columns: 1fr;}}
:where(.app-route[data-route="index"]) .access-code-success{padding: 4px 0px 8px; text-align: center; font: 400 var(--app-text-body)/1.45 Barlow,sans-serif; color: rgb(244, 244, 245);}
:where(.app-route[data-route="index"]) .access-code-success[hidden]{display: none;}
:where(.app-route[data-route="index"]) .access-code-success p{margin: 12px 0px;}
:where(.app-route[data-route="index"]) .access-code-success-mark{display: grid; place-items: center; width: 56px; height: 56px; margin: 0px auto 16px; color: rgb(255, 184, 0); font-size: 42px;}
:where(.app-route[data-route="index"]) .access-code-success .access-code-success-terms{font-size: var(--app-text-small); color: rgb(198, 198, 202);}
/* account */
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_400Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_600SemiBold.ttf") format("truetype"); font-weight: 500 900; font-display: swap; }
:where(.app-route[data-route="account"]){color-scheme:dark;font-family:Barlow, system-ui, sans-serif;background-image:initial;background-position-x:initial;background-position-y:initial;background-size:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-clip:initial;background-color:rgb(14, 15, 16);color:rgb(245, 245, 245);font-synthesis-weight:none;font-synthesis-style:none;font-synthesis-small-caps:none}
:where(.app-route[data-route="account"]) *{box-sizing: border-box;}
:where(.app-route[data-route="account"]){margin: 0px; min-height: 100svh; display: flex; flex-direction: column; align-items: center; padding: 36px 24px max(24px,env(safe-area-inset-bottom));}
:where(.app-route[data-route="account"]) main{width: min(100%, 360px); margin: 0px; padding: 12px 0px 20px;}
:where(.app-route[data-route="account"]) header{text-align: center;}
:where(.app-route[data-route="account"]) .coach{width: 120px; height: 120px; object-fit: cover; border-radius: 50%; border: 3px solid rgb(255, 184, 0);}
:where(.app-route[data-route="account"]) .greeting{font-size: var(--app-text-section); font-weight: 600; margin: 18px 0px 5px;}
:where(.app-route[data-route="account"]) .subtitle{color: rgb(150, 152, 156); font-size: var(--app-text-small); margin: 0px 0px 28px;}
:where(.app-route[data-route="account"]) h1{font-size: var(--app-text-section); text-align: center; margin: 0px 0px 20px;}
:where(.app-route[data-route="account"]) h2{font-size: var(--app-text-section); font-weight: 500; margin: 0px 0px 16px;}
:where(.app-route[data-route="account"]) label{display: block; font-size: var(--app-text-small); margin: 17px 0px 7px;}
:where(.app-route[data-route="account"]) label small{color: rgb(145, 147, 151); float: right; font-size: var(--app-text-small);}
:where(.app-route[data-route="account"]) input,:where(.app-route[data-route="account"]) button{font: inherit;}
:where(.app-route[data-route="account"]) input{width: 100%; padding: 14px 15px; border: 1px solid rgb(54, 56, 59); border-radius: 12px; background: rgb(23, 24, 26); color: white; font-size: var(--app-text-body); outline: none;}
:where(.app-route[data-route="account"]) input:focus{border-color: rgb(255, 184, 0); box-shadow: rgba(255, 184, 0, 0.082) 0px 0px 0px 3px;}
:where(.app-route[data-route="account"]) button{cursor: pointer; width: 100%; padding: 14px; border-radius: 12px; border: 0px; background: rgb(255, 184, 0); color: rgb(16, 17, 19); font-weight: 600; font-size: var(--app-text-action); margin-top: 20px;}
:where(.app-route[data-route="account"]) button:disabled{opacity: 0.5; cursor: wait;}
:where(.app-route[data-route="account"]) button:focus-visible,:where(.app-route[data-route="account"]) a:focus-visible{outline: rgb(255, 184, 0) solid 2px; outline-offset: 4px;}
:where(.app-route[data-route="account"]) button.secondary{background: transparent; color: rgb(221, 221, 221); border: 1px solid rgb(56, 58, 61);}
:where(.app-route[data-route="account"]) .text-button{background: none; color: rgb(167, 169, 173); margin: 0px; padding: 12px 0px; font-size: var(--app-text-action); font-weight: 500;}
:where(.app-route[data-route="account"]) .accent,:where(.app-route[data-route="account"]) a{color: rgb(255, 184, 0);}
:where(.app-route[data-route="account"]) nav{text-align: center;}
:where(.app-route[data-route="account"]) nav p{color: rgb(153, 153, 153); margin: 0px;}
:where(.app-route[data-route="account"]) nav p button{width: auto; margin-left: 4px;}
:where(.app-route[data-route="account"]) #verification-code{text-align: center; letter-spacing: 0.22em; font-size: var(--app-text-section);}
:where(.app-route[data-route="account"]) #status:empty{display: none;}
:where(.app-route[data-route="account"]) #status{color: rgb(230, 198, 129); line-height: 1.5; font-size: var(--app-text-small);}
:where(.app-route[data-route="account"]) #code-help{color: rgb(167, 169, 173); line-height: 1.5; font-size: var(--app-text-small);}
:where(.app-route[data-route="account"]) footer{text-align: center; padding-top: 20px; margin-top: auto;}
:where(.app-route[data-route="account"]) footer img{display: block; width: 160px; margin: 0px auto 9px;}
:where(.app-route[data-route="account"]) footer small{color: rgb(104, 107, 112); font-size: var(--app-text-small);}
:where(.app-route[data-route="account"]) [hidden]{display: none !important;}
:where(.app-route[data-route="account"]) form:not([hidden]),:where(.app-route[data-route="account"]) section:not([hidden]){animation: 0.22s ease-out 0s 1 normal none running arrive;}
@keyframes arrive { 
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="account"]) *{animation: auto ease 0s 1 normal none running none !important; scroll-behavior: auto !important;}}
@media (max-height: 700px) {:where(.app-route[data-route="account"]){padding-top: 20px;}
:where(.app-route[data-route="account"]) .coach{width: 88px; height: 88px;}
:where(.app-route[data-route="account"]) .subtitle{margin-bottom: 20px;}}
:where(.app-route[data-route="account"]) input[aria-invalid="true"]{border-color: rgb(230, 167, 160); box-shadow: rgba(230, 167, 160, 0.133) 0px 0px 0px 3px;}
:where(.app-route[data-route="account"]) .field-error{color: rgb(230, 167, 160); line-height: 1.4; font-size: var(--app-text-small); margin: 8px 0px 0px;}
:where(.app-route[data-route="account"]) .verification-address{display: block; overflow-wrap: anywhere; color: rgb(245, 245, 245); font-weight: 500;}
:where(.app-route[data-route="account"]) .entry-policy{color: rgb(143, 146, 150); font-size: var(--app-text-small); line-height: 1.45; text-align: center; margin: 14px 6px 0px;}
:where(.app-route[data-route="account"]) .entry-policy a{white-space: nowrap;}
:where(.app-route[data-route="account"]) .text-button:disabled{cursor: default; opacity: 0.62;}
/* verify-email */
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_400Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_600SemiBold.ttf") format("truetype"); font-weight: 500 900; font-display: swap; }
:where(.app-route[data-route="verify-email"]){color-scheme:dark;font-family:Barlow, system-ui, sans-serif;background-image:initial;background-position-x:initial;background-position-y:initial;background-size:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-clip:initial;background-color:rgb(14, 15, 16);color:rgb(245, 245, 245);font-synthesis-weight:none;font-synthesis-style:none;font-synthesis-small-caps:none}
:where(.app-route[data-route="verify-email"]) *{box-sizing: border-box;}
:where(.app-route[data-route="verify-email"]){margin: 0px; min-height: 100svh; display: flex; flex-direction: column; align-items: center; padding: 36px 24px max(24px,env(safe-area-inset-bottom));}
:where(.app-route[data-route="verify-email"]) main{width: min(100%, 360px); margin: 0px; padding: 12px 0px 20px;}
:where(.app-route[data-route="verify-email"]) header{text-align: center;}
:where(.app-route[data-route="verify-email"]) .coach{width: 120px; height: 120px; object-fit: cover; border-radius: 50%; border: 3px solid rgb(255, 184, 0);}
:where(.app-route[data-route="verify-email"]) .greeting{font-size: var(--app-text-section); font-weight: 600; margin: 18px 0px 5px;}
:where(.app-route[data-route="verify-email"]) .subtitle{color: rgb(150, 152, 156); font-size: var(--app-text-small); margin: 0px 0px 28px;}
:where(.app-route[data-route="verify-email"]) h1{font-size: var(--app-text-section); text-align: center; margin: 0px 0px 20px;}
:where(.app-route[data-route="verify-email"]) h2{font-size: var(--app-text-section); font-weight: 500; margin: 0px 0px 16px;}
:where(.app-route[data-route="verify-email"]) label{display: block; font-size: var(--app-text-small); margin: 17px 0px 7px;}
:where(.app-route[data-route="verify-email"]) label small{color: rgb(145, 147, 151); float: right; font-size: var(--app-text-small);}
:where(.app-route[data-route="verify-email"]) input,:where(.app-route[data-route="verify-email"]) button{font: inherit;}
:where(.app-route[data-route="verify-email"]) input{width: 100%; padding: 14px 15px; border: 1px solid rgb(54, 56, 59); border-radius: 12px; background: rgb(23, 24, 26); color: white; font-size: var(--app-text-body); outline: none;}
:where(.app-route[data-route="verify-email"]) input:focus{border-color: rgb(255, 184, 0); box-shadow: rgba(255, 184, 0, 0.082) 0px 0px 0px 3px;}
:where(.app-route[data-route="verify-email"]) button{cursor: pointer; width: 100%; padding: 14px; border-radius: 12px; border: 0px; background: rgb(255, 184, 0); color: rgb(16, 17, 19); font-weight: 600; font-size: var(--app-text-action); margin-top: 20px;}
:where(.app-route[data-route="verify-email"]) button:disabled{opacity: 0.5; cursor: wait;}
:where(.app-route[data-route="verify-email"]) button:focus-visible,:where(.app-route[data-route="verify-email"]) a:focus-visible{outline: rgb(255, 184, 0) solid 2px; outline-offset: 4px;}
:where(.app-route[data-route="verify-email"]) button.secondary{background: transparent; color: rgb(221, 221, 221); border: 1px solid rgb(56, 58, 61);}
:where(.app-route[data-route="verify-email"]) .text-button{background: none; color: rgb(167, 169, 173); margin: 0px; padding: 12px 0px; font-size: var(--app-text-action); font-weight: 500;}
:where(.app-route[data-route="verify-email"]) .accent,:where(.app-route[data-route="verify-email"]) a{color: rgb(255, 184, 0);}
:where(.app-route[data-route="verify-email"]) nav{text-align: center;}
:where(.app-route[data-route="verify-email"]) nav p{color: rgb(153, 153, 153); margin: 0px;}
:where(.app-route[data-route="verify-email"]) nav p button{width: auto; margin-left: 4px;}
:where(.app-route[data-route="verify-email"]) #verification-code{text-align: center; letter-spacing: 0.22em; font-size: var(--app-text-section);}
:where(.app-route[data-route="verify-email"]) #status:empty{display: none;}
:where(.app-route[data-route="verify-email"]) #status{color: rgb(230, 198, 129); line-height: 1.5; font-size: var(--app-text-small);}
:where(.app-route[data-route="verify-email"]) #code-help{color: rgb(167, 169, 173); line-height: 1.5; font-size: var(--app-text-small);}
:where(.app-route[data-route="verify-email"]) footer{text-align: center; padding-top: 20px; margin-top: auto;}
:where(.app-route[data-route="verify-email"]) footer img{display: block; width: 160px; margin: 0px auto 9px;}
:where(.app-route[data-route="verify-email"]) footer small{color: rgb(104, 107, 112); font-size: var(--app-text-small);}
:where(.app-route[data-route="verify-email"]) [hidden]{display: none !important;}
:where(.app-route[data-route="verify-email"]) form:not([hidden]),:where(.app-route[data-route="verify-email"]) section:not([hidden]){animation: 0.22s ease-out 0s 1 normal none running arrive;}
@keyframes arrive { 
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="verify-email"]) *{animation: auto ease 0s 1 normal none running none !important; scroll-behavior: auto !important;}}
@media (max-height: 700px) {:where(.app-route[data-route="verify-email"]){padding-top: 20px;}
:where(.app-route[data-route="verify-email"]) .coach{width: 88px; height: 88px;}
:where(.app-route[data-route="verify-email"]) .subtitle{margin-bottom: 20px;}}
:where(.app-route[data-route="verify-email"]) input[aria-invalid="true"]{border-color: rgb(230, 167, 160); box-shadow: rgba(230, 167, 160, 0.133) 0px 0px 0px 3px;}
:where(.app-route[data-route="verify-email"]) .field-error{color: rgb(230, 167, 160); line-height: 1.4; font-size: var(--app-text-small); margin: 8px 0px 0px;}
:where(.app-route[data-route="verify-email"]) .verification-address{display: block; overflow-wrap: anywhere; color: rgb(245, 245, 245); font-weight: 500;}
:where(.app-route[data-route="verify-email"]) .entry-policy{color: rgb(143, 146, 150); font-size: var(--app-text-small); line-height: 1.45; text-align: center; margin: 14px 6px 0px;}
:where(.app-route[data-route="verify-email"]) .entry-policy a{white-space: nowrap;}
:where(.app-route[data-route="verify-email"]) .text-button:disabled{cursor: default; opacity: 0.62;}
/* reset-password */
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_400Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_600SemiBold.ttf") format("truetype"); font-weight: 500 900; font-display: swap; }
:where(.app-route[data-route="reset-password"]){color-scheme:dark;font-family:Barlow, system-ui, sans-serif;background-image:initial;background-position-x:initial;background-position-y:initial;background-size:initial;background-repeat:initial;background-attachment:initial;background-origin:initial;background-clip:initial;background-color:rgb(14, 15, 16);color:rgb(245, 245, 245);font-synthesis-weight:none;font-synthesis-style:none;font-synthesis-small-caps:none}
:where(.app-route[data-route="reset-password"]) *{box-sizing: border-box;}
:where(.app-route[data-route="reset-password"]){margin: 0px; min-height: 100svh; display: flex; flex-direction: column; align-items: center; padding: 36px 24px max(24px,env(safe-area-inset-bottom));}
:where(.app-route[data-route="reset-password"]) main{width: min(100%, 360px); margin: 0px; padding: 12px 0px 20px;}
:where(.app-route[data-route="reset-password"]) header{text-align: center;}
:where(.app-route[data-route="reset-password"]) .coach{width: 120px; height: 120px; object-fit: cover; border-radius: 50%; border: 3px solid rgb(255, 184, 0);}
:where(.app-route[data-route="reset-password"]) .greeting{font-size: var(--app-text-section); font-weight: 600; margin: 18px 0px 5px;}
:where(.app-route[data-route="reset-password"]) .subtitle{color: rgb(150, 152, 156); font-size: var(--app-text-small); margin: 0px 0px 28px;}
:where(.app-route[data-route="reset-password"]) h1{font-size: var(--app-text-section); text-align: center; margin: 0px 0px 20px;}
:where(.app-route[data-route="reset-password"]) h2{font-size: var(--app-text-section); font-weight: 500; margin: 0px 0px 16px;}
:where(.app-route[data-route="reset-password"]) label{display: block; font-size: var(--app-text-small); margin: 17px 0px 7px;}
:where(.app-route[data-route="reset-password"]) label small{color: rgb(145, 147, 151); float: right; font-size: var(--app-text-small);}
:where(.app-route[data-route="reset-password"]) input,:where(.app-route[data-route="reset-password"]) button{font: inherit;}
:where(.app-route[data-route="reset-password"]) input{width: 100%; padding: 14px 15px; border: 1px solid rgb(54, 56, 59); border-radius: 12px; background: rgb(23, 24, 26); color: white; font-size: var(--app-text-body); outline: none;}
:where(.app-route[data-route="reset-password"]) input:focus{border-color: rgb(255, 184, 0); box-shadow: rgba(255, 184, 0, 0.082) 0px 0px 0px 3px;}
:where(.app-route[data-route="reset-password"]) button{cursor: pointer; width: 100%; padding: 14px; border-radius: 12px; border: 0px; background: rgb(255, 184, 0); color: rgb(16, 17, 19); font-weight: 600; font-size: var(--app-text-action); margin-top: 20px;}
:where(.app-route[data-route="reset-password"]) button:disabled{opacity: 0.5; cursor: wait;}
:where(.app-route[data-route="reset-password"]) button:focus-visible,:where(.app-route[data-route="reset-password"]) a:focus-visible{outline: rgb(255, 184, 0) solid 2px; outline-offset: 4px;}
:where(.app-route[data-route="reset-password"]) button.secondary{background: transparent; color: rgb(221, 221, 221); border: 1px solid rgb(56, 58, 61);}
:where(.app-route[data-route="reset-password"]) .text-button{background: none; color: rgb(167, 169, 173); margin: 0px; padding: 12px 0px; font-size: var(--app-text-action); font-weight: 500;}
:where(.app-route[data-route="reset-password"]) .accent,:where(.app-route[data-route="reset-password"]) a{color: rgb(255, 184, 0);}
:where(.app-route[data-route="reset-password"]) nav{text-align: center;}
:where(.app-route[data-route="reset-password"]) nav p{color: rgb(153, 153, 153); margin: 0px;}
:where(.app-route[data-route="reset-password"]) nav p button{width: auto; margin-left: 4px;}
:where(.app-route[data-route="reset-password"]) #verification-code{text-align: center; letter-spacing: 0.22em; font-size: var(--app-text-section);}
:where(.app-route[data-route="reset-password"]) #status:empty{display: none;}
:where(.app-route[data-route="reset-password"]) #status{color: rgb(230, 198, 129); line-height: 1.5; font-size: var(--app-text-small);}
:where(.app-route[data-route="reset-password"]) #code-help{color: rgb(167, 169, 173); line-height: 1.5; font-size: var(--app-text-small);}
:where(.app-route[data-route="reset-password"]) footer{text-align: center; padding-top: 20px; margin-top: auto;}
:where(.app-route[data-route="reset-password"]) footer img{display: block; width: 160px; margin: 0px auto 9px;}
:where(.app-route[data-route="reset-password"]) footer small{color: rgb(104, 107, 112); font-size: var(--app-text-small);}
:where(.app-route[data-route="reset-password"]) [hidden]{display: none !important;}
:where(.app-route[data-route="reset-password"]) form:not([hidden]),:where(.app-route[data-route="reset-password"]) section:not([hidden]){animation: 0.22s ease-out 0s 1 normal none running arrive;}
@keyframes arrive { 
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="reset-password"]) *{animation: auto ease 0s 1 normal none running none !important; scroll-behavior: auto !important;}}
@media (max-height: 700px) {:where(.app-route[data-route="reset-password"]){padding-top: 20px;}
:where(.app-route[data-route="reset-password"]) .coach{width: 88px; height: 88px;}
:where(.app-route[data-route="reset-password"]) .subtitle{margin-bottom: 20px;}}
:where(.app-route[data-route="reset-password"]) input[aria-invalid="true"]{border-color: rgb(230, 167, 160); box-shadow: rgba(230, 167, 160, 0.133) 0px 0px 0px 3px;}
:where(.app-route[data-route="reset-password"]) .field-error{color: rgb(230, 167, 160); line-height: 1.4; font-size: var(--app-text-small); margin: 8px 0px 0px;}
:where(.app-route[data-route="reset-password"]) .verification-address{display: block; overflow-wrap: anywhere; color: rgb(245, 245, 245); font-weight: 500;}
:where(.app-route[data-route="reset-password"]) .entry-policy{color: rgb(143, 146, 150); font-size: var(--app-text-small); line-height: 1.45; text-align: center; margin: 14px 6px 0px;}
:where(.app-route[data-route="reset-password"]) .entry-policy a{white-space: nowrap;}
:where(.app-route[data-route="reset-password"]) .text-button:disabled{cursor: default; opacity: 0.62;}
/* ai-settings */
:where(.app-route[data-route="ai-settings"]) .owner-dashboard{box-sizing: border-box; width: min(100%, 1080px); min-height: 100svh; margin: auto; padding: calc(26px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); background: var(--volt-bg,#0e0f10); color: rgb(245, 245, 245); font: 400 var(--app-text-small)/1.45 Barlow,system-ui,sans-serif;}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard *{box-sizing: border-box;}
:where(.app-route[data-route="ai-settings"]) .owner-header{border-bottom: 1px solid var(--volt-line,#303033); padding-bottom: 20px;}
:where(.app-route[data-route="ai-settings"]) .owner-back,:where(.app-route[data-route="ai-settings"]) .owner-tabs a{color: var(--volt-accent,#ffb800); text-decoration: none;}
:where(.app-route[data-route="ai-settings"]) .owner-kicker{margin: 20px 0px 4px; color: var(--volt-accent,#ffb800); font: 600 var(--app-text-small)/1 JetBrains Mono,monospace; letter-spacing: 0.08em;}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard h1,:where(.app-route[data-route="ai-settings"]) .owner-dashboard h2{margin: 0px; font-family: Anton, Barlow, sans-serif; letter-spacing: 0.02em; text-transform: uppercase;}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard h1{font-size: clamp(32px, 7vw, 46px); line-height: 1;}
:where(.app-route[data-route="ai-settings"]) .owner-tabs{display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--volt-line,#303033); margin: 22px 0px 18px;}
:where(.app-route[data-route="ai-settings"]) .owner-tabs button,:where(.app-route[data-route="ai-settings"]) .owner-tabs a{flex: 0 0 auto; border-width: 0px 0px 3px; border-style: none none solid; border-color: currentcolor currentcolor transparent; border-image: none; background: transparent; padding: 12px 13px; color: rgb(160, 160, 164); font: 600 var(--app-text-action) Barlow,sans-serif; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-tabs [aria-selected="true"]{color: rgb(255, 184, 0); border-bottom-color: rgb(255, 184, 0);}
:where(.app-route[data-route="ai-settings"]) .owner-status{min-height: 25px; margin: 12px 0px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="ai-settings"]) .owner-summary{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border-block: 1px solid var(--volt-line,#303033); margin: 18px 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-metric{padding: 16px 12px; border-left: 1px solid var(--volt-line,#303033); min-width: 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-metric:first-child{border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-metric span,:where(.app-route[data-route="ai-settings"]) .owner-muted,:where(.app-route[data-route="ai-settings"]) .owner-note{display: block; color: rgb(160, 160, 164); font-size: var(--app-text-small);}
:where(.app-route[data-route="ai-settings"]) .owner-metric strong{display: block; overflow-wrap: anywhere; color: rgb(255, 184, 0); font: var(--app-text-title)/1.15 Anton,Barlow,sans-serif;}
:where(.app-route[data-route="ai-settings"]) .owner-controls{display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 16px 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-controls label{display: grid; gap: 6px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard select,:where(.app-route[data-route="ai-settings"]) .owner-dashboard input,:where(.app-route[data-route="ai-settings"]) .owner-dashboard button{font: inherit;}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard select,:where(.app-route[data-route="ai-settings"]) .owner-dashboard input:not([type="radio"]):not([type="checkbox"]){min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgb(23, 24, 27); color: rgb(245, 245, 245); padding: 10px 12px;}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard input:focus-visible,:where(.app-route[data-route="ai-settings"]) .owner-dashboard select:focus-visible,:where(.app-route[data-route="ai-settings"]) .owner-dashboard button:focus-visible,:where(.app-route[data-route="ai-settings"]) .owner-dashboard a:focus-visible{outline: rgb(255, 184, 0) solid 3px; outline-offset: 3px;}
:where(.app-route[data-route="ai-settings"]) .owner-toolbar{display: grid; grid-template-columns: minmax(0px, 1fr) auto auto; gap: 10px; margin: 16px 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-toolbar input{width: 100%;}
:where(.app-route[data-route="ai-settings"]) .owner-secondary{min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: transparent; color: rgb(245, 245, 245); padding: 10px 14px; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-primary{min-height: 46px; border: 0px; border-radius: 10px; background: rgb(255, 184, 0); color: rgb(14, 15, 16); padding: 10px 14px; font-weight: 700; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-primary[disabled]{opacity: 0.55; cursor: wait;}
:where(.app-route[data-route="ai-settings"]) .owner-list{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="ai-settings"]) .owner-row{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 8px 16px; width: 100%; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--volt-line,#303033); background: transparent; color: rgb(245, 245, 245); padding: 18px 0px; text-align: left; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-row:hover{background: rgb(23, 24, 27);}
:where(.app-route[data-route="ai-settings"]) .owner-row strong{overflow-wrap: anywhere;}
:where(.app-route[data-route="ai-settings"]) .owner-row .owner-cost{color: rgb(255, 184, 0); font-variant-numeric: tabular-nums; text-align: right;}
:where(.app-route[data-route="ai-settings"]) .owner-row small{grid-column: 1 / -1; color: rgb(160, 160, 164);}
:where(.app-route[data-route="ai-settings"]) .owner-badges{display: flex; gap: 6px; flex-wrap: wrap; margin-top: 5px;}
:where(.app-route[data-route="ai-settings"]) .owner-badge{border: 1px solid rgb(74, 74, 80); border-radius: 6px; padding: 2px 5px; color: rgb(197, 197, 201); font: var(--app-text-small)/1.35 JetBrains Mono,monospace;}
:where(.app-route[data-route="ai-settings"]) .owner-panel[hidden]{display: none;}
:where(.app-route[data-route="ai-settings"]) .owner-error{color: rgb(255, 155, 142); min-height: 24px;}
:where(.app-route[data-route="ai-settings"]) .owner-dialog::backdrop{background: rgba(0, 0, 0, 0.667);}
:where(.app-route[data-route="ai-settings"]) .owner-dialog label{display: grid; gap: 6px; margin: 14px 0px 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row,:where(.app-route[data-route="ai-settings"]) .timeline-entry{display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--volt-line,#303033); padding: 13px 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row span:first-child,:where(.app-route[data-route="ai-settings"]) .timeline-entry span{min-width: 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row strong,:where(.app-route[data-route="ai-settings"]) .timeline-entry strong{white-space: nowrap; color: rgb(255, 184, 0); font-variant-numeric: tabular-nums;}
:where(.app-route[data-route="ai-settings"]) .timeline-group{border-bottom: 1px solid var(--volt-line,#303033); padding: 14px 0px;}
:where(.app-route[data-route="ai-settings"]) .timeline-group summary{cursor: pointer; font-weight: 650;}
:where(.app-route[data-route="ai-settings"]) .timeline-entry{display: grid; grid-template-columns: minmax(0px, 1fr) auto; margin-top: 12px; font-size: var(--app-text-small);}
:where(.app-route[data-route="ai-settings"]) .timeline-entry small{grid-column: 1 / -1; color: rgb(160, 160, 164);}
:where(.app-route[data-route="ai-settings"]) .owner-icon{width: 46px; height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: transparent; color: rgb(245, 245, 245); cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell{max-width: 1080px;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-row{display: grid; grid-template-columns: minmax(170px, 1fr) minmax(150px, 1fr) minmax(130px, 0.7fr) auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--volt-line,#303033); padding: 14px 0px;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-row > label{min-width: 0px;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-footer{position: sticky; bottom: 0px; display: flex; justify-content: space-between; gap: 16px; padding: 16px 0 calc(16px + env(safe-area-inset-bottom)); background: rgb(14, 15, 16); border-top: 1px solid var(--volt-line,#303033);}
@media (max-width: 520px) {:where(.app-route[data-route="ai-settings"]) .owner-summary{grid-template-columns: repeat(2, minmax(0px, 1fr));}
:where(.app-route[data-route="ai-settings"]) .owner-metric:nth-child(3){grid-column: 1 / -1; border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-toolbar{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="ai-settings"]) .owner-toolbar input{grid-column: 1 / -1;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-row{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-row > label:first-child{grid-column: 1 / -1;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-row > label:last-child{display: flex; align-items: center; gap: 8px;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-footer{align-items: center;}
:where(.app-route[data-route="ai-settings"]) .ai-settings-shell .settings-footer #status{min-width: 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard{font-size: var(--app-text-small);}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="ai-settings"]) .owner-dashboard *{scroll-behavior: auto !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important;}}
:where(.app-route[data-route="ai-settings"]) .owner-loading{display: inline-flex; align-items: center; gap: 4px; min-height: 25px;}
:where(.app-route[data-route="ai-settings"]) .owner-loading i{display: block; width: 4px; height: 17px; transform: skew(-12deg); background: rgb(255, 184, 0); animation: 1.1s ease-in-out 0s infinite normal none running owner-wave;}
:where(.app-route[data-route="ai-settings"]) .owner-loading i:nth-child(2){animation-delay: 0.14s;}
:where(.app-route[data-route="ai-settings"]) .owner-loading i:nth-child(3){animation-delay: 0.28s;}
:where(.app-route[data-route="ai-settings"]) .owner-metric small,:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row small{display: block; grid-column: 1 / -1; color: rgb(160, 160, 164); font-size: var(--app-text-small);}
:where(.app-route[data-route="ai-settings"]) .owner-code-row{grid-template-columns: minmax(0px, 1fr) auto auto;}
:where(.app-route[data-route="ai-settings"]) .timeline-day{color: rgb(160, 160, 164); margin: 24px 0px 4px !important; font: 600 var(--app-text-small)/1.3 Barlow,sans-serif !important; text-transform: none !important;}
@keyframes owner-wave { 
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}
@media (max-width: 520px) {:where(.app-route[data-route="ai-settings"]) .owner-code-row{grid-template-columns: minmax(0px, 1fr) auto;}
:where(.app-route[data-route="ai-settings"]) .owner-code-row .owner-secondary:nth-of-type(2){grid-column: 2;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="ai-settings"]) .owner-loading i{animation: auto ease 0s 1 normal none running none;}}
:where(.app-route[data-route="ai-settings"]) .owner-status .owner-retry{min-height: 40px; margin-left: 10px; padding: 7px 12px;}
:where(.app-route[data-route="ai-settings"]) .owner-header h1,:where(.app-route[data-route="ai-settings"]) .owner-header .owner-muted{max-width: 100%; overflow-wrap: anywhere; word-break: break-word;}
:where(.app-route[data-route="ai-settings"]) .owner-dialog,:where(.app-route[data-route="ai-settings"]) .owner-dialog *{box-sizing: border-box;}
:where(.app-route[data-route="ai-settings"]) .owner-dialog :is(input, button){font: inherit;}
:where(.app-route[data-route="ai-settings"]) .owner-dialog input:not([type="radio"]):not([type="checkbox"]){display: block; width: 100%; min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgb(14, 15, 16); color: rgb(245, 245, 245); padding: 10px 12px;}
:where(.app-route[data-route="ai-settings"]) .owner-dialog :is(input, button):focus-visible{outline: rgb(255, 184, 0) solid 3px; outline-offset: 3px;}
:where(.app-route[data-route="ai-settings"]) .owner-dialog [hidden]{display: none !important;}
:where(.app-route[data-route="ai-settings"]) .owner-dashboard input[type="checkbox"]{appearance: auto; width: 20px; height: 20px; min-height: 20px; margin: 0px; padding: 0px; border: 0px; border-radius: 3px; accent-color: rgb(255, 184, 0);}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row{display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: start;}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row small{grid-column: 1 / -1;}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row--access{grid-template-columns: minmax(88px, auto) minmax(0px, 1fr);}
:where(.app-route[data-route="ai-settings"]) .owner-breakdown-row--access strong{white-space: normal; text-align: right; overflow-wrap: normal;}
@media (max-width: 360px) {:where(.app-route[data-route="ai-settings"]) .owner-metric strong{font-size: var(--app-text-title);}}
:where(.app-route[data-route="ai-settings"]) .owner-user-row,:where(.app-route[data-route="ai-settings"]) .owner-code-card{border-bottom: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="ai-settings"]) .owner-user-row .owner-row,:where(.app-route[data-route="ai-settings"]) .owner-code-card .owner-row{border-bottom: 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-row-main,:where(.app-route[data-route="ai-settings"]) .owner-code-open{grid-template-columns: minmax(0px, 1fr) auto;}
:where(.app-route[data-route="ai-settings"]) .owner-identity{display: grid; gap: 3px; min-width: 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-email{color: rgb(160, 160, 164); font-size: var(--app-text-small); overflow-wrap: anywhere;}
:where(.app-route[data-route="ai-settings"]) .owner-code-link{display: block; width: 100%; max-width: 100%; min-height: 44px; margin: 0px 0px 10px; padding: 7px 10px; border: 1px solid rgb(74, 74, 80); border-radius: 8px; background: transparent; color: rgb(197, 197, 201); text-align: left; overflow-wrap: anywhere; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-code-toolbar{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 12px; margin: 16px 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-code-toolbar input{width: 100%;}
:where(.app-route[data-route="ai-settings"]) .owner-toolbar > *{min-width: 0px; max-width: 100%;}
:where(.app-route[data-route="ai-settings"]) .owner-toolbar select{width: 100%;}
:where(.app-route[data-route="ai-settings"]) .owner-button-link{display: block; border: 0px; background: transparent; padding: 10px 0px; color: rgb(255, 184, 0); font: 600 var(--app-text-action) Barlow,sans-serif; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-detail-heading{display: flex; justify-content: space-between; gap: 16px; align-items: start; margin: 8px 0px 20px;}
:where(.app-route[data-route="ai-settings"]) .owner-detail-note{margin: 8px 0px 0px; color: rgb(197, 197, 201); overflow-wrap: anywhere;}
:where(.app-route[data-route="ai-settings"]) .owner-state{flex: 0 0 auto; border: 1px solid rgb(74, 74, 80); border-radius: 999px; padding: 6px 10px; color: rgb(197, 197, 201); font: var(--app-text-small) JetBrains Mono,monospace;}
:where(.app-route[data-route="ai-settings"]) .owner-code-facts{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border-block: 1px solid var(--volt-line,#303033); margin-bottom: 18px;}
:where(.app-route[data-route="ai-settings"]) .owner-code-facts .owner-metric strong{font-size: var(--app-text-section);}
:where(.app-route[data-route="ai-settings"]) .owner-detail-actions{display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0px 30px;}
:where(.app-route[data-route="ai-settings"]) .owner-detail-action-status{flex: 1 0 100%; min-height: 22px; margin: 0px; color: rgb(197, 197, 201); font-size: var(--app-text-small); line-height: 1.4;}
:where(.app-route[data-route="ai-settings"]) .owner-detail-actions[aria-busy="true"] .owner-detail-action-status{color: rgb(255, 184, 0);}
:where(.app-route[data-route="ai-settings"]) .owner-danger{min-height: 46px; border: 1px solid rgb(168, 75, 67); border-radius: 10px; background: transparent; color: rgb(255, 155, 142); padding: 10px 14px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 650; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-danger[disabled]{opacity: 0.55; cursor: wait;}
:where(.app-route[data-route="ai-settings"]) .owner-recipient-list{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="ai-settings"]) .owner-recipient{display: grid; width: 100%; gap: 3px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--volt-line,#303033); background: transparent; color: rgb(245, 245, 245); padding: 16px 0px; text-align: left; cursor: pointer;}
:where(.app-route[data-route="ai-settings"]) .owner-recipient span,:where(.app-route[data-route="ai-settings"]) .owner-recipient small{color: rgb(181, 181, 186); overflow-wrap: anywhere; font-size: var(--app-text-small); line-height: 1.4;}
:where(.app-route[data-route="ai-settings"]) .owner-recipient:hover,:where(.app-route[data-route="ai-settings"]) .owner-recipient:focus-visible{background: rgb(23, 24, 27);}
:where(.app-route[data-route="ai-settings"]) .owner-code-form > label{display: grid; gap: 6px; margin: 14px 0px 0px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="ai-settings"]) .owner-code-suggestion{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px;}
:where(.app-route[data-route="ai-settings"]) .owner-duration{display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 18px 0px 0px; padding: 14px; border: 1px solid rgb(74, 74, 80); border-radius: 10px;}
:where(.app-route[data-route="ai-settings"]) .owner-duration legend{padding: 0px 6px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="ai-settings"]) .owner-duration input[type="radio"]{flex: 0 0 20px; width: 20px; height: 20px; margin: 0px; accent-color: var(--volt-accent,#ffb800);}
:where(.app-route[data-route="ai-settings"]) .owner-duration > label{display: flex; align-items: center; gap: 8px; min-height: 44px;}
:where(.app-route[data-route="ai-settings"]) .owner-duration .owner-days{grid-column: 1 / -1; display: grid; align-items: initial; gap: 6px;}
:where(.app-route[data-route="ai-settings"]) .owner-duration .owner-days[hidden]{display: none;}
:where(.app-route[data-route="ai-settings"]) .owner-success{min-height: 24px; color: rgb(159, 214, 167);}
:where(.app-route[data-route="ai-settings"]) .owner-view-in{animation: 0.2s ease-out 0s 1 normal both running owner-view-forward;}
:where(.app-route[data-route="ai-settings"]) .owner-view-back{animation: 0.18s ease-out 0s 1 normal both running owner-view-back;}
:where(.app-route[data-route="ai-settings"]) .owner-tab-in{animation: 0.16s ease-out 0s 1 normal both running owner-tab-in;}
:where(.app-route[data-route="ai-settings"]) .owner-detail-loading{position: sticky; z-index: 2; top: 10px; width: max-content; max-width: 100%; margin: 12px auto; padding: 9px 13px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgba(23, 24, 27, 0.95); color: rgb(216, 216, 220); box-shadow: rgba(0, 0, 0, 0.467) 0px 8px 22px;}
@keyframes owner-view-forward { 
  0% { opacity: 0; transform: translateX(10px); }
  100% { opacity: 1; transform: none; }
}
@keyframes owner-view-back { 
  0% { opacity: 0; transform: translateX(-8px); }
  100% { opacity: 1; transform: none; }
}
@keyframes owner-tab-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media (max-width: 520px) {:where(.app-route[data-route="ai-settings"]) .owner-code-toolbar{grid-template-columns: 1fr;}
:where(.app-route[data-route="ai-settings"]) .owner-code-toolbar .owner-primary{width: 100%;}
:where(.app-route[data-route="ai-settings"]) .owner-code-facts{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="ai-settings"]) .owner-code-facts .owner-metric:nth-child(3){grid-column: 1 / -1; border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="ai-settings"]) .owner-detail-actions{display: grid; grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="ai-settings"]) .owner-detail-actions .owner-danger,:where(.app-route[data-route="ai-settings"]) .owner-detail-action-status{grid-column: 1 / -1;}
:where(.app-route[data-route="ai-settings"]) .owner-code-suggestion{grid-template-columns: 1fr;}
:where(.app-route[data-route="ai-settings"]) .owner-code-suggestion button{width: 100%;}
:where(.app-route[data-route="ai-settings"]) .owner-duration{grid-template-columns: 1fr;}
:where(.app-route[data-route="ai-settings"]) .owner-duration .owner-days{grid-column: 1;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="ai-settings"]) .owner-view-in,:where(.app-route[data-route="ai-settings"]) .owner-view-back,:where(.app-route[data-route="ai-settings"]) .owner-tab-in{animation: auto ease 0s 1 normal none running none;}}
:where(.app-route[data-route="ai-settings"]) .app-back-icon{display: inline-grid; place-items: center; width: 44px; min-height: 44px; padding: 0px; text-decoration: none; font-size: 24px;}
/* admin-dashboard */
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard{box-sizing: border-box; width: min(100%, 1080px); min-height: 100svh; margin: auto; padding: calc(26px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); background: var(--volt-bg,#0e0f10); color: rgb(245, 245, 245); font: 400 var(--app-text-small)/1.45 Barlow,system-ui,sans-serif;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard *{box-sizing: border-box;}
:where(.app-route[data-route="admin-dashboard"]) .owner-header{border-bottom: 1px solid var(--volt-line,#303033); padding-bottom: 20px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-back,:where(.app-route[data-route="admin-dashboard"]) .owner-tabs a{color: var(--volt-accent,#ffb800); text-decoration: none;}
:where(.app-route[data-route="admin-dashboard"]) .owner-kicker{margin: 20px 0px 4px; color: var(--volt-accent,#ffb800); font: 600 var(--app-text-small)/1 JetBrains Mono,monospace; letter-spacing: 0.08em;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard h1,:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard h2{margin: 0px; font-family: Anton, Barlow, sans-serif; letter-spacing: 0.02em; text-transform: uppercase;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard h1{font-size: clamp(32px, 7vw, 46px); line-height: 1;}
:where(.app-route[data-route="admin-dashboard"]) .owner-tabs{display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--volt-line,#303033); margin: 22px 0px 18px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-tabs button,:where(.app-route[data-route="admin-dashboard"]) .owner-tabs a{flex: 0 0 auto; border-width: 0px 0px 3px; border-style: none none solid; border-color: currentcolor currentcolor transparent; border-image: none; background: transparent; padding: 12px 13px; color: rgb(160, 160, 164); font: 600 var(--app-text-action) Barlow,sans-serif; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-tabs [aria-selected="true"]{color: rgb(255, 184, 0); border-bottom-color: rgb(255, 184, 0);}
:where(.app-route[data-route="admin-dashboard"]) .owner-status{min-height: 25px; margin: 12px 0px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-dashboard"]) .owner-summary{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border-block: 1px solid var(--volt-line,#303033); margin: 18px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-metric{padding: 16px 12px; border-left: 1px solid var(--volt-line,#303033); min-width: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-metric:first-child{border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-metric span,:where(.app-route[data-route="admin-dashboard"]) .owner-muted,:where(.app-route[data-route="admin-dashboard"]) .owner-note{display: block; color: rgb(160, 160, 164); font-size: var(--app-text-small);}
:where(.app-route[data-route="admin-dashboard"]) .owner-metric strong{display: block; overflow-wrap: anywhere; color: rgb(255, 184, 0); font: var(--app-text-title)/1.15 Anton,Barlow,sans-serif;}
:where(.app-route[data-route="admin-dashboard"]) .owner-controls{display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 16px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-controls label{display: grid; gap: 6px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard select,:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard input,:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard button{font: inherit;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard select,:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard input:not([type="radio"]):not([type="checkbox"]){min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgb(23, 24, 27); color: rgb(245, 245, 245); padding: 10px 12px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard input:focus-visible,:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard select:focus-visible,:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard button:focus-visible,:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard a:focus-visible{outline: rgb(255, 184, 0) solid 3px; outline-offset: 3px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-toolbar{display: grid; grid-template-columns: minmax(0px, 1fr) auto auto; gap: 10px; margin: 16px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-toolbar input{width: 100%;}
:where(.app-route[data-route="admin-dashboard"]) .owner-secondary{min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: transparent; color: rgb(245, 245, 245); padding: 10px 14px; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-primary{min-height: 46px; border: 0px; border-radius: 10px; background: rgb(255, 184, 0); color: rgb(14, 15, 16); padding: 10px 14px; font-weight: 700; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-primary[disabled]{opacity: 0.55; cursor: wait;}
:where(.app-route[data-route="admin-dashboard"]) .owner-list{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-dashboard"]) .owner-row{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 8px 16px; width: 100%; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--volt-line,#303033); background: transparent; color: rgb(245, 245, 245); padding: 18px 0px; text-align: left; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-row:hover{background: rgb(23, 24, 27);}
:where(.app-route[data-route="admin-dashboard"]) .owner-row strong{overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-dashboard"]) .owner-row .owner-cost{color: rgb(255, 184, 0); font-variant-numeric: tabular-nums; text-align: right;}
:where(.app-route[data-route="admin-dashboard"]) .owner-row small{grid-column: 1 / -1; color: rgb(160, 160, 164);}
:where(.app-route[data-route="admin-dashboard"]) .owner-badges{display: flex; gap: 6px; flex-wrap: wrap; margin-top: 5px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-badge{border: 1px solid rgb(74, 74, 80); border-radius: 6px; padding: 2px 5px; color: rgb(197, 197, 201); font: var(--app-text-small)/1.35 JetBrains Mono,monospace;}
:where(.app-route[data-route="admin-dashboard"]) .owner-panel[hidden]{display: none;}
:where(.app-route[data-route="admin-dashboard"]) .owner-error{color: rgb(255, 155, 142); min-height: 24px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dialog::backdrop{background: rgba(0, 0, 0, 0.667);}
:where(.app-route[data-route="admin-dashboard"]) .owner-dialog label{display: grid; gap: 6px; margin: 14px 0px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row,:where(.app-route[data-route="admin-dashboard"]) .timeline-entry{display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--volt-line,#303033); padding: 13px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row span:first-child,:where(.app-route[data-route="admin-dashboard"]) .timeline-entry span{min-width: 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row strong,:where(.app-route[data-route="admin-dashboard"]) .timeline-entry strong{white-space: nowrap; color: rgb(255, 184, 0); font-variant-numeric: tabular-nums;}
:where(.app-route[data-route="admin-dashboard"]) .timeline-group{border-bottom: 1px solid var(--volt-line,#303033); padding: 14px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .timeline-group summary{cursor: pointer; font-weight: 650;}
:where(.app-route[data-route="admin-dashboard"]) .timeline-entry{display: grid; grid-template-columns: minmax(0px, 1fr) auto; margin-top: 12px; font-size: var(--app-text-small);}
:where(.app-route[data-route="admin-dashboard"]) .timeline-entry small{grid-column: 1 / -1; color: rgb(160, 160, 164);}
:where(.app-route[data-route="admin-dashboard"]) .owner-icon{width: 46px; height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: transparent; color: rgb(245, 245, 245); cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell{max-width: 1080px;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-row{display: grid; grid-template-columns: minmax(170px, 1fr) minmax(150px, 1fr) minmax(130px, 0.7fr) auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--volt-line,#303033); padding: 14px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-row > label{min-width: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-footer{position: sticky; bottom: 0px; display: flex; justify-content: space-between; gap: 16px; padding: 16px 0 calc(16px + env(safe-area-inset-bottom)); background: rgb(14, 15, 16); border-top: 1px solid var(--volt-line,#303033);}
@media (max-width: 520px) {:where(.app-route[data-route="admin-dashboard"]) .owner-summary{grid-template-columns: repeat(2, minmax(0px, 1fr));}
:where(.app-route[data-route="admin-dashboard"]) .owner-metric:nth-child(3){grid-column: 1 / -1; border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-toolbar{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-dashboard"]) .owner-toolbar input{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-row{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-row > label:first-child{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-row > label:last-child{display: flex; align-items: center; gap: 8px;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-footer{align-items: center;}
:where(.app-route[data-route="admin-dashboard"]) .ai-settings-shell .settings-footer #status{min-width: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard{font-size: var(--app-text-small);}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard *{scroll-behavior: auto !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important;}}
:where(.app-route[data-route="admin-dashboard"]) .owner-loading{display: inline-flex; align-items: center; gap: 4px; min-height: 25px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-loading i{display: block; width: 4px; height: 17px; transform: skew(-12deg); background: rgb(255, 184, 0); animation: 1.1s ease-in-out 0s infinite normal none running owner-wave;}
:where(.app-route[data-route="admin-dashboard"]) .owner-loading i:nth-child(2){animation-delay: 0.14s;}
:where(.app-route[data-route="admin-dashboard"]) .owner-loading i:nth-child(3){animation-delay: 0.28s;}
:where(.app-route[data-route="admin-dashboard"]) .owner-metric small,:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row small{display: block; grid-column: 1 / -1; color: rgb(160, 160, 164); font-size: var(--app-text-small);}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-row{grid-template-columns: minmax(0px, 1fr) auto auto;}
:where(.app-route[data-route="admin-dashboard"]) .timeline-day{color: rgb(160, 160, 164); margin: 24px 0px 4px !important; font: 600 var(--app-text-small)/1.3 Barlow,sans-serif !important; text-transform: none !important;}
@keyframes owner-wave { 
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}
@media (max-width: 520px) {:where(.app-route[data-route="admin-dashboard"]) .owner-code-row{grid-template-columns: minmax(0px, 1fr) auto;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-row .owner-secondary:nth-of-type(2){grid-column: 2;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="admin-dashboard"]) .owner-loading i{animation: auto ease 0s 1 normal none running none;}}
:where(.app-route[data-route="admin-dashboard"]) .owner-status .owner-retry{min-height: 40px; margin-left: 10px; padding: 7px 12px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-header h1,:where(.app-route[data-route="admin-dashboard"]) .owner-header .owner-muted{max-width: 100%; overflow-wrap: anywhere; word-break: break-word;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dialog,:where(.app-route[data-route="admin-dashboard"]) .owner-dialog *{box-sizing: border-box;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dialog :is(input, button){font: inherit;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dialog input:not([type="radio"]):not([type="checkbox"]){display: block; width: 100%; min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgb(14, 15, 16); color: rgb(245, 245, 245); padding: 10px 12px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dialog :is(input, button):focus-visible{outline: rgb(255, 184, 0) solid 3px; outline-offset: 3px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dialog [hidden]{display: none !important;}
:where(.app-route[data-route="admin-dashboard"]) .owner-dashboard input[type="checkbox"]{appearance: auto; width: 20px; height: 20px; min-height: 20px; margin: 0px; padding: 0px; border: 0px; border-radius: 3px; accent-color: rgb(255, 184, 0);}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row{display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: start;}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row small{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row--access{grid-template-columns: minmax(88px, auto) minmax(0px, 1fr);}
:where(.app-route[data-route="admin-dashboard"]) .owner-breakdown-row--access strong{white-space: normal; text-align: right; overflow-wrap: normal;}
@media (max-width: 360px) {:where(.app-route[data-route="admin-dashboard"]) .owner-metric strong{font-size: var(--app-text-title);}}
:where(.app-route[data-route="admin-dashboard"]) .owner-user-row,:where(.app-route[data-route="admin-dashboard"]) .owner-code-card{border-bottom: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-dashboard"]) .owner-user-row .owner-row,:where(.app-route[data-route="admin-dashboard"]) .owner-code-card .owner-row{border-bottom: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-row-main,:where(.app-route[data-route="admin-dashboard"]) .owner-code-open{grid-template-columns: minmax(0px, 1fr) auto;}
:where(.app-route[data-route="admin-dashboard"]) .owner-identity{display: grid; gap: 3px; min-width: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-email{color: rgb(160, 160, 164); font-size: var(--app-text-small); overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-link{display: block; width: 100%; max-width: 100%; min-height: 44px; margin: 0px 0px 10px; padding: 7px 10px; border: 1px solid rgb(74, 74, 80); border-radius: 8px; background: transparent; color: rgb(197, 197, 201); text-align: left; overflow-wrap: anywhere; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-toolbar{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 12px; margin: 16px 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-toolbar input{width: 100%;}
:where(.app-route[data-route="admin-dashboard"]) .owner-toolbar > *{min-width: 0px; max-width: 100%;}
:where(.app-route[data-route="admin-dashboard"]) .owner-toolbar select{width: 100%;}
:where(.app-route[data-route="admin-dashboard"]) .owner-button-link{display: block; border: 0px; background: transparent; padding: 10px 0px; color: rgb(255, 184, 0); font: 600 var(--app-text-action) Barlow,sans-serif; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-heading{display: flex; justify-content: space-between; gap: 16px; align-items: start; margin: 8px 0px 20px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-note{margin: 8px 0px 0px; color: rgb(197, 197, 201); overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-dashboard"]) .owner-state{flex: 0 0 auto; border: 1px solid rgb(74, 74, 80); border-radius: 999px; padding: 6px 10px; color: rgb(197, 197, 201); font: var(--app-text-small) JetBrains Mono,monospace;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-facts{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border-block: 1px solid var(--volt-line,#303033); margin-bottom: 18px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-facts .owner-metric strong{font-size: var(--app-text-section);}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-actions{display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0px 30px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-action-status{flex: 1 0 100%; min-height: 22px; margin: 0px; color: rgb(197, 197, 201); font-size: var(--app-text-small); line-height: 1.4;}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-actions[aria-busy="true"] .owner-detail-action-status{color: rgb(255, 184, 0);}
:where(.app-route[data-route="admin-dashboard"]) .owner-danger{min-height: 46px; border: 1px solid rgb(168, 75, 67); border-radius: 10px; background: transparent; color: rgb(255, 155, 142); padding: 10px 14px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 650; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-danger[disabled]{opacity: 0.55; cursor: wait;}
:where(.app-route[data-route="admin-dashboard"]) .owner-recipient-list{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-dashboard"]) .owner-recipient{display: grid; width: 100%; gap: 3px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--volt-line,#303033); background: transparent; color: rgb(245, 245, 245); padding: 16px 0px; text-align: left; cursor: pointer;}
:where(.app-route[data-route="admin-dashboard"]) .owner-recipient span,:where(.app-route[data-route="admin-dashboard"]) .owner-recipient small{color: rgb(181, 181, 186); overflow-wrap: anywhere; font-size: var(--app-text-small); line-height: 1.4;}
:where(.app-route[data-route="admin-dashboard"]) .owner-recipient:hover,:where(.app-route[data-route="admin-dashboard"]) .owner-recipient:focus-visible{background: rgb(23, 24, 27);}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-form > label{display: grid; gap: 6px; margin: 14px 0px 0px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-suggestion{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration{display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 18px 0px 0px; padding: 14px; border: 1px solid rgb(74, 74, 80); border-radius: 10px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration legend{padding: 0px 6px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration input[type="radio"]{flex: 0 0 20px; width: 20px; height: 20px; margin: 0px; accent-color: var(--volt-accent,#ffb800);}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration > label{display: flex; align-items: center; gap: 8px; min-height: 44px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration .owner-days{grid-column: 1 / -1; display: grid; align-items: initial; gap: 6px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration .owner-days[hidden]{display: none;}
:where(.app-route[data-route="admin-dashboard"]) .owner-success{min-height: 24px; color: rgb(159, 214, 167);}
:where(.app-route[data-route="admin-dashboard"]) .owner-view-in{animation: 0.2s ease-out 0s 1 normal both running owner-view-forward;}
:where(.app-route[data-route="admin-dashboard"]) .owner-view-back{animation: 0.18s ease-out 0s 1 normal both running owner-view-back;}
:where(.app-route[data-route="admin-dashboard"]) .owner-tab-in{animation: 0.16s ease-out 0s 1 normal both running owner-tab-in;}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-loading{position: sticky; z-index: 2; top: 10px; width: max-content; max-width: 100%; margin: 12px auto; padding: 9px 13px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgba(23, 24, 27, 0.95); color: rgb(216, 216, 220); box-shadow: rgba(0, 0, 0, 0.467) 0px 8px 22px;}
@keyframes owner-view-forward { 
  0% { opacity: 0; transform: translateX(10px); }
  100% { opacity: 1; transform: none; }
}
@keyframes owner-view-back { 
  0% { opacity: 0; transform: translateX(-8px); }
  100% { opacity: 1; transform: none; }
}
@keyframes owner-tab-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media (max-width: 520px) {:where(.app-route[data-route="admin-dashboard"]) .owner-code-toolbar{grid-template-columns: 1fr;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-toolbar .owner-primary{width: 100%;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-facts{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-facts .owner-metric:nth-child(3){grid-column: 1 / -1; border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-actions{display: grid; grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-dashboard"]) .owner-detail-actions .owner-danger,:where(.app-route[data-route="admin-dashboard"]) .owner-detail-action-status{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-suggestion{grid-template-columns: 1fr;}
:where(.app-route[data-route="admin-dashboard"]) .owner-code-suggestion button{width: 100%;}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration{grid-template-columns: 1fr;}
:where(.app-route[data-route="admin-dashboard"]) .owner-duration .owner-days{grid-column: 1;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="admin-dashboard"]) .owner-view-in,:where(.app-route[data-route="admin-dashboard"]) .owner-view-back,:where(.app-route[data-route="admin-dashboard"]) .owner-tab-in{animation: auto ease 0s 1 normal none running none;}}
:where(.app-route[data-route="admin-dashboard"]) .app-back-icon{display: inline-grid; place-items: center; width: 44px; min-height: 44px; padding: 0px; text-decoration: none; font-size: 24px;}
/* admin-account */
:where(.app-route[data-route="admin-account"]) .owner-dashboard{box-sizing: border-box; width: min(100%, 1080px); min-height: 100svh; margin: auto; padding: calc(26px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); background: var(--volt-bg,#0e0f10); color: rgb(245, 245, 245); font: 400 var(--app-text-small)/1.45 Barlow,system-ui,sans-serif;}
:where(.app-route[data-route="admin-account"]) .owner-dashboard *{box-sizing: border-box;}
:where(.app-route[data-route="admin-account"]) .owner-header{border-bottom: 1px solid var(--volt-line,#303033); padding-bottom: 20px;}
:where(.app-route[data-route="admin-account"]) .owner-back,:where(.app-route[data-route="admin-account"]) .owner-tabs a{color: var(--volt-accent,#ffb800); text-decoration: none;}
:where(.app-route[data-route="admin-account"]) .owner-kicker{margin: 20px 0px 4px; color: var(--volt-accent,#ffb800); font: 600 var(--app-text-small)/1 JetBrains Mono,monospace; letter-spacing: 0.08em;}
:where(.app-route[data-route="admin-account"]) .owner-dashboard h1,:where(.app-route[data-route="admin-account"]) .owner-dashboard h2{margin: 0px; font-family: Anton, Barlow, sans-serif; letter-spacing: 0.02em; text-transform: uppercase;}
:where(.app-route[data-route="admin-account"]) .owner-dashboard h1{font-size: clamp(32px, 7vw, 46px); line-height: 1;}
:where(.app-route[data-route="admin-account"]) .owner-tabs{display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--volt-line,#303033); margin: 22px 0px 18px;}
:where(.app-route[data-route="admin-account"]) .owner-tabs button,:where(.app-route[data-route="admin-account"]) .owner-tabs a{flex: 0 0 auto; border-width: 0px 0px 3px; border-style: none none solid; border-color: currentcolor currentcolor transparent; border-image: none; background: transparent; padding: 12px 13px; color: rgb(160, 160, 164); font: 600 var(--app-text-action) Barlow,sans-serif; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-tabs [aria-selected="true"]{color: rgb(255, 184, 0); border-bottom-color: rgb(255, 184, 0);}
:where(.app-route[data-route="admin-account"]) .owner-status{min-height: 25px; margin: 12px 0px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-account"]) .owner-summary{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border-block: 1px solid var(--volt-line,#303033); margin: 18px 0px;}
:where(.app-route[data-route="admin-account"]) .owner-metric{padding: 16px 12px; border-left: 1px solid var(--volt-line,#303033); min-width: 0px;}
:where(.app-route[data-route="admin-account"]) .owner-metric:first-child{border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="admin-account"]) .owner-metric span,:where(.app-route[data-route="admin-account"]) .owner-muted,:where(.app-route[data-route="admin-account"]) .owner-note{display: block; color: rgb(160, 160, 164); font-size: var(--app-text-small);}
:where(.app-route[data-route="admin-account"]) .owner-metric strong{display: block; overflow-wrap: anywhere; color: rgb(255, 184, 0); font: var(--app-text-title)/1.15 Anton,Barlow,sans-serif;}
:where(.app-route[data-route="admin-account"]) .owner-controls{display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 16px 0px;}
:where(.app-route[data-route="admin-account"]) .owner-controls label{display: grid; gap: 6px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-account"]) .owner-dashboard select,:where(.app-route[data-route="admin-account"]) .owner-dashboard input,:where(.app-route[data-route="admin-account"]) .owner-dashboard button{font: inherit;}
:where(.app-route[data-route="admin-account"]) .owner-dashboard select,:where(.app-route[data-route="admin-account"]) .owner-dashboard input:not([type="radio"]):not([type="checkbox"]){min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgb(23, 24, 27); color: rgb(245, 245, 245); padding: 10px 12px;}
:where(.app-route[data-route="admin-account"]) .owner-dashboard input:focus-visible,:where(.app-route[data-route="admin-account"]) .owner-dashboard select:focus-visible,:where(.app-route[data-route="admin-account"]) .owner-dashboard button:focus-visible,:where(.app-route[data-route="admin-account"]) .owner-dashboard a:focus-visible{outline: rgb(255, 184, 0) solid 3px; outline-offset: 3px;}
:where(.app-route[data-route="admin-account"]) .owner-toolbar{display: grid; grid-template-columns: minmax(0px, 1fr) auto auto; gap: 10px; margin: 16px 0px;}
:where(.app-route[data-route="admin-account"]) .owner-toolbar input{width: 100%;}
:where(.app-route[data-route="admin-account"]) .owner-secondary{min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: transparent; color: rgb(245, 245, 245); padding: 10px 14px; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-primary{min-height: 46px; border: 0px; border-radius: 10px; background: rgb(255, 184, 0); color: rgb(14, 15, 16); padding: 10px 14px; font-weight: 700; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-primary[disabled]{opacity: 0.55; cursor: wait;}
:where(.app-route[data-route="admin-account"]) .owner-list{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-account"]) .owner-row{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 8px 16px; width: 100%; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--volt-line,#303033); background: transparent; color: rgb(245, 245, 245); padding: 18px 0px; text-align: left; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-row:hover{background: rgb(23, 24, 27);}
:where(.app-route[data-route="admin-account"]) .owner-row strong{overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-account"]) .owner-row .owner-cost{color: rgb(255, 184, 0); font-variant-numeric: tabular-nums; text-align: right;}
:where(.app-route[data-route="admin-account"]) .owner-row small{grid-column: 1 / -1; color: rgb(160, 160, 164);}
:where(.app-route[data-route="admin-account"]) .owner-badges{display: flex; gap: 6px; flex-wrap: wrap; margin-top: 5px;}
:where(.app-route[data-route="admin-account"]) .owner-badge{border: 1px solid rgb(74, 74, 80); border-radius: 6px; padding: 2px 5px; color: rgb(197, 197, 201); font: var(--app-text-small)/1.35 JetBrains Mono,monospace;}
:where(.app-route[data-route="admin-account"]) .owner-panel[hidden]{display: none;}
:where(.app-route[data-route="admin-account"]) .owner-error{color: rgb(255, 155, 142); min-height: 24px;}
:where(.app-route[data-route="admin-account"]) .owner-dialog::backdrop{background: rgba(0, 0, 0, 0.667);}
:where(.app-route[data-route="admin-account"]) .owner-dialog label{display: grid; gap: 6px; margin: 14px 0px 0px;}
:where(.app-route[data-route="admin-account"]) .owner-breakdown{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-account"]) .owner-breakdown-row,:where(.app-route[data-route="admin-account"]) .timeline-entry{display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--volt-line,#303033); padding: 13px 0px;}
:where(.app-route[data-route="admin-account"]) .owner-breakdown-row span:first-child,:where(.app-route[data-route="admin-account"]) .timeline-entry span{min-width: 0px; overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-account"]) .owner-breakdown-row strong,:where(.app-route[data-route="admin-account"]) .timeline-entry strong{white-space: nowrap; color: rgb(255, 184, 0); font-variant-numeric: tabular-nums;}
:where(.app-route[data-route="admin-account"]) .timeline-group{border-bottom: 1px solid var(--volt-line,#303033); padding: 14px 0px;}
:where(.app-route[data-route="admin-account"]) .timeline-group summary{cursor: pointer; font-weight: 650;}
:where(.app-route[data-route="admin-account"]) .timeline-entry{display: grid; grid-template-columns: minmax(0px, 1fr) auto; margin-top: 12px; font-size: var(--app-text-small);}
:where(.app-route[data-route="admin-account"]) .timeline-entry small{grid-column: 1 / -1; color: rgb(160, 160, 164);}
:where(.app-route[data-route="admin-account"]) .owner-icon{width: 46px; height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: transparent; color: rgb(245, 245, 245); cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell{max-width: 1080px;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-row{display: grid; grid-template-columns: minmax(170px, 1fr) minmax(150px, 1fr) minmax(130px, 0.7fr) auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--volt-line,#303033); padding: 14px 0px;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-row > label{min-width: 0px;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-footer{position: sticky; bottom: 0px; display: flex; justify-content: space-between; gap: 16px; padding: 16px 0 calc(16px + env(safe-area-inset-bottom)); background: rgb(14, 15, 16); border-top: 1px solid var(--volt-line,#303033);}
@media (max-width: 520px) {:where(.app-route[data-route="admin-account"]) .owner-summary{grid-template-columns: repeat(2, minmax(0px, 1fr));}
:where(.app-route[data-route="admin-account"]) .owner-metric:nth-child(3){grid-column: 1 / -1; border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="admin-account"]) .owner-toolbar{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-account"]) .owner-toolbar input{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-row{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-row > label:first-child{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-row > label:last-child{display: flex; align-items: center; gap: 8px;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-footer{align-items: center;}
:where(.app-route[data-route="admin-account"]) .ai-settings-shell .settings-footer #status{min-width: 0px;}
:where(.app-route[data-route="admin-account"]) .owner-dashboard{font-size: var(--app-text-small);}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="admin-account"]) .owner-dashboard *{scroll-behavior: auto !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important;}}
:where(.app-route[data-route="admin-account"]) .owner-loading{display: inline-flex; align-items: center; gap: 4px; min-height: 25px;}
:where(.app-route[data-route="admin-account"]) .owner-loading i{display: block; width: 4px; height: 17px; transform: skew(-12deg); background: rgb(255, 184, 0); animation: 1.1s ease-in-out 0s infinite normal none running owner-wave;}
:where(.app-route[data-route="admin-account"]) .owner-loading i:nth-child(2){animation-delay: 0.14s;}
:where(.app-route[data-route="admin-account"]) .owner-loading i:nth-child(3){animation-delay: 0.28s;}
:where(.app-route[data-route="admin-account"]) .owner-metric small,:where(.app-route[data-route="admin-account"]) .owner-breakdown-row small{display: block; grid-column: 1 / -1; color: rgb(160, 160, 164); font-size: var(--app-text-small);}
:where(.app-route[data-route="admin-account"]) .owner-code-row{grid-template-columns: minmax(0px, 1fr) auto auto;}
:where(.app-route[data-route="admin-account"]) .timeline-day{color: rgb(160, 160, 164); margin: 24px 0px 4px !important; font: 600 var(--app-text-small)/1.3 Barlow,sans-serif !important; text-transform: none !important;}
@keyframes owner-wave { 
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}
@media (max-width: 520px) {:where(.app-route[data-route="admin-account"]) .owner-code-row{grid-template-columns: minmax(0px, 1fr) auto;}
:where(.app-route[data-route="admin-account"]) .owner-code-row .owner-secondary:nth-of-type(2){grid-column: 2;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="admin-account"]) .owner-loading i{animation: auto ease 0s 1 normal none running none;}}
:where(.app-route[data-route="admin-account"]) .owner-status .owner-retry{min-height: 40px; margin-left: 10px; padding: 7px 12px;}
:where(.app-route[data-route="admin-account"]) .owner-header h1,:where(.app-route[data-route="admin-account"]) .owner-header .owner-muted{max-width: 100%; overflow-wrap: anywhere; word-break: break-word;}
:where(.app-route[data-route="admin-account"]) .owner-dialog,:where(.app-route[data-route="admin-account"]) .owner-dialog *{box-sizing: border-box;}
:where(.app-route[data-route="admin-account"]) .owner-dialog :is(input, button){font: inherit;}
:where(.app-route[data-route="admin-account"]) .owner-dialog input:not([type="radio"]):not([type="checkbox"]){display: block; width: 100%; min-height: 46px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgb(14, 15, 16); color: rgb(245, 245, 245); padding: 10px 12px;}
:where(.app-route[data-route="admin-account"]) .owner-dialog :is(input, button):focus-visible{outline: rgb(255, 184, 0) solid 3px; outline-offset: 3px;}
:where(.app-route[data-route="admin-account"]) .owner-dialog [hidden]{display: none !important;}
:where(.app-route[data-route="admin-account"]) .owner-dashboard input[type="checkbox"]{appearance: auto; width: 20px; height: 20px; min-height: 20px; margin: 0px; padding: 0px; border: 0px; border-radius: 3px; accent-color: rgb(255, 184, 0);}
:where(.app-route[data-route="admin-account"]) .owner-breakdown-row{display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: start;}
:where(.app-route[data-route="admin-account"]) .owner-breakdown-row small{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-account"]) .owner-breakdown-row--access{grid-template-columns: minmax(88px, auto) minmax(0px, 1fr);}
:where(.app-route[data-route="admin-account"]) .owner-breakdown-row--access strong{white-space: normal; text-align: right; overflow-wrap: normal;}
@media (max-width: 360px) {:where(.app-route[data-route="admin-account"]) .owner-metric strong{font-size: var(--app-text-title);}}
:where(.app-route[data-route="admin-account"]) .owner-user-row,:where(.app-route[data-route="admin-account"]) .owner-code-card{border-bottom: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-account"]) .owner-user-row .owner-row,:where(.app-route[data-route="admin-account"]) .owner-code-card .owner-row{border-bottom: 0px;}
:where(.app-route[data-route="admin-account"]) .owner-row-main,:where(.app-route[data-route="admin-account"]) .owner-code-open{grid-template-columns: minmax(0px, 1fr) auto;}
:where(.app-route[data-route="admin-account"]) .owner-identity{display: grid; gap: 3px; min-width: 0px;}
:where(.app-route[data-route="admin-account"]) .owner-email{color: rgb(160, 160, 164); font-size: var(--app-text-small); overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-account"]) .owner-code-link{display: block; width: 100%; max-width: 100%; min-height: 44px; margin: 0px 0px 10px; padding: 7px 10px; border: 1px solid rgb(74, 74, 80); border-radius: 8px; background: transparent; color: rgb(197, 197, 201); text-align: left; overflow-wrap: anywhere; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-code-toolbar{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 12px; margin: 16px 0px;}
:where(.app-route[data-route="admin-account"]) .owner-code-toolbar input{width: 100%;}
:where(.app-route[data-route="admin-account"]) .owner-toolbar > *{min-width: 0px; max-width: 100%;}
:where(.app-route[data-route="admin-account"]) .owner-toolbar select{width: 100%;}
:where(.app-route[data-route="admin-account"]) .owner-button-link{display: block; border: 0px; background: transparent; padding: 10px 0px; color: rgb(255, 184, 0); font: 600 var(--app-text-action) Barlow,sans-serif; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-detail-heading{display: flex; justify-content: space-between; gap: 16px; align-items: start; margin: 8px 0px 20px;}
:where(.app-route[data-route="admin-account"]) .owner-detail-note{margin: 8px 0px 0px; color: rgb(197, 197, 201); overflow-wrap: anywhere;}
:where(.app-route[data-route="admin-account"]) .owner-state{flex: 0 0 auto; border: 1px solid rgb(74, 74, 80); border-radius: 999px; padding: 6px 10px; color: rgb(197, 197, 201); font: var(--app-text-small) JetBrains Mono,monospace;}
:where(.app-route[data-route="admin-account"]) .owner-code-facts{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); border-block: 1px solid var(--volt-line,#303033); margin-bottom: 18px;}
:where(.app-route[data-route="admin-account"]) .owner-code-facts .owner-metric strong{font-size: var(--app-text-section);}
:where(.app-route[data-route="admin-account"]) .owner-detail-actions{display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0px 30px;}
:where(.app-route[data-route="admin-account"]) .owner-detail-action-status{flex: 1 0 100%; min-height: 22px; margin: 0px; color: rgb(197, 197, 201); font-size: var(--app-text-small); line-height: 1.4;}
:where(.app-route[data-route="admin-account"]) .owner-detail-actions[aria-busy="true"] .owner-detail-action-status{color: rgb(255, 184, 0);}
:where(.app-route[data-route="admin-account"]) .owner-danger{min-height: 46px; border: 1px solid rgb(168, 75, 67); border-radius: 10px; background: transparent; color: rgb(255, 155, 142); padding: 10px 14px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 650; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-danger[disabled]{opacity: 0.55; cursor: wait;}
:where(.app-route[data-route="admin-account"]) .owner-recipient-list{border-top: 1px solid var(--volt-line,#303033);}
:where(.app-route[data-route="admin-account"]) .owner-recipient{display: grid; width: 100%; gap: 3px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--volt-line,#303033); background: transparent; color: rgb(245, 245, 245); padding: 16px 0px; text-align: left; cursor: pointer;}
:where(.app-route[data-route="admin-account"]) .owner-recipient span,:where(.app-route[data-route="admin-account"]) .owner-recipient small{color: rgb(181, 181, 186); overflow-wrap: anywhere; font-size: var(--app-text-small); line-height: 1.4;}
:where(.app-route[data-route="admin-account"]) .owner-recipient:hover,:where(.app-route[data-route="admin-account"]) .owner-recipient:focus-visible{background: rgb(23, 24, 27);}
:where(.app-route[data-route="admin-account"]) .owner-code-form > label{display: grid; gap: 6px; margin: 14px 0px 0px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-account"]) .owner-code-suggestion{display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px;}
:where(.app-route[data-route="admin-account"]) .owner-duration{display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 18px 0px 0px; padding: 14px; border: 1px solid rgb(74, 74, 80); border-radius: 10px;}
:where(.app-route[data-route="admin-account"]) .owner-duration legend{padding: 0px 6px; color: rgb(197, 197, 201);}
:where(.app-route[data-route="admin-account"]) .owner-duration input[type="radio"]{flex: 0 0 20px; width: 20px; height: 20px; margin: 0px; accent-color: var(--volt-accent,#ffb800);}
:where(.app-route[data-route="admin-account"]) .owner-duration > label{display: flex; align-items: center; gap: 8px; min-height: 44px;}
:where(.app-route[data-route="admin-account"]) .owner-duration .owner-days{grid-column: 1 / -1; display: grid; align-items: initial; gap: 6px;}
:where(.app-route[data-route="admin-account"]) .owner-duration .owner-days[hidden]{display: none;}
:where(.app-route[data-route="admin-account"]) .owner-success{min-height: 24px; color: rgb(159, 214, 167);}
:where(.app-route[data-route="admin-account"]) .owner-view-in{animation: 0.2s ease-out 0s 1 normal both running owner-view-forward;}
:where(.app-route[data-route="admin-account"]) .owner-view-back{animation: 0.18s ease-out 0s 1 normal both running owner-view-back;}
:where(.app-route[data-route="admin-account"]) .owner-tab-in{animation: 0.16s ease-out 0s 1 normal both running owner-tab-in;}
:where(.app-route[data-route="admin-account"]) .owner-detail-loading{position: sticky; z-index: 2; top: 10px; width: max-content; max-width: 100%; margin: 12px auto; padding: 9px 13px; border: 1px solid rgb(74, 74, 80); border-radius: 10px; background: rgba(23, 24, 27, 0.95); color: rgb(216, 216, 220); box-shadow: rgba(0, 0, 0, 0.467) 0px 8px 22px;}
@keyframes owner-view-forward { 
  0% { opacity: 0; transform: translateX(10px); }
  100% { opacity: 1; transform: none; }
}
@keyframes owner-view-back { 
  0% { opacity: 0; transform: translateX(-8px); }
  100% { opacity: 1; transform: none; }
}
@keyframes owner-tab-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media (max-width: 520px) {:where(.app-route[data-route="admin-account"]) .owner-code-toolbar{grid-template-columns: 1fr;}
:where(.app-route[data-route="admin-account"]) .owner-code-toolbar .owner-primary{width: 100%;}
:where(.app-route[data-route="admin-account"]) .owner-code-facts{grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-account"]) .owner-code-facts .owner-metric:nth-child(3){grid-column: 1 / -1; border-left: 0px; padding-left: 0px;}
:where(.app-route[data-route="admin-account"]) .owner-detail-actions{display: grid; grid-template-columns: 1fr 1fr;}
:where(.app-route[data-route="admin-account"]) .owner-detail-actions .owner-danger,:where(.app-route[data-route="admin-account"]) .owner-detail-action-status{grid-column: 1 / -1;}
:where(.app-route[data-route="admin-account"]) .owner-code-suggestion{grid-template-columns: 1fr;}
:where(.app-route[data-route="admin-account"]) .owner-code-suggestion button{width: 100%;}
:where(.app-route[data-route="admin-account"]) .owner-duration{grid-template-columns: 1fr;}
:where(.app-route[data-route="admin-account"]) .owner-duration .owner-days{grid-column: 1;}}
@media (prefers-reduced-motion: reduce) {:where(.app-route[data-route="admin-account"]) .owner-view-in,:where(.app-route[data-route="admin-account"]) .owner-view-back,:where(.app-route[data-route="admin-account"]) .owner-tab-in{animation: auto ease 0s 1 normal none running none;}}
:where(.app-route[data-route="admin-account"]) .app-back-icon{display: inline-grid; place-items: center; width: 44px; min-height: 44px; padding: 0px; text-decoration: none; font-size: 24px;}
/* privacy-policy */
:where(.app-route[data-route="privacy-policy"]) *{box-sizing: border-box;}
:where(.app-route[data-route="privacy-policy"]){margin: 0px; padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); background: var(--volt-bg); color: rgb(213, 213, 215); font: var(--app-text-small)/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;}
:where(.app-route[data-route="privacy-policy"]) .policy{width: min(100%, 700px); margin: 0px auto; overflow-wrap: anywhere;}
:where(.app-route[data-route="privacy-policy"]) .back-link{display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: var(--app-text-small);}
:where(.app-route[data-route="privacy-policy"]) .policy-header{padding: 20px 0px 24px; border-bottom: 1px solid var(--volt-line);}
:where(.app-route[data-route="privacy-policy"]) .policy-header img{display: block; width: 164px; height: auto; margin-bottom: 24px;}
:where(.app-route[data-route="privacy-policy"]) .policy h1,:where(.app-route[data-route="privacy-policy"]) .policy h2,:where(.app-route[data-route="privacy-policy"]) .policy h3{font-family: inherit; font-weight: 600; text-transform: none; letter-spacing: normal; color: rgb(244, 244, 245);}
:where(.app-route[data-route="privacy-policy"]) .policy h1{margin: 0px 0px 12px; font-size: var(--app-text-title); line-height: 1.25;}
:where(.app-route[data-route="privacy-policy"]) .policy h2{margin: 0px 0px 12px; font-size: var(--app-text-section); line-height: 1.35;}
:where(.app-route[data-route="privacy-policy"]) .policy h3{margin: 20px 0px 8px; font-size: var(--app-text-section); line-height: 1.4;}
:where(.app-route[data-route="privacy-policy"]) .policy p,:where(.app-route[data-route="privacy-policy"]) .policy ul{margin: 0px 0px 12px;}
:where(.app-route[data-route="privacy-policy"]) .policy ul{padding-left: 1.25em;}
:where(.app-route[data-route="privacy-policy"]) .policy li{margin-bottom: 8px;}
:where(.app-route[data-route="privacy-policy"]) .policy strong{color: rgb(244, 244, 245); font-weight: 600;}
:where(.app-route[data-route="privacy-policy"]) .policy a{color: var(--volt-accent); text-underline-offset: 3px;}
:where(.app-route[data-route="privacy-policy"]) .policy a:focus-visible{outline: 2px solid var(--volt-accent); outline-offset: 4px;}
:where(.app-route[data-route="privacy-policy"]) .intro{margin-bottom: 0px !important;}
:where(.app-route[data-route="privacy-policy"]) .policy-section{padding: 24px 0px; border-bottom: 1px solid var(--volt-line);}
:where(.app-route[data-route="privacy-policy"]) .policy-section > :last-child{margin-bottom: 0px;}
:where(.app-route[data-route="privacy-policy"]) .data-group + .data-group{margin-top: 20px;}
:where(.app-route[data-route="privacy-policy"]) .plain-note{color: rgb(213, 213, 215);}
:where(.app-route[data-route="privacy-policy"]) .policy-footer{padding-top: 24px; color: var(--volt-muted); font-size: var(--app-text-small);}
@media print {:where(.app-route[data-route="privacy-policy"]){background: rgb(255, 255, 255); color: rgb(34, 34, 34); padding: 0px;}
:where(.app-route[data-route="privacy-policy"]) .policy :is(h1, h2, h3, strong, a){color: rgb(17, 17, 17);}
:where(.app-route[data-route="privacy-policy"]) .back-link,:where(.app-route[data-route="privacy-policy"]) .policy-header img{display: none;}}
:where(.app-route[data-route="privacy-policy"]) .app-back-icon{display: inline-grid; place-items: center; width: 44px; min-height: 44px; padding: 0px; text-decoration: none; font-size: 24px;}
/* volt */
/* Volt presentation layer. Legacy variable aliases keep all existing views compatible.
 * Canonical reference: docs/design/specv2/theme.ts in bestrongr-ai-coach-app.
 * Locally bundled fonts and images are included in the PWA app shell.
 */
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_400Regular.ttf") format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: Barlow; src: url("/assets/fonts/Barlow_600SemiBold.ttf") format('truetype'); font-weight: 500 900; font-display: swap; }
@font-face { font-family: Anton; src: url("/assets/fonts/Anton_400Regular.ttf") format('truetype'); font-weight: 400 900; font-display: swap; }
@font-face { font-family: 'JetBrains Mono'; src: url("/assets/fonts/JetBrainsMono_400Regular.ttf") format('truetype'); font-weight: 400 700; font-display: swap; }
:root {
  /* Central mobile typography. Component rules consume these levels. */
  --app-text-small:15px;
  --app-text-body:17px;
  --app-text-action:17px;
  --app-text-section:22px;
  --app-text-title:28px;
  color-scheme: dark;
  --volt-bg: #0E0F10; --volt-surface: #17181B; --volt-inset: #131316;
  --volt-accent: #FFB800; --volt-accent-hover: #E6A600; --volt-ink: #0E0F10;
  --volt-tint: rgba(255,184,0,.14); --volt-line: rgba(255,255,255,.08);
  --volt-line-strong: rgba(255,255,255,.15); --volt-muted: #A0A0A4;
  --volt-danger: #FF5C5C;
  --bestrongr-blue: var(--volt-accent); --bestrongr-blue-dark: var(--volt-accent-hover);
  --bestrongr-black: var(--volt-bg); --bestrongr-dark: var(--volt-inset);
  --bestrongr-gray: var(--volt-surface); --bestrongr-text-gray: var(--volt-muted);
  --bestrongr-success: var(--volt-accent); --bestrongr-warning: var(--volt-accent); --bestrongr-danger: var(--volt-danger);
  --bs-body-bg: var(--volt-bg); --bs-body-color: #fff; --bs-body-font-family: Barlow, sans-serif;
  --bs-primary: #FFB800; --bs-primary-rgb: 255,184,0; --bs-success-rgb: 255,184,0;
  --bs-info-rgb: 255,184,0; --bs-warning-rgb: 255,184,0; --bs-danger-rgb: 255,92,92;
  --bs-dark-rgb: 23,24,27; --bs-secondary-color: var(--volt-muted);
  --bs-link-color: var(--volt-accent); --bs-link-hover-color: #FFD166;
  --bs-border-color: var(--volt-line-strong); --bs-border-radius: 10px;
}
html, body { background-color: var(--volt-bg); }
body { font-family: Barlow, sans-serif; color: #fff; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: inherit; }
::selection { background: var(--volt-accent); color: var(--volt-ink); }
.text-oswald, .slide-title, .hero-title, .card-title, .workout-title, .workout-name,
.exercise-name, .section-title, .coach-intro-name, .stat-value, .ai-stat-value,
.coach-header-info h3, .coach-period-choices h4 {
  font-family: Anton, sans-serif !important; font-weight: 400 !important;
  text-transform: uppercase; letter-spacing: .025em;
}
.page-header h1, .chat-header h1 { font-size:var(--app-text-title); }
.section-title { font-size:var(--app-text-section); }
.page-header, .chat-header, .workout-header, .day-modal-header {
  background: var(--volt-bg); border-bottom: 1px solid var(--volt-line);
}
.page-header { padding: 20px; }
.header-logo, .logo-small { width: 32px; height: 32px; object-fit: contain; border-radius: 0; }
.page-header > h1::before { content: ''; display: inline-block; width: 27px; height: 27px;
  background: url("/assets/images/volt/bestrongr-icon-bare.svg") center / contain no-repeat; vertical-align: -3px; margin-right: 12px; }
.text-muted-custom, .text-muted, .description-text { color: var(--volt-muted) !important; }
.card-meta, .hero-meta, .stat-label, .ai-stat-label, .profile-field-label, .data-label,
.set-number, .input-suffix, .day-name, .selected-week, .beta-badge, .exercise-list-title {
  font-family: 'JetBrains Mono', monospace; font-size:var(--app-text-small); letter-spacing: .025em;
}
.card-meta, .hero-meta, .stat-label, .ai-stat-label, .day-name, .beta-badge { text-transform: uppercase; }
.btn-primary, .btn-start, .btn-success, .btn-complete, .btn-bestrongr,
.send-btn, .coach-send, .coach-period-primary, .nav-arrow.primary {
  --bs-btn-bg: var(--volt-accent); --bs-btn-color: var(--volt-ink);
  --bs-btn-border-color: var(--volt-accent); --bs-btn-hover-bg: var(--volt-accent-hover);
  --bs-btn-hover-color: var(--volt-ink); --bs-btn-active-bg: var(--volt-accent-hover);
  --bs-btn-active-color: var(--volt-ink); --bs-btn-disabled-bg: var(--volt-accent);
  --bs-btn-disabled-color: var(--volt-ink); --bs-btn-disabled-border-color: var(--volt-accent);
  background: var(--volt-accent); color: var(--volt-ink); border-color: var(--volt-accent);
  font-weight: 600; box-shadow: none;
}
.btn-primary:hover, .btn-start:hover, .btn-success:hover, .coach-period-primary:hover,
.send-btn:not(:disabled):hover, .coach-send:not(:disabled):hover { background: var(--volt-accent-hover); color: var(--volt-ink); }
.btn-outline-primary, .btn-outline-success {
  --bs-btn-color: var(--volt-accent); --bs-btn-border-color: rgba(255,184,0,.5);
  --bs-btn-hover-color: var(--volt-ink); --bs-btn-hover-bg: var(--volt-accent);
  --bs-btn-hover-border-color: var(--volt-accent); --bs-btn-active-bg: var(--volt-accent); --bs-btn-active-color: var(--volt-ink);
}
.btn-danger { --bs-btn-bg: var(--volt-danger); --bs-btn-color: var(--volt-ink); }
.btn, .coach-period-primary, .coach-period-secondary { border-radius: 10px; }
.btn:not(.btn-sm):not(.btn-link), .coach-period-primary, .coach-period-secondary { min-height: 44px; }
.btn-start { min-height: 60px !important; font-size:var(--app-text-action); }
:where(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--volt-accent); outline-offset: 3px; }
.form-control, .form-select, .set-input, .edit-form textarea, .notes-textarea,
.chat-input, .coach-input { background-color: var(--volt-inset); border-color: var(--volt-line-strong); color: #fff; border-radius: 10px; }
.form-control:focus, .form-select:focus, .set-input:focus, .notes-textarea:focus,
.chat-input:focus, .coach-input:focus { background-color: var(--volt-inset); color: #fff; border-color: var(--volt-accent); box-shadow: 0 0 0 2px var(--volt-tint); }
textarea, .chat-input, .coach-input { font-size:var(--app-text-small); line-height: 1.5; }
input::placeholder, textarea::placeholder { color: var(--volt-muted); opacity: 1; }
.modal-content, .prompt-guide-modal, .day-modal, .section-card, .content-section,
.stat-card, .exercise-card, .set-card, .workout-card, .option-card, .info-card,
.mockup-container, .mockup-chat, .coach-speech-bubble, .ai-stat-box {
  background-color: var(--volt-surface); border-color: var(--volt-line-strong); border-radius: 14px;
}
.modal-header, .modal-footer, .profile-field, .data-item, .memory-item, .exercise-row { border-color: var(--volt-line); }
.progress-bar, .progress-bar-fill, .progress-bar-fill.complete, .generation-progress-bar { background: var(--volt-accent); }
.progress, .progress-bar-container { background: rgba(255,255,255,.08); }
/* Library: the existing cards and scroll rows, with the official training photography. */
.program-card-small { border: 1px solid var(--volt-line); border-radius: 14px; background: var(--volt-surface); }
.program-card-small .card-icon { height: 160px; background-color: var(--volt-inset); background-size: cover; background-position: center; }
.program-card-small[data-art] .card-icon { background-image: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55)), var(--program-art); }
.program-card-small[data-art] .card-icon > i { display: none; }
[data-art="strength"] { --program-art: url("/assets/images/volt/strength.webp"); }
[data-art="home"] { --program-art: url("/assets/images/volt/home.webp"); }
[data-art="hybrid"] { --program-art: url("/assets/images/volt/hybrid.webp"); }
[data-art="running"] { --program-art: url("/assets/images/volt/running.webp"); }
.program-card-small .card-body { padding: 16px; }
.program-card-small .card-title { font-size:var(--app-text-section); line-height: 1.25; }
.card-author { background: var(--volt-inset); border: 1px solid var(--volt-line-strong); backdrop-filter: none; }
.card-badge, .level-badge, .category-badge { background: rgba(255,255,255,.06); color: #D5D5D6; border: 1px solid var(--volt-line); }
.create-ai-card { background: var(--volt-inset); border: 1px dashed rgba(255,184,0,.4); border-radius: 14px; }
.continue-hero { background: var(--volt-surface); border: 1px solid rgba(255,184,0,.35); border-radius: 14px; }
.program-hero { background-color: var(--volt-surface); }
.program-hero[data-art] { background-image: linear-gradient(180deg,rgba(14,15,16,.2),rgba(14,15,16,.92)),var(--program-art); background-size: cover; background-position: center 40%; padding-top: 90px; }
.program-hero[data-art] .hero-icon { display: none; }
.hero-title { font-size:clamp(32px,8vw,48px); line-height: 1.15; }
.week-slider, .start-area, .input-area { background: var(--volt-bg); border-color: var(--volt-line); }
.day-cell.selected, .month-chip.active { background: var(--volt-accent); color: var(--volt-ink); border-color: var(--volt-accent); }
.day-cell.selected .day-name, .day-cell.selected .day-number { color: var(--volt-ink); }
.day-cell.selected.has-workout::after { background: var(--volt-ink); }
.workout-icon { background: var(--volt-tint); color: var(--volt-accent); border-radius: 10px; }
.stat-card.active { border-color: var(--volt-accent); background: var(--volt-tint); }
.stat-value { font-size:44px; line-height: 1.15; }
.set-input-large { font-family: 'JetBrains Mono',monospace; font-size:var(--app-text-section); }
.set-check-btn.checked { background: var(--volt-accent); border-color: var(--volt-accent); color: var(--volt-ink); }
.set-check-btn.checked i { color: var(--volt-ink); }
.exercise-prescription, .workout-description { font-size:var(--app-text-body); line-height: 1.5; }
/* The same coach identity and conversation surfaces in David, FAB and continuation. */
.coach-overlay { backdrop-filter: none; }
.coach-chat { background: var(--volt-bg); border: 1px solid var(--volt-line-strong); border-radius: 14px 14px 0 0; }
.coach-header, .coach-input-container { border-color: var(--volt-line); background: var(--volt-bg); }
.coach-avatar, .coach-intro-avatar { border-color: var(--volt-accent); }
.coach-message-content { border-radius: 14px; }
.coach-message.user .coach-message-content, .message-user .message-bubble { background: var(--volt-surface); color: #fff; border: 1px solid var(--volt-line-strong); padding:12px 16px; border-radius:18px 18px 4px 18px; line-height:1.5; font-size:var(--app-text-body); }
.coach-message.assistant .coach-message-content { background: var(--volt-surface); }
.coach-period-secondary { background: var(--volt-surface); color: #fff; border-color: var(--volt-line-strong); }
.coach-period-status { color: var(--volt-muted); font-size:var(--app-text-small); }
.coach-fab { background: var(--volt-accent); box-shadow: 0 3px 14px rgba(0,0,0,.25); }
.coach-fab i, .coach-send i, .send-btn i { color: var(--volt-ink); }
.coach-period-loader { padding: 24px 0 8px; text-align: center; }
.volt-loading-mark { display: flex; justify-content: center; gap: 7px; height: 38px; margin-bottom: 16px; }
.volt-loading-mark span { display: block; width: 10px; height: 32px; transform: skew(-12deg); background: var(--volt-accent); animation: volt-pulse 1.4s ease-in-out infinite; }
.volt-loading-mark span:nth-child(2) { animation-delay: .16s; }
.volt-loading-mark span:nth-child(3) { animation-delay: .32s; }
.coach-period-elapsed { font:var(--app-text-small) 'JetBrains Mono', monospace; color: var(--volt-muted); }
@keyframes volt-pulse { 0%,100% { opacity: .25; } 50% { opacity: 1; } }
/* Flat navigation; keep all five destinations and the familiar create action. */
body .bottom-nav { height: calc(64px + env(safe-area-inset-bottom)); background: var(--volt-bg); border-color: var(--volt-line); }
body .bottom-nav-item { font-family: 'JetBrains Mono',monospace; font-size:var(--app-text-small); color: var(--volt-muted); }
body .bottom-nav-item.active { color: var(--volt-accent); }
body .bottom-nav-item.featured { margin-top: 0; }
body .bottom-nav-item.featured .featured-icon { width: 38px; height: 30px; border-radius: 8px; background: var(--volt-accent); }
body .bottom-nav-item.featured .featured-icon i { color: var(--volt-ink); }
body .bottom-nav-item.featured span { color: var(--volt-muted); }
body .bottom-nav-item.featured.active span { color: var(--volt-accent); }
/* Welcome and legacy links share the new brand without changing onboarding. */
.slide-header .slide-title { font-size:clamp(28px,7vw,38px); }
.slide-header:first-child { border-color: var(--volt-line); }
.landing-logo { object-fit: contain; }
.volt-wordmark { display: block; width: min(260px,75vw); height: auto; margin: 0 auto 24px; }
.nav-arrow.primary { color: var(--volt-ink); }
@media (prefers-reduced-motion: reduce) {
  .volt-loading-mark span { animation: none; opacity: 1; }
  .coach-chat, .coach-overlay, .day-cell, .btn { transition: none; }
}
.option-card-icon, .cta-button { color: var(--volt-ink); }
.beta-badge, .app-promo-badge-large { color: var(--volt-accent); }
.coach-continuation .coach-period-loader[hidden] { display: none; }
.coach-chat[aria-busy="true"] { cursor: progress; }
.page-header > h1 > i { display: none; }
.empty-day .btn i, .no-program .btn i { display: inline; font-size: 1.2em; margin: 0 6px 0 0; color: inherit; }
.program-card-small .card-title { white-space: normal; overflow: visible; text-overflow: clip; min-height: 2.5em; }
.section-header h2, .section-header .section-name { font-family: Anton, sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .025em; }
.continue-hero .hero-icon i { color: var(--volt-ink); }
.content-wrapper > .content-section { border-bottom: 0; margin-bottom: 12px; }
.edit-form .form-control, .edit-form .form-select { background-color: var(--volt-inset) !important; border-color: var(--volt-line-strong) !important; }
.stat-card .stat-value { font-size:clamp(25px,7vw,36px); overflow-wrap: anywhere; }
.workout-icon[class*="type-"] { background: var(--volt-tint); }
.workout-icon i { color: var(--volt-accent); }
.badge.bg-success, .badge.bg-primary, .badge.bg-warning { color: var(--volt-ink) !important; }
.card-badge.beginner, .card-badge.intermediate, .card-badge.advanced,
.level-badge.beginner, .level-badge.intermediate, .level-badge.advanced { background: rgba(255,255,255,.06); color: #D5D5D6; }
.continue-hero .bi-play-fill { color: var(--volt-ink); }
.card-badge[class*="level-"], .level-badge[class*="level-"] { background: rgba(255,255,255,.06); color: #D5D5D6; }


/* Readability baseline: no interface copy below the central secondary level. */
html { font-size:var(--app-text-small); }
body { font-size:var(--app-text-body); --volt-muted: #B8B8BD; }
small, .small, .badge, sub, sup { font-size:var(--app-text-small); }
body .program-description-content, body .description-text, body .workout-description,
body .exercise-instructions, body .coach-message, body .ai-suggestion-text { font-size:var(--app-text-body); line-height: 1.6; }
body .bottom-nav { height: calc(84px + env(safe-area-inset-bottom)); }
body:has(.bottom-nav:not([hidden])) { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
body .bottom-nav-item { font-family: Barlow, sans-serif; font-size:var(--app-text-small); line-height: 1.2; min-width: 0; flex: 1; padding: 6px 2px; }
body .bottom-nav-item span { white-space: normal; overflow-wrap: anywhere; }
body .bottom-nav-item i { font-size: 25px; }
body .card-meta, body .hero-meta { white-space: normal; overflow-wrap: anywhere; }
body .card-badge, body .badge { white-space: normal; line-height: 1.35; }
body .program-card-small .card-title { max-height: none; }

/* Reusable semantic text roles; prefer these when composing a new surface. */
.app-text-body {font-size:var(--app-text-body);line-height:1.6;}
.app-text-meta {font-size:var(--app-text-small);line-height:1.45;}
.app-text-action {font-size:var(--app-text-action);font-weight:600;line-height:1.3;}
.app-text-section {font-size:var(--app-text-section);font-weight:600;line-height:1.25;}
.app-text-title {font-size:var(--app-text-title);font-weight:600;line-height:1.15;}

/* Base roles also cover plain HTML and Bootstrap controls. */
body {font-size:var(--app-text-body);}
p, li {line-height:1.6;}
button, .btn {--bs-btn-font-size:var(--app-text-action);font-size:var(--app-text-action);font-weight:600;}

/* app-dialog */
/* Shared informational dialog: stable header/action, scrollable content. */
dialog.app-dialog {
  box-sizing: border-box;
  width: min(560px, calc(100% - 24px));
  max-width: calc(100% - 24px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 1px solid var(--volt-line-strong, #393b3d);
  border-radius: 24px;
  background: var(--volt-surface, #17181b);
  color: #f5f5f5;
  overflow: hidden;
  overscroll-behavior: contain;
  font:var(--app-text-body)/1.5 Barlow, sans-serif;
}
dialog.app-dialog[open] { display: flex; flex-direction: column; }
.app-dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.app-dialog-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 16px 20px;
  border-bottom: 1px solid var(--volt-line-strong, #393b3d); flex-shrink: 0;
}
.app-dialog-title { margin: 0; min-width: 0; font:600 var(--app-text-title)/1.2 Barlow, sans-serif; text-transform: none; overflow-wrap: anywhere; }
.app-dialog-close {
  display: grid; place-items: center; flex-shrink: 0;
  width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
  background: transparent; color: inherit; font-size:var(--app-text-section); cursor: pointer;
}
.app-dialog-body { overflow-y: auto; overscroll-behavior: contain; padding: 20px; min-height: 0; overflow-wrap: anywhere; }
.app-dialog-footer {
  display: grid; gap: 10px; padding: 12px 20px max(16px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--volt-line-strong, #393b3d); flex-shrink: 0;
}
.app-dialog .app-dialog-primary, .app-dialog .app-dialog-secondary {
  display: block; box-sizing: border-box; text-align: center; text-decoration: none;
  width: 100%; min-height: 48px; padding: 12px; border: 0; border-radius: 12px;
  font:600 var(--app-text-action)/1.4 Barlow, sans-serif; cursor: pointer;
}
.app-dialog-primary { background: var(--volt-accent, #ffb800); color: var(--volt-ink, #111); }
.app-dialog-secondary { background: var(--volt-inset, #131316); color: inherit; }
.app-dialog button:disabled { opacity: .45; cursor: default; }
.app-dialog :is(button, summary, textarea):focus-visible { outline: 2px solid var(--volt-accent, #ffb800); outline-offset: 3px; }
.app-dialog [hidden] { display: none !important; }
/* Information and timer panels share one frame; only sizing differs. */
.app-dialog-sheet, .app-dialog-timer, .app-dialog-alert { --app-dialog-duration: 300ms; }
dialog.app-dialog-sheet, dialog.app-dialog-timer {
  position: fixed; inset: auto 0 var(--app-viewport-bottom, 0px);
  width: min(680px, 100%); max-width: 100%;
  max-height: calc(var(--app-viewport-height, 100dvh) - env(safe-area-inset-top) - 12px);
  margin: 0 auto; border-radius: 22px 22px 0 0; border:0; z-index: 1200;
}
.app-information-panel .app-dialog-header > div { min-width: 0; }
.app-information-panel .app-dialog-title { font-size:var(--app-text-title); }
.app-dialog-label { margin: 0 0 4px; color: #a8a8ae; font-size:var(--app-text-small); }
.app-information-panel .app-dialog-body { font-size:var(--app-text-body); line-height: 1.6; }
.app-information-panel .app-dialog-body section + section { margin-top: 24px; }
.app-information-panel h3 { color: var(--volt-accent, #ffb800); font-size:var(--app-text-section); }
.app-information-panel img { max-width: 100%; height: auto; }
.app-information-panel .markdown-table { max-width: 100%; overflow: auto; }
dialog.app-dialog-timer { z-index: 1300; }
dialog.app-dialog-alert { position: fixed; inset: 12px; margin: auto; height: fit-content; }
dialog.app-dialog-alert[open] { animation: app-dialog-in var(--app-dialog-duration) ease both; }
dialog.app-dialog-sheet[open], dialog.app-dialog-timer[open] { animation: app-sheet-in var(--app-dialog-duration) cubic-bezier(.2,.8,.2,1) both; }
dialog.app-dialog-sheet[data-closing="true"], dialog.app-dialog-timer[data-closing="true"] { animation: app-sheet-out var(--app-dialog-duration) cubic-bezier(.4,0,.8,.2) both; }
.app-dialog-sheet::backdrop { animation: app-backdrop-in 250ms ease both; }
.app-dialog-sheet[data-closing="true"]::backdrop { animation: app-backdrop-out 250ms ease both; }
@keyframes app-sheet-in { from { transform: translateY(calc(100% + 40px)); } to { transform: translateY(0); } }
dialog.app-dialog[data-dragging="true"] { animation:none; transform:translateY(var(--app-sheet-drag, 0px)); }
@keyframes app-sheet-out { from { transform: translateY(var(--app-sheet-drag, 0px)); } to { transform: translateY(calc(100% + 40px)); } }
@keyframes app-backdrop-in { from { background: #0000; } to { background: #0009; } }
@keyframes app-backdrop-out { from { background: #0009; } to { background: #0000; } }
.workout-outcome-dialog { width:min(560px,calc(100% - 24px)); max-height:min(760px,calc(100dvh - 24px)); }
.workout-outcome-coach { align-items:center; }
.workout-outcome-coach img { width:64px; height:64px; flex:0 0 64px; border-radius:50%; object-fit:cover; border:2px solid #ffb800; }
.workout-outcome-coach p { margin:0 0 3px; color:#ffb800; font-weight:700; }
.workout-outcome-dialog fieldset { margin:0; padding:0; border:0; }
.workout-outcome-dialog legend { margin-bottom:10px; font-weight:650; }
.workout-outcome-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.workout-outcome-options label { position:relative; min-width:0; }
.workout-outcome-options input { position:absolute; opacity:0; }
.workout-outcome-options span { display:grid; grid-template-rows:14px 1fr; align-items:center; justify-items:center; gap:6px; box-sizing:border-box; height:100%; min-height:76px; padding:8px 4px; font-size:var(--app-text-small); overflow-wrap:normal; border:1px solid #4a4a50; border-radius:12px; text-align:center; cursor:pointer; }
.workout-outcome-options input:checked + span { border-color:#ffb800; background:#ffb80012; color:#f5f5f5; font-weight:600; }
.workout-outcome-options input:focus-visible + span { outline:2px solid #ffb800; outline-offset:3px; }
.workout-outcome-notes { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:8px; row-gap:8px; margin-top:22px; font-weight:650; }
.workout-outcome-notes span { float:right; color:#aaa; font-size:var(--app-text-small); font-weight:400; }
.workout-outcome-notes textarea { grid-column:1/-1; box-sizing:border-box; width:100%; min-height:128px; margin-top:8px; padding:13px; resize:vertical; border:1px solid #4a4a50; border-radius:12px; background:#0e0f10; color:#fff; font:inherit; }
.workout-outcome-error { min-height:1.4em; margin:10px 0 0; color:#ffb2a8; }
.workout-date-choices { display: grid; gap: 10px; }
.workout-date-choice { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; min-height: 54px; padding: 12px 14px; border: 1px solid var(--volt-line-strong, #393b3d); border-radius: 12px; background: var(--volt-inset, #131316); color: inherit; text-align: left; }
.workout-date-choice span { color: var(--volt-muted, #a8a8a8); font-size:var(--app-text-small); }
.workout-date-custom { display: grid; gap: 8px; font-weight: 600; }
.workout-date-custom input { min-height: 48px; padding: 10px 12px; border: 1px solid var(--volt-line-strong, #393b3d); border-radius: 10px; background: var(--volt-inset, #131316); color: inherit; font:inherit; color-scheme: dark; }
.workout-date-error { min-height: 1.5em; margin: 10px 0 0; color: #ff8f8f; }
@media (prefers-reduced-motion: reduce) {
  dialog.app-dialog-alert, dialog.app-dialog-sheet, dialog.app-dialog-timer,
  .app-dialog-sheet::backdrop { animation-duration: 1ms !important; }
}

.workout-outcome-options span::before { content:''; width:14px; height:14px; flex:0 0 14px; border:1px solid #929298; border-radius:50%; box-sizing:border-box; }
.workout-outcome-options input:checked + span::before { border-color:#ffb800; background:radial-gradient(circle,#ffb800 0 4px,transparent 4.5px); }
dialog.app-dialog-alert[data-closing="true"] { animation:app-dialog-out var(--app-dialog-duration) ease both; }
@keyframes app-dialog-in { from { opacity:0; } to { opacity:1; } }
@keyframes app-dialog-out { from { opacity:1; } to { opacity:0; } }

.workout-save-coach { width:56px; height:56px; flex:0 0 56px; border-radius:50%; object-fit:cover; border:2px solid #ffb800; }
.workout-save-label { margin:0 0 3px; color:#ffb800; font-weight:600; }
.workout-outcome-dialog .app-dialog-header > div { flex:1; min-width:0; }
.workout-outcome-dialog .app-dialog-title { font-size:var(--app-text-title); }
.workout-outcome-dialog fieldset { margin:22px 0 18px; }
.workout-outcome-dialog .performance-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.workout-outcome-dialog .performance-fields label { display:grid; gap:6px; }
.performance-clock { display:grid; text-align:center; gap:6px; }
.performance-clock output { font:600 48px/1.2 'JetBrains Mono',monospace; }

dialog.app-dialog-timer .app-dialog-footer { grid-template-columns:repeat(2,minmax(0,1fr)); }
dialog.app-dialog-timer .app-dialog-footer > :only-child { grid-column:1/-1; }

.app-dialog-conversation .app-dialog-body { display:flex; flex-direction:column; padding:0; }
.app-dialog-conversation.app-dialog-expanded .app-dialog-body { flex:1; }
.app-dialog-conversation.app-dialog-expanded { height:calc(var(--app-viewport-height, 100dvh) * .8); }
.app-dialog-conversation .app-dialog-footer { padding:0; display:block; }
.app-dialog-conversation .coach-messages { min-height:0; flex:1; }

.app-dialog-input{display:block;width:100%;box-sizing:border-box;padding:12px;margin-top:8px;border:1px solid var(--volt-line-strong,#393b3d);border-radius:10px;background:var(--volt-inset,#131316);color:inherit;font:inherit}

.workout-outcome-options:has(> label:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.strength-save-summary { margin:0 0 20px; font-size:var(--app-text-body); line-height:1.5; }

dialog.app-dialog-timer .app-dialog-footer > :not([hidden]):only-of-type,
dialog.app-dialog-timer .app-dialog-footer:has(> [hidden]) > :not([hidden]) { grid-column:1/-1; }

.app-sheet-header { position:relative; padding-top:28px; touch-action:none; user-select:none; }
.app-sheet-handle { position:absolute; width:36px; height:4px; background:#515257; border-radius:4px; top:10px; left:calc(50% - 18px); }
dialog.workout-outcome-dialog.app-dialog-sheet { height:calc(var(--app-viewport-height,100dvh) - env(safe-area-inset-top) - 12px); }
.workout-outcome-dialog .app-dialog-body { flex:1; }
.workout-check-counts { display:flex; gap:32px; margin:28px 0; }
.workout-check-counts div { display:grid; color:#b8b8bd; font-size:var(--app-text-small); }
.workout-check-counts strong { font-size:36px; color:#f5f5f5; line-height:1.2; }
.workout-check-bubble { position:relative; padding:18px; border-radius:18px 18px 18px 4px; background:#232427; font-size:var(--app-text-body); line-height:1.5; white-space:pre-line; }
.workout-check-demo { display:flex; align-items:center; gap:16px; margin:30px 0; padding:18px; border:1px solid #393b3d; border-radius:14px; }
.workout-check-demo span { flex:1; text-align:center; }
.workout-check-demo i { padding:10px; border:1px solid #5b5c62; border-radius:10px; animation:set-check-demo 2.8s ease infinite; }
@keyframes set-check-demo { 0%,35%,100% {color:#888;background:transparent} 50%,80% {color:#101113;background:#ffb800} }
.workout-check-actions { grid-template-columns:1fr 1fr; }
@media(prefers-reduced-motion:reduce) {.workout-check-demo i {animation:none;color:#ffb800;} }
.workout-save-split { display:flex; position:relative; width:100%; border-radius:16px; background:#ffb800; }
.workout-save-split > button:first-child { flex:1; min-width:0; width:auto!important; margin:0; border-radius:16px 0 0 16px!important; }
.workout-save-split > .workout-save-more { flex:0 0 48px; min-height:56px; padding:0; border:0; border-left:1px solid #0003; border-radius:0 16px 16px 0; background:#ffb800; color:#111; font-size:var(--app-text-body); }
.workout-save-menu { position:fixed; inset:auto; margin:0; padding:6px; border:1px solid #393b3d; border-radius:14px; background:#232427; color:#f5f5f5; box-shadow:0 8px 30px #0006; }
.workout-save-menu:popover-open { animation:app-dialog-in 180ms ease-out; }
.workout-save-menu button { width:100%; min-height:48px; background:none; border:0; color:inherit; font:500 var(--app-text-action) Barlow,sans-serif; text-align:left; padding:12px; }
.program-workout-card { position:relative; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:14px; background:#17181b; padding:18px; border-radius:18px; margin:12px 0; cursor:pointer; color:#f5f5f5; }
.program-workout-icon { display:grid; place-items:center; width:46px; height:46px; background:#ffb80020; color:#ffb800; border-radius:12px; font-size:22px; }
.program-workout-title { min-width:0; align-self:center; }
.program-workout-title h3 { margin:0; font:600 var(--app-text-section)/1.3 Barlow,sans-serif; text-transform:none; letter-spacing:0; }
.program-workout-title small { display:block; color:#8a8a90; font:400 var(--app-text-small)/1.4 Barlow,sans-serif; margin:2px 0 4px; }
.program-workout-more { border:0; border-radius:10px; background:none; color:#8a8a90; font-size:var(--app-text-section); width:44px; height:44px; margin:-8px -10px 0 0; }
.program-workout-bottom { grid-column:1/-1; border-top:1px solid #ffffff14; padding-top:14px; display:flex; gap:9px; align-items:center; font:400 var(--app-text-small) Barlow,sans-serif; color:#8a8a90; }
.program-workout-bottom strong { margin-left:auto; color:#ffb800; font-size:var(--app-text-small); font-weight:600; }
.program-workout-status { display:inline-grid; place-items:center; box-sizing:border-box; width:22px; height:22px; border:2px solid #3a3a40; border-radius:50%; flex-shrink:0; font-size:var(--app-text-small); }
.program-workout-status.done { background:#ffb800; border-color:#ffb800; color:#0e0f10; }
.program-workout-status.skipped { background:#2a2b2e; border:0; color:#8a8a90; }
.program-workout-status.missed { border-style:dashed; border-color:#6a6a70; }
.program-workout-card:is(.done,.skipped) h3, .program-workout-card:is(.done,.skipped) .program-workout-bottom strong { color:#8a8a90; }
.program-workout-card.is-compact { grid-template-columns:26px minmax(0,1fr) auto; padding:14px 16px; border-radius:14px; margin:8px 0; align-items:center; }
.program-workout-card.is-compact .program-workout-status { width:26px;height:26px; }
.program-workout-card.is-compact.today { box-shadow:inset 0 0 0 1.5px #ffb800; }
.program-workout-card.is-compact.today .program-workout-status { border-color:#ffb800; }
.program-workout-card.is-compact h3 { font-size:var(--app-text-section); font-weight:500; }
.program-workout-card.is-compact.today h3 {font-weight:600;}
.program-workout-card.is-compact small {color:#6a6a70;margin:2px 0 0;}
.program-workout-card.is-compact.missed small {color:#b8b8bd;}
.program-workout-chevron {font-size:16px;color:#6a6a70;}
.program-action-row { display:block;width:100%;min-height:56px;border:0;border-bottom:1px solid #ffffff14;background:none;color:inherit;font:600 var(--app-text-action) Barlow,sans-serif; }
.program-action-row:first-of-type {color:#ffb800;}
.program-day-heading {margin:22px 0 8px 4px;font:600 var(--app-text-small) Barlow,sans-serif;color:#8a8a90;}
.program-day-heading.is-today {color:#ffb800;}
.program-redesign {max-width:640px;margin:0 auto;padding:0 4px;font-family:Barlow,sans-serif;}
.program-redesign h1 {font:700 var(--app-text-title)/1.15 Barlow,sans-serif;letter-spacing:-.01em;margin:14px 0 6px;}
.program-subtitle {color:#8a8a90;font-size:var(--app-text-small);margin:0;}
.program-phase-card {width:100%;text-align:left;background:#17181b;color:#fff;border:0;border-radius:16px;padding:16px;margin-top:22px;}
.program-phase-card small {color:#8a8a90;font-size:var(--app-text-small);}
.program-phase-card>span {display:flex;align-items:center;gap:12px;margin-top:2px;}
.program-phase-card strong {font-size:var(--app-text-body);flex:1;}
.program-phase-card b {color:#ffb800;font-size:var(--app-text-small);font-weight:600;}
.program-phase-segments {display:flex;gap:4px;margin-top:14px;}
.program-phase-segments i {height:6px;border-radius:3px;}
.program-week-nav {display:flex;align-items:flex-end;gap:0;margin-top:0;min-height:52px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:calc(50% - 33px);overscroll-behavior-x:contain;}
.program-week-nav::-webkit-scrollbar {display:none;}
.program-week-nav button {background:none;border:0;color:#8a8a90;flex:0 0 66px;width:66px;scroll-snap-align:center;min-height:52px;padding:0 0 6px;font:500 var(--app-text-action) Barlow,sans-serif;}
.program-week-nav button[aria-current] {color:white;font-size:34px;font-weight:700;}
.program-week-label {margin-top:30px;text-align:center;white-space:nowrap;line-height:1.5;color:#ffb800;font-size:var(--app-text-small);font-weight:600;letter-spacing:.04em;}
.program-week-caption {text-align:center;color:#8a8a90;font-size:var(--app-text-small);margin:4px 0;}
.program-week-caption span {color:#ffb800;font-size:var(--app-text-small);background:#ffb80020;border-radius:5px;padding:2px 7px;}
.program-back-week {display:block;margin:8px auto 0;min-height:44px;background:none;border:0;color:#ffb800;font:600 var(--app-text-small) Barlow,sans-serif;}
.program-rest-line {color:#6a6a70;font-size:var(--app-text-small);margin:24px 0 24px 4px;}
.program-plan-tabs {display:flex;flex:1;padding:3px;background:#0e0f10;border-radius:10px;}
.program-plan-tabs button {flex:1;border:0;min-height:44px;background:none;color:#8a8a90;border-radius:8px;font:600 var(--app-text-action) Barlow,sans-serif;}
.program-plan-tabs button[aria-selected=true] {background:#2a2b2e;color:white;}
.program-phase-detail {background:#0e0f10;border-radius:14px;margin-bottom:8px;overflow:hidden;}
.program-phase-detail.is-current {box-shadow:inset 0 0 0 1px #ffb80060;}
.program-phase-detail summary {display:flex;align-items:center;gap:14px;min-height:44px;padding:14px 16px;cursor:pointer;list-style:none;}
.program-phase-detail summary>div {flex:1;}.program-phase-detail summary small {display:block;font-size:var(--app-text-small);color:#8a8a90;}
.program-phase-detail>div {padding:0 16px 16px 58px;color:#b8b8bd;font-size:var(--app-text-body);line-height:1.55;}
.program-phase-detail summary::-webkit-details-marker {display:none;}
.program-phase-detail summary strong {font-size:var(--app-text-small);font-weight:600;}
.program-phase-number {width:28px;height:28px;border:1px solid #3a3a40;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:var(--app-text-small);}
.program-phase-detail.is-done .program-phase-number {background:#ffb800;color:#0e0f10;border-color:#ffb800;}
.program-phase-detail[open] summary>i {transform:rotate(180deg);}
.program-chunk-status {display:flex;justify-content:space-between;gap:12px;font-size:var(--app-text-small);margin:12px 0 0;}
.program-next-period {background:#17181b;border-radius:18px;padding:22px 20px;margin-top:20px;}
.program-next-period h3 {font:600 var(--app-text-section) Barlow,sans-serif;margin:14px 0 6px;}
.program-next-period p {color:#b8b8bd;font-size:var(--app-text-body);line-height:1.5;}
.program-next-period button {width:100%;min-height:52px;background:#ffb800;color:#0e0f10;border:0;border-radius:12px;font:600 var(--app-text-action) Barlow,sans-serif;margin-top:12px;}
.program-next-period button:disabled {background:#232427;color:#6a6a70;}
.program-next-period small {display:block;text-align:center;color:#8a8a90;font-size:var(--app-text-small);margin-top:8px;}

.workout-check-reserve {visibility:hidden;}
.workout-check-typed {position:absolute;inset:18px;}
#program-header.program-redesign {padding:0 20px;}

/* Claude program sheet: tabs stay in the shared draggable header. */
dialog.program-details-sheet {height:calc(var(--app-viewport-height,100dvh) * .8);}
.program-details-sheet .app-dialog-body {padding:18px 20px 30px;flex:1;}
.program-details-sheet .app-dialog-header {gap:12px;}
.program-author {display:flex;align-items:center;gap:12px;}
.program-author img {width:40px;height:40px;border-radius:50%;object-fit:cover;}
.program-author small,.program-detail-label {display:block;font-size:var(--app-text-small);color:#8a8a90;}
.program-author strong {display:block;font-size:var(--app-text-small);font-weight:600;}
.program-detail-label {margin-top:20px;margin-bottom:6px;}
.program-goal {font-size:var(--app-text-small);line-height:1.5;}
.program-facts {margin:18px 0 0;background:#0e0f10;border-radius:14px;overflow:hidden;}
.program-facts>div {display:flex;gap:14px;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #ffffff0f;font-size:var(--app-text-small);}
.program-facts>div:last-child {border-bottom:0;}
.program-facts dt {font-weight:400;color:#8a8a90;}
.program-facts dd {margin:0;text-align:right;}
.program-guidelines {font-size:var(--app-text-body);line-height:1.55;color:#b8b8bd;}
.program-details-sheet [data-pane=manage] .program-action-row {border:1px solid #ffffff26;border-radius:12px;min-height:52px;margin-top:10px;font-size:var(--app-text-action);color:#f5f5f5;}
.program-details-sheet [data-pane=manage] [data-manage=end] {border-color:#ff6b6b59;color:#ff6b6b;}
#day-content .selected-date {font:700 var(--app-text-title)/1.2 Barlow,sans-serif;letter-spacing:-.01em;}
#day-content .selected-week {font:400 var(--app-text-small)/1.4 Barlow,sans-serif;color:#8a8a90;}

.program-phase-progress {margin-top:14px;}
.program-phase-progress progress {display:block;width:100%;height:5px;appearance:none;border:0;border-radius:3px;background:#2a2b2e;overflow:hidden;}
.program-phase-progress progress::-webkit-progress-bar {background:#2a2b2e;}
.program-phase-progress progress::-webkit-progress-value {background:#ffb800;}
.program-phase-progress progress::-moz-progress-bar {background:#ffb800;}
.program-phase-progress small {display:block;color:#6a6a70;font-size:var(--app-text-small);margin-top:6px;}
.program-details-sheet [data-pane=manage] .program-action-row {text-align:left;padding:0 16px;}
.program-details-sheet [data-manage] i {margin-right:8px;}

.app-information-panel .btn {max-width:100%;white-space:normal;text-align:left;}

/* coach-chat */
/**
 * Coach Chat UI Styles
 * Floating button + overlay chat window
 */

/* Floating Chat Button */
.coach-fab {
  position: fixed;
  bottom: calc(12px + env(safe-area-inset-bottom));
  right: 20px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FFB800 0%, #E6A600 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(255, 184, 0, 0.4);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  transition: transform 0.2s, box-shadow 0.2s;
}

body:has(#bottom-nav:not([hidden])) .coach-fab {
  bottom: calc(var(--app-nav-height, 84px) + env(safe-area-inset-bottom) + 12px);
}

.coach-fab:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 16px rgba(255, 184, 0, 0.5);
}

.coach-fab:active {
  transform: scale(0.95);
}

.coach-fab i {
  font-size: 24px;
  color: white;
}

/* Unread indicator */
.coach-fab .unread-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 18px;
  height: 18px;
  background: #FF5C5C;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:var(--app-text-small);
  font-weight: 600;
  color: white;
}

.coach-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #2B2C30;
  flex-shrink: 0;
}

.coach-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.coach-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #FFB800;
}

.coach-header-info h3 {
  margin: 0;
  font-size:var(--app-text-section);
  font-weight: 600;
  color: white;
}

.coach-header-info span {
  font-size:var(--app-text-small);
  color: #A0A0A4;
}



.coach-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* Chat Messages */
.coach-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  max-height: none;
  overscroll-behavior: contain;
}

.coach-message {
  min-width: 0;
  flex-shrink: 0;
  display: flex;
  gap: 10px;
  max-width: 85%;
}

.coach-message.user {
  align-self: flex-end;
  flex-direction: row-reverse;
}

.coach-message.assistant {
  align-self: flex-start;
}

.coach-message-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.coach-message-content {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px 14px;
  border-radius: 16px;
  font-size:var(--app-text-small);
  line-height: 1.5;
}

.coach-message.assistant .coach-message-content {
  background: #2B2C30;
  color: white;
  border-bottom-left-radius: 4px;
}

/* Markdown in messages */
.coach-message-content h5 {
  font-size:var(--app-text-section);
  font-weight: 600;
  margin: 12px 0 8px 0;
  color: white;
}

.coach-message-content h5:first-child {
  margin-top: 0;
}

.coach-message-content ul {
  margin: 8px 0;
  padding-left: 20px;
}

.coach-message-content li {
  margin-bottom: 4px;
}

.coach-message-content strong {
  color: #fff;
}

/* Typing indicator */
.coach-typing {
  display: flex;
  gap: 10px;
  align-self: flex-start;
}

/* Chat Input */
.coach-input-container {
  display: flex;
  gap: 10px;
  padding: 12px 20px 24px;
  border-top: 1px solid #2B2C30;
  background: #17181B;
  flex-shrink: 0;
}

.coach-input {
  flex: 1;
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  max-height: 160px;
  resize: none;
  overflow-y: auto;
  font-family: inherit;
  line-height: 22px;
  background: #2B2C30;
  border: 1px solid #3a3a3a;
  border-radius: 24px;
  padding: 10px 16px;
  font-size:var(--app-text-small);
  color: white;
  outline: none;
  transition: border-color 0.2s;
}

.coach-input:focus {
  border-color: #FFB800;
}

.coach-input::placeholder {
  color: #6e6e73;
}

.coach-send {
  flex-shrink: 0;
  align-self: flex-end;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #FFB800;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}

.coach-send:hover {
  background: #E6A600;
}

.coach-send:active {
  transform: scale(0.95);
}

.coach-send:disabled {
  background: #3a3a3a;
  cursor: not-allowed;
}

.coach-send i {
  font-size: var(--app-text-body);
  color: white;
}

/* Clear chat button */
.coach-clear {
  background: none;
  border: none;
  color: #A0A0A4;
  font-size:var(--app-text-small);
  padding: 4px 8px;
  cursor: pointer;
  margin-left: auto;
}

.coach-clear:hover {
  color: #FF5C5C;
}

/* Empty state */
.coach-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
}

.coach-empty-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 16px;
  border: 3px solid #FFB800;
}

.coach-empty h4 {
  margin: 0 0 8px;
  font-size:var(--app-text-section);
  color: white;
}

.coach-empty p {
  margin: 0;
  font-size:var(--app-text-small);
  color: #A0A0A4;
  max-width: 280px;
}

/* Shared chat accessibility and multiline messages. */
.coach-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.coach-message.user .coach-message-content { white-space: pre-wrap; }
.coach-message-content { overflow-wrap: anywhere; }
.coach-header-left { min-width: 0; }
.coach-header-info { min-width: 0; }
.coach-header-info span { display: block; overflow-wrap: anywhere; }


.coach-period-choices { padding: 24px 20px max(24px, env(safe-area-inset-bottom)); overflow-y: auto; }
.coach-period-choices h4 { margin: 0 0 10px; font-size:var(--app-text-section); color: white; }
.coach-period-choices p { margin: 0 0 24px; color: #aaa; font-size:var(--app-text-small); line-height: 1.5; }
.coach-period-primary, .coach-period-secondary { width: 100%; border-radius: 12px; padding: 14px 16px; font:inherit;font-size:var(--app-text-action);font-weight:600; font-size:var(--app-text-small); line-height: 1.35; cursor: pointer; }
.coach-period-primary { background: #FFB800; color: #111; border: 1px solid #FFB800; }
.coach-period-secondary { background: transparent; color: white; border: 1px solid #444; margin-top: 12px; }
.coach-period-footer { flex-shrink: 0; }
.coach-period-footer:has(> :not([hidden])) { padding: 12px 20px; }
.coach-period-status { color: #ccc; white-space: pre-wrap; font-size:var(--app-text-small); line-height: 1.5; margin: 8px 0; }


/* An inset input sits on the drawer floor, separate from the scrolling transcript. */
.coach-composer-dock{flex:none;padding:8px 12px max(12px,env(safe-area-inset-bottom));background:#101113;border-top:1px solid #2b2c30}
.coach-keyboard-open .coach-composer-dock{padding-bottom:8px}
.coach-composer-dock[hidden]{display:none!important}
.coach-composer-dock .media-composer{border-radius:16px}
.coach-composer-dock .chat-attachments{max-height:104px}
.coach-keyboard-open .coach-composer-dock textarea{max-height:clamp(44px,calc(var(--chat-viewport-height,100dvh) * .2),96px)!important}


.coach-keyboard-open .coach-composer-dock .chat-attachment{flex-basis:56px;width:56px;min-height:56px}
.coach-keyboard-open .coach-composer-dock .chat-attachment>button:first-child{width:56px;height:56px}

/* message-composer */
/* One compact surface; equal touch targets and optically matched line icons. */
.media-composer{display:flex!important;flex-direction:column!important;gap:0!important;min-width:0;padding:8px 10px 4px!important;background:#17181a;border:1px solid #343638;border-radius:20px;box-sizing:border-box}
.media-composer[hidden],.media-composer [hidden]{display:none!important}
.media-composer textarea{flex:none!important;width:100%!important;min-height:44px!important;max-height:160px;box-sizing:border-box;resize:none;border:0!important;border-radius:10px!important;background:transparent!important;color:#f5f5f5;font:inherit;font-size:var(--app-text-body)!important;line-height:1.45;padding:6px 8px!important;margin:0!important}
.media-composer textarea:focus{outline:none;box-shadow:none!important}.media-composer:focus-within{border-color:#9b7924}
.media-controls{display:flex;align-items:center;gap:4px;width:100%;min-width:0}
.media-composer .media-controls>button{display:grid;place-items:center;flex:0 0 48px;width:48px!important;height:48px!important;min-width:48px;min-height:48px;padding:0!important;margin:0;position:static!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none;color:#f5f5f5;font:inherit;font-size:var(--app-text-action);font-weight:600;font-size:var(--app-text-action);cursor:pointer;line-height:1}
.media-controls>button svg{display:block;width:28px;height:28px;flex:none}
.media-composer .media-controls>.media-image{margin-right:auto}
.media-composer .media-controls>.media-send{color:#ffb800}
.media-composer .media-controls>button:disabled{color:#85868a;opacity:1;cursor:default}
.media-composer .media-controls>button:focus-visible,.chat-attachment button:focus-visible{outline:2px solid #ffb800;outline-offset:-2px}
@media(hover:hover){.media-composer .media-controls>button:not(:disabled):hover{background:#ffffff0a!important}}
.media-composer .media-controls>button:not(:disabled):active{background:#ffffff12!important}
.media-composer .media-controls>.media-mic.recording{color:#ff6666}
/* Keep the device safe area outside the compact input surface. */
.coach-chat .media-composer{margin:0;width:100%}
.media-status{font-size:var(--app-text-small);line-height:1.4;color:#dedede;padding:8px}
.chat-activity{display:inline-flex;align-items:center;gap:9px;min-height:2.8em;min-width:0;color:#bfc0c3;font-size:var(--app-text-small);line-height:1.4}
.chat-activity .volt-loading-mark{align-items:center;gap:4px;height:20px;margin:0}
.chat-activity .volt-loading-mark span{width:5px;height:18px}
.chat-activity-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.chat-activity svg{flex:none;color:#bfc0c3;transition:color .18s ease;animation:chat-activity-pulse 1.8s ease-in-out infinite}
.chat-activity[data-tone="reading"] svg{color:#8fbfe8}
.chat-activity[data-tone="editing"] svg{color:var(--volt-accent,#ffbf00)}
@keyframes chat-activity-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.chat-activity svg{transition:none;animation:none}}
.media-recovery{display:flex;gap:8px;flex-wrap:wrap;padding:4px 8px 8px}
.media-recovery button,.media-status .media-retry{min-width:44px;min-height:44px;border:1px solid #454647;border-radius:12px;background:#222326;color:#ffb800;font:inherit;font-size:var(--app-text-action);font-weight:600;font-size:var(--app-text-action);padding:8px 12px;cursor:pointer;flex-shrink:0}
.chat-attachments{display:flex;gap:10px;overflow-x:auto;padding:4px;max-width:100%;min-width:0}.chat-attachments:empty{display:none}.chat-attachment{position:relative;flex:0 0 92px;width:92px;min-height:92px;padding-top:6px}.chat-attachment>button:first-child{display:block;width:92px;height:92px;padding:0;overflow:hidden;border:1px solid #666;border-radius:14px;background:#242526;color:#ddd;font-size:var(--app-text-action);line-height:1.1}.chat-attachment img{width:100%;height:100%;object-fit:cover}.chat-attachment-remove{position:absolute;right:-3px;top:0;min-width:44px;min-height:44px;border:1px solid #888;border-radius:50%;background:#18191bef;color:#fff;font-size:var(--app-text-title);cursor:pointer}.chat-image-viewer img{display:block;width:100%;height:auto;object-fit:contain}.media-composer button:focus-visible,.chat-attachment button:focus-visible{outline:2px solid #ffb800;outline-offset:2px}

.chat-attachments{width:100%;box-sizing:border-box;padding:4px 6px 8px;overscroll-behavior-x:contain;white-space:normal}
.message-user .message-bubble{min-width:0;overflow-wrap:anywhere}
.chat-attachment{padding-top:0}.chat-attachment>button:first-child{border:0}
.chat-attachment-remove{right:0;top:0;width:44px;height:44px;border:0;background:radial-gradient(circle,#111e 0 14px,transparent 15px);font-size:var(--app-text-section);padding:0}
.media-composer .media-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.media-controls .media-mic.recording{animation:recording-pulse 1.4s ease-in-out infinite}
.media-controls .media-mic.transcribing{opacity:1;color:#ffb800}
.media-spinner{display:block;width:24px;height:24px;margin:auto;border:2px solid #ffb80040;border-top-color:#ffb800;border-radius:50%;animation:media-spin .8s linear infinite}
.media-controls .media-mic.transcribed{animation:transcript-added .9s ease-out}
@keyframes recording-pulse{50%{box-shadow:0 0 0 5px #ff666620;background:#ff666630}}
@keyframes media-spin{to{transform:rotate(360deg)}}
@keyframes transcript-added{0%,35%{background:#ffb80040;color:#ffb800}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){.media-controls .media-mic.recording,.media-controls .media-mic.transcribed,.media-spinner{animation:none}.media-controls .media-mic.recording{box-shadow:0 0 0 3px #ff666650}.media-controls .media-mic.transcribed{color:#ffb800}}

/* coach-awards */
/* Completion and coach awards share one visual language, independent of workout layout. */
.celebration-content{max-width:520px;margin:0 auto;text-align:center;}
.coach-portrait{height:210px;position:relative;margin:2px auto 0;display:grid;place-items:end center;isolation:isolate;}
.coach-portrait::before{content:'';position:absolute;bottom:5px;width:215px;height:190px;border-radius:50%;background:radial-gradient(ellipse,#bc810e3d,transparent 70%);z-index:-1;}
.coach-portrait::after{content:'';position:absolute;bottom:12px;width:180px;height:180px;border:1px solid #fbc95333;border-radius:50%;z-index:-1;}
.coach-portrait img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:220px;height:210px;max-width:80%;object-fit:contain;mask-image:linear-gradient(black 72%,transparent 100%);}
.celebration-content h1{font-family:Anton,Oswald,Impact,sans-serif;font-size:40px;line-height:1.12;letter-spacing:.02em;text-transform:uppercase;margin:10px 0 10px;color:#fff;}
.celebration-workout{color:#b9b7ae;margin:0 auto 18px;font-size:var(--app-text-body);max-width:34ch;}
.coach-review-copy{font-size:var(--app-text-body);line-height:1.45;max-width:40ch;margin:14px auto 22px;text-align:left;}
.coach-review-copy p{margin:0 0 .8em;}.coach-review-copy p:last-child{margin-bottom:0;}
.review-wait{display:grid;justify-items:center;gap:10px;padding:10px 0 18px;color:#d6d3ca;}
.review-wait p{margin:0;font-size:var(--app-text-body);}.review-scan{width:130px;height:3px;background:#3e341c;overflow:hidden;border-radius:4px;}
.review-scan::after{content:'';display:block;width:45%;height:100%;background:linear-gradient(90deg,transparent,#ffc84d,transparent);animation:review-scan 1.6s ease-in-out infinite;}
@keyframes review-scan{from{transform:translateX(-100%)}to{transform:translateX(330%)}}
.review-error{font-size:var(--app-text-body);color:#d5d1c8;line-height:1.4;}
.review-retry,.award-link{border:0;background:none;color:#ffc53d;min-height:44px;font-size:var(--app-text-body);text-decoration:underline;text-underline-offset:4px;padding:8px;}
.session-facts{display:flex;justify-content:center;gap:32px;margin:16px 0 22px;flex-wrap:wrap;}
.session-facts div{display:flex;flex-direction:column;gap:1px;}.session-facts strong{font-family:Oswald,Impact,sans-serif;font-size:var(--app-text-title);line-height:1.2;}.session-facts span{font-size:var(--app-text-small);color:#a9a79f;}
.volume-ingot{width:min(100%,330px);min-height:128px;margin:16px auto 14px;padding:28px 28px 23px;box-sizing:border-box;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);background:linear-gradient(135deg,#b2832f 0%,#ffe5a0 13%,#bb8e3f 17%,#ffe8a6 46%,#d6a34d 68%,#8e6626 97%);color:#3d290c;position:relative;filter:drop-shadow(0 15px 25px #000);}
.volume-ingot::before{content:'';position:absolute;inset:8px 15px;border:1px solid #75562488;clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);pointer-events:none;}
.volume-ingot strong{display:block;font-family:Oswald,Impact,sans-serif;font-size:37px;line-height:1.2;text-shadow:0 1px #fff4c080;overflow-wrap:anywhere;}
.volume-ingot span{font-size:var(--app-text-small);font-weight:600;display:block;margin-top:4px;}
.month-total{font-size:var(--app-text-body);color:#c0bbae;line-height:1.55;max-width:32ch;margin:10px auto 24px;}.month-total strong{color:#f2dfb5;}
.award-section{margin:28px 0 12px;padding-top:18px;border-top:1px solid #ffffff15;}
.award-section h2,.awards-preview h2{font-family:Oswald,Impact,sans-serif;font-size:var(--app-text-title);color:#f6f3e9;margin:0;}
.award-section[hidden]{display:none;}
#celebration-review{min-height:100px;}
.award-piece{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;color:inherit;font-family:inherit;border:0;background:transparent;text-align:center;padding:18px 12px;text-decoration:none;cursor:pointer;}
.award-piece:focus-visible,.award-link:focus-visible{outline:2px solid #ffb800;outline-offset:4px;}
.award-metal{width:160px;height:160px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0;position:relative;color:#37270b;background:radial-gradient(circle at 28% 20%,#ffefb2 0%,#d3a14f 42%,#ffe1a1 58%,#a97629 100%);box-shadow:inset 0 0 0 4px #b4802b,inset 0 0 0 7px #ffe6a2,0 18px 25px -15px #000;isolation:isolate;margin-bottom:18px;}
.award-metal::before{content:'';position:absolute;inset:13px;border:1px solid #7f591d88;border-radius:inherit;z-index:-1;}
.award-metal::after{content:'';position:absolute;inset:7px;border:1px solid #fff0bd90;border-radius:inherit;pointer-events:none;}
.award-metal svg{height:34px;width:34px;stroke-width:1.6;}.award-metal strong{font-family:Oswald,Impact,sans-serif;font-size:var(--app-text-section);line-height:1.1;max-width:120px;overflow-wrap:anywhere;text-shadow:0 1px #fff4c080;}.award-metal span{font-size:var(--app-text-small);font-weight:600;}
.award-strength{border-radius:50%;background:repeating-conic-gradient(from 0deg,#d1a45c 0deg 2deg,#e7c780 2deg 5deg);}
.award-strength::before{inset:17px;background:radial-gradient(circle at 30% 10%,#f6dfa5,#c39344 80%);border:3px double #8c6327;}
.award-performance{border-radius:50%;background:linear-gradient(145deg,#eee9d9,#9ea4a5 44%,#e6e7de 57%,#818a8c);color:#243035;box-shadow:inset 0 0 0 4px #828b8f,inset 0 0 0 7px #e2e4dd,0 18px 25px -15px #000;}
.award-performance::before{border-color:#6a747c;}.award-performance::after{border-color:#ffffff90;}
.award-milestone{clip-path:polygon(50% 0,88% 16%,100% 55%,76% 90%,50% 100%,24% 90%,0 55%,12% 16%);}
.award-test{width:174px;height:145px;border-radius:12px;border:3px solid #d4b97c;background:linear-gradient(130deg,#313735,#111918);color:#edce84;box-shadow:inset 0 0 0 3px #121612,0 18px 25px -15px #000;}
.award-piece h3{font-size:var(--app-text-section);margin:0 0 5px;line-height:1.25;font-weight:600;overflow-wrap:anywhere;}.award-piece p{font-size:var(--app-text-small);color:#b2aea1;margin:0;line-height:1.35;overflow-wrap:anywhere;}
.awards-preview{margin:28px 16px;}.awards-preview[hidden]{display:none;}.awards-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.awards-row{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:8px;padding:6px 0 10px;}.awards-row .award-piece{width:200px;flex:0 0 200px;scroll-snap-align:start;}
.awards-page{max-width:860px;margin:auto;padding:24px 16px 100px;font-size:var(--app-text-body);}.awards-page h1{font-family:Oswald,Impact,sans-serif;font-size:38px;color:#fff;}.awards-page>p{color:#b2aea1;}
.awards-filters{display:flex;overflow:auto;gap:8px;margin:20px 0;}.awards-filters button{min-height:44px;padding:8px 15px;background:#1b1d1d;border:1px solid #444139;border-radius:24px;color:#e1ddd3;font-size:var(--app-text-action);white-space:nowrap;}.awards-filters [aria-pressed=true]{border-color:#ffb800;color:#ffb800;}
.awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}.awards-empty{padding:32px 12px;color:#aaa79c;font-size:var(--app-text-body);text-align:center;grid-column:1/-1;}
.award-detail .celebration-content{padding:35px 0;}.award-detail .award-metal{width:220px;height:220px;margin:0 auto 26px;}.award-detail .award-metal strong{font-size:var(--app-text-title);max-width:170px;}.award-detail .award-metal svg{width:46px;height:46px;}.award-detail .celebration-content h2{font-family:Oswald,Impact,sans-serif;font-size:34px;line-height:1.2;margin:0 0 12px;}.award-detail p{font-size:var(--app-text-body);line-height:1.5;}.award-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0;border-block:1px solid #ffffff20;margin:24px 0;}.award-comparison div{min-width:0;overflow-wrap:anywhere;}.award-comparison small{display:block;font-size:var(--app-text-small);color:#aaa79c;margin-bottom:6px;}.award-byline{font-size:var(--app-text-small)!important;color:#b5afa3;}.review-open{margin-top:8px;background:none;border:0;color:#ffbd24;min-height:44px;font-size:var(--app-text-small);text-decoration:underline;}
@media(max-width:359px){.celebration-content h1{font-size:34px}.coach-portrait{height:170px}.awards-grid{grid-template-columns:1fr}.session-facts{gap:22px}}
@media(max-height:700px){
  #workout-celebration .coach-portrait{height:64px}
  #workout-celebration .coach-portrait img{height:64px;width:80px}
  #workout-celebration .coach-portrait::before,#workout-celebration .coach-portrait::after{width:64px;height:56px;bottom:0}
  #workout-celebration h1{font-size:26px;margin:6px 0}
  #workout-celebration .celebration-workout{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.award-reveal{animation:none}.review-scan::after{animation:none;transform:translateX(65%)}*{scroll-behavior:auto!important;}}

/* performance */
.performance-view{max-width:680px;margin:auto;padding:20px 18px 110px;color:#f5f5f5;font-size:var(--app-text-body);line-height:1.55}.performance-page{margin:0;background:#0e0f10;color:#f5f5f5}.performance-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #303136;min-height:72px;gap:12px}.performance-nav a{color:#ffb800;text-decoration:none;font-size:var(--app-text-body);min-height:44px;display:flex;align-items:center;gap:8px}.performance-nav img{width:32px}.performance-nav time{font-size:var(--app-text-small)}.performance-view h1{font-size:var(--app-text-title);line-height:1.15;margin:10px 0 16px}.performance-view h2{font-size:var(--app-text-section)}:where(.performance-view) p{margin:0 0 18px}.performance-guide{border-block:1px solid #303136;margin:24px 0;padding:14px 0}.performance-guide summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font-size:var(--app-text-body)}.performance-guide>div{padding-top:14px}.performance-view input:not([type="radio"]),.performance-view textarea{width:100%;border:1px solid #48494c;border-radius:12px;background:#161719;color:white;padding:14px;font:inherit;box-sizing:border-box}.performance-view textarea{min-height:95px}.performance-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.performance-fields label{font-size:var(--app-text-small)}.performance-fields input{font-size:var(--app-text-title);font-variant-numeric:tabular-nums}.performance-clock{text-align:center;padding:4px 0}.performance-clock output{display:block;font-size:48px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.15;color:#ffb800}:where(.performance-view) button{font:inherit;font-size:var(--app-text-action);font-weight:600;min-height:48px;padding:10px 18px;border:1px solid #55565a;border-radius:12px;background:transparent;color:inherit;cursor:pointer}.performance-view button:disabled{opacity:.45;cursor:default}.performance-view button.primary{background:#ffb800;color:#111;border:0;font-weight:650}.performance-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.performance-actions .primary{flex:1}.performance-clock button{margin:16px 4px 0}.performance-note{color:#a5a6ac;font-size:var(--app-text-small)}.performance-error{color:#ff8f85;white-space:pre-line}.performance-weight{font-size:var(--app-text-title);font-weight:650;color:#ffb800}.performance-saved{font-size:38px;line-height:1.2;font-weight:650;margin:20px 0;color:#ffb800}.test-history{max-width:850px;margin:auto;padding:24px 18px}.test-history h1{font-size:var(--app-text-title)}.test-series{padding:24px 0;border-bottom:1px solid #303136}.test-series h2{font-size:var(--app-text-section)}.test-result-list{list-style:none;padding:0}.test-result-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #242528;font-size:var(--app-text-small)}.test-result-list strong{font-size:var(--app-text-body)}.test-strip{display:flex;overflow:auto;gap:14px;padding:10px 0 18px;scroll-snap-type:x proximity}.test-preview{flex:0 0 min(78vw,280px);scroll-snap-align:start;border:1px solid #3d3e40;border-radius:16px;padding:20px;text-decoration:none;color:inherit}.test-preview strong{display:block;font-size:var(--app-text-title);color:#ffb800}.test-preview span{font-size:var(--app-text-small)}.test-preview h3{font-size:var(--app-text-section)}.test-result-hero{text-align:center;padding:20px 0}.test-result-hero i{display:block;font-size:42px;color:#ffb800;margin-bottom:12px}.test-result-hero strong{display:block;font-size:40px;line-height:1.2;color:#ffb800}.test-result-hero p{margin:12px 0;font-size:var(--app-text-body)}.performance-view :focus-visible{outline:2px solid #ffb800;outline-offset:4px}.test-empty{color:#a5a6ac;font-size:var(--app-text-body)}@media(prefers-reduced-motion:reduce){.performance-view *{animation:none!important;transition:none!important}}

.test-history-strip{display:flex;gap:16px;overflow:auto;padding-bottom:16px}.test-history-card{border:1px solid #3d3e40;border-radius:16px;padding:20px;margin-bottom:20px;min-width:220px}.test-history-card h3{font-size:var(--app-text-section)}.test-history-card strong{font-size:var(--app-text-section);color:#ffbd00}.test-history-card p,.test-history-card li{font-size:var(--app-text-body)}.test-history-card ol{list-style:none;padding:0}.test-history-card li{display:grid;gap:8px;border-top:1px solid #333;padding:16px 0}.test-history a{color:#ffbd00;font-size:var(--app-text-body);display:inline-flex;min-height:44px;align-items:center}

.performance-actions{display:grid;grid-template-columns:1fr}.performance-actions [data-abort]{border:0;color:#b7b7b7}.performance-view{padding-bottom:40px}

/* Claude workout/test presentation. Result storage and protocol logic remain in performance-workout.js. */
.performance-view.workout-experience{padding:18px 2px 126px;font-size:var(--app-text-body);line-height:1.6}.performance-view h1{margin:0 0 8px;color:#fff;font:600 var(--app-text-title)/1.2 Barlow,sans-serif;overflow-wrap:anywhere}.performance-purpose{color:#b8b8bd}
.performance-comparison{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;margin:16px 0 20px!important;padding:13px 14px;border:1px solid #ffffff14;border-radius:12px;background:#17181b}.performance-comparison span,.performance-comparison small{color:#8a8a90;font-size:var(--app-text-small)}.performance-comparison strong{color:#fff;font-size:var(--app-text-small)}.performance-comparison small{grid-column:2}
.performance-view .workout-format{margin:4px 0 14px}
.performance-preparation{margin-top:18px;padding:16px;border:1px solid #ffb80040;border-radius:14px;background:#17181b}.performance-preparation p{margin-bottom:12px}.performance-preparation [data-proposal] .ai-markdown{color:#b8b8bd}.performance-preparation [data-proposal] label{display:grid;gap:6px;margin-top:14px}.performance-preparation [data-proposal] input{font-family:'JetBrains Mono',monospace;font-size:var(--app-text-section)}.performance-preparation button.primary{width:100%}
.performance-weight{display:flex;align-items:baseline;gap:10px;margin:18px 0!important;padding:14px;border-left:2px solid #ffb800;background:#17181b}.performance-weight strong{color:#fff;font:600 var(--app-text-title) 'JetBrains Mono',monospace}.performance-weight span{color:#8a8a90;font-size:var(--app-text-small)}
.performance-primary-dock{position:fixed;z-index:35;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;padding:30px max(20px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#0e0f10 32%)}.performance-primary-dock [data-open-abort]{font-size:var(--app-text-small)}
.performance-saved-card{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px;border:1px solid #ffffff20;border-radius:14px;background:#17181b}.performance-saved-card>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffb80024;color:#ffb800}.performance-saved-card>div{display:grid;flex:1;min-width:0}.performance-saved-card strong{color:#fff;font-size:var(--app-text-body);overflow-wrap:anywhere}.performance-saved-card small{color:#8a8a90}.performance-saved-card button{min-height:44px;border:0;color:#ffb800}
.performance-result-sheet .performance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.performance-result-sheet .performance-fields label{display:grid;gap:6px;color:#b8b8bd;font-size:var(--app-text-small)}.performance-result-sheet .performance-fields input{margin:0}.performance-result-sheet .performance-error{min-height:1.5em;color:#ff8f85;font-size:var(--app-text-small)}.performance-result-sheet .performance-reset{min-height:44px;border:0;background:transparent;color:#8a8a90}
@media(min-width:760px){.performance-primary-dock{left:50%;right:auto;width:min(680px,100%);transform:translateX(-50%)}}
@media(max-height:520px) and (orientation:landscape){.performance-primary-dock{position:sticky;margin-top:20px;padding-top:18px}.performance-view.workout-experience{padding-bottom:20px}}



.performance-primary-dock > .workout-save-split {grid-column:1/-1;}

/* rest-timer */
/* Layout inside the shared compact timer panel. */
.rest-count-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rest-count-row button{min-height:44px;border:0;border-radius:10px;color:var(--volt-accent,#ffb800);background:transparent;padding:6px 12px}
.rest-clock{font-size:48px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.1}
.rest-hint{text-align:center;font-size:var(--app-text-small);color:var(--volt-muted,#aaa);margin:8px 0 0;overflow-wrap:anywhere}
.rest-timer form{text-align:center}.rest-timer input{width:65px;color:white;background:#252528;border:1px solid #666;border-radius:6px;padding:8px}.rest-timer form button{min-height:44px;border:0;border-radius:10px;background:var(--volt-accent,#ffb800);color:#111;margin:8px;padding:8px 20px}
.rest-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rest-timer-chip{position:fixed;bottom:calc(var(--workout-save-height,80px) + max(16px,env(safe-area-inset-bottom)));left:16px;z-index:1100;min-height:44px;border:1px solid var(--volt-accent,#ffb800);border-radius:22px;padding:8px 16px;color:var(--volt-accent,#ffb800);background:var(--volt-surface,#17181b);font:600 var(--app-text-body) Barlow,sans-serif}
.rest-timer-chip[hidden]{display:none}
.set-rest-button{background:transparent;border:1px solid var(--volt-line-strong,#444);border-radius:9px;color:var(--volt-accent,#ffb800);min-height:44px;padding:6px 14px;font:inherit;font-size:var(--app-text-action);font-weight:600;font-size:var(--app-text-action)}
/* Chat keeps the countdown visible without competing with the message composer. */
.coach-rest-timer[hidden]{display:none!important}
.coach-overlay .coach-header-left{min-width:0;flex:1}
.coach-overlay .coach-header-info{min-width:0;flex:1}
.coach-overlay .coach-header-info .app-dialog-title{display:inline;vertical-align:middle}
.coach-overlay .coach-header-info>span{display:block}
.coach-overlay .coach-close{flex-shrink:0}
.coach-rest-timer{display:inline-flex;vertical-align:middle;align-items:center;gap:5px;min-height:44px;min-width:72px;padding:6px;margin-left:8px;background:transparent;border:0;color:#ffb800;font:600 var(--app-text-small)/1.2 Barlow,sans-serif;font-variant-numeric:tabular-nums;border-radius:10px;}
.coach-rest-timer>span{color:inherit}
.coach-rest-timer.is-paused{color:#ccc}
.coach-rest-timer:focus-visible{outline:2px solid #ffb800}

/* strength-save */
/* One action row; the timer temporarily replaces Save, while chat stays reachable. */
.strength-save-page { --workout-dock-bottom:max(12px,env(safe-area-inset-bottom)); padding-bottom:calc(92px + env(safe-area-inset-bottom)); }
.strength-save-bar { position:fixed; z-index:1035; left:16px; right:84px; bottom:var(--workout-dock-bottom); max-width:572px; margin:auto; padding:0; background:none; border:0; box-shadow:none; }
.strength-save-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.strength-save-status.save-error { position:relative; width:auto; height:auto; clip-path:none; padding:10px 12px; margin:0 0 8px; background:#291c1c; color:#ffb6a5; border-radius:10px; font:var(--app-text-small)/1.4 Barlow,sans-serif; }
#save-strength-workout { width:100%; min-height:56px; padding:12px 16px; border:0; border-radius:16px; background:#ffb800; color:#111; font:600 var(--app-text-action)/1.3 Barlow,sans-serif; }
#save-strength-workout.is-unlock { background:#292b30; color:#e9e9eb; }
#save-strength-workout:disabled { opacity:.55; }
.strength-save-page .coach-fab { right:max(16px,calc((100vw - 640px)/2)); bottom:var(--workout-dock-bottom); width:56px; height:56px; background:#25262a; border:1px solid #44464b; box-shadow:0 3px 12px #0005; z-index:1102; }
.strength-save-page .coach-fab i { color:#ffb800; }
.strength-save-page.rest-panel-open .strength-save-bar { visibility:hidden; pointer-events:none; }
.strength-save-page.rest-panel-open .coach-fab { bottom:calc(var(--rest-panel-height,230px) + 12px); }
.strength-save-page.rest-panel-open main { padding-bottom:calc(var(--rest-panel-height,230px) + 84px)!important; }
.strength-save-page.coach-chat-open .strength-save-bar,.strength-save-page.coach-chat-open .coach-fab { visibility:hidden; pointer-events:none; }
.strength-not-completed { display:block; margin:20px auto 28px; min-height:44px; padding:8px 16px; border:0; background:none; color:var(--bestrongr-text-gray); font:inherit; text-decoration:underline; text-underline-offset:4px; }
.strength-saved-date { margin-top:4px; color:#aaa; font:var(--app-text-small)/1.4 Barlow,sans-serif; }
.strength-save-page .set-input:disabled,.strength-save-page .exercise-note-input:disabled { opacity:1; color:#c8cbd2; -webkit-text-fill-color:#c8cbd2; background:#18191c; }
.strength-save-page .save-status { display:none; }
.strength-locked .ai-suggest-btn { opacity:.4; color:#a9adb5; border-color:#505258; }
.strength-save-page .set-invalid { border-color:#ff947f; box-shadow:0 0 0 1px #ff947f; }
.strength-save-page main { padding-bottom:calc(132px + env(safe-area-inset-bottom)); scroll-padding-bottom:calc(120px + env(safe-area-inset-bottom)); }
.strength-save-page .set-input,.strength-save-page .exercise-note-input { scroll-margin-block:120px; }
.strength-save-page .toggle-history { min-height:44px; padding:8px 12px; }
.strength-save-page .toggle-history:focus-visible,.strength-save-page .edit-history-btn:focus-visible { outline:2px solid #ffb800; outline-offset:3px; box-shadow:none; }
.strength-save-page .exercise-history-entry { min-width:min(240px,calc(100vw - 64px))!important; max-width:min(280px,85vw)!important; }
.strength-save-page .exercise-history-header { display:grid; gap:2px; padding-right:44px; line-height:1.3; }
.strength-save-page .exercise-history-header .ms-2 { margin-left:0!important; }
.strength-save-page .edit-history-btn { width:44px; height:44px; padding:0!important; display:grid; place-items:center; color:#b9bbc1!important; }

/* Compact strength logging surface, matching the approved Claude reference. */
.strength-identity { max-width:640px; margin:0 auto; padding:22px 0 8px; font-family:Barlow,sans-serif; }
.strength-identity .workout-title { margin:5px 0 14px; font:700 clamp(30px,9vw,42px)/1.02 Barlow,sans-serif; letter-spacing:-.025em; }
.workout-deload-label { color:var(--bestrongr-yellow, #ffb800); }
.workout-guidance-preview { margin:0 0 16px; color:#d2d2d5; font:400 var(--app-text-body)/1.5 Barlow,sans-serif; overflow-wrap:anywhere; }
.strength-safety-note { margin:0 0 16px; padding:2px 0 2px 13px; border-left:3px solid #ffb800; color:#d2d2d5; font-size:var(--app-text-small); line-height:1.45; }
.strength-safety-note :last-child { margin-bottom:0; }
.strength-workout-guide { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:58px; padding:10px 13px; border:1px solid #ffffff14; border-radius:12px; background:#17181b; color:#f4f4f5; font:600 var(--app-text-action)/1.3 Barlow,sans-serif; }
.strength-workout-guide span { display:flex; align-items:center; gap:11px; }
.strength-workout-guide span > i,.exercise-guide-actions i,.strength-video-row > i { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#ffb80024; color:#ffb800; }
.strength-save-page #workout-content { max-width:640px; margin:auto; }
.strength-save-page .strength-workout { display:grid; gap:30px; font-family:Barlow,sans-serif; }
.strength-save-page .exercise-section { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.strength-save-page .exercise-header h3 { margin:0 0 5px; color:#f4f4f5; font:600 var(--app-text-section)/1.18 Barlow,sans-serif; }
.strength-save-page .exercise-meta-row { display:flex; justify-content:flex-start; gap:8px 14px; flex-wrap:wrap; margin:0 0 12px; padding:0; background:none; color:#a8a8ae; font:500 var(--app-text-small)/1.4 "JetBrains Mono",monospace; letter-spacing:.02em; text-transform:uppercase; }
.exercise-guide-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:13px; }
.exercise-guide-actions button,.exercise-guide-actions a { min-width:0; width:100%; display:flex; align-items:center; gap:8px; min-height:44px; padding:5px 10px 5px 6px; border:1px solid #ffffff14; border-radius:10px; background:#17181b; color:#d6d6da; text-decoration:none; font:600 var(--app-text-action)/1.2 Barlow,sans-serif; }
.strength-save-page .exercise-actions { margin-bottom:12px; }
.strength-save-page .toggle-history { min-height:44px; padding:8px 12px; }
.strength-progression { display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px 12px; align-items:center; padding:18px; border:1px solid #ffb80033; border-radius:12px; background:#17181b; }
.strength-coach-avatar { grid-row:1; width:42px; height:42px; border-radius:50%; object-fit:cover; }
.strength-progression-copy { display:grid; gap:6px; min-width:0; }
.strength-progression-copy strong { color:#ffb800; font-size:var(--app-text-small); }
.strength-progression-copy span { color:#9c9ca2; font-size:var(--app-text-small); line-height:1.25; }
.ai-suggest-btn { grid-column:1/-1; justify-self:end; min-height:44px; padding:7px 11px; border:0; border-radius:999px; background:#ffb800; color:#0e0f10; font:600 var(--app-text-action)/1.3 Barlow,sans-serif; }
.strength-ai-loading { display:none; grid-column:2 / -1; gap:7px; color:#b8b8bd; font-size:var(--app-text-small); }
.strength-progression.is-loading .strength-progression-copy,.strength-progression.is-loading .ai-suggest-btn { display:none; }
.strength-progression.is-loading .strength-ai-loading { display:grid; }
.strength-ai-dots { display:flex; gap:4px; }
.strength-ai-dots i { width:5px; height:5px; border-radius:50%; background:#ffb800; animation:strength-dot 1s infinite ease-in-out; }
.strength-ai-dots i:nth-child(2){animation-delay:.13s}.strength-ai-dots i:nth-child(3){animation-delay:.26s}
.strength-ai-skeleton { display:block; height:8px; border-radius:4px; background:linear-gradient(90deg,#ffffff0b,#ffffff20,#ffffff0b); background-size:200% 100%; animation:strength-shimmer 1.2s infinite linear; }
.strength-ai-feedback { padding:16px 0 0; border-top:1px solid #ffffff18; color:#cfcfd3; font-size:var(--app-text-body); line-height:1.6; }
.strength-ai-feedback strong { color:#ffb800; font:600 var(--app-text-small)/1.3 "JetBrains Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.ai-feedback-container.is-error .strength-ai-feedback { border-left-color:#ff947f; background:#ff947f0c; }
.ai-feedback-container.is-error .strength-ai-feedback strong { color:#ff947f; }
.strength-save-page .sets-container { overflow:hidden; gap:0; border:1px solid #ffffff14; border-radius:12px; background:#17181b; }
.strength-save-page .set-card { display:grid; grid-template-columns:34px minmax(0,1fr) 44px 44px; align-items:center; gap:7px; min-height:76px; padding:9px 8px; border:0; border-bottom:1px solid #ffffff12; border-radius:0; background:transparent; }
.strength-save-page .set-card:last-child { border-bottom:0; }
.strength-save-page .set-card.set-complete { background:#ffb8000a; }
.strength-save-page .set-card.ai-filled { animation:strength-fill .7s ease; }
.strength-save-page .set-number { align-self:center; color:#ffb800; font:600 var(--app-text-small)/1 "JetBrains Mono",monospace; text-align:center; }
.strength-save-page .set-card-inputs { display:flex; gap:7px; margin:0; }
.strength-save-page .input-group-custom { min-width:0; }
.strength-save-page .input-group-custom label { margin:0 0 3px 2px; color:#8d8d93; font:500 var(--app-text-small)/1.1 "JetBrains Mono",monospace; letter-spacing:.05em; text-transform:uppercase; }
.strength-save-page .set-input-large { width:100%; height:54px; padding:8px 4px; border:1px solid #ffffff18; border-radius:8px; background:#131316; color:#fff; font:600 var(--app-text-section)/1 "JetBrains Mono",monospace; text-align:center; }
.strength-save-page .set-input-large:focus { border-color:#ffb800; background:#131316; box-shadow:0 0 0 2px #ffb80022; }
.strength-save-page .set-rest-button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:9px; background:transparent; color:#a9a9ae; font-size:var(--app-text-action); }
.set-check-label { display:grid; place-items:center; width:44px; height:44px; margin:0; cursor:pointer; }
.set-check-label input { position:absolute; width:1px; height:1px; opacity:0; }
.set-check-label > span[aria-hidden] { display:grid; place-items:center; width:32px; height:32px; border:1px solid #ffffff30; border-radius:50%; color:transparent; }
.set-check-label input:checked + span { border-color:#ffb800; background:#ffb800; color:#0e0f10; }
.set-check-label input:focus-visible + span { outline:2px solid #ffb800; outline-offset:3px; }
.strength-save-page .set-invalid { border-color:#ff947f; box-shadow:inset 3px 0 #ff947f; }
.exercise-note { margin-top:12px; }
.exercise-note label { display:block; margin-bottom:6px; color:#d6d6d9; font-size:var(--app-text-small); }
.exercise-note textarea { display:block; width:100%; min-height:58px; max-height:112px; padding:10px 12px; resize:none; overflow-y:auto; border:1px solid #ffffff14; border-radius:10px; background:#131316; color:#fff; font:var(--app-text-small)/1.4 Barlow,sans-serif; }
.exercise-note > span { display:block; margin-top:5px; color:#85858b; font-size:var(--app-text-small); }
.strength-video-row { display:flex; align-items:center; gap:10px; min-height:52px; color:#ededee; text-decoration:none; }
@keyframes strength-dot { 0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1} }
@keyframes strength-shimmer { to{background-position:-200% 0} }
@keyframes strength-fill { 0%,100%{background:#ffb8000a}50%{background:#ffb80022} }
@media(max-width:420px){.strength-progression{grid-template-columns:42px minmax(0,1fr)}.ai-suggest-btn{grid-column:1/-1;min-height:44px}.strength-save-page .set-card{grid-template-columns:28px minmax(0,1fr) 44px 44px;gap:4px;padding-inline:5px}}
@media(prefers-reduced-motion:reduce){.strength-ai-dots i,.strength-ai-skeleton,.strength-save-page .set-card.ai-filled{animation:none}}

.strength-save-page .exercise-meta-row > span + span::before { content:"·"; margin-right:14px; color:#77777e; }
.strength-save-page .sets-heading { display:grid; grid-template-columns:34px minmax(0,1fr) 44px 44px; gap:7px; padding:13px 8px 8px; color:#8d8d93; font:500 var(--app-text-small)/1.3 "JetBrains Mono",monospace; text-transform:uppercase; }
.strength-save-page .sets-heading > span { text-align:center; }
.strength-save-page .sets-heading .set-card-inputs > span { flex:1; min-width:0; }
.strength-save-page .set-card-inputs > .input-group-custom { flex:1; }
.strength-save-page .input-group-custom .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
@media(max-width:420px){.strength-save-page .sets-heading{grid-template-columns:28px minmax(0,1fr) 44px 44px;gap:4px;padding-inline:5px}}

.strength-save-page .exercise-number { color:#ffb800; margin-right:6px; font:500 var(--app-text-body) "JetBrains Mono",monospace; }
.strength-save-page .sets-section { border:1px solid #ffffff14; border-radius:12px; background:#17181b; overflow:hidden; }
.strength-save-page .sets-section .sets-container { border:0; border-radius:0; }
.strength-save-page .sets-section .exercise-note { padding:0 12px 14px; }
.strength-save-page .set-rest-button { border:1px solid #ffffff20; color:#ffb800; }
.strength-save-page .set-check-label > span[aria-hidden] { width:40px; height:44px; border-radius:9px; color:#77777e; }
.strength-save-page .set-check-label input:checked + span { color:#0e0f10; }

.strength-progression .ai-feedback-container {grid-column:1/-1;min-width:0;}
.strength-progression.is-loading .ai-feedback-container {display:none!important;}
.strength-progression .ai-feedback-text > :last-child {margin-bottom:0;}
.strength-progression .ai-feedback-container:not(.is-error) {animation:app-dialog-in .2s ease;}
@media(prefers-reduced-motion:reduce){.strength-progression .ai-feedback-container{animation:none!important}}

/* coaching-preferences */
.coaching-preference { padding: 16px 20px; }
.coaching-preference label { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; margin: 0; cursor: pointer; }
.coaching-preference-title { display: flex; align-items: center; gap: 12px; font-size:var(--app-text-body); font-weight: 600; }
.coaching-preference-title i { color: var(--volt-accent); font-size: 22px; }
.coaching-preference p { margin: 8px 0 0; font-size:var(--app-text-body); line-height: 1.5; color: var(--volt-muted); }
.coaching-preference input { appearance: none; -webkit-appearance: none; flex-shrink: 0; width: 52px; height: 32px; border: 1px solid var(--volt-line-strong); border-radius: 20px; background: #48494d; position: relative; cursor: pointer; }
.coaching-preference input::after { content: ''; position: absolute; width: 24px; height: 24px; border-radius: 50%; background: #f5f5f5; top: 3px; left: 3px; }
.coaching-preference input:checked { background: var(--volt-accent); }
.coaching-preference input:checked::after { left: 23px; background: var(--volt-ink); }
.coaching-preference input:focus-visible { outline: 2px solid var(--volt-accent); outline-offset: 4px; }
.coaching-preference input:disabled { opacity: .5; cursor: default; }
#chris-mode-status:empty { display: none; }


/* app-shell */
html,body{margin:0;min-height:100%;background:#0e0f10;color:#eee}
:root{--app-nav-height:84px;--app-safe-top:env(safe-area-inset-top,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px);--app-safe-right:env(safe-area-inset-right,0px)}
body.app-shell{display:block!important;place-items:normal!important;padding:0;opacity:1!important;min-height:100svh;transition:none!important}
/* The shell reserves the navigation space once; each viewport header owns its
   top inset. Auth/onboarding and celebration headers already own their insets. */
body.app-shell{padding-bottom:0!important}
body.app-shell .app-route :is(.page-header,.page-header-sticky,.chat-header){padding-top:calc(var(--app-header-padding,20px) + var(--app-safe-top));padding-left:max(var(--app-header-padding,20px),var(--app-safe-left));padding-right:max(var(--app-header-padding,20px),var(--app-safe-right))}
body.app-shell .app-route .page-header-sticky{--app-header-padding:12px;padding-left:max(16px,var(--app-safe-left));padding-right:max(16px,var(--app-safe-right))}
body.app-shell .app-route .chat-header{--app-header-padding:16px}
body[data-app-route="test-history"] .app-route>header{padding-top:calc(20px + var(--app-safe-top))}
body[data-app-route="privacy-policy"] .app-route .header{padding-top:calc(40px + var(--app-safe-top))}
body[data-app-route="index"] .onboarding .slide{padding-top:max(28px,var(--app-safe-top))}
@media(max-height:700px){body[data-app-route="index"] .onboarding .slide{padding-top:max(20px,var(--app-safe-top))}}
@media(orientation:landscape) and (max-height:500px){body[data-app-route="index"] .onboarding .slide{padding-top:max(12px,var(--app-safe-top))}}
#app-content{width:100%}
.app-route{box-sizing:border-box;width:100%;min-height:100svh;opacity:1;background:var(--volt-bg,#0e0f10);color:inherit;padding-bottom:0}
/* A short standalone route must fill the whole installed-app viewport. WebKit
   initially exposes its smaller status-bar viewport until taller content lays
   out; svh/dvh leave fixed navigation above the screen's bottom in that state. */
@media(display-mode:standalone){html,body.app-shell,.app-route{min-height:100lvh}}
/* David keeps the document boundary still. Only its message log scrolls;
   header and composer share one viewport-sized flex surface. */
@media(display-mode:standalone){
  html:has(body.app-shell[data-app-route="create-program-composer"]){overflow:hidden}
  body.app-shell[data-app-route="create-program-composer"]{position:fixed;inset:0;height:100lvh;overflow:hidden}
  body.app-shell .app-route[data-route="create-program-composer"]{display:flex;flex-direction:column;height:var(--david-viewport-height,100lvh);max-height:var(--david-viewport-height,100lvh);min-height:0;overflow:hidden}
  body.app-shell .app-route[data-route="create-program-composer"] .chat-header{position:static;flex:none}
  body.app-shell .app-route[data-route="create-program-composer"] .chat-container{flex:1;min-height:0;margin-bottom:0;padding-bottom:24px}
  body.app-shell .app-route[data-route="create-program-composer"] .input-area{position:static;flex:none}
  body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .input-area{padding-bottom:8px}
  body.app-shell .app-route[data-route="create-program-composer"] .media-composer textarea{max-height:clamp(44px,calc(var(--david-viewport-height,100lvh) * .2),160px);overscroll-behavior:contain}
  body.app-shell .app-route[data-route="create-program-composer"] .chat-attachment{--david-thumb-size:clamp(56px,calc(var(--david-viewport-height,100lvh) * .12),92px);flex-basis:var(--david-thumb-size);width:var(--david-thumb-size);min-height:var(--david-thumb-size)}
  body.app-shell .app-route[data-route="create-program-composer"] .chat-attachment>button:first-child{width:var(--david-thumb-size);height:var(--david-thumb-size)}
}
body.app-shell #bottom-nav{height:calc(var(--app-nav-height) + var(--app-safe-bottom));padding-bottom:var(--app-safe-bottom);padding-left:var(--app-safe-left);padding-right:var(--app-safe-right)}
.app-route:focus{outline:none}
#app-route-error{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));max-width:600px;margin:auto;z-index:1300;background:#292b30;color:#fff;padding:12px 16px;border-radius:12px;font:var(--app-text-small)/1.4 Barlow,sans-serif}
#app-route-error button{border:0;background:none;color:#ffb800;font:inherit;font-size:var(--app-text-action);font-weight:600;padding:8px 12px}
body[data-app-route="workout"] #bottom-nav,body[data-app-route="day"] #bottom-nav{display:none}
body:not([data-app-route="workout"]) .rest-timer,body:not([data-app-route="workout"]) .rest-timer-chip{display:none}
@media(prefers-reduced-motion:reduce){.app-route,.app-route *{scroll-behavior:auto!important}.app-route .week-slider{transition:none!important}}

body[data-app-route]:is([data-app-route="workout-simple"],[data-app-route="test-workout"],[data-app-route="create-program-composer"],[data-app-route="program-overview"],[data-app-route="create-program"],[data-app-route="index"],[data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"],[data-app-route="ai-settings"],[data-app-route="privacy-policy"],[data-app-route="admin-dashboard"],[data-app-route="admin-account"]) #bottom-nav{display:none}

.install-app-icon{width:112px;height:112px;border-radius:26px;margin:20px auto 28px;display:block}.install-action{border:0;background:#ffb800;color:#0e0f10;border-radius:12px;padding:14px 22px;font:600 var(--app-text-body) Barlow,sans-serif}

#bottom-nav .bottom-nav-item span{white-space:nowrap;overflow-wrap:normal;font-size:var(--app-text-small)}

/* The account entrance is one centered composition.  The footer gets the lower
   grid track, so it never moves the logo into the status area. */
.entry-logo{display:block;width:230px;max-width:85%;height:auto;margin:0 auto 28px}
body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route{min-height:100dvh;display:grid;grid-template-rows:1fr auto 1fr;align-items:start;padding:max(16px,env(safe-area-inset-top)) 24px max(14px,env(safe-area-inset-bottom))}
body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route main{grid-row:2;width:min(100%,360px);padding:0;margin:0;justify-self:center}
body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route footer{grid-row:3;align-self:end;padding-top:12px;margin:0;text-align:center}
body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) h1{margin-bottom:16px}
@media(max-height:700px){body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route{padding-top:max(12px,env(safe-area-inset-top));grid-template-rows:auto auto 1fr}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route main{max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(14px,env(safe-area-inset-bottom)) - 66px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .entry-logo{width:184px;margin-bottom:16px}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) label{margin-top:12px}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) input{padding:12px 14px}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route footer{font-size:var(--app-text-small)}}
@media(orientation:landscape) and (max-height:500px){body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route{grid-template-columns:minmax(0,1fr) minmax(250px,360px) minmax(0,1fr);grid-template-rows:1fr auto;column-gap:16px;padding-top:max(10px,env(safe-area-inset-top))}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route main{grid-column:2;grid-row:1 / span 2;width:100%}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) .app-route footer{grid-column:3;grid-row:2;justify-self:end;text-align:right;padding-top:0}.entry-logo{width:120px;margin-bottom:8px}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) h1{font-size:var(--app-text-section);margin-bottom:8px}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) #login{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) #login label{margin:0;text-align:right;font-size:var(--app-text-small)}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) #login input{min-height:40px;padding:8px 12px}body[data-app-route]:is([data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"]) #login button{grid-column:2;margin-top:10px;min-height:44px;padding:10px}}

body[data-app-route=account] .entry-install-guide{display:block;margin:0 auto 4px;padding:8px 12px;border:0;background:transparent;color:#ffb800;font:600 var(--app-text-small) Barlow,sans-serif;width:auto;min-height:36px}

/* Onboarding owns the viewport; the shell's hidden navigation adds no space. */
body[data-app-route="index"]{height:100dvh;min-height:0;overflow:hidden;padding-bottom:0!important}
body[data-app-route="index"] .app-route{height:100dvh;min-height:0;overflow:hidden}
body[data-app-route="index"]:has(.membership-payment){height:auto;overflow-y:auto!important}
body[data-app-route="index"] .app-route:has(.membership-payment){height:auto;min-height:100dvh;overflow:visible}
.account-action-loading{position:absolute;inset:0;align-items:center;height:auto;margin:0;pointer-events:none;background:#0e0f10;border-radius:inherit}
.account-action-loading span{height:24px;width:8px}
.account-action-loading[hidden]{display:none}
body[data-app-route="account"] main .account-action-busy:has(.account-action-loading:not([hidden])){color:transparent}


.chat-archive-status{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:4px 0;color:var(--volt-muted,#b8b8bd);font:var(--app-text-small)/1.4 Barlow,sans-serif}
.chat-archive-status button{border:0;background:transparent;color:var(--volt-accent,#ffb800);font:inherit;font-size:var(--app-text-action);font-weight:600;padding:10px;min-height:44px;cursor:pointer}
.app-route:has(.generation-overlay.active) .chat-archive-status{display:none}

/* Navigation waits on the actual initiating control, while the old view remains usable. */
.app-navigation-pending{position:relative;pointer-events:none}
.app-navigation-indicator{position:absolute;right:12px;top:12px;color:var(--volt-accent,#ffb800)}
#bottom-nav .app-navigation-indicator{right:4px;top:4px;width:12px;height:12px}
@media(prefers-reduced-motion:reduce){.app-navigation-indicator{animation:none!important}}
/* The installed landscape keyboard can leave only 109px. Keep the same
   header/log/composer owners, with one horizontal editing row in that state. */
@media(display-mode:standalone) and (orientation:landscape) and (max-height:500px){
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .chat-header{padding-top:1px;padding-bottom:1px}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .chat-header small{display:none}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .chat-header h1{font-size:var(--app-text-section);line-height:28px}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .header-btn{height:28px;min-height:28px;width:44px;padding:0}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .david-back{height:28px;line-height:28px;width:44px}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .chat-container{padding-top:2px;padding-bottom:2px}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .input-area{padding:0 max(16px,var(--app-safe-right)) 0 max(16px,var(--app-safe-left))}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .media-composer{flex-direction:row!important;align-items:center;padding:0!important;border-radius:12px}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .media-composer textarea{flex:1!important;width:auto!important;min-width:0;max-height:44px}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .media-controls{flex:none;width:auto}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .media-controls>button{width:44px!important;height:44px!important;min-width:44px;min-height:44px;flex-basis:44px}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .chat-attachments{max-width:30%;padding:0}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .chat-attachment{--david-thumb-size:44px;flex-basis:88px;width:88px;min-height:44px;padding-top:0}
 body.app-shell .app-route[data-route="create-program-composer"].coach-keyboard-open .chat-attachment-remove{right:0}
}

/* Primary tabs share one opaque sticky header and title/icon row. Functional
   Back/action headers and the viewport-owned David editor retain their owners. */
body.app-shell .app-route:is([data-route="home"],[data-route="calendar"],[data-route="statistics"],[data-route="profile"])>.page-header{box-sizing:border-box;position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:calc(87px + var(--app-safe-top));padding:calc(20px + var(--app-safe-top)) max(20px,var(--app-safe-right)) 20px max(20px,var(--app-safe-left));background:var(--volt-bg,#0e0f10);border-bottom:1px solid var(--volt-line,#333)}
body.app-shell .app-route:is([data-route="home"],[data-route="calendar"],[data-route="statistics"],[data-route="profile"])>.page-header>h1{display:flex;align-items:center;min-width:0;margin:0;font-size:var(--app-text-title);line-height:32px}
body.app-shell .app-route:is([data-route="home"],[data-route="calendar"],[data-route="statistics"],[data-route="profile"])>.page-header>h1::before{display:block;flex:none;width:27px;height:27px;margin-right:12px;vertical-align:0}

/* A retained workout conversation stays reachable without covering calendar actions. */
body.app-shell .app-route[data-route="calendar"]>.page-header>.coach-fab{position:static;flex:none;width:44px;height:44px;border-radius:12px;background:transparent;box-shadow:none;transform:none;z-index:auto;}
body.app-shell .app-route[data-route="calendar"]>.page-header>.coach-fab i{color:#ffb800;}
body.app-shell .app-route[data-route="calendar"]>.page-header>.coach-fab:is(:hover,:focus-visible){background:#ffb8001f;}
body.app-shell .app-route[data-route="calendar"]>.page-header>.coach-fab:focus-visible{outline:2px solid #ffb800;outline-offset:2px;}

/* Fixed workout actions must not cover the last reachable content. */

body.app-shell .app-route .test-nav { padding-top:calc(12px + var(--app-safe-top)); color:#eee; }


/* A future generation window is information, not an active call to action. */
.generation-locked { color:#a8a8ae; }
.generation-banner { background:#17181b; border:1px solid #ffb800; border-radius:16px; padding:20px; margin:16px 0; text-align:center; }
.generation-locked .generation-banner { border-color:#393b3d; }
.generation-locked button:disabled { background:#232427 !important; border-color:#393b3d !important; color:#a8a8ae !important; cursor:default; box-shadow:none; }

.pwa-install-steps{margin:0;padding-left:24px;display:grid;gap:18px;line-height:1.5}
.pwa-install-steps li{padding-left:6px}
.pwa-install-steps li::marker{color:var(--volt-accent,#ffb800);font-weight:600}

/* One shared save/chat row; view-specific dock grids never control geometry. */
body.app-shell .workout-save-dock {position:fixed;z-index:1035;left:16px;right:84px;bottom:max(12px,var(--app-safe-bottom));width:auto;max-width:572px;margin:0 auto;padding:0;display:block;transform:none;background:none;border:0;box-shadow:none;}
body.app-shell .workout-save-dock > [role=status]:empty {display:none;}
body.app-shell:has(.workout-save-dock) .coach-fab {right:max(16px,calc((100vw - 640px)/2));bottom:max(12px,var(--app-safe-bottom));width:56px;height:56px;background:#25262a;border:1px solid #44464b;box-shadow:0 3px 12px #0005;z-index:1102;}
body.app-shell:has(.workout-save-dock) .coach-fab i {color:#ffb800;}
body.app-shell.rest-panel-open:has(.workout-save-dock) .coach-fab {bottom:calc(var(--rest-panel-height,230px) + 12px);}
body.app-shell:has(.workout-save-dock) .workout-save-split > button:first-child {font:600 var(--app-text-action)/1.3 Barlow,sans-serif;min-height:56px;padding:12px 10px;border:0;background:#ffb800;color:#111;box-shadow:none;}
body.app-shell:has(.workout-save-dock) .workout-save-more {color:#111;}
body.app-shell .workout-save-menu {box-sizing:border-box;}
body.app-shell .workout-save-menu button {display:flex;align-items:center;gap:12px;min-height:52px;width:100%;padding:12px;background:transparent;color:#f5f5f5;font:600 var(--app-text-action)/1.35 Barlow,sans-serif;}
body.app-shell .workout-save-menu button i {font-size:var(--app-text-action);color:#b8b8bd;}
body.app-shell .workout-save-menu button:is(:hover,:focus-visible) {background:#34353a;border-radius:8px;}

/* Normal document views can scroll the final content well above floating actions. */
body.app-shell:not(:is([data-app-route="index"],[data-app-route="account"],[data-app-route="verify-email"],[data-app-route="reset-password"],[data-app-route="create-program-composer"])) .app-route {
  padding-bottom:calc(200px + var(--app-safe-bottom))!important;
}
body.app-shell:not(:is([data-app-route="index"],[data-app-route="create-program-composer"])):has(#bottom-nav:not([hidden]):not([style*="display: none"])) .app-route {
  padding-bottom:calc(200px + var(--app-nav-height) + var(--app-safe-bottom))!important;
}

/* Owner model pricing: shared settings view. */
.ai-settings-shell .settings-row>label{display:grid;gap:6px;align-self:start}
.ai-settings-shell .settings-row select{width:100%;min-width:0}
.settings-price{display:flex;gap:6px;align-items:start;min-height:6em;font-size:var(--app-text-small,15px);color:#c5c5c9}
.settings-price-summary{flex:1;min-width:0;font-variant-numeric:tabular-nums}
.settings-price-info{flex:none;border:0;background:transparent;color:#ffb800;cursor:pointer;min-width:32px;min-height:32px;padding:0}
.settings-price-details{max-width:min(480px,calc(100vw - 40px));padding:20px;border:1px solid #4a4a50;border-radius:14px;background:#17181b;color:#f5f5f5;font:400 var(--app-text-small,15px)/1.5 Barlow,system-ui,sans-serif}
.settings-price-details::backdrop{background:#0006}
.settings-price-details p{margin:0 0 12px}.settings-price-details p:last-child{margin:0}
@media(max-width:520px){.ai-settings-shell .settings-row>label:nth-child(2){grid-column:1/-1}.settings-price{min-height:3em}}

/* Required program updates stay with the coach, not the account screen. */
dialog.program-update{width:min(420px,calc(100% - 32px));border-radius:24px;text-align:center;max-height:calc(100dvh - 32px);overflow:auto;}
dialog.program-update:focus-visible{outline:2px solid var(--volt-accent,#ffb800);outline-offset:2px;}
.program-update .app-dialog-header{display:block;padding:24px 24px 0;border:0;}
.program-update-coach{display:grid;justify-items:center;gap:0;}
.program-update-coach img{width:190px;height:180px;object-fit:contain;object-position:bottom;mask-image:linear-gradient(#000 78%,transparent 100%);}
.program-update-coach span{color:var(--volt-accent,#ffb800);font-weight:600;font-size:18px;margin-top:8px;}
.program-update .app-dialog-body{padding:16px 24px 0;}
.program-update-message{min-height:148px;}
.program-update-message h2{font:600 26px/1.15 Barlow,sans-serif;margin:0 0 14px;}
.program-update-message p{font:400 18px/1.5 Barlow,sans-serif;color:var(--volt-muted,#b8b8bb);margin:0;}
.program-update .app-dialog-footer{display:block;padding:20px 24px 24px;border:0;}
.program-update-action{height:52px;display:grid;align-items:center;}
.program-update-action button{width:100%;min-height:52px;}
.program-update-action .volt-loading-mark{margin:0;}
@media(max-height:600px){.program-update-coach img{height:100px;width:120px;}.program-update .app-dialog-header{padding-top:16px;}.program-update-message{min-height:0;}}

/* Local cleanup uses the existing profile panel and primary action. */
#storage-usage-section .storage-cleanup { padding-top:20px; border-top:1px solid var(--volt-line-strong); }
#clean-storage-btn { width:100%; display:flex; align-items:center; justify-content:center; gap:10px; min-height:52px; }
#storage-cleanup-status { min-height:4.65em; }
#clean-storage-btn[aria-busy="true"] .bi { animation:storage-cleanup-spin 1s linear infinite; }
@keyframes storage-cleanup-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { #clean-storage-btn[aria-busy="true"] .bi { animation:none; } }

.profile-logout { margin-top:24px; border-bottom:0; color:var(--volt-muted); }
.profile-logout > .bi:first-child { color:inherit; }

.media-status .media-retry{display:block;margin-top:8px}.media-status .media-retry:focus-visible{outline:2px solid #ffb800;outline-offset:2px}

/* Keep coach transcripts and actions reachable after rotation or keyboard resize. */
.app-dialog-conversation.coach-short-viewport.app-dialog-expanded{height:calc(var(--app-viewport-height,100dvh) - 12px)}
.app-dialog-conversation.coach-short-viewport .app-dialog-header{padding:20px 12px 6px}
.app-dialog-conversation.coach-short-viewport .coach-messages{padding:8px 12px}
.app-dialog-conversation.coach-short-viewport .coach-period-choices{padding:12px}
.app-dialog-conversation.coach-short-viewport .coach-period-footer:has(> :not([hidden])){padding:6px 12px}
.app-dialog-conversation.coach-short-viewport .coach-period-primary{min-height:44px;padding:10px 12px}
.app-dialog-conversation.coach-short-viewport .coach-composer-dock{padding:6px 12px max(8px,env(safe-area-inset-bottom))}
.app-dialog-conversation.coach-short-viewport .media-composer textarea{max-height:44px!important}
.app-dialog-conversation.coach-short-viewport .chat-attachment,.app-dialog-conversation.coach-short-viewport .chat-attachment>button:first-child{width:56px;height:56px;min-height:56px;flex-basis:56px}
@media(min-width:480px){
 .app-dialog-conversation.coach-short-viewport .media-composer{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:8px!important}
 .app-dialog-conversation.coach-short-viewport .media-controls{width:auto}
 .app-dialog-conversation.coach-short-viewport .chat-attachments{grid-column:1/-1}
}

/* Failed actions remain on the current page with reachable mobile controls. */
.app-inline-retry{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px;max-width:640px}
.app-inline-retry>span{flex-basis:100%;line-height:1.5;overflow-wrap:anywhere}
.app-inline-retry button{min-height:44px;padding:10px 16px;border:1px solid #ffb800;border-radius:12px;background:transparent;color:#ffb800;font:inherit;font-weight:600}
.app-inline-retry a{display:inline-flex;align-items:center;min-height:44px;padding:8px;color:#ffb800}
.chat-archive-status{flex-wrap:wrap}.chat-archive-status>span{flex:1 1 200px;min-width:0}.chat-archive-status>button{flex-shrink:0;min-height:44px}
