/* SLPT-R27-B14P1-PROGRAM-EDITOR-NEON-DEPTH-20260824 */
:root{
  --r27p-neon:#00a8a8;
  --r27p-cyan:#00c5ff;
  --r27p-ink:#18252c;
  --r27p-muted:#667983;
  --r27p-line:#d9eaed;
  --r27p-panel:#fff;
  --r27p-soft:#f4fcfd;
  --r27p-glow:0 18px 42px rgba(0,121,133,.11);
}

/* Builder shell: keep weeks stacked vertically and give the editor the Option 14 depth language. */
.advanced-builder.r27-neon-program-builder{
  grid-template-columns:minmax(190px,220px) minmax(0,1fr);
  gap:18px;
  padding:18px;
  border:1px solid rgba(0,168,168,.13);
  border-radius:24px;
  background:
    radial-gradient(circle at 94% 3%,rgba(0,197,255,.12),transparent 28%),
    radial-gradient(circle at 3% 0,rgba(0,168,168,.10),transparent 24%),
    linear-gradient(180deg,rgba(249,253,255,.96),rgba(240,248,250,.93));
  box-shadow:0 26px 58px rgba(35,84,94,.10);
}
.r27-neon-program-builder .builder-blocks{
  padding:5px;
  border-radius:18px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 28px rgba(44,86,94,.07);
}
.r27-neon-program-builder .builder-block{
  position:relative;
  border:1px solid rgba(0,168,168,.12);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 18px rgba(37,81,89,.05);
}
.r27-neon-program-builder .builder-block.active{
  border-color:rgba(0,168,168,.42);
  background:linear-gradient(135deg,rgba(232,251,251,.96),rgba(237,249,255,.96));
  box-shadow:0 10px 24px rgba(0,136,147,.10),inset 3px 0 0 var(--r27p-neon);
}
.r27-neon-program-builder #builderCanvas,
#builderCanvas.r27-neon-builder-canvas{
  min-width:0;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 14px 32px rgba(46,86,96,.06);
}
.r27-neon-program-builder .builder-weeks,
#builderCanvas.r27-neon-builder-canvas .builder-weeks{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.r27-neon-program-builder .builder-week,
#builderCanvas.r27-neon-builder-canvas .builder-week{
  border:1px solid rgba(0,168,168,.14)!important;
  border-radius:18px!important;
  padding:14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,253,254,.96))!important;
  box-shadow:0 13px 30px rgba(39,89,98,.065),inset 0 3px 0 rgba(0,168,168,.62)!important;
}
.r27-neon-program-builder .builder-week>header,
#builderCanvas.r27-neon-builder-canvas .builder-week>header{
  gap:12px;
  padding:2px 2px 9px;
}
.r27-neon-program-builder .r11-week-title b,
#builderCanvas.r27-neon-builder-canvas .r11-week-title b{font-size:.95rem;color:#18343a}
.r27-neon-program-builder .r11-week-title small,
#builderCanvas.r27-neon-builder-canvas .r11-week-title small{color:#72848a}
.r27-neon-program-builder .builder-session,
#builderCanvas.r27-neon-builder-canvas .builder-session{
  padding:12px 13px!important;
  margin:9px 0!important;
  border:1px solid #e0ecef!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#f8fcfd)!important;
  box-shadow:0 8px 18px rgba(45,83,91,.045)!important;
}
.r27-neon-program-builder .builder-session:hover,
#builderCanvas.r27-neon-builder-canvas .builder-session:hover{
  border-color:rgba(0,168,168,.32)!important;
  box-shadow:0 12px 22px rgba(0,125,136,.075)!important;
}
.r27-neon-program-builder .quick-btn.compact,
#builderCanvas.r27-neon-builder-canvas .quick-btn.compact{
  border-color:rgba(0,168,168,.24);
  color:#087b82;
  background:rgba(236,251,252,.86);
}

