/* BPF 12.5.12.47.34.16.1 — Perpetual Trainer Guided Theme Unification — STAGING ONLY
   Presentation only. Brings the simplified Perpetual surfaces into the established
   Train for Today visual language without changing training authority or data logic. */
:root{
  --pt17-bg:#040a12;
  --pt17-panel:#07121f;
  --pt17-panel2:#0b1b2c;
  --pt17-line:rgba(126,184,229,.16);
  --pt17-line-strong:rgba(38,140,255,.34);
  --pt17-text:#f7f9fc;
  --pt17-muted:#aebdca;
  --pt17-blue:#268cff;
  --pt17-blue2:#075dff;
  --pt17-cyan:#42d4e4;
  --pt17-teal:#2fd2bb;
  --pt17-orange:#ff7417;
  --pt17-shadow:0 22px 60px rgba(0,0,0,.28);
}

/* One visual world across the routed Core, Progress, Week, Adapt and Data. */
html{background:var(--pt17-bg)!important;color-scheme:dark!important}
body,
body.pt-hub{
  margin:0;
  background:
    radial-gradient(circle at 82% 8%,rgba(22,111,235,.13),transparent 29%),
    radial-gradient(circle at 12% 48%,rgba(47,210,187,.055),transparent 24%),
    linear-gradient(180deg,#030911,#06101a 46%,#040a12)!important;
  color:var(--pt17-text)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

/* Header parity with Train for Today. */
.pt7-top,.pt-top{
  width:min(100% - 28px,980px)!important;
  max-width:980px!important;
  margin:0 auto!important;
  padding:20px 4px!important;
  border-bottom:1px solid rgba(126,184,229,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  background:transparent!important;
}
.pt7-brand,.pt-brand{display:flex!important;align-items:center!important;gap:11px!important;text-decoration:none!important;color:inherit!important;min-height:48px!important}
.pt7-brand>span:first-child,.pt-mark{
  display:grid!important;place-items:center!important;width:44px!important;height:44px!important;flex:0 0 44px!important;
  border-radius:13px!important;background:linear-gradient(150deg,#29a7ff,#075dff 70%,#0738a6)!important;
  border:1px solid rgba(128,201,255,.38)!important;box-shadow:0 8px 22px rgba(17,108,255,.20)!important;
  color:#fff!important;font:900 14px/1 'Barlow Condensed',sans-serif!important;
}
.pt7-brand strong,.pt-brand strong{display:block!important;font:900 21px/1 'Barlow Condensed',sans-serif!important;text-transform:uppercase!important;letter-spacing:0!important;color:#fff!important}
.pt17-brand-copy{display:grid;gap:4px}.pt17-brand-copy small,.pt-brand span span{display:block;color:#9fb1c1!important;font-size:12px!important;margin:0!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}
.pt7-nav,.pt-topnav{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.pt7-nav a,.pt-topnav a{
  min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  text-decoration:none!important;padding:10px 15px!important;border:1px solid rgba(126,184,229,.14)!important;
  border-radius:12px!important;color:#c4d1dc!important;background:rgba(255,255,255,.018)!important;
  font-size:12px!important;font-weight:800!important;
}
.pt7-nav a:hover,.pt7-nav a:focus-visible,.pt-topnav a:hover,.pt-topnav a:focus-visible,.pt7-nav a[aria-current="page"],.pt-topnav a[aria-current="page"]{
  color:#fff!important;border-color:rgba(70,167,255,.46)!important;background:rgba(38,140,255,.08)!important;outline:none!important;text-decoration:none!important;
}

/* Routed Core receives the same width and breathing room as Train for Today. */
.pt7-main{width:min(100% - 28px,980px)!important;max-width:980px!important;margin:0 auto!important;padding:22px 0 88px!important}
.pt7-kicker,.pt13-kicker,.pt-kicker{font:900 12px/1 'Barlow Condensed',sans-serif!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:var(--pt17-cyan)!important}

/* The shared guided-card language: blue edge, navy depth, subtle radial light. */
.pt16-simple-card,
.pt10-guide-card,
.pt11-guide-card,
.pt13-support-guide,
.pt14-safety.pt16-safety,
.pt8-session-card,
.pt7-card{
  position:relative!important;overflow:hidden!important;
  width:100%!important;max-width:980px!important;margin:22px auto!important;
  border:1px solid var(--pt17-line-strong)!important;border-radius:26px!important;
  background:
    radial-gradient(circle at 88% 5%,rgba(38,140,255,.16),transparent 34%),
    linear-gradient(150deg,rgba(10,29,47,.98),rgba(5,16,28,.98))!important;
  box-shadow:var(--pt17-shadow)!important;
  color:var(--pt17-text)!important;
}
.pt16-simple-card,.pt10-guide-card,.pt11-guide-card,.pt13-support-guide,.pt14-safety.pt16-safety,.pt8-session-card{padding:28px!important}
.pt16-simple-card:after,.pt10-guide-card:after,.pt11-guide-card:after,.pt13-support-guide:after,.pt14-safety.pt16-safety:after,.pt8-session-card:after{
  content:"";position:absolute;width:430px;height:430px;right:-180px;bottom:-265px;border-radius:50%;
  border:1px solid rgba(58,151,255,.12);box-shadow:0 0 0 62px rgba(27,113,234,.035),0 0 0 124px rgba(27,113,234,.014);pointer-events:none;
}
.pt16-simple-card>* , .pt10-guide-card>* , .pt11-guide-card>* , .pt13-support-guide>* , .pt14-safety.pt16-safety>* , .pt8-session-card>*{position:relative;z-index:1}

.pt16-simple-card h1,.pt10-guide-topline h1,.pt11-guide-top h1,.pt13-support-guide h1,.pt14-safety h1{
  margin:8px 0 12px!important;max-width:820px!important;
  font:900 clamp(48px,8vw,82px)/.88 'Barlow Condensed',sans-serif!important;
  text-transform:uppercase!important;letter-spacing:-.025em!important;color:#fff!important;
}
.pt16-deck,.pt10-guide-topline p,.pt11-guide-top p,.pt13-deck,.pt14-safety>p{
  max-width:720px!important;margin:0!important;color:#afbfcd!important;font-size:15px!important;line-height:1.55!important;
}

/* Optional review / next-cycle choices should feel like guided answers, not forms. */
.pt16-choice-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:22px!important;max-width:820px!important}
.pt16-choice{
  min-height:78px!important;text-align:left!important;border:1px solid rgba(126,184,229,.16)!important;
  background:linear-gradient(145deg,rgba(12,31,49,.78),rgba(8,22,36,.72))!important;color:#fff!important;
  border-radius:15px!important;padding:14px 15px!important;cursor:pointer!important;
}
.pt16-choice:hover,.pt16-choice:focus-visible{border-color:rgba(38,140,255,.64)!important;background:rgba(38,140,255,.08)!important;outline:none!important}
.pt16-choice.is-selected{border-color:rgba(38,140,255,.88)!important;box-shadow:inset 0 0 0 1px rgba(38,140,255,.20),0 0 0 2px rgba(38,140,255,.05)!important;background:rgba(38,140,255,.14)!important}
.pt16-choice strong{display:block!important;font:900 19px/1 'Barlow Condensed',sans-serif!important;text-transform:uppercase!important}
.pt16-choice span{display:block!important;color:#8fa5b6!important;font-size:10.5px!important;line-height:1.35!important;margin-top:5px!important}

.pt16-primary,.pt16-actions .pt16-primary,.pt8-primary,.pt7-btn{
  background:linear-gradient(145deg,#2fa0ff,#0868ff 68%,#0754e9)!important;
  color:#fff!important;border:1px solid rgba(126,198,255,.26)!important;
  box-shadow:0 14px 34px rgba(17,103,255,.22)!important;
}
.pt16-secondary,.pt8-secondary{background:rgba(255,255,255,.025)!important;border:1px solid rgba(149,192,226,.20)!important;color:#dfeaf2!important;box-shadow:none!important}
.pt16-primary,.pt16-secondary,.pt8-primary,.pt8-secondary,.pt7-btn{border-radius:14px!important;font-weight:900!important;min-height:50px!important}

.pt16-note,.pt16-advanced,.pt16-page-details,.pt16-finetune,.pt16-session-options,.pt10-tools,.pt10-why{
  border:1px solid rgba(126,184,229,.12)!important;border-radius:14px!important;background:rgba(255,255,255,.018)!important;
}
.pt16-note>summary,.pt16-advanced>summary,.pt16-page-details>summary,.pt16-finetune>summary,.pt16-session-options>summary,.pt10-tools>summary,.pt10-why>summary{
  min-height:48px!important;padding:0 14px!important;color:#9acfff!important;font-weight:850!important;display:flex!important;align-items:center!important;cursor:pointer!important;
}

/* Session route gates now look like a coached decision, not a utility warning page. */
.pt8-session-root{max-width:980px!important;margin:0 auto!important}
.pt8-session-card{min-height:330px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.pt8-session-card>.pt7-kicker,.pt8-head .pt7-kicker{color:var(--pt17-cyan)!important}
.pt8-session-card>h2,.pt8-head h2{
  margin:8px 0 10px!important;font:900 clamp(44px,7vw,72px)/.9 'Barlow Condensed',sans-serif!important;
  text-transform:uppercase!important;letter-spacing:-.02em!important;color:#fff!important;max-width:820px!important;
}
.pt8-session-card>p:not(.pt7-kicker),.pt8-head p:not(.pt7-kicker),.pt8-terminal p{color:#a9bbc9!important;font-size:15px!important;line-height:1.55!important;max-width:700px!important}
.pt8-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:22px!important}
.pt8-actions a,.pt8-actions button{min-height:50px!important;border-radius:14px!important;padding:11px 18px!important;font-weight:900!important}
.pt8-actions a:first-child,.pt8-actions button:first-child{background:linear-gradient(145deg,#2fa0ff,#0868ff 68%,#0754e9)!important;color:#fff!important;border-color:rgba(126,198,255,.26)!important}
.pt8-terminal{border-top:1px solid rgba(126,184,229,.12)!important}
.pt8-terminal-grid button{border-radius:13px!important;background:rgba(255,255,255,.025)!important;border:1px solid rgba(126,184,229,.16)!important;color:#fff!important}

/* Static Week / Progress / Adapt pages retain their simpler structure but feel like the same product. */
body.pt-hub .pt-shell{width:min(100% - 28px,980px)!important;max-width:980px!important}
body.pt-hub .pt-hero{border-radius:26px!important;margin-top:22px!important;min-height:310px!important;padding:clamp(30px,5vw,50px)!important}
body.pt-hub .pt-hero h1{font-size:clamp(54px,8vw,92px)!important;line-height:.87!important}
body.pt-hub .pt-section{border-radius:22px!important;background:linear-gradient(180deg,rgba(7,18,31,.97),rgba(5,14,24,.97))!important}
.pt16-summary-grid{gap:12px!important}.pt16-summary-card{
  min-height:150px!important;padding:18px!important;border-radius:17px!important;
  border:1px solid rgba(126,184,229,.16)!important;background:linear-gradient(145deg,rgba(12,31,49,.78),rgba(8,22,36,.72))!important;
}
.pt16-summary-card strong{font-size:30px!important}.pt16-summary-card p{font-size:12px!important;line-height:1.5!important}.pt16-summary-card small{color:var(--pt17-cyan)!important}
.pt16-summary-card.next{border-color:rgba(255,116,23,.32)!important;background:linear-gradient(145deg,rgba(255,116,23,.055),rgba(8,22,36,.78))!important}
.pt16-page-details{margin:18px 0 90px!important;background:rgba(255,255,255,.014)!important}

/* Data is occasional-use, but it should not suddenly look like another app. */
body:not(.pt-hub) .pt-shell{width:min(100% - 28px,980px)!important;max-width:980px!important;margin:0 auto!important;padding:0 0 90px!important}
body:not(.pt-hub) .pt-hero{
  position:relative!important;overflow:hidden!important;min-height:300px!important;margin-top:22px!important;
  border:1px solid var(--pt17-line-strong)!important;border-radius:26px!important;padding:clamp(30px,5vw,50px)!important;
  background:radial-gradient(520px 330px at 98% 0%,rgba(12,103,233,.30),transparent 68%),linear-gradient(135deg,#071729 0%,#061426 58%,#07172a 100%)!important;
  box-shadow:var(--pt17-shadow)!important;color:#fff!important;
}
body:not(.pt-hub) .pt-hero h1{font:900 clamp(54px,8vw,88px)/.88 'Barlow Condensed',sans-serif!important;text-transform:uppercase!important;color:#fff!important;letter-spacing:-.03em!important}
body:not(.pt-hub) .pt-hero p{color:#afbfcd!important;font-size:17px!important;line-height:1.5!important}
body:not(.pt-hub) .pt-privacy{background:rgba(47,210,187,.06)!important;border:1px solid rgba(47,210,187,.23)!important;border-left:4px solid var(--pt17-teal)!important;color:#c7d9e2!important}
body:not(.pt-hub) .pt-section,body:not(.pt-hub) .pt-card{background:linear-gradient(180deg,rgba(7,18,31,.97),rgba(5,14,24,.97))!important;border:1px solid var(--pt17-line)!important;color:#fff!important;box-shadow:0 18px 48px rgba(0,0,0,.22)!important}
body:not(.pt-hub) .pt-section>p,body:not(.pt-hub) .pt-card span,body:not(.pt-hub) .pt-foot{color:#9fb2c0!important}
body:not(.pt-hub) .pt-card strong{color:#fff!important}
body:not(.pt-hub) .pt15-data-details{background:rgba(255,255,255,.015)!important;border:1px solid var(--pt17-line)!important}
body:not(.pt-hub) .pt15-data-details>summary{color:#9acfff!important;background:rgba(255,255,255,.018)!important}
body:not(.pt-hub) .pt15-data-details[open]>summary{border-bottom:1px solid var(--pt17-line)!important}
body:not(.pt-hub) .pt-profile div{background:rgba(255,255,255,.02)!important;border-color:var(--pt17-line)!important;color:#fff!important}
body:not(.pt-hub) .pt-profile span{color:#8ea6b8!important}
body:not(.pt-hub) .pt-actions .support{background:linear-gradient(145deg,#2fa0ff,#0868ff 68%,#0754e9)!important;color:#fff!important}
body:not(.pt-hub) .pt-actions .secondary{background:rgba(255,255,255,.025)!important;border:1px solid var(--pt17-line)!important;color:#dfeaf2!important}
body:not(.pt-hub) .pt-note{background:rgba(47,210,187,.055)!important;border-color:rgba(47,210,187,.22)!important;color:#bfeee7!important}
body:not(.pt-hub) .pt-danger-item{background:rgba(168,40,54,.08)!important;border-color:rgba(232,74,100,.30)!important;color:#fff!important}
body:not(.pt-hub) .pt-danger-item p{color:#c4aab0!important}

/* Offline shell follows the same visual hierarchy. */
.pt-offline-card,.offline-card{border-radius:22px!important;border:1px solid var(--pt17-line-strong)!important;background:linear-gradient(150deg,rgba(10,29,47,.98),rgba(5,16,28,.98))!important;box-shadow:var(--pt17-shadow)!important}

@media(max-width:720px){
  .pt7-top,.pt-top{width:min(100% - 14px,980px)!important;align-items:flex-start!important;flex-direction:column!important;padding-top:max(16px,calc(env(safe-area-inset-top,0px) + 10px))!important}
  .pt7-nav,.pt-topnav{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pt7-nav a,.pt-topnav a{width:100%!important;padding:8px 5px!important}
  .pt7-main,body.pt-hub .pt-shell,body:not(.pt-hub) .pt-shell{width:min(100% - 14px,980px)!important}
  .pt16-simple-card,.pt10-guide-card,.pt11-guide-card,.pt13-support-guide,.pt14-safety.pt16-safety,.pt8-session-card{padding:20px 15px!important;border-radius:20px!important}
  .pt16-simple-card h1,.pt10-guide-topline h1,.pt11-guide-top h1,.pt13-support-guide h1,.pt14-safety h1,.pt8-session-card>h2,.pt8-head h2{font-size:clamp(40px,14vw,60px)!important}
  .pt16-choice-grid,.pt16-summary-grid{grid-template-columns:1fr!important}
  .pt8-session-card{min-height:0!important}
  .pt8-actions{display:grid!important;grid-template-columns:1fr!important}.pt8-actions a,.pt8-actions button{width:100%!important}
  body.pt-hub .pt-hero{min-height:280px!important;padding:28px 20px!important}
  body.pt-hub .pt-hero h1,body:not(.pt-hub) .pt-hero h1{font-size:clamp(48px,15vw,70px)!important}
}
@media(max-width:420px){
  .pt7-nav,.pt-topnav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pt7-brand strong,.pt-brand strong{font-size:19px!important}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
