/* Shared 16:9 course-card contract. Keep page-specific data, reuse one visual frame. */

/* Featured course shelf on Home */
.t5-home-first__course-grid{height:auto;align-items:start}
.t5-home-first__course-grid article{
  aspect-ratio:16/9;
  min-height:0;
  padding:16px 18px 12px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.t5-home-first__course-grid article>i{height:52%}
.t5-home-first__course-grid article>span,
.t5-home-first__course-grid article>h3,
.t5-home-first__course-grid article>p{position:relative;z-index:1}

/* Schedule card on the T5 home panel */
.t5-schedule-card__course{
  aspect-ratio:16/9;
  min-height:0;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:48px 12px 11px;
  background:
    linear-gradient(180deg,rgba(14,14,16,.04) 0,rgba(18,18,20,.18) 34%,#1e1e21 54%),
    linear-gradient(135deg,#45454a 0 34%,#303035 34% 68%,#242428 68%);
}
.t5-schedule-card__course::before{
  content:"";
  position:absolute;
  top:12px;
  left:12px;
  width:38px;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
}
.t5-schedule-card__course--assessment::before{background:rgba(255,255,255,.38)}
.t5-schedule-card__course--assessment{border-style:dashed!important;border-color:#77777d!important;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),#202023!important}
.t5-schedule-card__course-status.schedule-only{border-color:#8d8d93;background:#dedee1;color:#222226}
.t5-schedule-card__course>header,.t5-schedule-card__course h3,.t5-schedule-card__course>div{position:relative;z-index:1}

/* Arrange: continuous dates plus a compact card grid for the selected/day section. */
.t5-arrange__panel{padding:24px 36px 30px}
.t5-arrange__title{height:72px;align-items:center}
.t5-arrange__dates{height:96px}
.t5-arrange__days{height:540px;margin-top:14px}
.t5-arrange__day{
  min-height:260px;
  grid-template-columns:112px 1fr;
  padding:14px 0 18px;
  margin-bottom:0;
}
.t5-arrange__day>header{justify-content:flex-start;padding-top:42px}
.t5-arrange__day>header b{font-size:42px}
.t5-arrange__day-content,
.t5-arrange:not(.t5-arrange--history) .t5-arrange__day-content,
.t5-arrange--with-plan .t5-arrange__day-content,
.t5-arrange--with-plan .t5-arrange__day-content.has-custom,
.t5-arrange__day-content--custom-only,
.t5-arrange__day-content--history{
  padding-left:18px;
  padding-bottom:8px;
  display:flex!important;
  flex-flow:row nowrap!important;
  gap:14px;
  align-items:flex-start;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scrollbar-width:thin;
  scrollbar-color:#66666b transparent;
}
.t5-arrange__day-content::-webkit-scrollbar{height:5px}
.t5-arrange__day-content::-webkit-scrollbar-thumb{background:#66666b;border-radius:999px}
/*
 * Schedule card-size contract.
 * Every direct card in a day row uses the same slot size, not only the same
 * aspect ratio. The stronger selector also retires older compact-card flex
 * bases that made "加入计划" narrower than course/add/day-off cards.
 */
.t5-arrange .t5-arrange__day-content>.t5-arrange__course-row,
.t5-arrange .t5-arrange__day-content>.t5-arrange__add,
.t5-arrange .t5-arrange__day-content>.t5-arrange__day-off,
.t5-arrange .t5-arrange__day-content>.t5-arrange__join-plan{
  box-sizing:border-box;
  width:auto!important;
  max-width:none!important;
  min-width:300px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  flex:0 0 calc((100% - 28px)/3)!important;
  align-self:flex-start!important;
  scroll-snap-align:start;
}
.t5-arrange__course-row,
.t5-arrange:not(.t5-arrange--history) .t5-arrange__course-row,
.t5-arrange--history .t5-arrange__day-content--history>.t5-arrange__course-row{
  aspect-ratio:16/9;
  height:auto;
  min-width:300px;
  position:relative;
  display:block;
  flex:0 0 calc((100% - 28px)/3);
  scroll-snap-align:start;
}
.t5-arrange__day-content>[data-schedule-status="not-start"],
.t5-arrange__day-content>[data-schedule-status="coming"],
.t5-arrange__day-content>[data-schedule-status="miss"]{order:1}
.t5-arrange__day-content>[data-schedule-status="done"]{order:2}
.t5-arrange__day-content>.t5-arrange__add{order:3}
.t5-arrange__course{
  width:100%;
  height:100%;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:64px 16px 13px;
  background:
    linear-gradient(180deg,rgba(12,12,14,.04) 0,rgba(15,15,17,.18) 34%,#1d1d20 55%),
    linear-gradient(135deg,#46464b 0 31%,#343439 31% 67%,#29292e 67%);
}
.t5-arrange__course-row--custom .t5-arrange__course{
  background:
    linear-gradient(180deg,rgba(12,12,14,.04) 0,rgba(15,15,17,.18) 34%,#18181b 55%),
    linear-gradient(135deg,#394248 0 31%,#30363b 31% 67%,#24282c 67%);
}
.t5-arrange__course-row--free .t5-arrange__course{
  background:
    linear-gradient(180deg,rgba(12,12,14,.03) 0,rgba(19,25,21,.18) 34%,#18201a 55%),
    linear-gradient(135deg,#3e4a42 0 31%,#313a34 31% 67%,#252c27 67%);
}
.t5-arrange__course::before{
  content:"";
  position:absolute;
  top:15px;
  left:16px;
  width:44px;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
}
.t5-arrange__course>header,.t5-arrange__course h2,.t5-arrange__course p,.t5-arrange__course>div{position:relative;z-index:1}
.t5-arrange__course>header b{padding-right:36px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-arrange__course h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-arrange__course p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-arrange__course>div{flex-wrap:wrap;margin-top:8px;gap:5px}
.t5-arrange__course>div>span{padding:3px 6px}
.t5-arrange__more{
  position:absolute;
  z-index:5;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  background:rgba(18,18,20,.82);
  backdrop-filter:blur(5px);
}
.t5-arrange__status{
  position:absolute;
  z-index:5;
  top:12px;
  right:12px;
  width:48px;
  height:48px;
  font-size:8px;
}
.t5-arrange__add,
.t5-arrange:not(.t5-arrange--history) .t5-arrange__add,
.t5-arrange--history .t5-arrange__day-content--history>.t5-arrange__add{
  aspect-ratio:16/9;
  min-height:0;
  height:auto;
  min-width:300px;
  flex:0 0 calc((100% - 28px)/3);
  align-self:start;
  justify-content:center;
  scroll-snap-align:start;
  background:
    linear-gradient(135deg,rgba(255,255,255,.025),transparent 48%),
    #171719;
}
.t5-arrange__day-off,
.t5-arrange:not(.t5-arrange--history) .t5-arrange__day-off,
.t5-arrange--history .t5-arrange__day-content--history>.t5-arrange__day-off{
  aspect-ratio:16/9;
  height:auto;
  min-height:0;
  min-width:300px;
  flex:0 0 calc((100% - 28px)/3);
  align-self:start;
  scroll-snap-align:start;
}
.t5-arrange__join-plan{
  aspect-ratio:16/9;
  min-height:0;
  min-width:300px;
  flex:0 0 calc((100% - 28px)/3);
  padding:18px 22px;
  align-self:start;
  scroll-snap-align:start;
}
.t5-arrange__join-plan h2{font-size:21px}
.t5-arrange__join-plan--compact{aspect-ratio:16/9;padding:16px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.t5-arrange__join-plan--compact>b{margin:12px 0 0}
.t5-arrange__day--custom-only,.t5-arrange__day--history{min-height:260px}
.t5-arrange__day--history:has(.t5-arrange__day-content--history>.t5-arrange__course-row:nth-child(2)){min-height:260px}

/* Course pool */
.t5-course-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.t5-course-picker__card{
  aspect-ratio:16/9;
  min-height:0;
  position:relative;
  background:
    linear-gradient(180deg,rgba(10,10,12,.04),rgba(20,20,23,.2) 38%,#19191c 56%),
    linear-gradient(135deg,#48484d 0 34%,#35353a 34% 68%,#29292e 68%);
}
.t5-course-picker__card>button:first-child{padding:60px 18px 10px;position:relative;z-index:1}
.t5-course-picker__card>button:first-child::before{content:"";position:absolute;top:16px;left:18px;width:44px;height:3px;border-radius:999px;background:rgba(255,255,255,.62)}
.t5-course-picker__card h3{margin:12px 0 3px;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-course-picker__card p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t5-course-picker__metrics{margin-top:10px}
.t5-course-picker__add{height:42px;background:rgba(30,30,34,.92)}

/* Plan detail: one complete stage fits without vertical scrolling. */
.t5-plan-detail__course-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.t5-plan-detail__course{
  aspect-ratio:16/9;
  min-height:0;
  position:relative;
  overflow:hidden;
  padding:50px 11px 10px;
  background:
    linear-gradient(180deg,rgba(12,12,14,.04),rgba(18,18,21,.18) 36%,#18181b 55%),
    linear-gradient(135deg,#45454a 0 34%,#333338 34% 68%,#27272b 68%);
}
.t5-plan-detail__course::before{content:"";position:absolute;top:13px;left:12px;width:38px;height:3px;border-radius:999px;background:rgba(255,255,255,.62)}
.t5-plan-detail__course>em{position:absolute;top:11px;right:11px;width:28px;height:28px;background:rgba(18,18,20,.7)}
.t5-plan-detail__course>i{position:absolute;right:12px;top:57px}
.t5-plan-detail__course>div:not(.t5-plan-detail__course-metrics){grid-column:1/4;min-width:0}
.t5-plan-detail__course h3{font-size:12px;padding-right:16px}
.t5-plan-detail__course-metrics{grid-column:1/4;gap:4px;flex-wrap:wrap;margin-top:5px}
.t5-plan-detail__course-metrics span{padding:2px 5px;font-size:7px}
.t5-plan-detail__course-metrics b{font-size:8px}

/* Arrange: make long-press moving, assessment placement, and settlement entry discoverable. */
.t5-arrange__move-guide{
  min-height:58px;
  margin-top:12px;
  padding:10px 14px;
  border:1px solid #505057;
  border-radius:10px;
  background:linear-gradient(100deg,#18181b,#232328);
  display:flex;
  align-items:center;
  gap:18px;
}
.t5-arrange__move-guide__copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.t5-arrange__move-guide__copy b{font-size:12px;color:#f4f4f5}
.t5-arrange__move-guide__copy span{font-size:9px;color:#a6a6ac;white-space:nowrap}
.t5-arrange__move-guide>div:last-child{margin-left:auto;display:flex;gap:8px;flex:none}
.t5-arrange__move-guide button{border:1px solid #77777d;border-radius:17px;background:#28282d;color:#f0f0f2;padding:7px 12px;font-size:9px;font-weight:750;white-space:nowrap}
.t5-arrange__move-guide button:last-child{border-color:#d2d2d5;background:#ececee;color:#171719}
.t5-arrange__panel:has(.t5-arrange__move-guide) .t5-arrange__days{height:466px;margin-top:10px}
.t5-arrange__course-row{position:relative}
.schedule-assessment-row.is-assessment-highlight{outline:3px solid #e8e8ea!important;outline-offset:5px;box-shadow:0 0 0 7px rgba(255,255,255,.12)}

/* Course settlement is a first-class 1920×1080 wireframe screen.
   Keep these styles in the page bundle so file:// review never depends on the outer shell. */
.t5-course-settlement{
  height:100%;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
  padding:30px 46px 86px;
  background:#09090a;
  color:#f4f4f4;
  font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;
}
.t5-course-settlement *{box-sizing:border-box}
.t5-course-settlement button{font:inherit;cursor:pointer}
.t5-course-settlement>header{
  height:62px;
  display:flex;
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid #29292d;
}
.t5-course-settlement>header>button{
  width:150px;
  border:1px solid #3b3b40;
  border-radius:5px;
  background:#151517;
  color:#f4f4f4;
  padding:9px 14px;
  font-size:14px;
}
.t5-course-settlement>header>div{display:flex;align-items:baseline;gap:16px;margin-left:24px}
.t5-course-settlement>header>div b{font-size:23px}
.t5-course-settlement>header>div span{font-size:13px;color:#8f8f94}
.t5-course-settlement>header aside{margin-left:auto;display:flex;align-items:center;gap:18px;color:#d5d5d7}
.t5-course-settlement>header aside i{width:1px;height:24px;background:#39393c}
.t5-course-settlement>header aside>b{font-size:14px;font-weight:500}
.t5-course-settlement>header aside button{border:1px solid #3b3b3f;border-radius:4px;background:#151517;color:#f4f4f4;padding:5px 10px;font-size:13px}
.t5-course-settlement>main{
  width:1320px;
  height:590px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:136px 1fr 56px;
  gap:16px;
}
.t5-course-settlement__summary{
  grid-column:1/3;
  border:1px solid #45454a;
  border-radius:14px;
  background:#171719;
  padding:20px 28px;
  display:flex;
  align-items:center;
}
.t5-course-settlement__summary>div>span,.t5-course-settlement__impact>header>span{font-size:10px;font-weight:800;letter-spacing:.15em;color:#9c9ca1}
.t5-course-settlement__summary h1{font-size:30px;line-height:1.15;margin:8px 0 7px}
.t5-course-settlement__summary p{margin:0;color:#a5a5aa;font-size:12px}
.t5-course-settlement__summary>strong{margin-left:auto;width:66px;height:66px;border:2px solid #c7d8ca;border-radius:50%;display:grid;place-items:center;color:#d8eadb;font-size:30px}
.t5-course-settlement__metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.t5-course-settlement__metrics article{min-height:72px;border:1px solid #414147;border-radius:10px;background:#151517;padding:14px 20px;display:flex;flex-direction:column;justify-content:center}
.t5-course-settlement__metrics article:last-child{grid-column:1/3}
.t5-course-settlement__metrics span{font-size:10px;color:#96969b}
.t5-course-settlement__metrics b{font-size:23px;margin-top:6px;color:#f4f4f4}
.t5-course-settlement__impact{border:1px solid #b7b7bc;border-radius:12px;background:#efeff1;color:#111113;padding:24px 26px;display:flex;flex-direction:column}
.t5-course-settlement__impact>header>span{color:#5f5f64}
.t5-course-settlement__impact h2{font-size:25px;line-height:1.2;margin:8px 0}
.t5-course-settlement__impact p{min-height:42px;margin:0;color:#626267;font-size:11px;line-height:1.6}
.t5-course-settlement__impact>div{display:grid;gap:0;margin-top:16px;border-top:1px solid #c7c7ca}
.t5-course-settlement__impact article{min-height:42px;display:flex;align-items:center;border-bottom:1px solid #c7c7ca;font-size:13px;font-weight:700}
.t5-course-settlement__impact.neutral{border-left:8px solid #77777d}
.t5-course-settlement__impact.partial{border-left:8px solid #b29b66}
.t5-course-settlement__impact.estimated{border-left:8px solid #7d9bb5}
.t5-course-settlement__impact.calibrated{border-left:8px solid #78a680}
.t5-course-settlement main>footer{grid-column:1/3;display:flex;align-items:center;border-top:1px solid #36363b;padding-top:14px}
.t5-course-settlement main>footer span{font-size:11px;color:#98989d}
.t5-course-settlement main>footer button{margin-left:auto;min-width:150px;border:1px solid #dedee1;border-radius:22px;background:#efeff1;color:#111113;padding:11px 28px;font-weight:800}
.t5-course-settlement button:hover{border-color:#d7d7da}
.t5-course-settlement button:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Goal without a preset VO2max: current and target values use equal editable fields. */
.t5-goal-target__form:has(.t5-goal-target__values.no-baseline){grid-template-columns:1fr 1fr}
.t5-goal-target__values.no-baseline{padding:22px 24px}
.t5-goal-target__values.no-baseline>header h2{font-size:25px;margin-top:4px}
.t5-goal-target__values.no-baseline>.t5-goal-target__no-baseline-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  gap:12px;
  margin-top:16px;
}
.t5-goal-target__values.no-baseline .t5-goal-target__value-entry{
  height:122px;
  min-width:0;
  border:1px solid #5c5c62;
  border-radius:10px;
  background:#1b1b1e;
  padding:15px 16px;
}
.t5-goal-target__values.no-baseline .t5-goal-target__value-entry{position:relative;display:block}
.t5-goal-target__values.no-baseline .t5-goal-target__value-entry>span{font-size:11px;color:#f0f0f2;font-weight:800}
.t5-goal-target__values.no-baseline .t5-goal-target__value-entry input{height:42px;margin:3px 0 2px;font-size:27px}
.t5-goal-target__values.no-baseline .t5-goal-target__value-entry input::placeholder{color:#69696f;font-size:18px}
.t5-goal-target__values.no-baseline .t5-goal-target__value-entry small{font-size:9px;color:#b8b8bd}
.t5-goal-target__values.no-baseline .t5-goal-target__value-entry .t5-goal-target__current-hint{margin-top:3px;color:#8f8f95;line-height:1.25}
.t5-goal-target__values.no-baseline>.t5-goal-target__baseline-options{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:7px;
  margin-top:11px;
}
.t5-goal-target__baseline-options>span{flex:none;font-size:9px;color:#9d9da2}
.t5-goal-target__baseline-options button{height:32px;flex:1;min-width:0;border:1px solid #5b5b61;border-radius:7px;background:#232327;color:#efeff1;font-size:9px;font-weight:700;padding:0 6px;white-space:nowrap}
.t5-goal-target__baseline-options button:hover,.t5-goal-target__baseline-options button:focus-visible{border-color:#d0d0d3;outline:0;background:#2d2d32}
.t5-goal-target__values.no-baseline>p{margin-top:11px;font-size:10px;line-height:1.35}
.t5-goal-target__values.no-baseline>p b{font-size:10px;color:#e9e9eb}

/* Weekly body assessment is rendered as an actual Schedule item on Sundays. */
.schedule-assessment-row{aspect-ratio:16/9}
.t5-arrange__course-row--assessment .t5-arrange__course{border-style:dashed;border-color:#77777d;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)),#202023}
.t5-arrange__course-row--assessment .t5-arrange__course::before{background:repeating-linear-gradient(90deg,#d0d0d3 0 7px,transparent 7px 11px)}
.t5-arrange__course-row--assessment .t5-arrange__course>header span{color:#dedee1;font-weight:800}
.t5-arrange__course-row--assessment .t5-arrange__course h2{margin-top:12px}
.t5-arrange__course-row--assessment .t5-arrange__course p{color:#aaaab0}
.t5-arrange__status.assessment{border-color:#9a9aa0;background:#dedee1;color:#222226;font-size:7px;letter-spacing:.08em}
