/* ========= Page 2: Sprints Schedule ========= */

/* Page title */
.page-title{
  width: min(1200px, 100% - 32px);
  margin: calc(var(--header-h, 64px) + 12px) auto 0;
  padding-top: 8px;
  font-family: Orbitron, Inter, sans-serif;
  font-weight: 700;
  letter-spacing: .02em;
  filter: var(--nda-glow);
}

/* ===== Section 1: Tonight ===== */
.tonight{
  position: relative;
  background:
    radial-gradient(60% 40% at 10% 0%, rgba(75,255,231,.08), transparent 70%),
    radial-gradient(60% 40% at 90% 0%, rgba(255,75,216,.08), transparent 70%);
}
.tonight-wrap{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(14px, 3vw, 28px);
  align-items: start;
}
.timeline-cards{
  display: grid; gap: 10px;
}
.tcard{
  padding: 12px; border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  transition: transform .2s ease;
}
.tcard:hover{ transform: translateY(-3px); }
.tcard h3{
  margin: 0 0 6px;
  font-family: Orbitron, Inter, sans-serif;
}
.tonight-figs{
  display: grid; gap: 10px;
}
.tshot{
  padding: 10px; border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  filter: var(--nda-glow);
}
.tickline{
  height: 4px; margin-top: 16px; border-radius: 999px;
  background: linear-gradient(90deg, var(--nda-pink), var(--nda-cyan));
  box-shadow: 0 0 18px rgba(123,94,255,.35);
  animation: tlinePulse 2.6s ease-in-out infinite;
}

/* ===== Section 2: Windows ===== */
.windows{
  position: relative;
  background:
    radial-gradient(70% 50% at 50% 0%, rgba(122,92,255,.1), transparent 60%);
}
.window-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(10px, 3vw, 22px);
  margin-bottom: 10px;
}
.wcard{
  padding: 12px; border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
}
.window-figs{
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(10px, 3vw, 22px);
}
.window-figs figure{
  padding: 10px; border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
  filter: var(--nda-glow);
}

/* ===== Section 3: Brackets ===== */
.brackets{
  position: relative;
  background:
    radial-gradient(60% 40% at 0% 60%, rgba(75,255,231,.06), transparent 70%),
    radial-gradient(60% 40% at 100% 20%, rgba(255,75,216,.06), transparent 70%);
}
.bracket-wrap{
  display: grid; gap: 14px;
}
.seed-map{
  position: relative; height: 220px; border-radius: 16px;
  border: 1px dashed rgba(255,255,255,.18);
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 2px, transparent 2px 24px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 2px, transparent 2px 24px);
  overflow: hidden;
}
.seed-map span{
  position: absolute;
  left: var(--x); top: var(--y);
  transform: translate(-50%, -50%);
  padding: 6px 8px; border-radius: 999px;
  font-weight: 700; color: #071017;
  background: linear-gradient(90deg, var(--nda-pink), var(--nda-cyan));
  box-shadow: 0 0 12px rgba(75,255,231,.35);
}
.bracket-grid{
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(10px, 3vw, 22px);
}
.pair{
  padding: 12px; border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
}
.bracket-figs{
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(10px, 3vw, 22px);
}
.bshot{
  padding: 10px; border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
  filter: var(--nda-glow);
}

/* ===== Responsive (page 2) ===== */
@media (max-width: 992px){
  .tonight-wrap{ grid-template-columns: 1fr; }
  .window-grid{ grid-template-columns: 1fr; }
  .window-figs{ grid-template-columns: 1fr; }
  .bracket-grid{ grid-template-columns: 1fr; }
  .bracket-figs{ grid-template-columns: 1fr; }
}
/* ===== Section 4: City Hops Calendar ===== */
.city-calendar{
  position: relative;
  background:
    radial-gradient(60% 40% at 15% 0%, rgba(75,255,231,.08), transparent 70%),
    radial-gradient(60% 40% at 85% 0%, rgba(255,75,216,.08), transparent 70%);
}
.cal-wrap{ display:grid; gap: 14px; }
.cal-tabs{ display:flex; gap: 10px; flex-wrap: wrap; }
.cal-tab{
  appearance:none; border:1px solid rgba(255,255,255,.16);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  color:#e8ecff; padding:10px 14px; border-radius:999px; cursor:pointer;
  transition: transform .16s ease, border-color .2s ease, background .2s ease;
}
.cal-tab.is-active{
  border-color: rgba(122,92,255,.35); background: rgba(122,92,255,.14);
}
.cal-tab:hover{ transform: translateY(-2px); }