/* Session editor. */
.r27-neon-session-editor{display:grid;gap:16px}
.r27-neon-session-editor .r27-neon-session-hero{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(0,168,168,.16);
  background:
    radial-gradient(circle at 92% 8%,rgba(0,197,255,.17),transparent 34%),
    linear-gradient(135deg,rgba(232,251,251,.96),rgba(237,249,255,.95));
  box-shadow:0 16px 34px rgba(0,121,133,.09);
}
.r27-neon-session-editor .r27-neon-session-hero h2{margin:3px 0 5px;font-size:1.35rem;color:#162c32}
.r27-neon-session-editor .r27-neon-session-hero p{margin:0;color:#657980;font-size:.82rem;line-height:1.45}
.r27-neon-session-editor .r27-neon-kicker{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#008e96;font-weight:800}
.r27-neon-session-editor .r27-neon-media-policy{
  flex:0 0 auto;
  padding:9px 11px;
  border-radius:999px;
  color:#08747d;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(0,168,168,.19);
  box-shadow:0 7px 16px rgba(0,123,136,.07);
  font-size:.7rem;
  font-weight:800;
  white-space:nowrap;
}
.r27-neon-session-editor .r27-neon-session-meta{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(150px,.6fr);
  gap:12px;
}
.r27-neon-session-editor .r27-neon-session-meta label,
.r27-neon-session-editor .r27-neon-lead-grid label,
.r27-neon-session-editor .r27-neon-follower-grid label,
.r27-neon-session-editor .r27-neon-more-grid label{margin:0}
.r27-neon-session-editor input,
.r27-neon-session-editor textarea,
.r27-neon-session-editor select{
  border-color:#dbe9ec;
  background:linear-gradient(180deg,#fff,#f8fcfd);
  color:#192b31;
  border-radius:12px;
}
.r27-neon-session-editor input:focus,
.r27-neon-session-editor textarea:focus,
.r27-neon-session-editor select:focus{
  border-color:rgba(0,168,168,.62);
  box-shadow:0 0 0 3px rgba(0,168,168,.12);
}
.r27-neon-session-editor .r27-neon-exercise-list{display:grid;gap:14px}
.r27-neon-session-editor .r27-neon-lead-card{
  border:1px solid #dce9ec;
  border-radius:19px;
  background:linear-gradient(180deg,#fff,#fbfeff);
  box-shadow:0 13px 28px rgba(48,88,96,.07),inset 0 1px 0 #fff;
  overflow:hidden;
}
.r27-neon-session-editor .r27-neon-lead-main{padding:15px 16px}
.r27-neon-session-editor .r27-neon-exercise-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.r27-neon-session-editor .r27-neon-exercise-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.r27-neon-session-editor .r27-neon-letter{
  width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;
  color:#fff;font-weight:800;font-size:.78rem;
  background:linear-gradient(135deg,#00a8a8,#00c5ff);
  box-shadow:0 7px 18px rgba(0,168,168,.20);
}
.r27-neon-session-editor .r27-neon-exercise-title strong{font-size:.92rem;color:#183139}
.r27-neon-session-editor .r27-neon-exercise-title small{display:block;color:#77868d;margin-top:2px;font-size:.7rem}
.r27-neon-session-editor .r27-neon-lead-grid{
  display:grid;
  grid-template-columns:minmax(180px,1.8fr) 92px 110px 112px;
  gap:10px;
  align-items:end;
}
.r27-neon-session-editor .r27-neon-lead-notes{margin-top:10px}
.r27-neon-session-editor .r27-neon-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:11px}
.r27-neon-session-editor .r27-neon-actions .small-btn{border-radius:11px}
.r27-neon-session-editor .r27-neon-add-superset{
  color:#067b83;
  border-color:rgba(0,168,168,.23)!important;
  background:linear-gradient(180deg,#f3ffff,#e9fafb)!important;
}
.r27-neon-session-editor .r27-neon-demo-video{
  color:#166477;
  border-color:#d7edf2!important;
  background:#f7fcfd!important;
}
.r27-neon-session-editor .r27-neon-more{
  margin-top:10px;
  border-top:1px solid #edf2f4;
  padding-top:9px;
}
.r27-neon-session-editor .r27-neon-more summary{
  cursor:pointer;
  color:#62737a;
  font-size:.74rem;
  font-weight:800;
  list-style:none;
}
.r27-neon-session-editor .r27-neon-more summary::-webkit-details-marker{display:none}
.r27-neon-session-editor .r27-neon-more summary::before{content:'＋';display:inline-block;margin-right:6px;color:#009ca5}
.r27-neon-session-editor .r27-neon-more[open] summary::before{content:'−'}
.r27-neon-session-editor .r27-neon-more-grid{
  display:grid;
  grid-template-columns:minmax(140px,1fr) repeat(2,minmax(160px,1fr));
  gap:10px;
  margin-top:10px;
}
.r27-neon-session-editor .r27-neon-more .option-check{
  margin:0!important;
  padding:10px!important;
  border:1px solid #e2ecee;
  border-radius:12px;
  background:#f8fcfd;
}
.r27-neon-session-editor .r27-neon-alternate{
  display:grid;
  grid-template-columns:minmax(160px,1.5fr) 90px 100px 110px;
  gap:9px;
  margin-top:10px;
  padding:11px;
  border:1px solid #e0ecef;
  border-radius:13px;
  background:#f7fbfc;
}
.r27-neon-session-editor .r27-neon-superset-chain{
  margin:0 14px 14px 30px;
  padding:11px 0 0 16px;
  border-left:3px solid var(--r27p-neon);
}
.r27-neon-session-editor .r27-neon-chain-label{
  margin-bottom:8px;
  color:#008991;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.r27-neon-session-editor .r27-neon-follower{
  padding:11px 12px;
  margin-top:8px;
  border:1px solid #d8eaed;
  border-radius:14px;
  background:linear-gradient(135deg,#e8fbfb,#edf9ff);
  box-shadow:0 9px 18px rgba(52,103,111,.055);
}
.r27-neon-session-editor .r27-neon-follower-grid{
  display:grid;
  grid-template-columns:minmax(180px,1.4fr) 105px minmax(170px,1.25fr);
  gap:10px;
  align-items:end;
}
.r27-neon-session-editor .r27-neon-follower .r27-neon-letter{
  background:linear-gradient(135deg,#00a8a8,#35d0bc);
}
.r27-neon-session-editor .r27-neon-follower-note{
  color:#4e6a70;
  font-size:.7rem;
  margin:8px 0 0;
}
.r27-neon-session-editor .r27-neon-bottom-actions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-top:2px;
}
.r27-neon-session-editor .r27-neon-bottom-actions .btn-primary{
  background:linear-gradient(135deg,#00a8a8,#00c5ff)!important;
  box-shadow:0 11px 24px rgba(0,168,168,.19);
}
.r27-neon-session-editor .r27-neon-rule-note{
  color:#6d7f85;
  font-size:.72rem;
  line-height:1.45;
}

html[data-theme="mist-graphite"] .advanced-builder.r27-neon-program-builder{
  background:
    radial-gradient(circle at 96% 2%,rgba(0,197,255,.12),transparent 28%),
    radial-gradient(circle at 2% 0,rgba(0,168,168,.10),transparent 24%),
    linear-gradient(180deg,rgba(23,32,38,.98),rgba(18,27,33,.98));
  border-color:rgba(53,208,188,.16);
}
html[data-theme="mist-graphite"] .r27-neon-program-builder .builder-blocks,
html[data-theme="mist-graphite"] #builderCanvas.r27-neon-builder-canvas,
html[data-theme="mist-graphite"] .r27-neon-program-builder .builder-week,
html[data-theme="mist-graphite"] #builderCanvas.r27-neon-builder-canvas .builder-week,
html[data-theme="mist-graphite"] .r27-neon-program-builder .builder-session,
html[data-theme="mist-graphite"] #builderCanvas.r27-neon-builder-canvas .builder-session{
  background:linear-gradient(180deg,rgba(28,39,45,.98),rgba(23,33,39,.98))!important;
  border-color:rgba(94,190,190,.16)!important;
  color:#f1f8f8;
}
html[data-theme="mist-graphite"] .r27-neon-program-builder .r11-week-title b,
html[data-theme="mist-graphite"] #builderCanvas.r27-neon-builder-canvas .r11-week-title b{color:#f2fbfb}
html[data-theme="mist-graphite"] .r27-neon-session-editor .r27-neon-session-hero,
html[data-theme="mist-graphite"] .r27-neon-session-editor .r27-neon-lead-card{
  background:linear-gradient(180deg,#1c292f,#182329);
  border-color:rgba(92,193,191,.18);
  color:#f3fafa;
}
html[data-theme="mist-graphite"] .r27-neon-session-editor .r27-neon-session-hero h2,
html[data-theme="mist-graphite"] .r27-neon-session-editor .r27-neon-exercise-title strong{color:#f3fbfb}
html[data-theme="mist-graphite"] .r27-neon-session-editor input,
html[data-theme="mist-graphite"] .r27-neon-session-editor textarea,
html[data-theme="mist-graphite"] .r27-neon-session-editor select,
html[data-theme="mist-graphite"] .r27-neon-session-editor .r27-neon-more .option-check,
html[data-theme="mist-graphite"] .r27-neon-session-editor .r27-neon-alternate{
  background:#111b20;
  border-color:#2b4148;
  color:#f2f7f8;
}
html[data-theme="mist-graphite"] .r27-neon-session-editor .r27-neon-follower{
  background:linear-gradient(135deg,rgba(0,168,168,.13),rgba(0,197,255,.08));
  border-color:rgba(74,199,199,.18);
}

@media(max-width:900px){
  .advanced-builder.r27-neon-program-builder{grid-template-columns:1fr;padding:12px}
  .r27-neon-program-builder .builder-blocks{display:flex;overflow:auto;gap:8px}
  .r27-neon-program-builder .builder-block{min-width:160px}
  .r27-neon-session-editor .r27-neon-lead-grid{grid-template-columns:1fr 80px 92px 96px}
  .r27-neon-session-editor .r27-neon-follower-grid{grid-template-columns:minmax(160px,1fr) 90px minmax(150px,1fr)}
  .r27-neon-session-editor .r27-neon-more-grid{grid-template-columns:1fr 1fr}
  .r27-neon-session-editor .r27-neon-alternate{grid-template-columns:1fr 90px 100px}
  .r27-neon-session-editor .r27-neon-alternate label:first-child{grid-column:1/4}
}
@media(max-width:680px){
  .r27-neon-session-editor .r27-neon-session-hero{align-items:flex-start;flex-direction:column}
  .r27-neon-session-editor .r27-neon-media-policy{white-space:normal}
  .r27-neon-session-editor .r27-neon-session-meta{grid-template-columns:1fr}
  .r27-neon-session-editor .r27-neon-lead-grid,
  .r27-neon-session-editor .r27-neon-follower-grid{grid-template-columns:1fr 1fr}
  .r27-neon-session-editor .r27-neon-lead-grid label:first-child,
  .r27-neon-session-editor .r27-neon-follower-grid label:first-child,
  .r27-neon-session-editor .r27-neon-follower-grid label:last-child{grid-column:1/3}
  .r27-neon-session-editor .r27-neon-lead-grid label:last-child{grid-column:auto}
  .r27-neon-session-editor .r27-neon-more-grid,
  .r27-neon-session-editor .r27-neon-alternate{grid-template-columns:1fr}
  .r27-neon-session-editor .r27-neon-alternate label:first-child{grid-column:auto}
  .r27-neon-session-editor .r27-neon-superset-chain{margin-left:12px;padding-left:12px}
  .r27-neon-session-editor .r27-neon-bottom-actions{align-items:stretch;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  .r27-neon-program-builder *,
  .r27-neon-session-editor *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
