.training-feature{
  --font-geist-sans:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  --font-geist-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --bg: #0b1317;
  --panel: #0e130e;
  --panel-2: #131a13;
  --line: #1f2a1f;
  --text: #f1f5ec;
  --muted: #8d9a89;
  --lime: #a3e635;
  --blue: #22c55e;
  --orange: #84cc16;
  --red: #f87171;
}
.training-feature *{
  box-sizing: border-box;
}
.training-feature{
  background: var(--bg);
  color-scheme: dark;
}
.training-feature{
  margin: 0;
  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(34, 197, 94, 0.055),
      transparent 27rem
    ),
    var(--bg);
  color: var(--text);
  font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-y: none;
}
.training-feature button, .training-feature input{
  font: inherit;
}
.training-feature button{
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}
.training-feature button, .training-feature summary, .training-feature label{
  touch-action: manipulation;
}
.training-feature .app-shell{
  min-height: 100svh;
  width: 100%;
}
.training-feature .app-content{
  width: min(100%, 720px);
  margin: 0 auto;
  padding: max(22px, env(safe-area-inset-top)) 18px 40px;
}
.training-feature .with-nav .app-content{
  padding-bottom: calc(116px + env(safe-area-inset-bottom));
}
.training-feature .loading-shell{
  display: grid;
  place-content: center;
  gap: 16px;
  text-align: center;
  color: var(--muted);
}
.training-feature .loading-shell .brand-mark{
  margin: auto;
}
.training-feature .topbar, .training-feature .session-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.training-feature .brand-lockup{
  display: flex;
  align-items: center;
  gap: 12px;
}
.training-feature .brand-mark{
  width: 58px;
  height: 58px;
  border-radius: 19px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(120% 120% at 30% 15%, #18231400 0%, #0d120c 70%), #10170f;
  border: 1px solid rgba(163, 230, 53, 0.16);
  color: #eeffde;
  box-shadow:
    0 10px 30px rgba(163, 230, 53, 0.12),
    inset 0 0 24px rgba(34, 197, 94, 0.1);
}
.training-feature .brand-mark .mark-svg{
  width: 74%;
  height: 74%;
  display: block;
  filter: drop-shadow(0 0 5px rgba(163, 230, 53, 0.35));
}
.training-feature .brand-mark.small{
  width: 41px;
  height: 41px;
  border-radius: 13px;
}
.training-feature .eyebrow{
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.training-feature .eyebrow.lime{
  color: var(--lime);
}
.training-feature .topbar h1, .training-feature .session-header h1{
  margin: 0;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}
.training-feature .date-chip, .training-feature .timer-pill{
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(14, 19, 14, 0.86);
  color: #c7cac4;
  font-size: 12px;
  font-weight: 700;
}
.training-feature .hero-panel{
  position: relative;
  min-height: 210px;
  margin: 24px 0 30px;
  padding: 27px 24px;
  overflow: hidden;
  border: 1px solid #283325;
  border-radius: 28px;
  background: linear-gradient(135deg, #191f17 0%, #131711 62%, #1c2213 140%);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  box-shadow: 0 26px 65px rgba(0, 0, 0, 0.28);
}
.training-feature .hero-panel::before{
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: -34px;
  top: -74px;
  border: 1px solid rgba(163, 230, 53, 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 28px rgba(163, 230, 53, 0.025),
    0 0 0 58px rgba(163, 230, 53, 0.018);
}
.training-feature .hero-panel::after{
  content: "PROGRESS";
  position: absolute;
  right: -20px;
  bottom: 21px;
  color: rgba(255, 255, 255, 0.025);
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -0.05em;
  transform: rotate(-90deg) translateX(45%);
}
.training-feature .hero-panel > *{
  position: relative;
  z-index: 1;
}
.training-feature .hero-panel h2{
  max-width: 420px;
  margin: 10px 0 0;
  font-size: clamp(28px, 8vw, 43px);
  line-height: 0.98;
  letter-spacing: -0.055em;
}
.training-feature .hero-orbit{
  flex: 0 0 auto;
  width: 86px;
  height: 86px;
  margin-bottom: -2px;
  border: 1px solid rgba(163, 230, 53, 0.35);
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  background: rgba(163, 230, 53, 0.05);
}
.training-feature .hero-orbit span{
  color: var(--lime);
  font-size: 26px;
  line-height: 1;
  font-weight: 850;
}
.training-feature .hero-orbit small{
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.training-feature .section-block, .training-feature .settings-section, .training-feature .history-list{
  margin-top: 28px;
}
.training-feature .section-heading{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.training-feature .section-heading h2{
  margin: 0;
  font-size: 21px;
  letter-spacing: -0.035em;
}
.training-feature .muted{
  color: var(--muted);
  font-size: 12px;
}
.training-feature .workout-tabs{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.training-feature .workout-tabs button{
  min-height: 50px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--panel);
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.training-feature .workout-tabs button.active{
  border-color: #515a4d;
  background: #1d251b;
  color: var(--text);
}
.training-feature .tab-dot{
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
.training-feature .workout-card{
  margin-top: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 27px;
  background: linear-gradient(
    180deg,
    rgba(19, 26, 19, 0.98),
    rgba(12, 17, 12, 0.98)
  );
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
}
.training-feature .workout-card-head{
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
}
.training-feature .workout-card-head h2{
  margin: 2px 0 0;
  font-size: 30px;
  letter-spacing: -0.055em;
}
.training-feature .exercise-count{
  padding: 7px 9px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--workout-accent) 9%, transparent);
  color: var(--workout-accent);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.training-feature .quick-recommendation{
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid #39402d;
  border-radius: 16px;
  background: rgba(163, 230, 53, 0.045);
}
.training-feature .signal{
  flex: 0 0 auto;
  width: 35px;
  height: 35px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: var(--lime);
  color: #07120a;
  font-size: 19px;
  font-weight: 900;
}
.training-feature .quick-recommendation div{
  min-width: 0;
}
.training-feature .quick-recommendation small{
  display: block;
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.training-feature .quick-recommendation strong{
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 13px;
}
.training-feature .exercise-preview{
  list-style: none;
  margin: 12px 0 18px;
  padding: 0;
}
.training-feature .exercise-preview li{
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid rgba(31, 42, 31, 0.72);
}
.training-feature .exercise-preview li:last-child{
  border-bottom: 0;
}
.training-feature .exercise-index{
  color: #626b5e;
  font-family: var(--font-geist-mono);
  font-size: 10px;
}
.training-feature .exercise-preview strong, .training-feature .exercise-preview small{
  display: block;
}
.training-feature .exercise-preview strong{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.training-feature .exercise-preview small{
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}
.training-feature .mini-rec{
  justify-self: end;
  padding: 5px 7px;
  border-radius: 7px;
  background: #20281d;
  color: #c1c4bf;
  font-size: 10px;
  font-weight: 800;
}
.training-feature .mini-rec.up{
  background: rgba(163, 230, 53, 0.1);
  color: var(--lime);
}
.training-feature .mini-rec.down{
  background: rgba(248, 113, 113, 0.1);
  color: var(--red);
}
.training-feature .primary-button{
  width: 100%;
  min-height: 56px;
  padding: 0 18px;
  border: 0;
  border-radius: 17px;
  background: var(--lime);
  color: #07120a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(163, 230, 53, 0.12);
}
.training-feature .primary-button:active{
  transform: scale(0.985);
}
.training-feature .primary-button:disabled{
  background: #283125;
  color: #7e857b;
  cursor: not-allowed;
  box-shadow: none;
}
.training-feature .last-session{
  margin: 12px 0 0;
  color: var(--muted);
  text-align: center;
  font-size: 10px;
}
.training-feature .empty-plan-note{
  margin-bottom: 15px;
  padding: 18px;
  border: 1px dashed #394734;
  border-radius: 16px;
  background: #131812;
  text-align: center;
}
.training-feature .empty-plan-note strong, .training-feature .empty-plan-note span{
  display: block;
}
.training-feature .empty-plan-note strong{
  margin-bottom: 5px;
  font-size: 13px;
}
.training-feature .empty-plan-note span{
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}
.training-feature .session-header{
  position: sticky;
  z-index: 20;
  top: 0;
  margin: -22px -18px 0;
  padding: max(18px, env(safe-area-inset-top)) 18px 14px;
  background: linear-gradient(
    180deg,
    rgba(8, 11, 8, 0.98) 76%,
    rgba(8, 11, 8, 0)
  );
  backdrop-filter: blur(16px);
}
.training-feature .session-header > div:nth-child(2){
  flex: 1;
}
.training-feature .icon-button{
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
  display: grid;
  place-items: center;
  font-size: 30px;
  cursor: pointer;
}
.training-feature .timer-pill{
  font-family: var(--font-geist-mono);
}
.training-feature .progress-line{
  height: 3px;
  margin: 5px 0 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #1c241a;
}
.training-feature .progress-line span{
  display: block;
  height: 100%;
  border-radius: inherit;
  transition: width 0.3s ease;
}
.training-feature .session-meta{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 10px;
}
.training-feature .rest-timer-card{
  position: sticky;
  z-index: 16;
  top: 82px;
  margin-bottom: 14px;
  padding: 10px 11px;
  border: 1px solid #2d392a;
  border-radius: 17px;
  background: linear-gradient(
    145deg,
    rgba(16, 23, 16, 0.96),
    rgba(11, 16, 11, 0.96)
  );
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(18px);
  transition:
    border-color 0.2s ease,
    background 0.2s ease;
}
.training-feature .rest-timer-card.running{
  border-color: rgba(34, 197, 94, 0.28);
  background: linear-gradient(145deg, rgba(34, 197, 94, 0.07), #131811 58%);
}
.training-feature .rest-timer-card.finished{
  border-color: rgba(163, 230, 53, 0.36);
  background: linear-gradient(145deg, rgba(163, 230, 53, 0.09), #131811 58%);
}
.training-feature .rest-timer-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.training-feature .rest-timer-head .eyebrow{
  margin-bottom: 1px;
  font-size: 10px;
}
.training-feature .rest-timer-head strong{
  font-size: 11px;
}
.training-feature .finished .rest-timer-head strong{
  color: var(--lime);
}
.training-feature .rest-clock{
  display: flex;
  align-items: baseline;
  gap: 5px;
  font-family: var(--font-geist-mono);
}
.training-feature .rest-clock span{
  color: var(--blue);
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.07em;
}
.training-feature .finished .rest-clock span{
  color: var(--lime);
}
.training-feature .rest-clock small{
  color: #6f786a;
  font-size: 10px;
}
.training-feature .rest-presets{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin: 7px 0 5px;
}
.training-feature .rest-presets button{
  min-height: 34px;
  padding: 0;
  border: 1px solid #2d3829;
  border-radius: 8px;
  background: #131811;
  color: #899285;
  font-family: var(--font-geist-mono);
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}
.training-feature .rest-presets button.active{
  border-color: rgba(34, 197, 94, 0.32);
  background: rgba(34, 197, 94, 0.09);
  color: var(--blue);
}
.training-feature .rest-actions{
  display: grid;
  grid-template-columns: 1.2fr 0.85fr 0.7fr;
  gap: 5px;
}
.training-feature .rest-actions button{
  min-height: 33px;
  border-radius: 9px;
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}
.training-feature .rest-main-button{
  border: 1px solid rgba(34, 197, 94, 0.2);
  background: rgba(34, 197, 94, 0.08);
  color: var(--blue);
}
.training-feature .rest-add-button{
  border: 1px solid rgba(163, 230, 53, 0.18);
  background: rgba(163, 230, 53, 0.055);
  color: var(--lime);
}
.training-feature .rest-reset-button{
  border: 1px solid var(--line);
  background: #181e16;
  color: #8f938c;
}
.training-feature .exercise-stack{
  display: grid;
  gap: 10px;
}
.training-feature .exercise-card{
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--panel);
  transition: border-color 0.2s ease;
}
.training-feature .exercise-card.open{
  border-color: #4d5648;
  background: linear-gradient(180deg, #181e16, #131711);
}
.training-feature .exercise-card.done{
  border-color: rgba(163, 230, 53, 0.28);
}
.training-feature .exercise-card.skipped{
  border-color: rgba(142, 154, 169, 0.25);
  background: #111510;
}
.training-feature .exercise-card-toggle{
  width: 100%;
  min-height: 77px;
  padding: 13px;
  border: 0;
  background: transparent;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  gap: 12px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.training-feature .exercise-number{
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: #212a1e;
  color: #aaafa6;
  font-family: var(--font-geist-mono);
  font-size: 11px;
  font-weight: 700;
}
.training-feature .done .exercise-number{
  background: var(--lime);
  color: #07120a;
  font-size: 18px;
}
.training-feature .skipped .exercise-number{
  background: #273123;
  color: #b1b4ae;
  font-size: 18px;
}
.training-feature .skipped .exercise-title strong{
  color: #a6a9a4;
}
.training-feature .skipped .exercise-title em{
  color: #9fa39c;
}
.training-feature .exercise-title{
  min-width: 0;
}
.training-feature .exercise-title small, .training-feature .exercise-title strong, .training-feature .exercise-title em{
  display: block;
}
.training-feature .exercise-title small{
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.training-feature .exercise-title strong{
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 14px;
}
.training-feature .exercise-title em{
  margin-top: 4px;
  color: #737c6e;
  font-size: 10px;
  font-style: normal;
}
.training-feature .chevron{
  color: #7b8377;
  font-size: 20px;
  font-weight: 300;
  text-align: center;
}
.training-feature .exercise-body{
  padding: 0 13px 15px;
  border-top: 1px solid rgba(31, 42, 31, 0.6);
}
.training-feature .recommend-card{
  margin: 13px 0;
  padding: 14px;
  border-radius: 15px;
  background: rgba(163, 230, 53, 0.055);
  border: 1px solid rgba(163, 230, 53, 0.16);
}
.training-feature .recommend-card > div{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.training-feature .recommend-card small{
  color: var(--lime);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
}
.training-feature .recommend-card strong{
  color: var(--lime);
  font-size: 17px;
}
.training-feature .recommend-card p{
  margin: 7px 0 0;
  color: #b4b8b2;
  font-size: 11px;
  line-height: 1.45;
}
.training-feature .recommend-card.down{
  background: rgba(248, 113, 113, 0.05);
  border-color: rgba(248, 113, 113, 0.16);
}
.training-feature .recommend-card.down small, .training-feature .recommend-card.down strong{
  color: var(--red);
}
.training-feature .rir-guide{
  margin: -2px 0 12px;
  padding: 0 11px;
  border: 1px solid #2a3526;
  border-radius: 12px;
  background: #10140e;
}
.training-feature .rir-guide summary{
  min-height: 38px;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #b4b7b2;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.training-feature .rir-guide summary::-webkit-details-marker{
  display: none;
}
.training-feature .rir-guide summary span{
  color: var(--blue);
  font-size: 17px;
  font-weight: 400;
}
.training-feature .rir-guide[open] summary span{
  transform: rotate(45deg);
}
.training-feature .rir-guide > div{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}
.training-feature .rir-guide p{
  margin: 0;
  padding: 7px 3px;
  border-radius: 7px;
  background: #1c231a;
  color: #a9aea6;
  text-align: center;
  font-size: 10px;
}
.training-feature .rir-guide b{
  display: block;
  margin-bottom: 2px;
  color: var(--lime);
  font-size: 11px;
}
.training-feature .rir-guide > small{
  display: block;
  padding: 9px 0 11px;
  color: #858e80;
  font-size: 10px;
  line-height: 1.45;
}
.training-feature .drop-note{
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0;
  color: #b9bdb6;
  font-size: 10px;
  line-height: 1.4;
}
.training-feature .drop-note span{
  padding: 5px 6px;
  border-radius: 6px;
  background: var(--orange);
  color: #07120a;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.training-feature .current-set-strip{
  margin: 11px 0 8px;
  padding: 10px 11px;
  border: 1px solid rgba(34, 197, 94, 0.2);
  border-radius: 12px;
  background: rgba(34, 197, 94, 0.055);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.training-feature .current-set-strip span{
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.09em;
}
.training-feature .current-set-strip strong{
  color: #d2d6cf;
  font-family: var(--font-geist-mono);
  font-size: 10px;
  text-align: right;
}
.training-feature .set-list{
  overflow: hidden;
  border: 1px solid #283224;
  border-radius: 14px;
}
.training-feature .set-header-row, .training-feature .set-row{
  display: grid;
  grid-template-columns: 39px minmax(112px, 1.25fr) minmax(94px, 1fr) minmax(
      72px,
      0.8fr
    );
  gap: 5px;
  align-items: center;
}
.training-feature .set-header-row{
  padding: 8px 6px;
  background: #10140e;
  color: #757e70;
  font-size: 10px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.training-feature .set-row{
  min-width: 335px;
  padding: 7px 6px;
  border-top: 1px solid #283224;
  background: rgba(14, 19, 14, 0.72);
}
.training-feature .set-row.filled{
  background: rgba(163, 230, 53, 0.018);
}
.training-feature .set-row.current{
  border-top-color: rgba(34, 197, 94, 0.32);
  background: rgba(34, 197, 94, 0.045);
  box-shadow: inset 3px 0 0 rgba(34, 197, 94, 0.55);
}
.training-feature .set-label{
  width: 30px;
  height: 30px;
  padding: 0;
  justify-self: center;
  border: 0;
  border-radius: 9px;
  background: #222b1f;
  color: #a5aaa2;
  font-family: var(--font-geist-mono);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.training-feature .set-label:disabled{
  cursor: default;
  opacity: 1;
}
.training-feature .filled .set-label{
  background: rgba(163, 230, 53, 0.12);
  color: var(--lime);
}
.training-feature .stepper-field{
  min-width: 0;
  height: 42px;
  display: grid;
  grid-template-columns: 29px minmax(44px, 1fr) 29px;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #33402f;
  border-radius: 10px;
  background: #0e120d;
}
.training-feature .stepper-field button{
  padding: 0;
  border: 0;
  background: #1c241a;
  color: #b4b7b2;
  font-size: 17px;
  cursor: pointer;
}
.training-feature .stepper-field label{
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.training-feature .stepper-field input{
  min-width: 0;
  width: 100%;
  padding: 0 1px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  text-align: center;
  font-size: 13px;
  font-weight: 750;
}
.training-feature .stepper-field small{
  margin-right: 3px;
  color: #6e7769;
  font-size: 10px;
}
.training-feature .reps-field{
  grid-template-columns: 27px minmax(33px, 1fr) 27px;
}
.training-feature .rir-picker{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px;
}
.training-feature .rir-picker button{
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: #222b1f;
  color: #8f948c;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.training-feature .rir-picker button.selected{
  background: var(--lime);
  color: #07120a;
}
.training-feature .live-hint{
  min-height: 42px;
  margin: 11px 0 8px;
  padding: 10px 11px;
  border-radius: 12px;
  background: #10140e;
  color: #b8bbb5;
  font-size: 10px;
  line-height: 1.4;
}
.training-feature .live-hint span{
  margin-right: 7px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
}
.training-feature .save-set-button{
  width: 100%;
  min-height: 58px;
  margin-bottom: 8px;
  padding: 8px 12px 8px 14px;
  border: 0;
  border-radius: 14px;
  background: var(--lime);
  color: #07120a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(163, 230, 53, 0.11);
}
.training-feature .save-set-button > span:first-child{
  min-width: 0;
}
.training-feature .save-set-button strong, .training-feature .save-set-button small{
  display: block;
}
.training-feature .save-set-button strong{
  font-size: 12px;
}
.training-feature .save-set-button small{
  margin-top: 3px;
  color: #40541d;
  font-size: 10px;
  font-weight: 700;
}
.training-feature .save-set-button > span:last-child{
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(7, 18, 10, 0.14);
  display: grid;
  place-items: center;
  font-size: 18px;
}
.training-feature .save-set-button:active{
  transform: scale(0.988);
}
.training-feature .all-sets-saved{
  min-height: 58px;
  margin-bottom: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(163, 230, 53, 0.2);
  border-radius: 14px;
  background: rgba(163, 230, 53, 0.055);
  color: var(--lime);
  display: flex;
  align-items: center;
  gap: 10px;
}
.training-feature .all-sets-saved > span:first-child{
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: rgba(163, 230, 53, 0.12);
  display: grid;
  place-items: center;
  font-size: 17px;
}
.training-feature .all-sets-saved strong, .training-feature .all-sets-saved small{
  display: block;
}
.training-feature .all-sets-saved strong{
  font-size: 11px;
}
.training-feature .all-sets-saved small{
  margin-top: 3px;
  color: #829169;
  font-size: 10px;
}
.training-feature .exercise-actions{
  display: grid;
  grid-template-columns: 0.7fr 0.7fr 1.35fr;
  gap: 6px;
}
.training-feature .ghost-button, .training-feature .done-button, .training-feature .secondary-button{
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #1a2118;
  cursor: pointer;
}
.training-feature .ghost-button, .training-feature .done-button{
  min-height: 44px;
  padding: 5px;
  font-size: 10px;
  font-weight: 750;
}
.training-feature .ghost-button:disabled{
  color: #61685e;
  cursor: not-allowed;
  opacity: 0.55;
}
.training-feature .done-button{
  border-color: rgba(163, 230, 53, 0.2);
  background: rgba(163, 230, 53, 0.07);
  color: var(--lime);
}
.training-feature .done-button.active{
  background: var(--lime);
  color: #07120a;
}
.training-feature .session-exercise-options{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 12px;
}
.training-feature .session-exercise-options button{
  min-height: 38px;
  padding: 7px;
  border: 1px solid #2b3627;
  border-radius: 11px;
  background: #121711;
  color: #959a92;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.training-feature .session-exercise-options button:last-child{
  border-color: rgba(248, 113, 113, 0.14);
  color: #b7807d;
}
.training-feature .session-exercise-options .swap-exercise-button{
  grid-column: 1 / -1;
  border-color: rgba(34, 197, 94, 0.19);
  background: rgba(34, 197, 94, 0.055);
  color: var(--blue);
}
.training-feature .skipped-exercise-panel{
  margin-top: 13px;
  padding: 16px;
  border: 1px solid #2d3829;
  border-radius: 15px;
  background: #10140e;
  display: grid;
  grid-template-columns: 37px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}
.training-feature .skipped-exercise-panel > span{
  width: 37px;
  height: 37px;
  border-radius: 12px;
  background: #252f22;
  color: #b1b4ae;
  display: grid;
  place-items: center;
  font-size: 20px;
}
.training-feature .skipped-exercise-panel strong{
  display: block;
  font-size: 12px;
}
.training-feature .skipped-exercise-panel p{
  margin: 4px 0 0;
  color: #899285;
  font-size: 10px;
  line-height: 1.45;
}
.training-feature .skipped-exercise-panel button{
  min-height: 40px;
  border: 1px solid rgba(34, 197, 94, 0.2);
  border-radius: 11px;
  background: rgba(34, 197, 94, 0.065);
  color: var(--blue);
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}
.training-feature .skipped-exercise-panel .swap-from-skipped{
  grid-column: 1 / -1;
}
.training-feature .skipped-exercise-panel .remove-session-button{
  border-color: rgba(248, 113, 113, 0.16);
  background: rgba(248, 113, 113, 0.045);
  color: #c18a87;
}
.training-feature .session-add-exercise{
  width: 100%;
  min-height: 64px;
  margin-top: 12px;
  padding: 10px 13px;
  border: 1px dashed rgba(163, 230, 53, 0.3);
  border-radius: 17px;
  background: rgba(163, 230, 53, 0.04);
  color: var(--lime);
  display: flex;
  align-items: center;
  gap: 11px;
  text-align: left;
  cursor: pointer;
}
.training-feature .session-add-exercise > span{
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: rgba(163, 230, 53, 0.12);
  display: grid;
  place-items: center;
  font-size: 21px;
}
.training-feature .session-add-exercise strong, .training-feature .session-add-exercise small{
  display: block;
}
.training-feature .session-add-exercise strong{
  font-size: 11px;
}
.training-feature .session-add-exercise small{
  margin-top: 3px;
  color: #7f8d82;
  font-size: 10px;
}
.training-feature .finish-panel{
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--panel);
}
.training-feature .text-button{
  padding: 8px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 11px;
  cursor: pointer;
}
.training-feature .danger{
  color: var(--red);
}
.training-feature .page-heading{
  margin: 14px 0 28px;
}
.training-feature .page-heading h1{
  margin: 5px 0 8px;
  font-size: 42px;
  line-height: 1;
  letter-spacing: -0.06em;
}
.training-feature .page-heading > p:last-child{
  max-width: 500px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.training-feature .stat-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.training-feature .stat-grid article{
  min-width: 0;
  padding: 15px 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
}
.training-feature .stat-grid strong, .training-feature .stat-grid span{
  display: block;
}
.training-feature .stat-grid strong{
  margin-bottom: 5px;
  color: var(--lime);
  font-size: 24px;
  letter-spacing: -0.05em;
}
.training-feature .stat-grid span{
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
}
.training-feature .stats-overview{
  grid-template-columns: repeat(2, 1fr);
}
.training-feature .stats-overview article{
  min-height: 78px;
}
.training-feature .stats-overview strong{
  font-size: 21px;
}
.training-feature .analytics-card{
  margin-top: 12px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(180deg, #161b14, #131711);
}
.training-feature .analytics-heading{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.training-feature .analytics-heading h2{
  margin: 0;
  font-size: 19px;
  letter-spacing: -0.035em;
}
.training-feature .analytics-heading > small{
  color: #6f786a;
  font-size: 10px;
}
.training-feature .volume-chart, .training-feature .exercise-chart{
  height: 190px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  align-items: stretch;
}
.training-feature .volume-column, .training-feature .exercise-column{
  min-width: 0;
  display: grid;
  grid-template-rows: 18px minmax(0, 1fr) 14px 12px;
  gap: 4px;
  align-items: end;
  text-align: center;
}
.training-feature .bar-value, .training-feature .exercise-column > span{
  overflow: hidden;
  color: #959a92;
  font-family: var(--font-geist-mono);
  font-size: 10px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.training-feature .bar-track, .training-feature .exercise-bar-track{
  position: relative;
  height: 100%;
  overflow: hidden;
  border-radius: 8px;
  background: #0d110c;
}
.training-feature .bar-track > span, .training-feature .exercise-bar-track > i{
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 0;
  border-radius: 8px 8px 5px 5px;
  background: linear-gradient(180deg, var(--lime), #16a34a);
  transition: height 0.35s ease;
}
.training-feature .volume-column > strong{
  color: #a6aaa4;
  font-size: 10px;
  font-weight: 650;
}
.training-feature .volume-column > small{
  color: #61695d;
  font-size: 10px;
}
.training-feature .chart-note{
  margin: 13px 0 0;
  color: #7e877a;
  font-size: 10px;
  line-height: 1.5;
}
.training-feature .split-stats{
  display: grid;
  gap: 14px;
}
.training-feature .split-stats > div > div:first-child{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.training-feature .split-stats strong{
  font-size: 11px;
}
.training-feature .split-stats span{
  color: var(--muted);
  font-size: 10px;
}
.training-feature .split-track{
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #0d110c;
}
.training-feature .split-track span{
  display: block;
  height: 100%;
  border-radius: inherit;
}
.training-feature .exercise-stat-heading{
  align-items: center;
}
.training-feature .exercise-stat-heading label{
  max-width: 49%;
}
.training-feature .exercise-stat-heading select{
  width: 100%;
  min-height: 37px;
  padding: 0 28px 0 10px;
  border: 1px solid #33402f;
  border-radius: 10px;
  outline: 0;
  background: #0e120d;
  color: #e0e1df;
  font-size: 10px;
  font-weight: 700;
}
.training-feature .exercise-chart{
  grid-template-columns: repeat(8, minmax(0, 1fr));
  height: 170px;
  gap: 5px;
  overflow-x: auto;
}
.training-feature .exercise-column{
  grid-template-rows: 18px minmax(0, 1fr) 13px;
  min-width: 31px;
}
.training-feature .exercise-bar-track > i{
  background: linear-gradient(180deg, var(--blue), #166534);
}
.training-feature .exercise-column > small{
  color: #717a6d;
  font-size: 10px;
}
.training-feature .record-list{
  display: grid;
}
.training-feature .record-list > div{
  min-height: 52px;
  padding: 8px 0;
  border-top: 1px solid rgba(31, 42, 31, 0.72);
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
}
.training-feature .record-list > div:first-child{
  border-top: 0;
}
.training-feature .record-list > div > span{
  color: #626b5e;
  font-family: var(--font-geist-mono);
  font-size: 10px;
}
.training-feature .record-list strong, .training-feature .record-list small{
  display: block;
}
.training-feature .record-list strong{
  font-size: 11px;
}
.training-feature .record-list small{
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}
.training-feature .record-list b{
  color: var(--lime);
  font-family: var(--font-geist-mono);
  font-size: 12px;
}
.training-feature .history-list{
  display: grid;
  gap: 9px;
}
.training-feature .history-list .section-heading{
  margin-top: 16px;
}
.training-feature .history-card{
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--panel);
}
.training-feature .history-card summary{
  min-height: 77px;
  padding: 12px;
  list-style: none;
  display: grid;
  grid-template-columns: 5px minmax(0, 1fr) 25px;
  gap: 13px;
  align-items: center;
  cursor: pointer;
}
.training-feature .history-card summary::-webkit-details-marker, .training-feature .settings-group summary::-webkit-details-marker{
  display: none;
}
.training-feature .history-color{
  width: 5px;
  height: 44px;
  border-radius: 999px;
}
.training-feature .history-card summary small, .training-feature .history-card summary strong, .training-feature .history-card summary em{
  display: block;
}
.training-feature .history-card summary small{
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 10px;
  text-transform: capitalize;
}
.training-feature .history-card summary strong{
  font-size: 15px;
}
.training-feature .history-card summary em{
  margin-top: 3px;
  color: #727b6d;
  font-size: 10px;
  font-style: normal;
}
.training-feature .history-card[open] .chevron, .training-feature .settings-group[open] .chevron{
  transform: rotate(45deg);
}
.training-feature .history-details{
  padding: 0 14px 13px 30px;
}
.training-feature .history-details div{
  padding: 9px 0;
  border-top: 1px solid rgba(31, 42, 31, 0.7);
}
.training-feature .history-details strong, .training-feature .history-details span{
  display: block;
}
.training-feature .history-details strong{
  margin-bottom: 4px;
  font-size: 11px;
}
.training-feature .history-details span{
  color: var(--muted);
  font-family: var(--font-geist-mono);
  font-size: 10px;
  line-height: 1.5;
}
.training-feature .empty-state{
  padding: 38px 24px;
  border: 1px dashed #354230;
  border-radius: 20px;
  text-align: center;
  background: rgba(14, 19, 14, 0.55);
}
.training-feature .empty-state > span{
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0 auto 12px;
  border-radius: 14px;
  background: rgba(163, 230, 53, 0.1);
  color: var(--lime);
  font-size: 22px;
}
.training-feature .empty-state h3{
  margin: 0 0 7px;
  font-size: 17px;
}
.training-feature .empty-state p{
  max-width: 340px;
  margin: 0 auto 16px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.training-feature .empty-state .ghost-button{
  padding: 0 16px;
}
.training-feature .settings-group{
  margin-bottom: 9px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--panel);
}
.training-feature .settings-group > summary{
  min-height: 57px;
  padding: 12px 14px;
  list-style: none;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto 25px;
  gap: 10px;
  align-items: center;
  cursor: pointer;
}
.training-feature .settings-group summary strong{
  font-size: 13px;
}
.training-feature .settings-group summary > span:nth-child(3){
  color: var(--muted);
  font-size: 10px;
}
.training-feature .settings-exercises{
  padding: 0 12px 12px;
}
.training-feature .settings-exercises article{
  padding: 14px 0;
  border-top: 1px solid var(--line);
}
.training-feature .settings-exercises article > div:first-child{
  margin-bottom: 11px;
}
.training-feature .settings-exercises strong, .training-feature .settings-exercises small{
  display: block;
}
.training-feature .settings-exercises strong{
  font-size: 12px;
}
.training-feature .settings-exercises small{
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}
.training-feature .settings-exercise-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.training-feature .settings-exercise-head > div{
  min-width: 0;
}
.training-feature .delete-exercise-button{
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(248, 113, 113, 0.18);
  border-radius: 10px;
  background: rgba(248, 113, 113, 0.055);
  color: #c7807c;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}
.training-feature .delete-exercise-button:active{
  background: rgba(248, 113, 113, 0.14);
}
.training-feature .settings-fields{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.training-feature .settings-fields label{
  position: relative;
  color: #899185;
  font-size: 10px;
}
.training-feature .settings-fields input{
  width: 100%;
  height: 39px;
  margin-top: 5px;
  padding: 0 8px;
  border: 1px solid #33402f;
  border-radius: 10px;
  outline: 0;
  background: #10140e;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
}
.training-feature .settings-fields label span{
  position: absolute;
  right: 7px;
  bottom: 10px;
  color: #6e776a;
  font-size: 10px;
}
.training-feature .settings-fields label:last-child input{
  padding-right: 22px;
}
.training-feature .settings-empty{
  padding: 22px 10px 15px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  text-align: center;
  font-size: 10px;
  line-height: 1.5;
}
.training-feature .add-exercise-button{
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  padding: 0 13px;
  border: 1px dashed rgba(163, 230, 53, 0.28);
  border-radius: 13px;
  background: rgba(163, 230, 53, 0.045);
  color: var(--lime);
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.training-feature .add-exercise-button span{
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-right: 6px;
  border-radius: 7px;
  background: rgba(163, 230, 53, 0.12);
  font-size: 15px;
  vertical-align: middle;
}
.training-feature .info-card{
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 16px;
  border: 1px solid rgba(34, 197, 94, 0.17);
  border-radius: 17px;
  background: rgba(34, 197, 94, 0.045);
}
.training-feature .info-icon{
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: var(--blue);
  color: #07120a;
  font-weight: 900;
}
.training-feature .info-card strong{
  font-size: 12px;
}
.training-feature .info-card p{
  margin: 5px 0 0;
  color: #a5aaa1;
  font-size: 10px;
  line-height: 1.5;
}
.training-feature .backup-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.training-feature .secondary-button{
  min-height: 62px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.training-feature .secondary-button > span:first-child{
  width: 31px;
  height: 31px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: #252f22;
  color: var(--lime);
  font-size: 19px;
}
.training-feature .secondary-button strong, .training-feature .secondary-button small{
  display: block;
}
.training-feature .secondary-button strong{
  font-size: 11px;
}
.training-feature .secondary-button small{
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}
.training-feature .secondary-button input{
  display: none;
}
.training-feature .reset-button{
  width: 100%;
  margin-top: 16px;
}
.training-feature .modal-backdrop{
  position: fixed;
  z-index: 90;
  inset: 0;
  padding: 18px;
  background: rgba(2, 5, 2, 0.76);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  backdrop-filter: blur(10px);
  animation: backdrop-in 0.18s ease-out;
}
.training-feature .exercise-modal{
  width: min(100%, 560px);
  max-height: min(90svh, 760px);
  padding: 9px 17px calc(17px + env(safe-area-inset-bottom));
  overflow-y: auto;
  border: 1px solid #394734;
  border-radius: 26px;
  background: linear-gradient(180deg, #1c231a, #131711);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55);
  animation: modal-in 0.22s ease-out;
}
.training-feature .modal-handle{
  width: 38px;
  height: 4px;
  margin: 2px auto 12px;
  border-radius: 999px;
  background: #4e574a;
}
.training-feature .exercise-modal > header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 2px 16px;
}
.training-feature .exercise-modal h2{
  margin: 0;
  font-size: 25px;
  letter-spacing: -0.045em;
}
.training-feature .exercise-modal > header > button{
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #222b1f;
  color: #b8bbb5;
  font-size: 22px;
  cursor: pointer;
}
.training-feature .modal-form{
  display: grid;
  gap: 12px;
}
.training-feature .modal-form label{
  color: #a6aba3;
  font-size: 10px;
  font-weight: 700;
}
.training-feature .modal-form label > small{
  display: inline;
  margin-left: 4px;
  color: #717a6d;
  font-size: 10px;
  font-weight: 500;
}
.training-feature .modal-form input:not([type="checkbox"]){
  width: 100%;
  height: 48px;
  margin-top: 6px;
  padding: 0 13px;
  border: 1px solid #364431;
  border-radius: 12px;
  outline: 0;
  background: #0e120d;
  color: var(--text);
  font-size: 13px;
  font-weight: 650;
}
.training-feature .modal-form input:focus{
  border-color: rgba(163, 230, 53, 0.62);
  box-shadow: 0 0 0 3px rgba(163, 230, 53, 0.07);
}
.training-feature .modal-number-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
}
.training-feature .modal-number-grid label{
  position: relative;
}
.training-feature .modal-number-grid label span{
  position: absolute;
  right: 8px;
  bottom: 15px;
  color: #717a6d;
  font-size: 10px;
}
.training-feature .modal-number-grid label:last-child input{
  padding-right: 23px;
}
.training-feature .drop-toggle{
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid #33412f;
  border-radius: 14px;
  background: #141912;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  cursor: pointer;
}
.training-feature .drop-toggle input{
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--lime);
}
.training-feature .drop-toggle b, .training-feature .drop-toggle small{
  display: block;
}
.training-feature .drop-toggle b{
  color: var(--text);
  font-size: 11px;
}
.training-feature .drop-toggle small{
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
}
.training-feature .drop-toggle em{
  color: #7b8477;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
}
.training-feature .drop-toggle:has(input:checked){
  border-color: rgba(163, 230, 53, 0.3);
  background: rgba(163, 230, 53, 0.055);
}
.training-feature .drop-toggle:has(input:checked) em{
  color: var(--lime);
}
.training-feature .modal-actions{
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 8px;
  margin-top: 16px;
}
.training-feature .modal-actions .primary-button{
  min-height: 48px;
}
.training-feature .swap-modal{
  max-height: min(92svh, 780px);
}
.training-feature .swap-intro, .training-feature .confirm-modal > p{
  margin: -2px 2px 14px;
  color: #a1a59e;
  font-size: 10px;
  line-height: 1.55;
}
.training-feature .swap-list{
  display: grid;
  gap: 7px;
  margin-bottom: 12px;
}
.training-feature .swap-list > button{
  width: 100%;
  min-height: 62px;
  padding: 9px 10px;
  border: 1px solid #33402e;
  border-radius: 14px;
  background: #10140e;
  color: var(--text);
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.training-feature .swap-list > button:active{
  border-color: rgba(34, 197, 94, 0.4);
  background: rgba(34, 197, 94, 0.055);
}
.training-feature .swap-symbol{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(34, 197, 94, 0.09);
  color: var(--blue);
  display: grid;
  place-items: center;
  font-size: 17px;
}
.training-feature .swap-list strong, .training-feature .swap-list small{
  display: block;
}
.training-feature .swap-list strong{
  overflow: hidden;
  font-size: 11px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.training-feature .swap-list small{
  margin-top: 4px;
  color: #7d8579;
  font-size: 10px;
}
.training-feature .swap-list em{
  padding: 5px 6px;
  border-radius: 7px;
  background: rgba(163, 230, 53, 0.08);
  color: var(--lime);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.07em;
}
.training-feature .swap-remember-toggle{
  margin-top: 4px;
}
.training-feature .swap-new-button{
  margin-top: 8px;
}
.training-feature .swap-confirmation{
  padding: 8px 2px 2px;
  text-align: center;
}
.training-feature .swap-confirmation > span{
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  border-radius: 15px;
  background: rgba(34, 197, 94, 0.09);
  color: var(--blue);
  display: grid;
  place-items: center;
  font-size: 23px;
}
.training-feature .swap-confirmation h3{
  margin: 0 0 8px;
  font-size: 17px;
}
.training-feature .swap-confirmation p{
  margin: 0 auto;
  max-width: 390px;
  color: #989c95;
  font-size: 10px;
  line-height: 1.55;
}
.training-feature .confirm-modal{
  max-width: 470px;
}
.training-feature .danger-confirm-button{
  min-height: 48px;
  padding: 8px 12px;
  border: 1px solid rgba(248, 113, 113, 0.24);
  border-radius: 13px;
  background: rgba(248, 113, 113, 0.1);
  color: #fca5a5;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
@keyframes backdrop-in{
  from {
    opacity: 0;
  }
}
@keyframes modal-in{
  from {
    opacity: 0;
    transform: translateY(18px);
  }
}
.training-feature .bottom-nav{
  position: fixed;
  z-index: 50;
  left: 50%;
  bottom: max(10px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(calc(100% - 24px), 520px);
  min-height: 68px;
  padding: 7px;
  border: 1px solid rgba(45, 62, 43, 0.85);
  border-radius: 22px;
  background: rgba(13, 18, 13, 0.92);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(20px);
}
.training-feature .bottom-nav button{
  min-height: 52px;
  padding: 4px;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: #838b7f;
  display: grid;
  place-content: center;
  gap: 3px;
  font-size: 18px;
  cursor: pointer;
}
.training-feature .bottom-nav button span:last-child{
  font-size: 10px;
  font-weight: 750;
}
.training-feature .bottom-nav button.active{
  background: #222a1f;
  color: var(--lime);
}
.training-feature .toast{
  position: fixed;
  z-index: 100;
  left: 50%;
  bottom: calc(92px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(calc(100% - 38px), 450px);
  padding: 13px 16px;
  border: 1px solid #4a5040;
  border-radius: 14px;
  background: #19231c;
  color: #e8f0d9;
  text-align: center;
  font-size: 11px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.42);
  animation: toast-in 0.22s ease-out;
}
.training-feature .app-shell:not(.with-nav) .toast{
  bottom: calc(18px + env(safe-area-inset-bottom));
}
.training-feature .undo-toast{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
}
.training-feature .undo-toast span{
  min-width: 0;
  line-height: 1.4;
}
.training-feature .undo-toast button{
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(163, 230, 53, 0.28);
  border-radius: 9px;
  background: rgba(163, 230, 53, 0.1);
  color: var(--lime);
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}
.training-feature .sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@keyframes toast-in{
  from {
    opacity: 0;
    transform: translate(-50%, 10px);
  }
}
@media (max-width: 390px){.training-feature .app-content{
    padding-left: 12px;
    padding-right: 12px;
  }
.training-feature .session-header{
    margin-left: -12px;
    margin-right: -12px;
    padding-left: 12px;
    padding-right: 12px;
  }
.training-feature .hero-panel{
    min-height: 190px;
    padding: 22px 18px;
  }
.training-feature .hero-orbit{
    width: 74px;
    height: 74px;
  }
.training-feature .workout-card{
    padding: 17px 14px;
  }
.training-feature .set-list{
    margin-left: -5px;
    margin-right: -5px;
    overflow-x: auto;
  }
.training-feature .settings-fields{
    grid-template-columns: repeat(2, 1fr);
  }

}
@media (min-width: 760px){.training-feature .app-content{
    padding-top: 35px;
  }
.training-feature .hero-panel{
    min-height: 245px;
  }
.training-feature .workout-card{
    padding: 28px;
  }
.training-feature .set-header-row, .training-feature .set-row{
    grid-template-columns: 48px 1.35fr 1fr 1fr;
  }

}
@media (prefers-reduced-motion: reduce){.training-feature *, .training-feature *::before, .training-feature *::after{
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }

}
.training-feature .volt-apply{
  width: 100%;
  min-height: 42px;
  margin-top: 11px;
  padding: 0 12px;
  border: 1px solid rgba(163, 230, 53, 0.42);
  border-radius: 11px;
  background: rgba(163, 230, 53, 0.12);
  color: var(--lime);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  cursor: pointer;
}
.training-feature .volt-apply:active{
  background: rgba(163, 230, 53, 0.22);
}
.training-feature .recommend-card.down .volt-apply{
  border-color: rgba(248, 113, 113, 0.42);
  background: rgba(248, 113, 113, 0.12);
  color: var(--red);
}
.training-feature .history-card summary{
  grid-template-columns: 5px minmax(0, 1fr) 36px 25px;
}
.training-feature .volt-del{
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(248, 113, 113, 0.2);
  border-radius: 10px;
  background: rgba(248, 113, 113, 0.06);
  color: #c98d8a;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}
.training-feature .volt-del:active{
  background: rgba(248, 113, 113, 0.16);
}
.training-feature .volt-banner{
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 14px;
  padding: 12px 13px;
  border: 1px solid rgba(132, 204, 22, 0.28);
  border-radius: 14px;
  background: rgba(132, 204, 22, 0.06);
  color: #cfe0b6;
  font-size: 11px;
  line-height: 1.45;
}
.training-feature .volt-banner button{
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #141b13;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}
.training-feature .volt-sound-off .volt-sound-icon{
  opacity: 0.4;
}
.training-feature .volt-toggle{
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  margin-left: 8px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #101711;
  color: var(--lime);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}
.training-feature .ln-icon{
  width: 1em;
  height: 1em;
  display: block;
  flex: 0 0 auto;
}
.training-feature .bottom-nav button .ln-icon{
  width: 21px;
  height: 21px;
}
.training-feature .icon-button .ln-icon{
  width: 22px;
  height: 22px;
  stroke-width: 1.8;
}
.training-feature .exercise-number .ln-icon{
  width: 20px;
  height: 20px;
  stroke-width: 2;
}
.training-feature .signal .ln-icon{
  width: 19px;
  height: 19px;
  stroke-width: 2.1;
}
.training-feature .info-icon .ln-icon{
  width: 16px;
  height: 16px;
  stroke-width: 2;
}
.training-feature .swap-symbol .ln-icon{
  width: 18px;
  height: 18px;
}
.training-feature .empty-state > span .ln-icon{
  width: 22px;
  height: 22px;
}
.training-feature .chevron{
  display: grid;
  place-items: center;
}
.training-feature .chevron .ln-icon{
  width: 17px;
  height: 17px;
  stroke-width: 1.9;
}
.training-feature .stepper button .ln-icon, .training-feature .set-stepper button .ln-icon{
  width: 15px;
  height: 15px;
  stroke-width: 2.2;
}
.training-feature .delete-exercise-button .ln-icon{
  width: 16px;
  height: 16px;
  margin: 0 auto;
  stroke-width: 1.9;
}
.training-feature .session-add-exercise > span .ln-icon{
  width: 19px;
  height: 19px;
}
.training-feature .add-exercise-button .ln-icon{
  width: 14px;
  height: 14px;
  display: inline-block;
  vertical-align: -2px;
}
.training-feature .rir-guide summary span .ln-icon{
  width: 14px;
  height: 14px;
  stroke-width: 2;
}
.training-feature .swap-exercise-button .ln-icon, .training-feature .swap-from-skipped .ln-icon, .training-feature .skipped-exercise-panel button .ln-icon{
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: -2px;
  margin-right: 5px;
}
.training-feature .skipped-exercise-panel > span .ln-icon{
  width: 20px;
  height: 20px;
}
.training-feature .secondary-button .ln-icon{
  width: 18px;
  height: 18px;
}
.training-feature .save-set-button .ln-icon{
  width: 20px;
  height: 20px;
  stroke-width: 2.1;
}
.training-feature .all-sets-saved .ln-icon{
  width: 19px;
  height: 19px;
}
.training-feature .volt-toggle .ln-icon{
  width: 16px;
  height: 16px;
  margin: 0 auto;
}
.training-feature button > .ln-icon, .training-feature label > .ln-icon{
  flex: 0 0 auto;
}
.training-feature .volt-reorder-slot{
  display: block;
  list-style: none;
}
.training-feature .exercise-preview .volt-reorder-slot{
  display: block;
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
}
.training-feature .exercise-preview .volt-reorder-btn{
  margin-top: 12px;
}
.training-feature .exercise-stack .volt-reorder-slot .volt-reorder-btn{
  margin-top: 0;
}
.training-feature .volt-reorder-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin-top: 9px;
  padding: 0 13px;
  border: 1px dashed rgba(163, 230, 53, 0.3);
  border-radius: 13px;
  background: rgba(163, 230, 53, 0.05);
  color: var(--lime);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  cursor: pointer;
}
.training-feature .volt-reorder-btn:active{
  background: rgba(163, 230, 53, 0.13);
}
.training-feature .volt-reorder-btn .ln-icon{
  width: 15px;
  height: 15px;
}
.training-feature .volt-sheet-back{
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(2, 5, 2, 0.72);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: flex-end;
}
.training-feature .volt-sheet{
  width: 100%;
  max-height: 86vh;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  background: var(--panel);
  padding: 8px 14px calc(16px + env(safe-area-inset-bottom));
}
.training-feature .volt-sheet-grip{
  width: 40px;
  height: 4px;
  margin: 4px auto 12px;
  border-radius: 99px;
  background: #2a3628;
}
.training-feature .volt-sheet-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
.training-feature .volt-sheet-head h3{
  margin: 0 0 3px;
  font-size: 17px;
  letter-spacing: -0.02em;
}
.training-feature .volt-sheet-head p{
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}
.training-feature .volt-sheet-done{
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 12px;
  background: var(--lime);
  color: #07120a;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.training-feature .volt-list{
  position: relative;
  margin: 14px 0 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.training-feature .volt-row{
  position: absolute;
  left: 0;
  right: 0;
  height: 56px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease;
  will-change: transform;
}
.training-feature .volt-row.dragging{
  z-index: 5;
  transition: none;
  border-color: rgba(163, 230, 53, 0.5);
  background: #1a2317;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.55);
}
.training-feature .volt-row-num{
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #222a1e;
  color: #aab0a4;
  font-family: var(--font-geist-mono);
  font-size: 10px;
  font-weight: 700;
}
.training-feature .volt-row.dragging .volt-row-num{
  background: var(--lime);
  color: #07120a;
}
.training-feature .volt-row-name{
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.training-feature .volt-row-grip{
  flex: 0 0 auto;
  color: #6f7a6b;
}
.training-feature .volt-row-grip .ln-icon{
  width: 19px;
  height: 19px;
}
.training-feature .volt-sheet-empty{
  padding: 26px 0;
  text-align: center;
  color: var(--muted);
  font-size: 11px;
}
.training-feature{
  --bg: #0b1317;
  --panel: #121f24;
  --panel-2: #19292f;
  --line: #2d3d43;
  --text: #f0eae0;
  --muted: #a4b2b6;
  --lime: #dba67d;
  --blue: #8ebbb7;
  --orange: #c68b61;
  --red: #efa39b;
  --copper: #c08b65;
  --font-geist-sans:
    Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.training-feature{
  background: var(--bg);
  color-scheme: dark;
}
.training-feature{
  background:
    radial-gradient(ellipse at top, #1c3037 0, transparent 700px), var(--bg);
  color: var(--text);
}
.training-feature button:focus-visible, .training-feature summary:focus-visible, .training-feature input:focus-visible, .training-feature select:focus-visible{
  outline: 2px solid #e8bc97 !important;
  outline-offset: 3px;
}
.training-feature .app-content{
  width: min(100%, 760px);
  padding-top: max(22px, env(safe-area-inset-top));
}
.training-feature .app-content:has(.adventure-home){
  width: min(100%, 760px);
  padding-top: max(16px, env(safe-area-inset-top));
}
.training-feature .adventure-home{
  --adventure-art: url("assets/volt-mountain-dark.webp");
  position: relative;
}
.training-feature .adventure-home button{
  cursor: pointer;
}
.training-feature .adventure-home h1, .training-feature .adventure-home h2{
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.035em;
}
.training-feature .adventure-home h1:focus{
  outline: none;
}
.training-feature .adventure-topbar{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 4px 6px 17px;
}
.training-feature .adventure-topbar > div{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.training-feature .adventure-wordmark{
  font-family: Georgia, serif;
  font-size: 36px;
  letter-spacing: 0.2em;
  line-height: 1.1;
}
.training-feature .adventure-tagline{
  font-size: 9px;
  letter-spacing: 0.18em;
  color: var(--muted);
}
.training-feature .adventure-profile{
  padding: 10px 15px;
  border-radius: 40px;
  background: #18272bcc;
  border: 1px solid #b6845f66;
  color: #e8c8ad;
  font-size: 12px;
  min-height: 44px;
}
.training-feature .adventure-landscape{
  height: 540px;
  position: relative;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, #0b131765, transparent 25%, #0b131710 70%, #0b1317),
    var(--adventure-art);
  background-size: cover;
  background-position: center 47%;
  margin: 0 -18px;
  overflow: hidden;
}
.training-feature .adventure-level{
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 22px 24px 10px;
  font-size: 11px;
  color: #e1e5e2;
  text-shadow: 0 1px 8px #000;
}
.training-feature .adventure-xp{
  height: 4px;
  margin: 0 24px;
  background: #5d696d77;
  border-radius: 8px;
  overflow: hidden;
}
.training-feature .adventure-xp > span{
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #a96f4c, #dfb38e);
  transition: width 0.4s;
}
.training-feature .adventure-map-nodes{
  position: absolute;
  inset: 90px 10px 80px;
}
.training-feature .adventure-node{
  position: absolute;
  display: flex;
  align-items: center;
  gap: 7px;
  background: #0c191fe6;
  border: 1px solid #c08b6599;
  color: #e7ddd2;
  padding: 7px 12px 7px 7px;
  border-radius: 6px;
  box-shadow: 0 6px 18px #0008;
  min-height: 48px;
  font-family: Georgia, serif;
  font-size: 16px;
  transition:
    transform 0.2s,
    border-color 0.2s;
}
.training-feature .adventure-node:hover{
  transform: translateY(-3px);
  border-color: #edc39e;
}
.training-feature .adventure-node > span{
  font: 11px var(--font-geist-mono);
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #9f765855;
  border-radius: 50%;
  background: #c08b6522;
  color: #e7bb99;
}
.training-feature .adventure-node b{
  font-weight: 400;
}
.training-feature .node-push{
  top: 26%;
  left: 7%;
}
.training-feature .node-pull{
  top: 48%;
  right: 6%;
}
.training-feature .node-legs{
  bottom: 4%;
  left: 36%;
}
.training-feature .adventure-landscape-caption{
  position: absolute;
  bottom: 52px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 14px;
  font-size: 9px;
  letter-spacing: 0.15em;
  color: #d1d9d7;
}
.training-feature .adventure-landscape-caption > span:first-child{
  color: #d6a883;
}
.training-feature .adventure-welcome{
  position: relative;
  margin: -35px 0 0;
  padding: 25px 24px 22px;
  background: linear-gradient(150deg, #18282ded, #101c21fa);
  border: 1px solid #61706b66;
  border-radius: 18px 18px 10px 10px;
  box-shadow: 0 15px 50px #0005;
  text-align: center;
}
.training-feature .adventure-kicker{
  margin: 0 0 12px;
  font-size: 10px;
  letter-spacing: 0.15em;
  color: #d1a785;
}
.training-feature .adventure-welcome h1{
  font-size: 34px;
  white-space: pre-line;
  line-height: 1.13;
  margin: 0 0 14px;
}
.training-feature .adventure-welcome > p:not(.adventure-kicker){
  max-width: 370px;
  margin: 0 auto 22px;
  font-size: 13px;
  line-height: 1.65;
  color: #b3c0c2;
}
.training-feature .adventure-primary, .training-feature .adventure-secondary{
  width: 100%;
  min-height: 54px;
  border-radius: 8px;
  padding: 13px 16px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 650;
}
.training-feature .adventure-primary{
  border: 1px solid #dfae85;
  background: linear-gradient(125deg, #c3916c, #a9704f);
  color: #101a1e;
  box-shadow:
    inset 0 1px #fff3,
    0 7px 20px #0002;
}
.training-feature .adventure-primary:hover{
  filter: brightness(1.1);
}
.training-feature .adventure-secondary{
  margin-top: 10px;
  border: 1px solid #5e6f7277;
  background: #17272c;
  color: #e5dfd6;
}
.training-feature .adventure-text{
  display: block;
  margin: 10px auto 0;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.training-feature .adventure-signoff{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 9px;
  letter-spacing: 0.22em;
  color: #8b9da1;
  margin: 27px 0 3px;
}
.training-feature .adventure-signoff:before, .training-feature .adventure-signoff:after{
  content: "";
  width: 20px;
  height: 1px;
  background: #647b8066;
}
.training-feature .adventure-notice{
  margin: 14px 0 0;
  padding: 14px;
  border: 1px solid #85705c;
  border-radius: 8px;
  background: #213139;
  color: #efddd0;
  font-size: 13px;
  line-height: 1.6;
}
.training-feature .adventure-back{
  border: 0;
  background: transparent;
  color: #b9c7c8;
  min-height: 44px;
  padding: 0;
  margin: 0 0 17px;
  font-size: 12px;
  text-align: left;
}
.training-feature .adventure-selection h1, .training-feature .adventure-journey h1{
  font-size: 34px;
  line-height: 1.2;
  margin: 0 0 24px;
}
.training-feature .adventure-choices{
  display: grid;
  gap: 12px;
}
.training-feature .adventure-choice{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  text-align: left;
  min-height: 152px;
  padding: 18px 45px 17px 18px;
  border: 1px solid #52626388;
  border-radius: 10px;
  background:
    linear-gradient(180deg, #0a171a55, #081417e6),
    var(--adventure-art) center 46% / cover;
  color: var(--text);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.training-feature .adventure-choice.choice-pull{
  background-position: center 63%;
}
.training-feature .adventure-choice.choice-legs{
  background-position: center 25%;
}
.training-feature .adventure-choice.selected{
  border: 2px solid #d5a079;
  padding: 17px 44px 16px 17px;
  box-shadow: 0 0 0 3px #c08b6514;
}
.training-feature .adventure-choice:hover{
  filter: brightness(1.15);
}
.training-feature .adventure-choice-number{
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #d4c1b0;
  margin-bottom: 26px;
}
.training-feature .adventure-choice strong{
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.15;
  text-shadow: 0 2px 8px #0008;
}
.training-feature .adventure-choice-meta{
  font-size: 11px;
  color: #c0cacc;
  margin-top: 6px;
}
.training-feature .adventure-choice-check{
  position: absolute;
  bottom: 22px;
  right: 17px;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 1px solid #d2d7d5;
  border-radius: 50%;
  font-size: 16px;
}
.training-feature .selected .adventure-choice-check{
  background: #b7805b;
  border-color: #ddb896;
  color: #fff5e7;
}
.training-feature .adventure-preview{
  margin-top: 18px;
  background: #131f24;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0 14px;
}
.training-feature .adventure-preview summary{
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  cursor: pointer;
}
.training-feature .adventure-preview summary > span{
  font-size: 11px;
  color: var(--muted);
}
.training-feature .adventure-preview .exercise-preview{
  margin: 0 0 12px;
}
.training-feature .adventure-preview > p{
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
}
.training-feature .adventure-last{
  text-align: center;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
  margin: 15px 0;
}
.training-feature .adventure-resume{
  padding: 15px;
  background: #203238;
  border: 1px solid #65736c;
  border-radius: 10px;
  margin: 12px 0 16px;
  text-align: left;
}
.training-feature .adventure-resume strong{
  font-size: 14px;
  line-height: 1.5;
}
.training-feature .adventure-resume p{
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
  margin: 8px 0;
}
.training-feature .adventure-resume .adventure-primary{
  margin-top: 12px;
}
.training-feature .adventure-rest-seal{
  position: absolute;
  bottom: 120px;
  left: 20px;
  right: 20px;
  text-align: center;
  text-shadow: 0 3px 20px #000;
}
.training-feature .adventure-rest-seal span{
  font-size: 9px;
  letter-spacing: 0.18em;
  color: #e3c5a9;
  display: block;
}
.training-feature .adventure-rest-seal strong{
  display: block;
  font:
    400 30px Georgia,
    serif;
  margin-top: 12px;
}
.training-feature .is-rest{
  background-position: center 74%;
}
.training-feature .adventure-journey-art{
  height: 230px;
  background:
    linear-gradient(0deg, var(--bg), transparent),
    var(--adventure-art) center 45% / cover;
  border-radius: 12px;
}
.training-feature .adventure-journey-stats{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin: 20px 0;
}
.training-feature .adventure-journey-stats strong{
  display: block;
  font:
    32px Georgia,
    serif;
  color: #dcb491;
}
.training-feature .adventure-journey-stats span{
  font-size: 12px;
  color: var(--muted);
}
.training-feature .adventure-journey > p:not(.adventure-kicker){
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 24px;
}
.training-feature .page-heading h1, .training-feature .section-heading h2, .training-feature .workout-card-head h2, .training-feature .analytics-heading h2{
  font-family: Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.025em;
}
.training-feature .page-heading h1{
  font-size: 36px;
}
.training-feature .page-heading{
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.training-feature .session-header{
  background: linear-gradient(180deg, #0b1317fa 80%, #0b131700);
}
.training-feature .session-header h1{
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 24px;
}
.training-feature .session-header .eyebrow{
  color: #d1a785;
}
.training-feature .session-meta{
  font-size: 12px;
}
.training-feature .exercise-card, .training-feature .exercise-card.open, .training-feature .exercise-card.skipped, .training-feature .analytics-card, .training-feature .settings-group, .training-feature .history-card, .training-feature .exercise-modal, .training-feature .volt-sheet{
  background: linear-gradient(140deg, #18272d, #111c21);
  border-color: var(--line);
  border-radius: 12px;
}
.training-feature .exercise-card.open{
  border-color: #9e775e;
}
.training-feature .exercise-card-toggle{
  min-height: 85px;
}
.training-feature .exercise-title strong{
  font-size: 16px;
}
.training-feature .exercise-title small, .training-feature .exercise-title em{
  font-size: 11px;
  color: #a4b4b7;
}
.training-feature .exercise-number{
  background: #22353c;
  color: #d3c3b1;
  border-radius: 9px;
}
.training-feature .done .exercise-number, .training-feature .primary-button, .training-feature .save-set-button{
  background: linear-gradient(120deg, #d2a17b, #b57e57);
  color: #111a1e;
  box-shadow: 0 6px 16px #0003;
  border-radius: 8px;
}
.training-feature .primary-button, .training-feature .save-set-button{
  min-height: 56px;
}
.training-feature .save-set-button strong{
  font-size: 15px;
}
.training-feature .save-set-button small{
  color: #283139;
  font-size: 11px;
}
.training-feature .save-set-button > span:last-child{
  background: #13202420;
}
.training-feature .recommend-card{
  background: #b7805b0d;
  border-color: #b7805b55;
  border-radius: 9px;
}
.training-feature .recommend-card p{
  font-size: 13px;
  color: #c9ccc6;
  line-height: 1.6;
}
.training-feature .recommend-card strong{
  font-size: 19px;
}
.training-feature .recommend-card small{
  font-size: 11px;
}
.training-feature .rest-timer-card, .training-feature .rest-timer-card.running, .training-feature .rest-timer-card.finished{
  background: #14242bed;
  border-color: #486068;
  border-radius: 11px;
}
.training-feature .rest-timer-card{
  top: 84px;
}
.training-feature .rest-timer-head strong{
  font-size: 12px;
}
.training-feature .rest-presets button, .training-feature .rest-actions button{
  min-height: 40px;
  font-size: 12px;
  background: #203239;
  border-color: var(--line);
  color: #d0d9d6;
}
.training-feature .rest-presets button.active{
  border-color: #ad886d;
  color: #e1b694;
  background: #c08b6515;
}
.training-feature .rest-clock span{
  color: #ddad86;
}
.training-feature .rest-timer-head .eyebrow{
  font-size: 10px;
}
.training-feature .rest-timer-head{
  gap: 6px;
}
.training-feature .stepper-field, .training-feature .settings-fields input, .training-feature .modal-form input:not([type="checkbox"]), .training-feature .exercise-stat-heading select{
  background: #0c181d;
  border-color: #486069;
}
.training-feature .stepper-field{
  height: 46px;
  grid-template-columns: 36px minmax(35px, 1fr) 36px;
  border-radius: 7px;
}
.training-feature .stepper-field button, .training-feature .rir-picker button, .training-feature .set-label{
  background: #21343c;
  color: #c1cdd0;
}
.training-feature .stepper-field input{
  font-size: 16px;
}
.training-feature .rir-picker button{
  min-height: 36px;
  font-size: 12px;
}
.training-feature .rir-picker button.selected{
  background: #d4a781;
  color: #101a1e;
}
.training-feature .set-row{
  background: #121e24;
  border-color: #32464e;
  min-width: 0;
}
.training-feature .set-row.current{
  background: #8ebbb70a;
  box-shadow: inset 3px 0 #d4a781;
}
.training-feature .set-list{
  border-color: #3b4c51;
  border-radius: 8px;
}
.training-feature .set-header-row{
  background: #101b21;
  color: #b4c2c4;
}
.training-feature .set-header-row, .training-feature .set-row{
  grid-template-columns: 30px minmax(110px, 1.2fr) minmax(104px, 1fr) minmax(
      62px,
      0.6fr
    );
  gap: 6px;
}
.training-feature .reps-field{
  grid-template-columns: 32px minmax(32px, 1fr) 32px;
}
.training-feature .live-hint{
  font-size: 12px;
  line-height: 1.6;
  background: #0e1a1f;
}
.training-feature .live-hint span{
  color: #dfb28f;
}
.training-feature .current-set-strip, .training-feature .all-sets-saved{
  background: #8ebbb70b;
  border-color: #52706e55;
}
.training-feature .current-set-strip strong, .training-feature .current-set-strip span{
  font-size: 11px;
}
.training-feature .all-sets-saved small{
  font-size: 12px;
  color: #aebdbd;
}
.training-feature .exercise-actions button, .training-feature .ghost-button, .training-feature .secondary-button{
  background: #1c2e35;
  border-color: #3d555c;
  color: #dce2de;
  font-size: 12px;
  min-height: 44px;
  border-radius: 8px;
}
.training-feature .rir-guide{
  background: #111d22;
  border-color: #364d54;
}
.training-feature .rir-guide p{
  background: #203139;
}
.training-feature .rir-guide summary, .training-feature .rir-guide > small{
  font-size: 12px;
}
.training-feature .rir-guide summary{
  min-height: 44px;
}
.training-feature .session-add-exercise, .training-feature .add-exercise-button, .training-feature .volt-reorder-btn{
  border-color: #c08b6555;
  background: #c08b6508;
  color: #dab493;
}
.training-feature .session-add-exercise strong, .training-feature .add-exercise-button{
  font-size: 13px;
}
.training-feature .session-add-exercise small{
  font-size: 12px;
}
.training-feature .exercise-count, .training-feature .mini-rec{
  background: #c08b6516;
  color: #d6b69b;
}
.training-feature .text-button{
  font-size: 12px;
  min-height: 44px;
}
.training-feature .finish-panel{
  border-radius: 12px;
  background: #122127;
}
.training-feature .danger{
  color: var(--red);
}
.training-feature .stat-grid article, .training-feature .empty-state, .training-feature .info-card, .training-feature .drop-toggle, .training-feature .swap-list > button{
  background: #14242a;
  border-color: #354950;
  border-radius: 10px;
}
.training-feature .stat-grid span, .training-feature .chart-note, .training-feature .record-list small, .training-feature .history-details span, .training-feature .history-card summary em, .training-feature .settings-exercises small, .training-feature .drop-toggle small, .training-feature .swap-list small{
  font-size: 12px;
  color: var(--muted);
}
.training-feature .stat-grid strong{
  color: #ddb592;
}
.training-feature .analytics-heading > small, .training-feature .volume-column > small{
  color: #a1b1b6;
}
.training-feature .bar-track, .training-feature .exercise-bar-track, .training-feature .split-track{
  background: #0b151a;
}
.training-feature .bar-track > span, .training-feature .exercise-bar-track > i{
  background: linear-gradient(#d5a27a, #8d634a);
}
.training-feature .settings-fields label, .training-feature .modal-form label{
  font-size: 12px;
  color: #bac7c7;
}
.training-feature .settings-fields input{
  height: 44px;
  font-size: 16px;
}
.training-feature .settings-exercise-head strong, .training-feature .record-list strong{
  font-size: 14px;
}
.training-feature .modal-form input:not([type="checkbox"]){
  font-size: 16px;
}
.training-feature .exercise-modal > header > button, .training-feature .drop-toggle, .training-feature .volt-row{
  background: #1b2e35;
  border-color: #41565d;
  color: #d5dfdc;
}
.training-feature .drop-toggle b{
  font-size: 13px;
}
.training-feature .swap-intro, .training-feature .confirm-modal > p, .training-feature .swap-confirmation p{
  font-size: 13px;
  color: #b5c2c5;
}
.training-feature .swap-list strong{
  font-size: 14px;
}
.training-feature .bottom-nav{
  background: #112027f2;
  border-color: #45585c;
  border-radius: 14px;
  box-shadow: 0 10px 35px #0006;
}
.training-feature .bottom-nav button{
  border-radius: 9px;
  color: #a6b7bb;
}
.training-feature .bottom-nav button.active{
  background: #c08b6519;
  color: #e5bc99;
}
.training-feature .bottom-nav button span:last-child{
  font-size: 11px;
}
.training-feature .toast{
  background: #22363d;
  color: #eee5dc;
  border-color: #a68061;
  font-size: 13px;
}
.training-feature .brand-mark{
  background: #17282f;
  border-color: #a87e5c;
  color: #e2bd9d;
  box-shadow: none;
}
.training-feature .brand-mark.small .mark-svg{
  filter: grayscale(1);
}
.training-feature .history-card summary{
  grid-template-columns: 5px minmax(0, 1fr) auto 25px;
}
.training-feature .volt-del{
  min-width: 44px;
  min-height: 44px;
}
.training-feature .volt-sheet{
  max-width: 680px;
  margin: auto;
}
.training-feature .volt-sheet-back{
  background: #030b0fcc;
}
.training-feature .volt-sheet-head p{
  font-size: 12px;
}
.training-feature .volt-row-name{
  font-size: 14px;
}
.training-feature .volt-sheet-done{
  background: #d0a17b;
  color: #132025;
  min-height: 44px;
}
.training-feature .volt-row.dragging{
  background: #29404a;
  border-color: #bf9875;
}
.training-feature .modal-number-grid{
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 480px){.training-feature .adventure-landscape{
    height: 480px;
  }
.training-feature .adventure-welcome{
    padding: 22px 18px;
  }
.training-feature .adventure-welcome h1{
    font-size: 31px;
  }
.training-feature .adventure-selection h1{
    font-size: 30px;
  }
.training-feature .adventure-choice{
    min-height: 142px;
  }
.training-feature .set-header-row{
    display: none;
  }
.training-feature .set-row{
    grid-template-columns: 30px minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    padding: 10px 8px;
  }
.training-feature .set-row .rir-picker{
    grid-column: 2/-1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: relative;
    padding-top: 18px;
  }
.training-feature .set-row .rir-picker:before{
    content: "RIR · Wiederholungen übrig";
    position: absolute;
    top: 0;
    left: 0;
    color: #a6b6ba;
    font-size: 10px;
  }
.training-feature .stepper-field{
    grid-template-columns: 32px minmax(27px, 1fr) 32px;
  }
.training-feature .stepper-field label{
    position: relative;
  }
.training-feature .set-list{
    margin: 0;
    overflow: visible;
  }
.training-feature .exercise-body{
    padding: 0 10px 12px;
  }
.training-feature .set-row .set-label{
    width: 28px;
  }
.training-feature .stepper-field input[data-set-field="weight"]{
    padding-bottom: 10px;
  }
.training-feature .stepper-field label:has(input[data-set-field="weight"]):after{
    content: "kg";
    position: absolute;
    bottom: 1px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 9px;
    color: #9eb3b9;
    pointer-events: none;
  }
.training-feature .stepper-field small{
    display: none;
  }
.training-feature .reps-field input{
    padding-bottom: 10px;
  }
.training-feature .reps-field label:after{
    content: "Wdh.";
    position: absolute;
    bottom: 1px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 9px;
    color: #9eb3b9;
    pointer-events: none;
  }
.training-feature .rest-timer-card{
    position: relative;
    top: auto;
  }
.training-feature .session-header .timer-pill{
    font-size: 11px;
    padding: 9px 8px;
  }

}
@media (max-width: 390px){.training-feature .adventure-landscape{
    margin: 0 -12px;
    height: 455px;
  }
.training-feature .adventure-topbar{
    padding-left: 2px;
    padding-right: 2px;
  }
.training-feature .adventure-choice strong{
    font-size: 22px;
  }
.training-feature .adventure-tagline{
    font-size: 8px;
  }
.training-feature .adventure-level{
    padding-left: 18px;
    padding-right: 18px;
  }
.training-feature .adventure-xp{
    margin-left: 18px;
    margin-right: 18px;
  }
.training-feature .node-push{
    left: 3%;
  }
.training-feature .node-pull{
    right: 2%;
  }
.training-feature .adventure-node{
    font-size: 14px;
    padding-right: 9px;
  }
.training-feature .adventure-welcome{
    padding: 21px 15px;
  }
.training-feature .stepper-field{
    grid-template-columns: 28px minmax(24px, 1fr) 28px;
  }
.training-feature .session-header h1{
    font-size: 21px;
  }
.training-feature .adventure-profile{
    padding: 9px 12px;
  }

}
@media (min-width: 760px){.training-feature .adventure-landscape{
    height: 520px;
    background-position: center 54%;
    border-radius: 15px;
    margin: 0;
  }
.training-feature .adventure-welcome{
    max-width: 540px;
    margin: -40px auto 0;
  }
.training-feature .adventure-choices{
    grid-template-columns: repeat(3, 1fr);
  }
.training-feature .adventure-choice{
    min-height: 240px;
    padding: 17px 14px 52px;
  }
.training-feature .adventure-choice.selected{
    padding: 16px 13px 51px;
  }
.training-feature .adventure-choice strong{
    font-size: 24px;
  }
.training-feature .adventure-choice-check{
    bottom: 14px;
  }
.training-feature .adventure-choice-number{
    line-height: 1.6;
  }
.training-feature .adventure-choice-meta{
    line-height: 1.6;
  }
.training-feature .adventure-selection, .training-feature .adventure-journey{
    padding: 0 8px;
  }
.training-feature .adventure-map-nodes{
    inset: 110px 50px 100px;
  }
.training-feature .adventure-journey-art{
    height: 320px;
  }
.training-feature .adventure-topbar{
    padding-bottom: 22px;
  }

}
.training-feature .adventure-landscape.is-rest{
  background-image:
    linear-gradient(180deg, #0b131755, transparent 30%, #0b131711 70%, #0b1317),
    url("assets/volt-rest-dark.webp");
  background-position: center 70%;
}
.training-feature .is-rest .adventure-rest-seal{
  bottom: 63px;
}
.training-feature .is-rest .adventure-landscape-caption{
  display: none;
}
.training-feature .bottom-nav button{
  justify-items: center;
  text-align: center;
}
.training-feature .bottom-nav button > .ln-icon{
  justify-self: center;
}
.training-feature .adventure-node{
  flex-direction: column;
  gap: 6px;
  padding: 8px 10px;
  min-width: 100px;
  min-height: 66px;
  background: transparent;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  font-family: var(--font-geist-sans);
  font-size: 12px;
  text-align: center;
  color: #eee7dd;
  text-shadow:
    0 1px 3px #061014,
    0 2px 8px #061014;
  isolation: isolate;
}
.training-feature .adventure-node:before{
  content: "";
  position: absolute;
  inset: 12px -14px -10px;
  z-index: -1;
  background: radial-gradient(ellipse, #08151acc, transparent 70%);
  pointer-events: none;
}
.training-feature .adventure-node > span{
  width: 23px;
  height: 23px;
  font: 10px var(--font-geist-sans);
  border: 1px solid #cca17c99;
  background: #17282cb3;
  color: #e3bd99;
  box-shadow: 0 0 12px #c08b6533;
}
.training-feature .adventure-node b{
  line-height: 1.4;
  letter-spacing: 0.025em;
  font-weight: 500;
}
.training-feature .adventure-node:hover, .training-feature .adventure-node:focus-visible{
  transform: translateY(-2px);
  color: #fff5e8;
}
.training-feature .adventure-node:hover > span, .training-feature .adventure-node:focus-visible > span{
  background: #77553e;
  border-color: #edc39e;
  box-shadow: 0 0 16px #c08b6555;
}
.training-feature .node-push{
  left: 9%;
}
.training-feature .node-pull{
  right: 9%;
}
.training-feature .node-legs{
  left: 38%;
}
@media (max-width: 390px){.training-feature .node-push{
    left: 4%;
  }
.training-feature .node-pull{
    right: 4%;
  }
.training-feature .node-legs{
    left: 34%;
  }

}
@media (prefers-reduced-motion: reduce){.training-feature .adventure-node, .training-feature .adventure-xp > span{
    transition: none;
  }

}
.training-feature .volt-map-path{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}
.training-feature .volt-map-path path{
  fill: none;
  stroke: #c9ad8755;
  stroke-width: 0.35;
  stroke-dasharray: 1 2;
}
.training-feature .volt-map-path path.travelled{
  stroke: #dbac7a99;
}
.training-feature .adventure-node.visited > span{
  background: #8d6443cc;
  border-color: #e5bc8e;
  box-shadow: 0 0 18px #e4a35c66;
}
.training-feature .chapter-2{
  background-position: center 28%;
}
.training-feature .chapter-3{
  background-position: center 12%;
}
.training-feature .chapter-2 .adventure-level, .training-feature .chapter-3 .adventure-level{
  background: linear-gradient(#11242dcc, transparent);
}
.training-feature .volt-journey-panel, .training-feature .volt-journal, .training-feature .volt-summary, .training-feature .volt-storage{
  margin: 20px 0;
  padding: 20px;
  border: 1px solid #40575b;
  border-radius: 12px;
  background: #14242a;
  color: #e4e3da;
  font-size: 13px;
  line-height: 1.6;
}
.training-feature .volt-week{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.training-feature .volt-week label{
  display: grid;
  gap: 8px;
}
.training-feature .volt-week select, .training-feature .volt-exercise-notes textarea{
  background: #0d1b21;
  color: #eee6dc;
  border: 1px solid #597076;
  border-radius: 7px;
  padding: 10px;
  font: inherit;
  min-height: 44px;
}
.training-feature .volt-week strong{
  font:
    26px Georgia,
    serif;
}
.training-feature .volt-journey-panel progress{
  display: block;
  width: 100%;
  height: 6px;
  margin-top: 18px;
  accent-color: #c99a6f;
}
.training-feature .volt-muted{
  color: #a7bdc0;
  font-size: 12px;
}
.training-feature .volt-camp{
  margin: 18px 0;
  text-align: center;
}
.training-feature .volt-camp svg{
  width: 100%;
  height: 85px;
}
.training-feature .volt-camp.lit rect:first-of-type{
  filter: drop-shadow(0 0 8px #eabc72);
}
.training-feature .volt-camp span{
  font-size: 11px;
  color: #cfb392;
}
.training-feature .volt-milestones summary, .training-feature .volt-journal summary, .training-feature .volt-summary summary, .training-feature .volt-exercise-notes summary, .training-feature .volt-set-history summary{
  cursor: pointer;
  min-height: 44px;
  padding: 12px 0;
}
.training-feature .volt-milestones > div{
  display: flex;
  gap: 12px;
  border-top: 1px solid #32484b;
  padding: 12px 0;
  color: #9eb1b4;
}
.training-feature .volt-milestones .achieved{
  color: #dfb58c;
}
.training-feature .volt-milestones strong, .training-feature .volt-milestones small{
  display: block;
}
.training-feature .volt-milestones small{
  font-size: 11px;
  font-weight: 400;
}
.training-feature .volt-journal h2{
  font-size: 25px;
}
.training-feature .volt-journal details{
  border-top: 1px solid #3b5054;
}
.training-feature .volt-journal summary span, .training-feature .volt-journal summary small{
  display: block;
}
.training-feature .volt-record{
  color: #ebbe8e;
}
.training-feature .volt-summary h1{
  font:
    34px Georgia,
    serif;
}
.training-feature .volt-summary-numbers{
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px 0;
  color: #dfb58c;
}
.training-feature .volt-storage{
  border-color: #846e53;
}
.training-feature .volt-storage-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.training-feature .volt-storage button{
  min-height: 44px;
  padding: 10px;
  border: 1px solid #846e53;
  border-radius: 7px;
  background: #24343a;
  color: #f2e3d5;
  font: inherit;
  cursor: pointer;
}
.training-feature .volt-import-review{
  border-top: 1px solid #7c705e;
  margin-top: 20px;
}
.training-feature .volt-exercise-notes{
  margin: 10px 0;
  color: #c3cfd0;
  font-size: 12px;
}
.training-feature .volt-exercise-notes label{
  display: grid;
  gap: 8px;
}
.training-feature .volt-exercise-notes textarea{
  width: 100%;
  min-height: 80px;
  resize: vertical;
  box-sizing: border-box;
}
.training-feature .volt-exercise-notes small{
  display: block;
  margin: 8px 0;
  color: #9cb1b5;
}
.training-feature .volt-set-history{
  font-size: 12px;
  color: #b7c9c9;
}
.training-feature .exercise-body:has(.volt-set-history:not([open])) .set-row:not(.current){
  display: none;
}
.training-feature .exercise-body:has(.volt-set-history:not([open])) .set-header-row{
  display: none;
}
.training-feature .exercise-body:has(.volt-set-history:not([open]))
  .set-list:not(:has(.current)){
  display: none;
}
.training-feature .exercise-body .recommend-card{
  padding: 10px;
}
.training-feature .session-exercise-options{
  flex-wrap: wrap;
}
.training-feature .session-exercise-options button{
  min-height: 44px;
}
.training-feature .adventure-journey .volt-journey-panel{
  margin-top: 25px;
}
.training-feature .adventure-landscape.chapter-2:not(.is-rest){
  --adventure-art: url("assets/volt-clouds-dark.webp");
  background-position: center 55%;
}
.training-feature .adventure-landscape.chapter-3:not(.is-rest){
  --adventure-art: url("assets/volt-summit-dark.webp");
  background-position: center 55%;
}
.training-feature .adventure-home.chapter-2{
  --adventure-art: url("assets/volt-clouds-dark.webp");
}
.training-feature .adventure-home.chapter-3{
  --adventure-art: url("assets/volt-summit-dark.webp");
}
.training-feature .volt-storage > summary{
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  font-weight: 600;
}
.training-feature .volt-storage:not([open]):is(details){
  padding: 8px 16px;
}
.training-feature .adventure-wordmark{
  font-size: 30px;
  letter-spacing: 0.12em;
}
@media (max-width: 390px){.training-feature .adventure-wordmark{
    font-size: 27px;
    letter-spacing: 0.1em;
  }

}

.nutrition-feature{
        --bg: #080b16;
        --surface: #111731;
        --surface-2: #18203e;
        --line: #232c50;
        --line-bright: #3a4677;
        --text: #eef1fa;
        --text-dim: #a7b1d0;
        --text-faint: #8590b4;
        --acc: #5d7cfa;
        --acc-lite: #9cacff;
        --violet: #7c3aed;
        --ink: #ffffff;
        --grad: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);
        --protein: #38bdf8;
        --carbs: #a78bfa;
        --fat: #e879f9;
        --ok: #34d399;
        --warn: #fbbf24;
        --bad: #fb7185;
        --star: #fcd34d;
        --fc:
          "Barlow Condensed", "Avenir Next Condensed", "Roboto Condensed",
          system-ui, sans-serif;
        --fm: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
        --fs: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
      }
.nutrition-feature *{
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
      }
.nutrition-feature, .nutrition-feature{
        margin: 0;
        padding: 0;
      }
.nutrition-feature{
        background: var(--bg);
        color: var(--text);
        font-family: var(--fs);
        background-image:
          radial-gradient(
            120% 55% at 15% 0%,
            rgba(var(--mode-rgb), 0.2) 0%,
            rgba(var(--mode-rgb), 0) 60%
          ),
          radial-gradient(
            110% 50% at 95% 8%,
            rgba(var(--mode-rgb), 0.16) 0%,
            rgba(var(--mode-rgb), 0) 58%
          );
        background-repeat: no-repeat;
        background-attachment: fixed;
        -webkit-font-smoothing: antialiased;
        min-height: 100vh;
        font-size: 15px;
        padding-top: env(safe-area-inset-top);
        padding-bottom: calc(78px + env(safe-area-inset-bottom));
      }
.nutrition-feature button{
        font-family: inherit;
        color: inherit;
      }
.nutrition-feature header{
        padding: 14px 14px 4px;
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 10px;
      }
.nutrition-feature h1{
        font-family: var(--fc);
        font-weight: 700;
        font-size: 24px;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin: 0;
      }
.nutrition-feature h1 .grd{
        background: var(--grad);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
.nutrition-feature .hdr-day{
        font-family: var(--fm);
        font-size: 11px;
        color: var(--text-faint);
        text-transform: uppercase;
        letter-spacing: 0.1em;
        text-align: right;
      }
.nutrition-feature main{
        padding: 8px 14px 4px;
      }
.nutrition-feature .view{
        display: none;
      }
.nutrition-feature .view.active{
        display: block;
      }
.nutrition-feature .tabs{
        display: flex;
        gap: 5px;
        margin: 0 -14px 8px;
        padding: 8px 14px 9px;
        position: sticky;
        top: env(safe-area-inset-top);
        z-index: 15;
        background: var(--bg);
      }
.nutrition-feature .tab{
        flex: 1;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 9px;
        padding: 8px 0 7px;
        cursor: pointer;
        color: var(--text-dim);
        font-family: var(--fc);
        font-weight: 600;
        font-size: 15px;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        transition: 0.12s;
      }
.nutrition-feature .tab .mark{
        display: block;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--line-bright);
        margin: 3px auto 0;
      }
.nutrition-feature .tab.done .mark{
        background: var(--acc-lite);
        box-shadow: 0 0 7px var(--acc);
      }
.nutrition-feature .tab.active{
        background: var(--grad);
        color: var(--ink);
        border-color: transparent;
        box-shadow: 0 4px 18px rgba(var(--mode-rgb), 0.4);
      }
.nutrition-feature .tab.active .mark{
        background: var(--ink);
      }
.nutrition-feature .tab.off{
        opacity: 0.34;
        border-style: dashed;
      }
.nutrition-feature .offnote{
        background: rgba(251, 191, 36, 0.09);
        border: 1px solid rgba(251, 191, 36, 0.28);
        color: var(--warn);
        border-radius: 10px;
        padding: 9px 12px;
        font-size: 12.5px;
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
      }
.nutrition-feature .offnote button{
        background: none;
        border: none;
        color: var(--warn);
        font-size: 12.5px;
        font-weight: 600;
        text-decoration: underline;
        cursor: pointer;
        white-space: nowrap;
      }
.nutrition-feature .hero{
        background: linear-gradient(158deg, #182252 0%, #111731 62%);
        border: 1px solid var(--line);
        border-radius: 16px;
        box-shadow:
          inset 0 1px 0 rgba(var(--mode-rgb), 0.14),
          0 8px 26px rgba(5, 8, 20, 0.5);
        padding: 14px;
        display: flex;
        gap: 14px;
        align-items: center;
      }
.nutrition-feature .ringwrap{
        position: relative;
        width: 96px;
        height: 96px;
        flex-shrink: 0;
      }
.nutrition-feature .ringwrap svg{
        transform: rotate(-90deg);
        display: block;
      }
.nutrition-feature .ringtxt{
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
      }
.nutrition-feature .ringtxt .big{
        font-family: var(--fc);
        font-weight: 700;
        font-size: 30px;
        line-height: 0.95;
      }
.nutrition-feature .ringtxt .small{
        font-family: var(--fm);
        font-size: 10.5px;
        color: var(--text-faint);
        letter-spacing: 0.06em;
        margin-top: 2px;
      }
.nutrition-feature .heroright{
        flex: 1;
        min-width: 0;
      }
.nutrition-feature .pill{
        display: inline-block;
        font-family: var(--fc);
        font-weight: 700;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        padding: 4px 9px;
        border-radius: 6px;
        margin-bottom: 9px;
      }
.nutrition-feature .pill.ok{
        background: rgba(52, 211, 153, 0.16);
        color: var(--ok);
      }
.nutrition-feature .pill.warn{
        background: rgba(251, 191, 36, 0.15);
        color: var(--warn);
      }
.nutrition-feature .pill.bad{
        background: rgba(251, 113, 133, 0.15);
        color: var(--bad);
      }
.nutrition-feature .mrow{
        margin-bottom: 8px;
      }
.nutrition-feature .mrow:last-child{
        margin-bottom: 0;
      }
.nutrition-feature .mtop{
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        margin-bottom: 4px;
      }
.nutrition-feature .mtop .lbl{
        font-family: var(--fc);
        font-weight: 600;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--text-dim);
      }
.nutrition-feature .mtop .val{
        font-family: var(--fm);
        font-size: 11px;
        color: var(--text-dim);
      }
.nutrition-feature .mtop .val b{
        color: var(--text);
        font-weight: 700;
      }
.nutrition-feature .track{
        height: 5px;
        background: var(--surface-2);
        border-radius: 3px;
        overflow: hidden;
      }
.nutrition-feature .fill{
        height: 100%;
        border-radius: 3px;
        transition: width 0.25s;
      }
.nutrition-feature .fill.p{
        background: var(--protein);
      }
.nutrition-feature .fill.c{
        background: var(--carbs);
      }
.nutrition-feature .fill.f{
        background: var(--fat);
      }
.nutrition-feature .microrow{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 8px;
        gap: 10px;
      }
.nutrition-feature .microrow .d{
        font-family: var(--fm);
        font-size: 11.5px;
        color: var(--text-faint);
      }
.nutrition-feature .link{
        background: none;
        border: none;
        color: var(--text-dim);
        font-size: 11.5px;
        font-weight: 500;
        cursor: pointer;
        padding: 2px 0;
        text-decoration: underline;
        text-underline-offset: 2px;
        white-space: nowrap;
      }
.nutrition-feature .coach{
        display: none;
        margin-top: 8px;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 11px 12px;
      }
.nutrition-feature .coach.show{
        display: block;
      }
.nutrition-feature .coach.ok{
        border-color: rgba(52, 211, 153, 0.34);
      }
.nutrition-feature .coach.warn{
        border-color: rgba(251, 191, 36, 0.32);
      }
.nutrition-feature .coach.bad{
        border-color: rgba(251, 113, 133, 0.32);
      }
.nutrition-feature .coachttl{
        font-family: var(--fc);
        font-weight: 700;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin-bottom: 4px;
      }
.nutrition-feature .coach.ok .coachttl{
        color: var(--ok);
      }
.nutrition-feature .coach.warn .coachttl{
        color: var(--warn);
      }
.nutrition-feature .coach.bad .coachttl{
        color: var(--bad);
      }
.nutrition-feature .coachtxt{
        font-size: 12.5px;
        line-height: 1.45;
        color: var(--text-dim);
      }
.nutrition-feature .weekavg{
        margin-top: 8px;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 10px 12px;
      }
.nutrition-feature .weekavg-top{
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 7px;
      }
.nutrition-feature .weekavg-title{
        font-family: var(--fc);
        font-weight: 700;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--text-dim);
      }
.nutrition-feature .weekavg-days{
        font-family: var(--fm);
        font-size: 10.5px;
        color: var(--text-faint);
      }
.nutrition-feature .weekavg-values{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 5px;
      }
.nutrition-feature .weekavg-value{
        background: var(--surface-2);
        border-radius: 7px;
        padding: 6px 3px;
        text-align: center;
        font-family: var(--fm);
        font-size: 10.5px;
        color: var(--text-dim);
        white-space: nowrap;
      }
.nutrition-feature .weekavg-value b{
        display: block;
        color: var(--text);
        font-size: 12px;
        margin-bottom: 1px;
      }
.nutrition-feature .tform{
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 14px;
        padding: 12px;
        margin-top: 8px;
        display: none;
      }
.nutrition-feature .tform.open{
        display: block;
      }
.nutrition-feature .g4{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 7px;
      }
.nutrition-feature .fld label{
        display: block;
        font-family: var(--fc);
        font-weight: 600;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        color: var(--text-faint);
        margin-bottom: 4px;
      }
.nutrition-feature .fld input{
        width: 100%;
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 8px;
        color: var(--text);
        font-family: var(--fm);
        font-size: 13px;
        padding: 8px 4px;
        text-align: center;
      }
.nutrition-feature .fld input:focus{
        outline: none;
        border-color: var(--line-bright);
      }
.nutrition-feature .fld input.err{
        border-color: var(--bad);
      }
.nutrition-feature .fld.wide input{
        text-align: left;
        font-family: var(--fs);
        padding: 9px 10px;
      }
.nutrition-feature .shead{
        font-family: var(--fc);
        font-weight: 600;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--text-faint);
        margin: 18px 0 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
      }
.nutrition-feature .slot{
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 14px;
        margin-bottom: 8px;
        overflow: hidden;
      }
.nutrition-feature .slot.open{
        border-color: rgba(var(--mode-rgb), 0.45);
        box-shadow: 0 0 26px rgba(var(--mode-rgb), 0.12);
      }
.nutrition-feature .shd{
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 11px 13px;
        cursor: pointer;
        width: 100%;
        background: none;
        border: none;
        text-align: left;
      }
.nutrition-feature .icn{
        width: 32px;
        height: 32px;
        border-radius: 9px;
        background: var(--surface-2);
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--text-dim);
      }
.nutrition-feature .icn svg{
        width: 18px;
        height: 18px;
      }
.nutrition-feature .slot.open .icn{
        color: var(--acc-lite);
      }
.nutrition-feature .nbtn svg{
        width: 21px;
        height: 21px;
      }
.nutrition-feature .sinfo{
        flex: 1;
        min-width: 0;
      }
.nutrition-feature .sttl{
        font-family: var(--fc);
        font-weight: 600;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.09em;
        color: var(--text-faint);
        line-height: 1.1;
      }
.nutrition-feature .schoice{
        font-weight: 600;
        font-size: 14.5px;
        margin-top: 1px;
        display: flex;
        align-items: center;
        min-width: 0;
      }
.nutrition-feature .schoice .cn{
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
.nutrition-feature .schoice.none{
        color: var(--text-faint);
        font-weight: 400;
      }
.nutrition-feature .smac{
        font-family: var(--fm);
        font-size: 11px;
        color: var(--text-faint);
        margin-top: 2px;
      }
.nutrition-feature .chev{
        color: var(--text-faint);
        font-size: 11px;
        transition: transform 0.2s;
        flex-shrink: 0;
      }
.nutrition-feature .slot.open .chev{
        transform: rotate(90deg);
        color: var(--text);
      }
.nutrition-feature .sbody{
        display: none;
        padding: 2px 8px 9px;
      }
.nutrition-feature .slot.open .sbody{
        display: block;
      }
.nutrition-feature .filterbar{
        display: flex;
        gap: 6px;
        margin: 4px 3px 8px;
      }
.nutrition-feature .filterbar input{
        flex: 1;
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 9px;
        color: var(--text);
        font-size: 13px;
        padding: 8px 10px;
      }
.nutrition-feature .filterbar input:focus{
        outline: none;
        border-color: var(--line-bright);
      }
.nutrition-feature .fbtn{
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 9px;
        color: var(--text-faint);
        font-size: 13px;
        padding: 8px 11px;
        cursor: pointer;
        white-space: nowrap;
      }
.nutrition-feature .fbtn.on{
        border-color: var(--star);
        color: var(--star);
        background: rgba(252, 211, 77, 0.08);
      }
.nutrition-feature .opt{
        background: var(--surface-2);
        border: 1px solid transparent;
        border-radius: 11px;
        padding: 10px 11px;
        margin-bottom: 6px;
        cursor: pointer;
        display: flex;
        gap: 10px;
        align-items: flex-start;
        width: 100%;
        text-align: left;
      }
.nutrition-feature .opt.sel{
        border-color: var(--acc);
        background: #1b2550;
        box-shadow: 0 0 0 1px rgba(var(--mode-rgb), 0.25);
      }
.nutrition-feature .rad{
        width: 17px;
        height: 17px;
        border-radius: 50%;
        border: 1.5px solid var(--line-bright);
        flex-shrink: 0;
        margin-top: 2px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
.nutrition-feature .opt.sel .rad{
        border-color: var(--acc-lite);
      }
.nutrition-feature .opt.sel .rad::after{
        content: "";
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: var(--grad);
      }
.nutrition-feature .obody{
        flex: 1;
        min-width: 0;
      }
.nutrition-feature .otop{
        display: flex;
        align-items: flex-start;
        gap: 6px;
      }
.nutrition-feature .opt .on{
        font-weight: 600;
        font-size: 14px;
        line-height: 1.25;
        flex: 1;
      }
.nutrition-feature .iconbtn{
        background: none;
        border: none;
        font-size: 15px;
        line-height: 1;
        color: var(--text-faint);
        cursor: pointer;
        padding: 2px 4px;
        flex-shrink: 0;
      }
.nutrition-feature .iconbtn.star.on{
        color: var(--star);
      }
.nutrition-feature .chips{
        display: flex;
        gap: 5px;
        margin-top: 5px;
        flex-wrap: wrap;
      }
.nutrition-feature .chip{
        font-family: var(--fm);
        font-size: 10.5px;
        padding: 3px 6.5px;
        border-radius: 5px;
        background: rgba(255, 255, 255, 0.05);
        color: var(--text-dim);
      }
.nutrition-feature .chip.k{
        color: var(--text);
        background: rgba(255, 255, 255, 0.1);
        font-weight: 700;
      }
.nutrition-feature .chip.p{
        color: var(--protein);
        background: rgba(56, 189, 248, 0.13);
      }
.nutrition-feature .chip.c{
        color: var(--carbs);
        background: rgba(167, 139, 250, 0.15);
      }
.nutrition-feature .chip.f{
        color: var(--fat);
        background: rgba(232, 121, 249, 0.13);
      }
.nutrition-feature .oing{
        font-size: 11.5px;
        color: var(--text-faint);
        margin-top: 5px;
        line-height: 1.4;
      }
.nutrition-feature .addown{
        width: 100%;
        background: none;
        border: 1px dashed var(--line-bright);
        border-radius: 11px;
        color: var(--text-dim);
        font-size: 13px;
        padding: 11px;
        cursor: pointer;
        margin-top: 2px;
      }
.nutrition-feature .porrow{
        display: flex;
        gap: 5px;
        align-items: center;
        margin: 2px 3px 9px;
      }
.nutrition-feature .porrow .plbl{
        font-family: var(--fc);
        font-weight: 600;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--text-faint);
        margin-right: 2px;
      }
.nutrition-feature .pbtn{
        flex: 1;
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 9px;
        color: var(--text-dim);
        font-family: var(--fm);
        font-size: 12px;
        padding: 9px 0;
        cursor: pointer;
      }
.nutrition-feature .pbtn.on{
        background: var(--grad);
        color: var(--ink);
        border-color: transparent;
        font-weight: 700;
        box-shadow: 0 3px 14px rgba(var(--mode-rgb), 0.35);
      }
.nutrition-feature .facb{
        font-family: var(--fm);
        font-size: 10px;
        font-weight: 700;
        color: var(--acc-lite);
        background: rgba(var(--mode-rgb), 0.18);
        padding: 2px 5px;
        border-radius: 5px;
        margin-left: 6px;
        vertical-align: 1px;
        letter-spacing: 0.02em;
      }
.nutrition-feature .btnrow{
        display: flex;
        gap: 8px;
        margin-top: 10px;
      }
.nutrition-feature .btn{
        flex: 1;
        border-radius: 11px;
        border: 1px solid var(--line-bright);
        background: var(--surface);
        color: var(--text);
        font-weight: 600;
        font-size: 13.5px;
        padding: 12px 6px;
        cursor: pointer;
        transition: 0.12s;
      }
.nutrition-feature .btn:active{
        background: var(--surface-2);
      }
.nutrition-feature .btn.solid{
        background: var(--grad);
        color: var(--ink);
        border-color: transparent;
        font-weight: 700;
        box-shadow: 0 4px 20px rgba(var(--mode-rgb), 0.38);
      }
.nutrition-feature .btn.solid:active{
        opacity: 0.8;
      }
.nutrition-feature .btn.accent{
        background: rgba(var(--mode-rgb), 0.14);
        border-color: rgba(var(--mode-rgb), 0.45);
        color: var(--acc-lite);
        font-weight: 700;
      }
.nutrition-feature .btn.danger{
        color: var(--bad);
        border-color: rgba(251, 113, 133, 0.38);
      }
.nutrition-feature .trow{
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 12px 14px;
        margin-bottom: 7px;
        gap: 10px;
      }
.nutrition-feature .trow .nm{
        font-weight: 600;
        font-size: 14.5px;
      }
.nutrition-feature .trow .sub{
        font-size: 11.5px;
        color: var(--text-faint);
        margin-top: 2px;
      }
.nutrition-feature .sw{
        width: 46px;
        height: 27px;
        border-radius: 14px;
        background: var(--surface-2);
        border: 1px solid var(--line-bright);
        position: relative;
        cursor: pointer;
        flex-shrink: 0;
        transition: 0.15s;
        padding: 0;
      }
.nutrition-feature .sw.on{
        background: var(--grad);
        border-color: transparent;
        box-shadow: 0 0 16px rgba(var(--mode-rgb), 0.4);
      }
.nutrition-feature .sw::after{
        content: "";
        position: absolute;
        top: 2px;
        left: 2px;
        width: 19px;
        height: 19px;
        border-radius: 50%;
        background: var(--text-faint);
        transition: 0.15s;
      }
.nutrition-feature .sw.on::after{
        transform: translateX(19px);
        background: var(--ink);
      }
.nutrition-feature .scat{
        font-family: var(--fc);
        font-weight: 600;
        font-size: 12.5px;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--text-faint);
        margin: 16px 0 7px;
        display: flex;
        align-items: center;
        gap: 8px;
      }
.nutrition-feature .scat::after{
        content: "";
        flex: 1;
        height: 1px;
        background: var(--line);
      }
.nutrition-feature .sitem{
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 11px;
        padding: 10px 12px;
        margin-bottom: 6px;
        display: flex;
        align-items: center;
        gap: 10px;
      }
.nutrition-feature .sitem.done{
        opacity: 0.4;
      }
.nutrition-feature .sitem.done .snm{
        text-decoration: line-through;
      }
.nutrition-feature .cbx{
        width: 22px;
        height: 22px;
        border-radius: 6px;
        border: 1.5px solid var(--line-bright);
        flex-shrink: 0;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 700;
        color: var(--bg);
        background: none;
        padding: 0;
      }
.nutrition-feature .cbx.on{
        background: var(--grad);
        border-color: transparent;
        color: var(--ink);
      }
.nutrition-feature .sinf{
        flex: 1;
        min-width: 0;
      }
.nutrition-feature .snm{
        font-size: 14.5px;
      }
.nutrition-feature .sneed{
        font-family: var(--fm);
        font-size: 11px;
        color: var(--text-faint);
        margin-top: 2px;
      }
.nutrition-feature .samt{
        font-family: var(--fm);
        font-size: 12.5px;
        color: var(--text-dim);
        flex-shrink: 0;
        text-align: right;
      }
.nutrition-feature .cook{
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 14px;
        padding: 13px;
        margin-bottom: 9px;
      }
.nutrition-feature .cooktop{
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 10px;
        margin-bottom: 8px;
      }
.nutrition-feature .cookname{
        font-weight: 600;
        font-size: 15px;
      }
.nutrition-feature .cookport{
        font-family: var(--fc);
        font-weight: 700;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        background: rgba(255, 255, 255, 0.08);
        padding: 3px 8px;
        border-radius: 6px;
        flex-shrink: 0;
      }
.nutrition-feature .cookline{
        display: flex;
        justify-content: space-between;
        gap: 10px;
        font-size: 13.5px;
        padding: 5px 0;
        border-bottom: 1px solid var(--line);
      }
.nutrition-feature .cookline:last-of-type{
        border-bottom: none;
      }
.nutrition-feature .cookline .a{
        font-family: var(--fm);
        color: var(--text-dim);
        font-size: 12.5px;
        text-align: right;
        flex-shrink: 0;
      }
.nutrition-feature .cookhint{
        margin-top: 9px;
        padding: 8px 9px;
        border-radius: 9px;
        background: rgba(var(--mode-rgb), 0.1);
        border: 1px solid rgba(var(--mode-rgb), 0.24);
        color: var(--acc-lite);
        font-size: 12px;
        line-height: 1.4;
      }
.nutrition-feature .freshlist{
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 14px;
        overflow: hidden;
      }
.nutrition-feature .freshrow{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 11px 12px;
        border-bottom: 1px solid var(--line);
      }
.nutrition-feature .freshrow:last-child{
        border-bottom: none;
      }
.nutrition-feature .freshname{
        font-size: 14px;
        font-weight: 600;
      }
.nutrition-feature .freshmeta{
        font-family: var(--fm);
        font-size: 10.5px;
        color: var(--text-faint);
        margin-top: 3px;
      }
.nutrition-feature .freshcount{
        font-family: var(--fc);
        font-size: 12px;
        font-weight: 700;
        color: var(--text-dim);
        text-transform: uppercase;
        letter-spacing: 0.05em;
        white-space: nowrap;
      }
.nutrition-feature .recipe{
        margin: 10px 3px;
        color: var(--text-dim);
        font-size: 14px;
        line-height: 1.55;
      }
.nutrition-feature .recipe summary{
        cursor: pointer;
        color: var(--acc-lite);
        padding: 10px 0;
        font-weight: 600;
      }
.nutrition-feature .recipe ol{
        padding-left: 22px;
        margin: 6px 0;
      }
.nutrition-feature .recipe li{
        margin-bottom: 10px;
      }
.nutrition-feature .recipe p{
        margin: 8px 0;
      }
.nutrition-feature .empty{
        color: var(--text-faint);
        font-size: 13.5px;
        padding: 26px 10px;
        text-align: center;
        line-height: 1.5;
      }
.nutrition-feature .nav{
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 20;
        background: rgba(8, 11, 22, 0.93);
        backdrop-filter: blur(14px);
        border-top: 1px solid var(--line);
        display: flex;
        padding-bottom: env(safe-area-inset-bottom);
      }
.nutrition-feature .nbtn{
        flex: 1;
        background: none;
        border: none;
        padding: 11px 4px 9px;
        cursor: pointer;
        color: var(--text-faint);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3px;
        min-height: 52px;
        position: relative;
      }
.nutrition-feature .nbtn.active::before{
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 30px;
        height: 2px;
        border-radius: 0 0 3px 3px;
        background: var(--grad);
        box-shadow: 0 0 12px rgba(var(--mode-rgb), 0.9);
      }
.nutrition-feature .nbtn .nl{
        font-family: var(--fc);
        font-weight: 600;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.07em;
      }
.nutrition-feature .nbtn.active{
        color: var(--acc-lite);
      }
.nutrition-feature .toast{
        position: fixed;
        bottom: calc(84px + env(safe-area-inset-bottom));
        left: 50%;
        transform: translateX(-50%) translateY(8px);
        background: var(--surface-2);
        border: 1px solid var(--line-bright);
        color: var(--text);
        font-size: 12.5px;
        padding: 9px 14px;
        border-radius: 10px;
        opacity: 0;
        transition: 0.22s;
        z-index: 40;
        white-space: nowrap;
        display: flex;
        align-items: center;
        gap: 12px;
        pointer-events: none;
      }
.nutrition-feature .toast.show{
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        pointer-events: auto;
      }
.nutrition-feature .toast button{
        background: none;
        border: none;
        color: var(--ok);
        font-weight: 700;
        font-size: 12.5px;
        cursor: pointer;
        padding: 0;
        text-transform: uppercase;
        letter-spacing: 0.04em;
      }
.nutrition-feature .ov{
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.65);
        z-index: 50;
        display: none;
        align-items: flex-end;
      }
.nutrition-feature .ov.open{
        display: flex;
      }
.nutrition-feature .sheet{
        background: var(--surface);
        width: 100%;
        max-height: 88vh;
        overflow-y: auto;
        border-radius: 18px 18px 0 0;
        border-top: 1px solid var(--line-bright);
        padding: 16px 14px calc(20px + env(safe-area-inset-bottom));
      }
.nutrition-feature .sheet h2{
        font-family: var(--fc);
        font-weight: 700;
        font-size: 19px;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        margin: 0 0 12px;
      }
.nutrition-feature .sheet p{
        font-size: 13.5px;
        line-height: 1.6;
        color: var(--text-dim);
        margin: 0 0 12px;
      }
.nutrition-feature .ingline{
        display: grid;
        grid-template-columns: 1fr 62px 58px 30px;
        gap: 6px;
        margin-bottom: 6px;
        align-items: center;
      }
.nutrition-feature .ingline input{
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 8px;
        color: var(--text);
        font-size: 13px;
        padding: 8px 7px;
        width: 100%;
      }
.nutrition-feature .ingline input:focus{
        outline: none;
        border-color: var(--line-bright);
      }
.nutrition-feature .ingline .x{
        color: var(--bad);
        cursor: pointer;
        font-size: 17px;
        background: none;
        border: none;
      }
.nutrition-feature .mini{
        font-family: var(--fc);
        font-weight: 600;
        font-size: 11.5px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--text-faint);
        margin: 12px 0 6px;
      }
.nutrition-feature .pantryinput{
        width: 82px;
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 8px;
        color: var(--text);
        font-family: var(--fm);
        font-size: 12.5px;
        padding: 7px 6px;
        text-align: center;
      }
@media print{.nutrition-feature{
          background: #fff;
          color: #000;
          padding: 0;
        }
.nutrition-feature .nav, .nutrition-feature .tabs, .nutrition-feature .btnrow, .nutrition-feature .cbx, .nutrition-feature .iconbtn, .nutrition-feature header .hdr-day, .nutrition-feature .offnote{
          display: none !important;
        }
.nutrition-feature .view{
          display: none !important;
        }
.nutrition-feature #view-shop{
          display: block !important;
        }
.nutrition-feature .sitem{
          border: none;
          border-bottom: 1px solid #ccc;
          border-radius: 0;
          background: none;
        }
.nutrition-feature .snm, .nutrition-feature .samt, .nutrition-feature .scat, .nutrition-feature .sneed{
          color: #000;
        }

      }
.nutrition-feature{
        --mode-rgb: 96, 165, 250;
        --ink: #080b16;
        color-scheme: dark;
      }
.nutrition-feature{
        padding-bottom: calc(102px + env(safe-area-inset-bottom));
        background-image: radial-gradient(
          120% 55% at 15% 0%,
          rgba(var(--mode-rgb), 0.16),
          transparent 60%
        );
      }
.nutrition-feature .modebar{
        padding: 8px 14px 0;
      }
.nutrition-feature .modebar .btnrow{
        margin: 5px 0;
      }
.nutrition-feature .modebtn{
        min-height: 44px;
        flex: 1;
        padding: 10px 4px;
      }
.nutrition-feature .mode-label{
        position: absolute;
        top: -23px;
        left: 50%;
        transform: translateX(-50%);
        border: 1px solid var(--acc);
        border-radius: 7px 7px 0 0;
        padding: 3px 14px;
        background: var(--bg);
        color: var(--acc);
        font-size: 11px;
        font-weight: 700;
        white-space: nowrap;
      }
.nutrition-feature .hero{
        background: linear-gradient(
          155deg,
          rgba(var(--mode-rgb), 0.14),
          var(--surface) 62%
        );
      }
.nutrition-feature .hero, .nutrition-feature .weekavg, .nutrition-feature .cook, .nutrition-feature .slot.open, .nutrition-feature .nav{
        border-color: rgba(var(--mode-rgb), 0.32);
      }
.nutrition-feature .btn.accent, .nutrition-feature .pbtn.on, .nutrition-feature .fbtn.on, .nutrition-feature .chip.k, .nutrition-feature .opt.sel, .nutrition-feature .lockbtn.on{
        background: rgba(var(--mode-rgb), 0.12);
        border-color: rgba(var(--mode-rgb), 0.55);
        color: var(--acc);
      }
.nutrition-feature .tab.active{
        box-shadow: 0 4px 18px rgba(var(--mode-rgb), 0.2);
      }
.nutrition-feature .btn.solid, .nutrition-feature .sw.on, .nutrition-feature .tab.active{
        color: var(--ink);
      }
.nutrition-feature .nbtn.active, .nutrition-feature .link, .nutrition-feature .icn, .nutrition-feature .weekavg-value b, .nutrition-feature .cookport{
        color: var(--acc);
      }
.nutrition-feature .fill.p, .nutrition-feature .fill.c, .nutrition-feature .fill.f{
        background: var(--acc);
      }
.nutrition-feature .fill.c{
        opacity: 0.8;
      }
.nutrition-feature .fill.f{
        opacity: 0.6;
      }
.nutrition-feature .chip.p, .nutrition-feature .chip.c, .nutrition-feature .chip.f{
        color: var(--acc);
        background: rgba(var(--mode-rgb), 0.09);
      }
.nutrition-feature .lockbtn{
        display: block;
        margin: 0 12px 10px;
        padding: 7px 10px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: var(--surface);
        font-size: 11px;
        color: var(--text-dim);
        min-height: 44px;
      }
.nutrition-feature .yieldhint{
        display: block;
        font-size: 10px;
        color: var(--text-faint);
        margin-top: 3px;
      }
.nutrition-feature .cookline{
        gap: 12px;
        align-items: flex-start;
      }
.nutrition-feature .cookline > span:first-child{
        min-width: 0;
      }
.nutrition-feature .cookline .a{
        flex-shrink: 0;
      }
.nutrition-feature .convert{
        grid-template-columns: 1fr 1fr;
        margin: 12px 0;
        gap: 10px;
      }
.nutrition-feature .cook label{
        display: block;
        font-size: 12px;
        color: var(--text-dim);
      }
.nutrition-feature .cook input, .nutrition-feature .cook select{
        width: 100%;
        min-height: 40px;
        background: var(--surface-2);
        color: var(--text);
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 8px;
        margin-top: 5px;
        font-size: 16px;
      }
.nutrition-feature #shopList .sneed{
        line-height: 1.5;
        margin-top: 4px;
      }
.nutrition-feature .scope .btn{
        font-size: 12px;
        min-height: 40px;
      }
.nutrition-feature button:focus-visible, .nutrition-feature select:focus-visible, .nutrition-feature input:focus-visible{
        outline: 2px solid var(--acc);
        outline-offset: 2px;
      }
@media print{.nutrition-feature .modebar, .nutrition-feature .mode-label{
          display: none;
        }
.nutrition-feature .cook, .nutrition-feature .hero{
          background: white;
        }
.nutrition-feature{
          padding-bottom: 0;
        }
.nutrition-feature #shopList .sneed{
          color: black;
        }

      }
.nutrition-feature .jobfield{
        display: block;
        margin: 12px 0;
        color: var(--text-dim);
        font-size: 13px;
      }
.nutrition-feature .jobfield input, .nutrition-feature .jobfield textarea, .nutrition-feature .jobrow input, .nutrition-feature .jobrow select{
        background: var(--surface-2);
        color: var(--text);
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 10px;
        font-size: 16px;
        width: 100%;
        min-height: 44px;
        margin-top: 5px;
      }
.nutrition-feature .jobrow{
        border-bottom: 1px solid var(--line);
        padding: 10px 0;
      }
.nutrition-feature .jobamount{
        display: grid;
        grid-template-columns: 1fr 85px;
        gap: 8px;
      }
.nutrition-feature .jobstep{
        display: flex;
        gap: 12px;
        align-items: flex-start;
        padding: 12px 0;
        line-height: 1.6;
      }
.nutrition-feature .jobstep input{
        min-width: 22px;
        height: 22px;
        accent-color: var(--acc);
      }
.nutrition-feature .jobstep:has(input:checked){
        opacity: 0.55;
      }
.nutrition-feature .jobtext{
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        font-family: inherit;
        font-size: 13px;
        line-height: 1.6;
      }
.nutrition-feature .jobhint{
        color: var(--text-dim);
        font-size: 13px;
        line-height: 1.6;
      }
.nutrition-feature.cookguest .nav, .nutrition-feature.cookguest .modebar{
        display: none;
      }
.nutrition-feature.cookguest{
        padding-bottom: 24px;
      }
.nutrition-feature #view-cookjob .btnrow, .nutrition-feature #view-reports .btnrow{
        flex-wrap: wrap;
      }

    .nutrition-feature{
  color-scheme: dark;
  --bg: #161e1b;
  --surface: #202b25;
  --surface-2: #29372f;
  --line: #364b3d;
  --line-bright: #526e5c;
  --text: #e7f2e9;
  --text-dim: #b8ccbf;
  --text-faint: #a9bcb0;
  --acc: #88cbb0;
  --acc-lite: #88cbb0;
  --ink: #14251c;
  --protein: #74b8da;
  --carbs: #d6b16e;
  --fat: #cf9dd5;
  --ok: #88cbb0;
  --warn: #e1bc76;
  --bad: #f09a99;
  --star: #e1bc76;
  --fc:
    ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fs: var(--fc);
  --fm: var(--fc);
  --grad: linear-gradient(#88cbb0, #88cbb0);
}
.nutrition-feature{
  scroll-behavior: smooth;
}
.nutrition-feature{
  background: var(--bg);
  background-image: none;
  font-size: 15px;
  line-height: 1.5;
  padding-bottom: calc(94px + env(safe-area-inset-bottom));
}
.nutrition-feature header, .nutrition-feature main, .nutrition-feature .modebar{
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.nutrition-feature header{
  padding: 28px 22px 8px;
  align-items: center;
}
.nutrition-feature h1{
  font-family: var(--fs);
  font-size: 25px;
  text-transform: none;
  letter-spacing: -1px;
}
.nutrition-feature h1 .grd{
  background: none;
  color: var(--acc);
}
.nutrition-feature .hdr-day{
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}
.nutrition-feature main{
  padding: 12px 22px 24px;
}
.nutrition-feature .modebar{
  padding: 8px 22px 0;
}
.nutrition-feature .modebar .mini{
  font-size: 11px;
  letter-spacing: 1.4px;
  margin: 8px 0;
}
.nutrition-feature .modebar .btnrow{
  gap: 7px;
}
.nutrition-feature .modebtn{
  font-size: 13px;
  border-radius: 10px;
  background: var(--surface);
  box-shadow: none;
}
.nutrition-feature .modebtn.solid{
  background: rgba(var(--mode-rgb), 0.1);
  border: 1px solid var(--acc);
  color: var(--acc);
}
.nutrition-feature .tabs{
  margin: 0 -22px 18px;
  padding: 10px 22px;
  background: var(--bg);
  gap: 5px;
}
.nutrition-feature .tab{
  background: none;
  border: 0;
  border-radius: 11px;
  padding: 9px 0 6px;
  font-family: var(--fs);
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
  min-height: 44px;
}
.nutrition-feature .tab.active{
  box-shadow: none;
  background: var(--acc);
  color: var(--ink);
}
.nutrition-feature .tab .mark{
  box-shadow: none;
}
.nutrition-feature .tab.off{
  opacity: 0.55;
}
.nutrition-feature .hero{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: none;
  padding: 20px;
  gap: 18px;
}
.nutrition-feature .ringwrap svg{
  filter: none;
}
.nutrition-feature .ringwrap svg #ring{
  filter: none !important;
}
.nutrition-feature .ringwrap svg circle:first-of-type{
  stroke: var(--surface-2);
}
.nutrition-feature .ringtxt .big{
  font-family: var(--fs);
  font-size: 28px;
  letter-spacing: -1px;
}
.nutrition-feature .ringtxt .small{
  font-size: 9px;
  letter-spacing: 0;
}
.nutrition-feature .mtop .lbl{
  font-family: var(--fs);
  text-transform: none;
  letter-spacing: 0;
  font-size: 11px;
}
.nutrition-feature .mtop .val{
  font-size: 11px;
}
.nutrition-feature .pill{
  font-family: var(--fs);
  font-size: 10px;
  text-transform: none;
  letter-spacing: 0;
}
.nutrition-feature .fill.p{
  background: var(--protein);
  opacity: 1;
}
.nutrition-feature .fill.c{
  background: var(--carbs);
  opacity: 1;
}
.nutrition-feature .fill.f{
  background: var(--fat);
  opacity: 1;
}
.nutrition-feature .track{
  height: 4px;
}
.nutrition-feature .chip.p{
  color: var(--protein);
  background: #263e46;
}
.nutrition-feature .chip.c{
  color: var(--carbs);
  background: #443b28;
}
.nutrition-feature .chip.f{
  color: var(--fat);
  background: #3f3143;
}
.nutrition-feature .chip.k{
  background: var(--surface-2);
  color: var(--text);
}
.nutrition-feature .btn, .nutrition-feature .btn.solid, .nutrition-feature .tab.active, .nutrition-feature .pbtn.on, .nutrition-feature .slot.open, .nutrition-feature .sw.on, .nutrition-feature .nav, .nutrition-feature .coach, .nutrition-feature .cook, .nutrition-feature .weekavg, .nutrition-feature .hero{
  box-shadow: none;
}
.nutrition-feature .btn{
  min-height: 44px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.3;
}
.nutrition-feature .btn.solid{
  background: var(--acc);
  color: var(--ink);
}
.nutrition-feature .btn.accent{
  background: rgba(var(--mode-rgb), 0.08);
  border-color: rgba(var(--mode-rgb), 0.3);
  color: var(--acc);
}
.nutrition-feature .btn.danger{
  color: var(--bad);
  border-color: #845251;
}
.nutrition-feature .btn:disabled{
  opacity: 0.55;
  cursor: wait;
}
.nutrition-feature .btnrow{
  flex-wrap: wrap;
}
.nutrition-feature .btnrow > .btn{
  min-width: 110px;
}
.nutrition-feature .shead{
  font-family: var(--fs);
  text-transform: none;
  letter-spacing: 0;
  color: var(--text);
  font-size: 15px;
  font-weight: 650;
  margin: 25px 0 10px;
}
.nutrition-feature .slot{
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  margin: 0;
}
.nutrition-feature .slot.open{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  margin: 8px 0;
}
.nutrition-feature .shd{
  padding: 16px 2px;
  min-height: 75px;
  gap: 13px;
}
.nutrition-feature .slot.open .shd{
  padding: 16px 12px;
}
.nutrition-feature .icn{
  background: none;
  color: var(--text-dim);
  width: 26px;
}
.nutrition-feature .sttl{
  font-family: var(--fs);
  font-size: 10px;
  letter-spacing: 1px;
  font-weight: 500;
}
.nutrition-feature .schoice{
  font-size: 14px;
  line-height: 1.5;
  margin-top: 4px;
}
.nutrition-feature .schoice .cn{
  white-space: normal;
}
.nutrition-feature .smac{
  font-size: 11px;
  line-height: 1.6;
}
.nutrition-feature .lockbtn{
  font-size: 10px;
  background: none;
  border: 0;
  margin: 0 0 7px 38px;
  padding: 3px 5px;
  min-height: 32px;
}
.nutrition-feature .lockbtn.on{
  color: var(--acc);
  background: rgba(var(--mode-rgb), 0.08);
}
.nutrition-feature .sbody > .btn{
  margin: 5px 3px 12px;
}
.nutrition-feature .opt{
  background: var(--surface-2);
  border: 1px solid transparent;
}
.nutrition-feature .opt.sel{
  background: rgba(var(--mode-rgb), 0.06);
  box-shadow: none;
}
.nutrition-feature .iconbtn{
  min-width: 35px;
  min-height: 35px;
  padding: 6px;
}
.nutrition-feature .filterbar input{
  min-width: 0;
}
.nutrition-feature .on{
  overflow-wrap: anywhere;
}
.nutrition-feature .porrow{
  flex-wrap: wrap;
}
.nutrition-feature .pbtn{
  min-width: 40px;
  min-height: 44px;
}
.nutrition-feature .porrow .plbl{
  width: 100%;
}
.nutrition-feature .sbody{
  padding: 0 10px 14px;
}
.nutrition-feature .coach{
  background: transparent;
  border: 0;
  border-left: 3px solid var(--line);
  border-radius: 0;
  padding: 8px 12px;
  margin-top: 14px;
}
.nutrition-feature .coachttl{
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}
.nutrition-feature .coachtxt{
  font-size: 12px;
}
.nutrition-feature .weekavg{
  border: 0;
  border-radius: 12px;
  padding: 14px;
  background: var(--surface-2);
  margin-top: 16px;
}
.nutrition-feature .weekavg-value{
  background: none;
  padding: 0;
  font-size: 10px;
}
.nutrition-feature .weekavg-value b{
  font-size: 13px;
  color: var(--text);
}
.nutrition-feature .weekavg-title{
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0;
}
.nutrition-feature .weekavg-days{
  font-size: 10px;
}
.nutrition-feature .microrow{
  flex-wrap: wrap;
}
.nutrition-feature .microrow .d{
  font-size: 11px;
}
.nutrition-feature .link{
  min-height: 32px;
  white-space: normal;
  color: var(--acc);
}
.nutrition-feature .cook, .nutrition-feature .sitem, .nutrition-feature .trow, .nutrition-feature .tform{
  background: var(--surface);
  border-color: var(--line);
  border-radius: 16px;
}
.nutrition-feature .cookport{
  color: var(--acc);
  background: rgba(var(--mode-rgb), 0.07);
  font-family: var(--fs);
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0;
}
.nutrition-feature .scat{
  font-family: var(--fs);
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
}
.nutrition-feature .yieldhint{
  font-size: 11px;
}
.nutrition-feature .sitem.done{
  opacity: 0.55;
}
.nutrition-feature .sw.on{
  background: var(--acc);
}
.nutrition-feature .cbx.on{
  background: var(--acc);
}
.nutrition-feature .cookname{
  overflow-wrap: anywhere;
}
.nutrition-feature .cooktop{
  flex-wrap: wrap;
}
.nutrition-feature .cookline{
  font-size: 13px;
}
.nutrition-feature .cookhint{
  font-size: 12px;
}
.nutrition-feature .nav{
  background: rgba(32, 43, 37, 0.97);
  border-color: var(--line);
  padding-top: 3px;
}
.nutrition-feature .nbtn{
  padding: 11px 2px 9px;
  min-height: 64px;
  color: var(--text-faint);
  gap: 5px;
}
.nutrition-feature .nbtn .nl{
  font-family: var(--fs);
  font-size: 10px;
  text-transform: none;
  letter-spacing: 0;
}
.nutrition-feature .nbtn.active{
  color: var(--acc);
  font-weight: 700;
}
.nutrition-feature .nbtn.active::before{
  background: var(--acc);
  box-shadow: none;
}
.nutrition-feature .nav-symbol{
  font-size: 23px;
  height: 21px;
  line-height: 21px;
}
.nutrition-feature .mode-label{
  font-family: var(--fs);
  font-size: 10px;
  top: -20px;
  background: var(--surface);
  padding: 1px 12px;
  border-color: var(--line);
  color: var(--acc);
}
.nutrition-feature .toast{
  max-width: calc(100vw - 24px);
  white-space: normal;
  background: var(--surface-2);
  color: var(--text);
  border: none;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 13px;
  bottom: calc(90px + env(safe-area-inset-bottom));
}
.nutrition-feature .toast button{
  color: #bdebd5;
}
.nutrition-feature .ov{
  background: rgba(4, 9, 6, 0.72);
}
.nutrition-feature .sheet{
  background: var(--bg);
  border-radius: 22px 22px 0 0;
  max-width: 640px;
  width: 100%;
  padding: 22px 20px calc(28px + env(safe-area-inset-bottom));
  max-height: 90dvh;
  overflow-y: auto;
}
.nutrition-feature .sheet h2{
  font-family: var(--fs);
  font-size: 22px;
  letter-spacing: -0.5px;
  text-transform: none;
}
.nutrition-feature .sheet h3{
  font-size: 15px;
  margin: 16px 0 8px;
}
.nutrition-feature .sheet input, .nutrition-feature .sheet select, .nutrition-feature .sheet textarea, .nutrition-feature .fld input, .nutrition-feature .filterbar input{
  font-size: 16px !important;
}
.nutrition-feature .sheet p{
  overflow-wrap: anywhere;
}
.nutrition-feature .mini{
  font-family: var(--fs);
  text-transform: none;
  letter-spacing: 0;
}
.nutrition-feature .jobfield select{
  width: 100%;
  padding: 10px;
  font: inherit;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
}
.nutrition-feature .jobhint, .nutrition-feature .recipe, .nutrition-feature .trow .sub{
  color: var(--text-dim);
}
.nutrition-feature .recipe{
  font-size: 13px;
}
.nutrition-feature .offnote{
  background: #3c3525;
  border-color: #75613b;
  color: #e1bc76;
}
.nutrition-feature .offnote button{
  color: #e1bc76;
}
.nutrition-feature .sheet input[type="checkbox"]{
  width: 22px;
  height: 22px;
}
.nutrition-feature .fld label{
  font-size: 10px;
  letter-spacing: 0;
}
.nutrition-feature .tform .g4{
  grid-template-columns: repeat(2, 1fr);
}
.nutrition-feature .page-heading{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 22px;
}
.nutrition-feature .page-heading h2{
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -1px;
  margin: 7px 0;
}
.nutrition-feature .eyebrow{
  font-size: 10px;
  letter-spacing: 1.6px;
  color: var(--text-faint);
}
.nutrition-feature .date-row{
  display: flex;
  gap: 10px;
  align-items: end;
  margin-bottom: 18px;
}
.nutrition-feature .date-row label{
  flex: 1;
  min-width: 0;
  font-size: 11px;
  color: var(--text-dim);
}
.nutrition-feature .date-row input{
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--text);
  min-width: 0;
  min-height: 44px;
  font: inherit;
  font-size: 16px;
}
.nutrition-feature .date-row .btn{
  flex: 0 0 45px;
}
.nutrition-feature .diary-summary{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 22px;
}
.nutrition-feature .diary-summary > span{
  font-size: 12px;
  color: var(--text-dim);
}
.nutrition-feature .diary-energy{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 14px;
}
.nutrition-feature .diary-energy strong{
  font-size: 40px;
  letter-spacing: -1.8px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.nutrition-feature .diary-energy > span{
  font-size: 13px;
  color: var(--text-faint);
}
.nutrition-feature .diary-progress{
  height: 6px;
  background: var(--surface-2);
  overflow: hidden;
  border-radius: 5px;
}
.nutrition-feature .diary-progress i{
  display: block;
  height: 100%;
  background: var(--acc);
}
.nutrition-feature .diary-macros{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 23px;
}
.nutrition-feature .diary-macros span, .nutrition-feature .diary-macros small{
  display: block;
  font-size: 10px;
  color: var(--text-faint);
}
.nutrition-feature .diary-macros b{
  display: block;
  font-size: 17px;
  font-weight: 650;
  margin: 4px 0;
}
.nutrition-feature .macro-line{
  height: 3px;
  margin-top: 8px;
  background: var(--protein);
}
.nutrition-feature .macro-line.c{
  background: var(--carbs);
}
.nutrition-feature .macro-line.f{
  background: var(--fat);
}
.nutrition-feature .diary-summary > p{
  font-size: 13px;
  margin: 18px 0 5px;
}
.nutrition-feature .diary-summary > small{
  font-size: 11px;
  color: var(--text-faint);
  display: block;
}
.nutrition-feature .diary-entry, .nutrition-feature .planned-entry{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.nutrition-feature .diary-entry > div, .nutrition-feature .planned-entry > div{
  min-width: 0;
  flex: 1;
}
.nutrition-feature .diary-entry strong, .nutrition-feature .planned-entry strong{
  display: block;
  font-size: 14px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.nutrition-feature .diary-entry p, .nutrition-feature .planned-entry p{
  font-size: 12px;
  color: var(--text-dim);
  margin: 4px 0;
}
.nutrition-feature .diary-entry small, .nutrition-feature .planned-entry small{
  font-size: 10px;
  color: var(--text-faint);
  display: block;
}
.nutrition-feature .diary-entry > .btn, .nutrition-feature .planned-entry > .btn{
  flex: 0 0 auto;
  padding: 10px;
  font-size: 12px;
}
.nutrition-feature .hint, .nutrition-feature .local-note{
  font-size: 12px;
  color: var(--text-dim);
  line-height: 1.65;
}
.nutrition-feature .local-note{
  padding: 14px 0;
}
.nutrition-feature .entry-field{
  display: block;
  font-size: 12px;
  font-weight: 500;
  margin: 14px 0;
  color: var(--text-dim);
}
.nutrition-feature .entry-field input, .nutrition-feature .entry-field select, .nutrition-feature .entry-field textarea, .nutrition-feature textarea#ocrText{
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 11px;
  margin-top: 5px;
  border-radius: 9px;
  border: 1px solid var(--line-bright);
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 16px;
  min-height: 44px;
}
.nutrition-feature .nutrition-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
}
.nutrition-feature .confirm-values{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  margin: 20px 0;
  line-height: 1.6;
}
.nutrition-feature .confirm-values input{
  flex-shrink: 0;
  accent-color: var(--acc);
}
.nutrition-feature .form-error{
  color: var(--bad);
  font-size: 13px;
  line-height: 1.5;
}
.nutrition-feature .tracker-error{
  padding: 14px;
  border: 1px solid #845251;
  background: #3c2829;
  color: #f09a99;
  border-radius: 10px;
  font-size: 13px;
  margin-bottom: 16px;
}
.nutrition-feature .storage-card{
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  font-size: 13px;
}
.nutrition-feature .storage-card p{
  font-size: 12px;
  color: var(--text-dim);
}
.nutrition-feature .storage-card > .btn{
  margin-top: 12px;
}
.nutrition-feature .product-row{
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.nutrition-feature .product-row > div{
  flex: 1;
  min-width: 0;
}
.nutrition-feature .product-row strong{
  font-size: 14px;
  overflow-wrap: anywhere;
}
.nutrition-feature .product-row p{
  font-size: 12px;
  color: var(--text-dim);
  margin: 2px 0;
}
.nutrition-feature .product-row small{
  font-size: 10px;
  color: var(--text-faint);
  display: block;
}
.nutrition-feature .product-row > img, .nutrition-feature .product-placeholder{
  width: 48px;
  height: 58px;
  border-radius: 8px;
  object-fit: cover;
  background: var(--surface);
  flex-shrink: 0;
}
.nutrition-feature .product-placeholder{
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-faint);
  font-size: 12px;
}
.nutrition-feature .product-row > .btn{
  font-size: 12px;
  padding: 8px;
}
.nutrition-feature .photo-section{
  margin: 20px 0 12px;
}
.nutrition-feature .photo-buttons{
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
}
.nutrition-feature .photo-button{
  padding: 11px 12px;
  background: var(--surface);
  border: 1px solid var(--line-bright);
  border-radius: 9px;
  font-size: 13px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.nutrition-feature .label-preview{
  display: block;
  max-width: 100%;
  max-height: 360px;
  object-fit: contain;
  margin: 14px auto;
  background: var(--surface);
  border-radius: 8px;
}
.nutrition-feature .label-preview[hidden]{
  display: none;
}
.nutrition-feature .scan-status{
  font-size: 13px;
  color: var(--acc);
  min-height: 20px;
}
.nutrition-feature .ingredient-edit{
  padding: 0 0 12px;
  border-bottom: 1px solid var(--line);
}
.nutrition-feature .ingredient-edit .entry-field{
  margin: 10px 0;
}
.nutrition-feature .result-row{
  display: block;
  width: 100%;
  text-align: left;
  padding: 14px 3px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--text);
  min-height: 54px;
  font: inherit;
}
.nutrition-feature .result-row strong{
  display: block;
  font-size: 14px;
}
.nutrition-feature .result-row small{
  font-size: 11px;
  color: var(--text-faint);
}
.nutrition-feature .barcode-reader{
  max-width: 240px;
  overflow: hidden;
}
.nutrition-feature .jobfield, .nutrition-feature .jobrow{
  min-width: 0;
}
.nutrition-feature .recipe summary{
  min-height: 44px;
}
.nutrition-feature .sheet [hidden]{
  display: none !important;
}
@media (min-width: 700px){.nutrition-feature .nav{
    max-width: 640px;
    left: 50%;
    right: auto;
    width: 100%;
    transform: translateX(-50%);
    border: 1px solid var(--line);
    border-radius: 16px 16px 0 0;
  }
.nutrition-feature .sheet{
    margin-left: auto;
    margin-right: auto;
  }
.nutrition-feature .ov{
    align-items: flex-end;
  }
.nutrition-feature .schoice{
    font-size: 16px;
  }

}
@media (max-width: 370px){.nutrition-feature header{
    padding: 20px 14px 8px;
  }
.nutrition-feature main{
    padding: 10px 14px 20px;
  }
.nutrition-feature .modebar{
    padding: 8px 14px 0;
  }
.nutrition-feature .tabs{
    margin-left: -14px;
    margin-right: -14px;
    padding-left: 14px;
    padding-right: 14px;
  }
.nutrition-feature .hero{
    padding: 14px;
    gap: 12px;
  }
.nutrition-feature .ringwrap{
    transform: scale(0.9);
    margin: -4px;
  }
.nutrition-feature .diary-summary{
    padding: 16px;
  }
.nutrition-feature .diary-macros{
    gap: 9px;
  }
.nutrition-feature .sheet{
    padding-left: 14px;
    padding-right: 14px;
  }
.nutrition-feature .product-row{
    gap: 8px;
  }
.nutrition-feature .product-row > img, .nutrition-feature .product-placeholder{
    width: 36px;
    height: 44px;
  }

}
@media (prefers-reduced-motion: reduce){.nutrition-feature{
    scroll-behavior: auto;
  }
.nutrition-feature *{
    transition: none !important;
    scroll-behavior: auto !important;
  }

}
@media print{.nutrition-feature{
    background: #fff;
    color: #000;
  }
.nutrition-feature .nav, .nutrition-feature .modebar, .nutrition-feature .tracker-error, .nutrition-feature #trackingSettings{
    display: none !important;
  }
.nutrition-feature .sitem, .nutrition-feature .sneed, .nutrition-feature .scat{
    color: #000;
  }
.nutrition-feature .sitem{
    background: none;
  }

}
.nutrition-feature .hero{
  display: block;
  padding: 22px;
}
.nutrition-feature .ringwrap{
  width: auto;
  height: auto;
  transform: none;
  margin: 0 0 17px;
}
.nutrition-feature .ringwrap svg{
  display: none;
}
.nutrition-feature .ringtxt{
  position: static;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-start;
  gap: 9px;
}
.nutrition-feature .ringtxt .big{
  font-size: 40px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -1.8px;
}
.nutrition-feature .ringtxt .small{
  font-size: 12px;
  color: var(--text-faint);
}
.nutrition-feature .heroright{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.nutrition-feature .heroright #pillWrap{
  grid-column: 1/-1;
  grid-row: 2;
}
.nutrition-feature .heroright .mrow{
  margin: 0;
}
.nutrition-feature .mtop{
  display: block;
}
.nutrition-feature .mtop .lbl{
  display: block;
  font-size: 10px;
  margin-bottom: 4px;
}
.nutrition-feature .mtop .val{
  display: block;
  font-size: 10px;
  margin-bottom: 8px;
}
.nutrition-feature .mtop .val b{
  font-size: 17px;
  font-weight: 650;
}
.nutrition-feature .pill{
  margin: 4px 0 0;
  font-size: 11px;
  border-radius: 6px;
  padding: 4px 8px;
}
.nutrition-feature .page-heading > .btn{
  flex: 0 0 auto;
}
.nutrition-feature .modebtn.solid{
  background: rgba(var(--mode-rgb), 0.09);
  border-color: var(--acc);
  color: var(--acc);
}
.nutrition-feature .modebtn::before{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: 1px;
}
.nutrition-feature .modebtn:nth-child(1)::before{
  background: #f3a184;
}
.nutrition-feature .modebtn:nth-child(2)::before{
  background: #88cbb0;
}
.nutrition-feature .modebtn:nth-child(3)::before{
  background: #beaff0;
}
.nutrition-feature .hero::before{
  content: "Geplanter Tag";
  display: block;
  color: var(--text-dim);
  font-size: 12px;
  margin-bottom: 7px;
}
.nutrition-feature .coach.ok .coachttl{
  display: none;
}
.nutrition-feature .cook-ingredient{
  padding: 12px 0;
  align-items: center;
}
.nutrition-feature .ingredient-actions{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
  flex: 0 0 auto;
}
.nutrition-feature .ingredient-nutrition{
  font-size: 12px;
  min-height: 44px;
  padding: 9px 11px;
  color: var(--acc);
  border-color: rgba(var(--mode-rgb), 0.35);
  background: rgba(var(--mode-rgb), 0.08);
}
.nutrition-feature .ingredient-source{
  display: block;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-faint);
  margin: 5px 0;
}
.nutrition-feature .ingredient-context{
  color: var(--acc);
  font-size: 14px;
}
.nutrition-feature .ingredient-photos{
  margin: 18px 0;
  padding: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.nutrition-feature .ingredient-photos > summary{
  font-size: 14px;
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--acc);
  cursor: pointer;
}
.nutrition-feature .batch-actions{
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
}
.nutrition-feature .batch-actions .btn{
  font-size: 12px;
}
.nutrition-feature .pill.ok{
  background: rgba(136, 203, 176, 0.12);
  color: var(--ok);
}
.nutrition-feature .pill.warn{
  background: rgba(225, 188, 118, 0.12);
  color: var(--warn);
}
.nutrition-feature .pill.bad{
  background: rgba(240, 154, 153, 0.12);
  color: var(--bad);
}
@media (max-width: 370px){.nutrition-feature .cook-ingredient{
    gap: 8px;
  }
.nutrition-feature .ingredient-nutrition{
    font-size: 11px;
    padding: 8px;
  }
.nutrition-feature .cookline > span:first-child{
    overflow-wrap: anywhere;
  }

}
@media print{.nutrition-feature{
    background: #fff;
    color: #000;
  }
.nutrition-feature .sitem, .nutrition-feature .sneed, .nutrition-feature .scat{
    color: #000;
  }

}
.nutrition-feature .ingredient-context{
  position: sticky;
  top: -22px;
  z-index: 3;
  background: var(--surface-2);
  border: 1px solid var(--line-bright);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 12px 0;
  box-shadow: 0 5px 16px #0003;
}
.nutrition-feature .ingredient-context small, .nutrition-feature .ingredient-context strong, .nutrition-feature .ingredient-context span{
  display: block;
}
.nutrition-feature .ingredient-context strong{
  font-size: 17px;
  color: var(--text);
  margin: 3px 0;
  overflow-wrap: anywhere;
}
.nutrition-feature .ingredient-context small, .nutrition-feature .ingredient-context span{
  font-size: 11px;
  color: var(--text-dim);
}
.nutrition-feature .ingredient-progress{
  padding: 12px;
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--acc);
  font-size: 13px;
}
.nutrition-feature .ingredient-overview{
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.nutrition-feature .ingredient-card{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 15px;
}
.nutrition-feature .ingredient-card.just-saved{
  border-color: var(--acc);
}
.nutrition-feature .ingredient-card-title{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 15px;
}
.nutrition-feature .ingredient-card-title strong{
  min-width: 0;
  overflow-wrap: anywhere;
}
.nutrition-feature .ingredient-card-title > span{
  white-space: nowrap;
  color: var(--text-dim);
  font-size: 13px;
}
.nutrition-feature .ingredient-card p{
  font-size: 12px;
  margin: 7px 0;
}
.nutrition-feature .ingredient-status{
  color: var(--acc);
}
.nutrition-feature .ingredient-values{
  color: var(--text-dim);
  line-height: 1.8;
}
.nutrition-feature .ingredient-card .btn{
  width: 100%;
  margin-top: 8px;
}
.nutrition-feature .ingredient-overview-button{
  width: 100%;
  margin: 4px 0 12px;
}
.nutrition-feature .ingredient-edit{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  margin: 12px 0;
}
.nutrition-feature .ingredient-edit > .entry-field:first-child{
  color: var(--text);
  font-weight: 650;
  font-size: 14px;
}
.nutrition-feature .weight-chart{
  width: 100%;
  display: block;
  background: var(--surface);
  border-radius: 14px;
  margin: 18px 0;
}
.nutrition-feature .weekly-table{
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.nutrition-feature .weekly-table table{
  width: 100%;
  border-collapse: collapse;
  min-width: 570px;
  font-size: 12px;
}
.nutrition-feature .weekly-table th, .nutrition-feature .weekly-table td{
  padding: 12px 9px;
  text-align: left;
  border-bottom: 1px solid var(--line);
}
.nutrition-feature .weekly-table small{
  display: block;
  color: var(--text-dim);
  font-size: 10px;
}
.nutrition-feature .weekly-table caption{
  text-align: left;
  padding: 12px;
  color: var(--text-dim);
}
.nutrition-feature .weekly-tabs{
  margin-bottom: 20px;
}
.nutrition-feature .weekly-tabs .btn{
  flex: 1;
}
.nutrition-feature .date-row{
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: end;
  gap: 8px;
}
.nutrition-feature .date-row > label{
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.nutrition-feature .date-row > .btn{
  width: 44px;
  height: 46px;
  min-width: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: static;
  margin: 0;
  align-self: end;
}
.nutrition-feature .date-row input{
  width: 100%;
  max-width: 100%;
  height: 46px;
  min-width: 0;
  -webkit-appearance: none;
  appearance: none;
}
.nutrition-feature .date-row input::-webkit-date-and-time-value{
  text-align: left;
  min-width: 0;
}
.nutrition-feature .paste-template{
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 13px;
  padding: 12px;
  background: var(--surface);
  border-radius: 10px;
}
.nutrition-feature #pastePreview{
  margin-top: 16px;
}
.nutrition-feature .weight-chart-scroll{
  overflow-x: auto;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.nutrition-feature .weight-chart-scroll .weight-chart{
  min-width: 600px;
  margin: 0;
}
.nutrition-feature .nbtn svg{
  width: 23px;
  height: 23px;
  flex-shrink: 0;
}
.nutrition-feature .period-tabs{
  gap: 7px;
  margin-bottom: 12px;
}
.nutrition-feature .period-tabs > .btn{
  min-width: 0;
  flex: 1 1 auto;
  font-size: 12px;
  padding: 10px;
}
.nutrition-feature .period-tabs .btn[aria-pressed="true"]{
  border-color: var(--acc);
  background: rgba(var(--mode-rgb), 0.18);
}
.nutrition-feature .sw, .nutrition-feature .sw.on{
  flex: 0 0 46px;
  width: 46px;
  min-width: 46px;
  max-width: 46px;
  height: 27px;
  min-height: 27px;
  padding: 0;
  box-sizing: border-box;
}
.nutrition-feature .profile-entry{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  text-align: left;
  padding: 18px;
  margin: 0 0 16px;
  background: var(--surface-2);
  border-color: var(--acc);
}
.nutrition-feature .profile-entry strong{
  font-size: 18px;
  color: var(--text);
}
.nutrition-feature .profile-entry span{
  font-size: 12px;
  color: var(--text-dim);
}
.nutrition-feature .settings-disclosure{
  margin: 20px 0;
  border: 1px solid var(--line-bright);
  border-radius: 14px;
  background: var(--surface);
  padding: 0 14px;
}
.nutrition-feature .settings-disclosure > summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 12px 2px;
  box-sizing: border-box;
  list-style: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 650;
  color: var(--text);
}
.nutrition-feature .settings-disclosure > summary::-webkit-details-marker{
  display: none;
}
.nutrition-feature .settings-chevron{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--acc);
  font-size: 23px;
  transition: transform 0.15s;
}
.nutrition-feature .settings-disclosure[open] > summary{
  border-bottom: 1px solid var(--line);
}
.nutrition-feature .settings-disclosure[open] .settings-chevron{
  transform: rotate(180deg);
}
.nutrition-feature .settings-disclosure > summary:focus-visible{
  outline: 2px solid var(--acc);
  outline-offset: 4px;
  border-radius: 8px;
}
.nutrition-feature .settings-disclosure[open]{
  padding-bottom: 14px;
}
.nutrition-feature [data-calorie-status="good"]{
  border-color: var(--ok);
  background:
    linear-gradient(rgba(136, 203, 176, 0.09), rgba(136, 203, 176, 0.09)),
    var(--surface);
}
.nutrition-feature [data-calorie-status="over"]{
  border-color: var(--bad);
  background:
    linear-gradient(rgba(240, 154, 153, 0.09), rgba(240, 154, 153, 0.09)),
    var(--surface);
}
.nutrition-feature [data-calorie-status="good"] .diary-energy strong, .nutrition-feature [data-calorie-status="good"] #kcalNum{
  color: var(--ok);
}
.nutrition-feature [data-calorie-status="over"] .diary-energy strong, .nutrition-feature [data-calorie-status="over"] #kcalNum{
  color: var(--bad);
}
.nutrition-feature [data-calorie-status="good"] .diary-progress i{
  background: var(--ok);
}
.nutrition-feature [data-calorie-status="over"] .diary-progress i{
  background: var(--bad);
}
.nutrition-feature .diary-group{
  margin: 20px 0;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.nutrition-feature .diary-group h3{
  margin: 0;
  font-size: 16px;
}
.nutrition-feature .entry-actions{
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex-shrink: 0;
}
.nutrition-feature .entry-actions .btn{
  font-size: 12px;
}
.nutrition-feature .source-badge{
  display: inline-block;
  border: 1px solid var(--line-bright);
  border-radius: 6px;
  padding: 3px 7px;
  font-size: 11px;
  color: var(--acc);
  margin: 4px 0;
}
.nutrition-feature #diaryCloudStatus{
  margin-bottom: 14px;
  font-size: 12px;
}
.nutrition-feature #undoEntry{
  margin-bottom: 12px;
}

.nutrition-feature{
  --bg: #0b1317;
  --surface: #132329;
  --surface-2: #1b3036;
  --line: #344b50;
  --line-bright: #577176;
  --text: #eee9df;
  --text-dim: #b2c3c4;
  --text-faint: #94aaad;
  --acc: #c99a76 !important;
  --acc-lite: #dfb38f !important;
  --ink: #132025;
  --mode-rgb: 201, 154, 118 !important;
  --grad: linear-gradient(#c99a76, #dfb38f) !important;
  --fs:
    Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  --fc: var(--fs);
  --fm: var(--fs);
}
.nutrition-feature{
  background: #0b1317;
  color: var(--text);
}
.nutrition-feature > header{
  display: none;
}
.nutrition-feature .modebar{
  display: none;
}
.nutrition-feature main{
  max-width: 680px;
  padding-top: 20px;
}
.nutrition-feature .page-heading h2, .nutrition-feature h2, .nutrition-feature .shead, .nutrition-feature h1{
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.025em;
}
.nutrition-feature .page-heading h2{
  font-size: 30px;
}
.nutrition-feature .shead{
  font-size: 22px;
  letter-spacing: 0;
  text-transform: none;
}
.nutrition-feature .page-heading{
  padding-top: 14px;
}
.nutrition-feature .eyebrow{
  color: #cfaa88;
  letter-spacing: 0.13em;
  font-size: 10px;
}
.nutrition-feature .view.active:before{
  content: "";
  display: block;
  height: 145px;
  background:
    linear-gradient(180deg, #0b131755, #0b131722 45%, #0b1317),
    var(--chapter-art);
  background-size: cover;
  background-position: center 48%;
  margin: -20px -22px 10px;
  border-radius: 0 0 16px 16px;
}
.nutrition-feature .view#view-cookjob:before, .nutrition-feature .view#view-shop:before{
  height: 65px;
}
.nutrition-feature .btn.solid, .nutrition-feature .btn.accent{
  background: #c99a76;
  color: #102027;
  border-color: #c99a76;
}
.nutrition-feature .btn, .nutrition-feature .hero, .nutrition-feature .slot, .nutrition-feature .diary-entry, .nutrition-feature .cook, .nutrition-feature .storage-card{
  border-radius: 12px;
}
.nutrition-feature .nav{
  background: #101f25ed;
  border-color: #344b50;
  backdrop-filter: blur(16px);
}
.nutrition-feature .nbtn.active{
  color: #dfb38f;
  background: #24363d;
}
.nutrition-feature .nbtn{
  min-height: 48px;
}
.nutrition-feature .nbtn svg{
  color: inherit;
}
.nutrition-feature .modebtn:before{
  background: #c99a76 !important;
}
.nutrition-feature input, .nutrition-feature select, .nutrition-feature textarea{
  font-size: 16px !important;
}
.nutrition-feature button:focus-visible, .nutrition-feature input:focus-visible{
  outline: 2px solid #e6bc96;
  outline-offset: 3px;
}
.nutrition-feature .ov{
  background: #030b0fcc;
}
.nutrition-feature .sheet{
  background: #14262c;
}
.nutrition-feature .sheet h2{
  font-size: 28px;
}
.nutrition-feature .hero:before{
  content: "Vorräte · Geplanter Tag";
}
.nutrition-feature .weekly-table{
  max-width: 100%;
}
.nutrition-feature .btnrow{
  flex-wrap: wrap;
}
@media (max-width: 370px){.nutrition-feature main{
    padding-left: 14px;
    padding-right: 14px;
  }
.nutrition-feature .view.active:before{
    margin-left: -14px;
    margin-right: -14px;
  }
.nutrition-feature .page-heading h2{
    font-size: 27px;
  }

}
@media (prefers-reduced-motion: reduce){.nutrition-feature *{
    scroll-behavior: auto !important;
  }

}