.cal-grid{
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px;
  padding: 0; margin: 10px 0 0; list-style: none;
}
.cal-grid li{
  padding: 12px; border-radius: 12px;
  background: rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
}
.cal-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.cal-shot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 5: Check-in ===== */
.checkin{
  position:relative;
  background: radial-gradient(70% 50% at 50% 0%, rgba(122,92,255,.1), transparent 60%);
}
.checkin-grid{
  display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(14px, 3vw, 28px); align-items:start;
}
.timebands{ display:flex; flex-wrap:wrap; gap:10px; }
.timebands .tick{ /* стили кнопок */ }
/* replace .slot.chip → .tick.chip */
.tick.chip{
  border: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  color: #e8ecff;
  padding: 10px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: transform .12s ease, border-color .2s ease, background .2s ease;
}

.tick.chip:hover{
  transform: translateY(-2px);
  border-color: rgba(122,92,255,.35);
  background: rgba(122,92,255,.14);
}

/* (если были доп. состояния — перенеси их тоже) */
.tick.chip:focus-visible{ outline: 0; box-shadow: 0 0 0 3px rgba(122,92,255,.45); }
.tick.chip[aria-pressed="true"],
.tick.chip.is-active{ background: rgba(122,92,255,.20); border-color: rgba(122,92,255,.55); }
.tick.chip:disabled{ opacity:.6; cursor:not-allowed; transform:none; }

.checks{
  margin:0; padding-left:18px; color:#dfe3ff; display:grid; gap:8px;
}
.check-figs{
  grid-column: 1 / -1;
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.cshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 6: Load-in & Soundcheck ===== */
.loadsound{
  position:relative;
  background:
    radial-gradient(60% 40% at 0% 60%, rgba(75,255,231,.06), transparent 70%),
    radial-gradient(60% 40% at 100% 20%, rgba(255,75,216,.06), transparent 70%);
}
.load-grid{
  display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(14px, 3vw, 28px); align-items:start;
}
.steps{
  margin:0; padding-left:18px; color:#dfe3ff; display:grid; gap:8px;
}
.load-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.lshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Responsive (4–6) ===== */
@media (max-width: 992px){
  .cal-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cal-figs{ grid-template-columns: 1fr; }
  .checkin-grid{ grid-template-columns: 1fr; }
  .check-figs{ grid-template-columns: 1fr; }
  .load-grid{ grid-template-columns: 1fr; }
  .load-figs{ grid-template-columns: 1fr; }
}
/* ===== Section 7: Signals ===== */
.signals{
  position:relative;
  background:
    radial-gradient(60% 40% at 10% 0%, rgba(75,255,231,.08), transparent 70%),
    radial-gradient(60% 40% at 90% 0%, rgba(255,75,216,.08), transparent 70%);
}
.signal-wrap{ display:grid; gap: 14px; }
.signal-codes{
  margin:0; padding-left:18px; color:#dfe3ff; display:grid; gap:8px;
}
.flag{ display:inline-block; width:16px; height:16px; margin-right:8px; border-radius:4px; vertical-align:-3px; }
.flag-yellow{ background: linear-gradient(90deg, #ffd76a, #ffae00); }
.flag-blue{ background: linear-gradient(90deg, #78aaff, #4266ff); }
.flag-red{ background: linear-gradient(90deg, #ff7a7a, #ff2a2a); }
.signal-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.sigshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 8: Weather ===== */
.weather{
  position:relative;
  background:
    radial-gradient(70% 50% at 50% 0%, rgba(122,92,255,.1), transparent 60%);
}
.weather-grid{
  display:grid; grid-template-columns: 350px 1fr; gap: clamp(14px, 3vw, 28px);
  align-items:start;
}
/* Grip gauge */
.grip-gauge{
  position:relative; height: 220px; border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
  display:grid; place-items:center; filter: var(--nda-glow);
}
.grip-gauge .arc{
  width: 180px; height: 90px; border-radius: 180px 180px 0 0 / 90px 90px 0 0;
  border: 6px solid transparent; border-top-color: rgba(255,255,255,.14);
  border-left-color: rgba(255,255,255,.14); border-right-color: rgba(255,255,255,.14);
  position: relative; overflow: hidden;
}
.grip-gauge .arc::after{
  content:""; position:absolute; inset:-4px;
  border-radius:inherit; border: 6px solid transparent;
  border-top-color: transparent; /* leave baseline ring muted */
}
.grip-gauge .needle{
  --deg: 0;
  position:absolute; left:50%; bottom:0; width:2px; height:86px; background:#e8ecff;
  transform-origin: bottom center; transform: rotate(calc(var(--deg) * 1deg));
  box-shadow: 0 0 12px rgba(123,94,255,.35);
}
.glabel{ margin:8px 0 0; color:#cdd3ff; font-weight:700; text-transform:uppercase; letter-spacing:.2em; text-align:center; }

.surface-notes{
  margin:0; padding-left:18px; color:#dfe3ff; display:grid; gap:8px;
}

.weather-figs{
  grid-column: 1 / -1;
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.wshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 9: Spectators ===== */
.spectators{
  position:relative;
  background:
    radial-gradient(60% 40% at 0% 60%, rgba(75,255,231,.06), transparent 70%),
    radial-gradient(60% 40% at 100% 20%, rgba(255,75,216,.06), transparent 70%);
}
.spectro-wrap{ display:grid; gap: 14px; }
.lane-legend{ display:flex; flex-wrap:wrap; gap:10px; }
.lane-badge{
  display:inline-block; padding:8px 12px; border-radius:999px; font-weight:700; letter-spacing:.04em;
  color:#071017; background: linear-gradient(90deg, var(--nda-pink), var(--nda-cyan));
  border: 1px solid rgba(255,255,255,.18);
}
.lane-fast{ background: linear-gradient(90deg, #5affb0, #45e0ff); }
.lane-chill{ background: linear-gradient(90deg, #ff7ad9, #c485ff); }
.lane-access{ background: linear-gradient(90deg, #ffd76a, #ffae00); }

.spectro-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.sshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Responsive (7–9) ===== */
@media (max-width: 992px){
  .signal-figs, .weather-figs, .spectro-figs{ grid-template-columns: 1fr; }
  .weather-grid{ grid-template-columns: 1fr; }
}
/* ===== Section 10: Review Booth ===== */
.review{
  position:relative;
  background:
    radial-gradient(60% 40% at 15% 0%, rgba(75,255,231,.08), transparent 70%),
    radial-gradient(60% 40% at 85% 0%, rgba(255,75,216,.08), transparent 70%);
}
.review-wrap{ display:grid; gap:14px; }
.review-snap{
  display:grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr);
  gap: clamp(10px, 3vw, 22px); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px;
}
.review-snap::-webkit-scrollbar{ height:6px; }
.review-snap::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.18); border-radius:999px; }
.rvcard{
  scroll-snap-align: start; padding:12px; border-radius:12px;
  background: rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  cursor: pointer; transition: transform .2s ease, border-color .2s ease;
}
.rvcard:hover{ transform: translateY(-2px); border-color: rgba(122,92,255,.35); }
.rvcard.is-focus{ outline: 2px solid rgba(122,92,255,.45); }
.rvnote{
  padding:12px; border-radius:12px; background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.12); color:#dfe3ff;
}
.review-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.rshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 11: Briefing ===== */
.briefing{
  position:relative; 
  background: radial-gradient(70% 50% at 50% 0%, rgba(122,92,255,.1), transparent 60%);
}
.brief-grid{ display:grid; gap:14px; }
.badge-legend{
  margin:0; padding-left:18px; color:#dfe3ff; display:grid; gap:8px;
}
.bchip{
  display:inline-grid; place-items:center; min-width:70px; height:24px; margin-right:8px;
  border-radius:999px; font-weight:700; letter-spacing:.04em; color:#071017;
  background: linear-gradient(90deg, var(--nda-pink), var(--nda-cyan));
}
.bchip.rail{ background: linear-gradient(90deg, #5affb0, #45e0ff); }
.bchip.doors{ background: linear-gradient(90deg, #ffd76a, #ffae00); }
.bchip.marshal{ background: linear-gradient(90deg, #ff7ad9, #c485ff); }
.brief-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.bshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 12: Contingency ===== */
.contingency{
  position:relative;
  background:
    radial-gradient(60% 40% at 0% 60%, rgba(75,255,231,.06), transparent 70%),
    radial-gradient(60% 40% at 100% 20%, rgba(255,75,216,.06), transparent 70%);
}
.cont-grid{ display:grid; gap:14px; }
.alert-panel{
  display:flex; align-items:center; gap:10px; padding:12px; border-radius:12px;
  border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03);
}
.alert-panel .dot{
  width:12px; height:12px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #ffd76a, #ffae00);
  box-shadow: 0 0 12px rgba(255,174,0,.45); animation: blink 1.2s ease-in-out infinite;
}
@keyframes blink{ 50%{ filter: brightness(1.4); transform: scale(1.08); } }

.cont-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.csgshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Responsive (10–12) ===== */
@media (max-width: 992px){
  .review-figs, .brief-figs, .cont-figs{ grid-template-columns: 1fr; }
}
/* ===== Section 13: Vendors ===== */
.vendors{
  position:relative;
  background:
    radial-gradient(60% 40% at 10% 0%, rgba(75,255,231,.08), transparent 70%),
    radial-gradient(60% 40% at 90% 0%, rgba(255,75,216,.08), transparent 70%);
}
.vendor-grid{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(10px, 3vw, 22px);
}
.vshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}
.vendor-tags{
  margin-top:12px; display:grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px; list-style:none; padding:0; color:#dfe3ff;
}
.vt{
  display:inline-grid; place-items:center; min-width:84px; height:22px; margin-right:8px;
  border-radius:999px; font-weight:700; letter-spacing:.04em; color:#071017;
  background: linear-gradient(90deg, var(--nda-pink), var(--nda-cyan));
}
.vt-power{ background: linear-gradient(90deg, #5affb0, #45e0ff); }
.vt-food{ background: linear-gradient(90deg, #ffd76a, #ffae00); }
.vt-clean{ background: linear-gradient(90deg, #ff7ad9, #c485ff); }

/* ===== Section 14: Access ===== */
.access{
  position:relative;
  background:
    radial-gradient(70% 50% at 50% 0%, rgba(122,92,255,.1), transparent 60%);
}
.access-wrap{ display:grid; gap:14px; }
.access-map{
  position:relative; height: 220px; border-radius:16px;
  border:1px dashed rgba(255,255,255,.18);
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 2px, transparent 2px 24px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 2px, transparent 2px 24px);
  overflow:hidden; filter: var(--nda-glow);
}
.access-map .arrow{
  position:absolute; width: 24px; height: 2px; background:#e8ecff; opacity:.9;
  transform-origin: left center; animation: moveArrow 3s linear infinite;
}
.access-map .a1{ left: 12%; top: 68%; transform: rotate(0deg); }
.access-map .a2{ left: 40%; top: 32%; transform: rotate(45deg); animation-duration: 3.6s; }
.access-map .a3{ left: 70%; top: 56%; transform: rotate(-30deg); animation-duration: 2.6s; }
@keyframes moveArrow{ 0%{ transform: translateX(0) rotate(var(--r,0deg)); } 100%{ transform: translateX(120px) rotate(var(--r,0deg)); } }
.access-map .map-note{
  position:absolute; right:10px; bottom:10px; margin:0; color:#cdd3ff; font-weight:700;
}

.load-meters{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:12px;
}
.load-meter{
  display:grid; grid-template-columns: 120px 1fr; align-items:center; gap:10px;
}
.load-meter .label{ color:#c8ceff; }
.load-meter .bar{
  position:relative; height:10px; border-radius:999px; overflow:hidden; background: rgba(255,255,255,.08);
}
.load-meter .fill{
  display:block; width:0%; height:100%;
  background: linear-gradient(90deg, var(--nda-pink), var(--nda-cyan));
  box-shadow: 0 0 18px rgba(123,94,255,.35);
  transition: width 900ms cubic-bezier(.2,.6,.2,1);
}
.access-figs{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(10px, 3vw, 22px);
}
.ashot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 15: Medical & Safety ===== */
.medsafe{
  position:relative;
  background:
    radial-gradient(60% 40% at 0% 60%, rgba(75,255,231,.06), transparent 70%),
    radial-gradient(60% 40% at 100% 20%, rgba(255,75,216,.06), transparent 70%);
}
.med-grid{
  display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(14px, 3vw, 28px); align-items:start;
}
.med-card{
  padding:12px; border-radius:12px; background: rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
}
.med-figs{
  grid-column: 1 / -1;
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, 3vw, 22px);
}
.mshot{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Section 16: Strike ===== */
.strike{
  position:relative;
  background:
    radial-gradient(60% 40% at 15% 0%, rgba(75,255,231,.08), transparent 70%),
    radial-gradient(60% 40% at 85% 0%, rgba(255,75,216,.08), transparent 70%);
}
.strike-wrap{ display:grid; gap:14px; }
.strike-steps{
  margin:0; padding-left:18px; color:#dfe3ff; display:grid; gap:8px;
}
.strike-figs{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(10px, 3vw, 22px);
}
.sshot2{
  padding:10px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03); filter: var(--nda-glow);
}

/* ===== Responsive (13–16) ===== */
@media (max-width: 992px){
  .vendor-grid{ grid-template-columns: 1fr; }
  .vendor-tags{ grid-template-columns: 1fr; }
  .access-figs{ grid-template-columns: 1fr; }
  .load-meters{ grid-template-columns: 1fr; }
  .med-grid{ grid-template-columns: 1fr; }
  .med-figs{ grid-template-columns: 1fr; }
  .strike-figs{ grid-template-columns: 1fr; }
}
