/* DRY Records sequence recall game. Loaded only by [dry_records_sequence_game]. */

.dry-records-sequence{
  --sequence-bg:#080b10;
  --sequence-ink:#f8fafc;
  --sequence-muted:#9aa8ba;
  --sequence-line:rgba(255,255,255,.14);
  --sequence-panel:rgba(255,255,255,.06);
  --sequence-green:#22c55e;
  --sequence-blue:#38bdf8;
  --sequence-red:#fb7185;
  --sequence-flash-color:#38bdf8;
  width:100%;
  max-width:100%;
  min-height:100svh;
  margin:0;
  overflow-x:hidden;
  color:var(--sequence-ink);
  background:
    radial-gradient(900px 520px at 18% -10%, rgba(34,197,94,.14), transparent 60%),
    radial-gradient(900px 520px at 92% -6%, rgba(56,189,248,.16), transparent 62%),
    linear-gradient(180deg, #0e131b 0%, var(--sequence-bg) 100%);
  font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:0;
}

.dry-records-sequence,
.dry-records-sequence *{
  box-sizing:border-box;
}

:where(.entry-content, .wp-block-post-content, .wp-block-group, .wp-block-column) > .dry-records-sequence{
  width:100%;
  max-width:100%;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

.dry-records-sequence button,
.dry-records-sequence a{
  -webkit-tap-highlight-color:transparent;
}

.dry-records-sequence .sequenceTopbar{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:70px;
  padding:13px clamp(16px, 4vw, 54px);
  border-bottom:1px solid var(--sequence-line);
  background:rgba(8,11,16,.88);
  backdrop-filter:blur(14px);
}

.dry-records-sequence .sequenceSettingsBar{
  position:relative;
  z-index:10;
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(170px, .7fr) auto;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:6px clamp(10px, 2vw, 22px);
  border-bottom:1px solid rgba(255,255,255,.13);
  background:rgba(7,10,15,.92);
  box-shadow:0 8px 28px rgba(0,0,0,.18);
}

.dry-records-sequence .sequenceTabGroup{
  display:flex;
  align-items:center;
  gap:3px;
  min-width:0;
  padding:3px;
  overflow-x:auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:7px;
  background:rgba(255,255,255,.045);
  scrollbar-width:none;
}

.dry-records-sequence .sequenceTabGroup::-webkit-scrollbar{
  display:none;
}

.dry-records-sequence .sequenceTabGroup button{
  flex:0 0 auto;
  min-height:31px;
  padding:0 11px;
  border:1px solid transparent;
  border-radius:5px;
  color:#cbd5e1;
  background:transparent;
  cursor:pointer;
  font:850 12px/1 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dry-records-sequence .sequenceTabGroup button:hover{
  color:#fff;
  background:rgba(255,255,255,.08);
}

.dry-records-sequence .sequenceTabGroup button.is-active{
  color:#04120b;
  border-color:rgba(34,197,94,.78);
  background:linear-gradient(180deg, #86efac, #22c55e);
}

.dry-records-sequence .sequenceTabGroupSmall{
  justify-self:end;
}

.dry-records-sequence .sequenceBack{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid var(--sequence-line);
  border-radius:50%;
  color:#fff;
  text-decoration:none;
  font-size:24px;
  line-height:1;
  background:rgba(255,255,255,.06);
}

.dry-records-sequence .sequenceBack:hover{
  background:rgba(255,255,255,.12);
}

.dry-records-sequence .sequenceBrand{
  display:flex;
  flex-direction:column;
  gap:2px;
  text-align:center;
}

.dry-records-sequence .sequenceBrand span,
.dry-records-sequence .sequenceScore span,
.dry-records-sequence .sequenceKicker,
.dry-records-sequence .sequenceStats span{
  color:var(--sequence-muted);
  font-size:12px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dry-records-sequence .sequenceBrand strong{
  color:#fff;
  font-size:18px;
}

.dry-records-sequence .sequenceScore{
  min-width:70px;
  text-align:right;
}

.dry-records-sequence .sequenceScore strong{
  display:block;
  margin-top:2px;
  color:#fff;
  font-size:26px;
  line-height:1;
}

.dry-records-sequence .sequenceSettingsBar .sequenceScore{
  min-width:76px;
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.12);
}

.dry-records-sequence .sequenceSettingsBar .sequenceScore strong{
  font-size:23px;
}

.dry-records-sequence .sequenceIntro,
.dry-records-sequence .sequencePlay,
.dry-records-sequence .sequenceEnd{
  width:min(1080px, calc(100% - 34px));
  min-height:calc(100svh - 70px);
  margin:0 auto;
  padding:clamp(28px, 5vw, 72px) 0 48px;
}

.dry-records-sequence .sequenceIntro,
.dry-records-sequence .sequenceEnd{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

.dry-records-sequence .sequencePlay[hidden],
.dry-records-sequence .sequenceIntro[hidden],
.dry-records-sequence .sequenceEnd[hidden]{
  display:none !important;
}

.dry-records-sequence.is-embedded{
  min-height:calc(100svh - 42px);
}

.dry-records-games-app .dry-records-sequence.is-embedded{
  min-height:calc(100svh - var(--games-shell-height));
}

.dry-records-sequence.is-embedded .sequenceIntro,
.dry-records-sequence.is-embedded .sequencePlay,
.dry-records-sequence.is-embedded .sequenceEnd{
  min-height:calc(100svh - 90px);
  padding-top:clamp(18px, 3vw, 46px);
}

.dry-records-games-app .dry-records-sequence.is-embedded .sequenceIntro,
.dry-records-games-app .dry-records-sequence.is-embedded .sequencePlay,
.dry-records-games-app .dry-records-sequence.is-embedded .sequenceEnd{
  min-height:calc(100svh - var(--games-shell-height) - 48px);
}

.dry-records-sequence.is-embedded .sequenceIntro .sequenceModes,
.dry-records-sequence.is-embedded .sequenceIntro .sequenceDifficulty,
.dry-records-sequence.is-embedded .sequenceEnd .sequenceModes{
  display:none;
}

.dry-records-sequence.is-embedded h1{
  font-size:clamp(38px, 6.4vw, 78px);
}

.dry-records-sequence.is-embedded .sequenceLead{
  max-width:680px;
  font-size:clamp(16px, 1.8vw, 21px);
}

.dry-records-sequence h1,
.dry-records-sequence h2,
.dry-records-sequence p{
  margin:0;
}

.dry-records-sequence h1{
  max-width:980px;
  margin-top:10px;
  color:#fff;
  font-size:clamp(44px, 8vw, 94px);
  line-height:.94;
  letter-spacing:0;
}

.dry-records-sequence h2{
  margin-top:10px;
  color:#fff;
  font-size:clamp(40px, 7vw, 78px);
  line-height:.96;
  letter-spacing:0;
}

.dry-records-sequence .sequenceLead,
.dry-records-sequence .sequenceEnd p{
  max-width:760px;
  margin-top:18px;
  color:#cbd5e1;
  font-size:clamp(18px, 2vw, 23px);
  line-height:1.38;
}

.dry-records-sequence .sequenceModes,
.dry-records-sequence .sequenceDifficulty,
.dry-records-sequence .sequenceActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.dry-records-sequence .sequenceModes{
  margin-top:32px;
}

.dry-records-sequence .sequenceDifficulty{
  margin-top:12px;
}

.dry-records-sequence .sequenceActions{
  justify-content:center;
  margin-top:16px;
}

.dry-records-sequence .sequenceModes button,
.dry-records-sequence .sequenceDifficulty button,
.dry-records-sequence .sequenceActions button,
.dry-records-sequence .sequencePrimary{
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  color:#fff;
  background:rgba(255,255,255,.07);
  cursor:pointer;
  font:850 15px/1 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dry-records-sequence .sequenceModes button:hover,
.dry-records-sequence .sequenceDifficulty button:hover,
.dry-records-sequence .sequenceActions button:hover,
.dry-records-sequence .sequencePrimary:hover{
  border-color:rgba(255,255,255,.30);
  background:rgba(255,255,255,.12);
}

.dry-records-sequence .sequenceModes button.is-active,
.dry-records-sequence .sequenceDifficulty button.is-active,
.dry-records-sequence .sequenceTabGroup button.is-active{
  color:#02140c;
  border-color:rgba(34,197,94,.80);
  background:linear-gradient(180deg, #86efac, #22c55e);
}

.dry-records-sequence .sequencePrimary{
  margin-top:22px;
  min-width:160px;
  color:#03130c;
  border-color:rgba(34,197,94,.86);
  background:linear-gradient(180deg, #86efac, #22c55e);
  box-shadow:0 14px 30px rgba(34,197,94,.18);
}

.dry-records-sequence .sequenceStatus{
  min-height:20px;
  margin-top:16px;
  color:var(--sequence-muted);
  font-size:14px;
}

.dry-records-sequence .sequenceStats{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:16px;
  border-bottom:1px solid var(--sequence-line);
}

.dry-records-sequence .sequenceStats strong{
  color:#fff;
}

.dry-records-sequence .sequenceProgress{
  height:9px;
  margin:18px 0 20px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.dry-records-sequence .sequenceProgress span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--sequence-green), var(--sequence-blue));
  transition:width .08s linear;
}

.dry-records-sequence .sequenceDisplay{
  position:relative;
  display:flex;
  min-height:clamp(170px, 30svh, 300px);
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  overflow:hidden;
  border:1px solid var(--sequence-line);
  border-radius:18px;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    rgba(0,0,0,.28);
  background-size:34px 34px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.dry-records-sequence .sequenceDisplay::before{
  content:"";
  position:absolute;
  inset:auto 12% 16px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(56,189,248,.62), transparent);
}

.dry-records-sequence .sequenceDisplay strong{
  position:relative;
  z-index:1;
  max-width:min(920px, calc(100% - 28px));
  color:#fff;
  font-size:clamp(42px, 9vw, 108px);
  line-height:1;
  text-align:center;
  overflow-wrap:anywhere;
  text-shadow:0 0 28px color-mix(in srgb, var(--sequence-flash-color), transparent 28%);
}

.dry-records-sequence .sequenceDisplay strong.has-image{
  display:flex;
  width:min(280px, 72vw);
  max-width:calc(100% - 28px);
  flex-direction:column;
  align-items:center;
  gap:10px;
  font-size:0;
  text-shadow:none;
}

.dry-records-sequence .sequenceDisplay strong.has-image img{
  display:block;
  width:min(240px, 66vw);
  height:clamp(150px, 26svh, 250px);
  object-fit:cover;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  background:#111827;
  box-shadow:0 22px 44px rgba(0,0,0,.34);
}

.dry-records-sequence .sequenceDisplay strong.has-image span{
  max-width:100%;
  color:#fff;
  font-size:clamp(14px, 2vw, 18px);
  line-height:1.1;
  overflow-wrap:anywhere;
}

.dry-records-sequence .sequenceDisplay span{
  position:relative;
  z-index:1;
  color:#cbd5e1;
  font-size:clamp(15px, 2vw, 19px);
  font-weight:750;
}

.dry-records-sequence .sequenceDisplay.is-flashing{
  border-color:color-mix(in srgb, var(--sequence-flash-color), white 16%);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--sequence-flash-color), transparent 52%),
    0 0 36px color-mix(in srgb, var(--sequence-flash-color), transparent 70%),
    inset 0 1px 0 rgba(255,255,255,.06);
  animation:sequencePulse .24s ease;
}

.dry-records-sequence .sequenceDisplay.is-shaking{
  animation:sequenceShake .34s ease;
}

.dry-records-sequence .sequenceInput{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(142px, 100%), 1fr));
  gap:10px;
  margin-top:18px;
}

.dry-records-sequence .sequenceInput button{
  min-height:64px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb, var(--symbol-color, #38bdf8), white 14%);
  border-radius:14px;
  color:#fff;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--symbol-color, #38bdf8), #111827 20%), color-mix(in srgb, var(--symbol-color, #38bdf8), #020617 52%));
  cursor:pointer;
  font:900 clamp(17px, 2.2vw, 28px)/1.05 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow:0 14px 26px rgba(0,0,0,.22);
}

.dry-records-sequence .sequenceInput button span{
  display:block;
  overflow-wrap:anywhere;
}

.dry-records-sequence .sequenceInput button.has-image{
  min-height:164px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px;
  background:
    linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.98));
}

.dry-records-sequence .sequenceInput button.has-image img{
  display:block;
  width:100%;
  max-height:138px;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:10px;
  background:#111827;
}

.dry-records-sequence .sequenceInput button.has-image span{
  width:100%;
  color:#e5edf7;
  font-size:12px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dry-records-sequence .sequenceInput button:hover:not(.is-disabled),
.dry-records-sequence .sequenceInput button.is-lit{
  transform:translateY(-2px);
  filter:brightness(1.14);
  box-shadow:0 18px 30px rgba(0,0,0,.28), 0 0 22px color-mix(in srgb, var(--symbol-color, #38bdf8), transparent 58%);
}

.dry-records-sequence .sequenceInput button:active:not(.is-disabled){
  transform:translateY(0) scale(.985);
}

.dry-records-sequence .sequenceInput button.is-disabled{
  cursor:not-allowed;
  filter:saturate(.62) brightness(.72);
  opacity:.62;
}

@keyframes sequencePulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.012)}
  100%{transform:scale(1)}
}

@keyframes sequenceShake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-9px)}
  75%{transform:translateX(9px)}
}

@media (max-width:720px){
  .dry-records-sequence .sequenceTopbar{
    min-height:64px;
    padding:10px 12px;
  }

  .dry-records-sequence .sequenceSettingsBar{
    grid-template-columns:minmax(0, 1fr) auto;
    gap:6px;
    min-height:82px;
    padding:6px 8px;
  }

  .dry-records-sequence .sequenceTabGroup{
    grid-column:1;
  }

  .dry-records-sequence .sequenceTabGroupSmall{
    grid-column:1;
    justify-self:stretch;
  }

  .dry-records-sequence .sequenceSettingsBar .sequenceScore{
    grid-column:2;
    grid-row:1 / span 2;
    min-width:64px;
    padding-left:8px;
  }

  .dry-records-sequence .sequenceSettingsBar .sequenceScore strong{
    font-size:20px;
  }

  .dry-records-sequence .sequenceBrand strong{
    font-size:15px;
  }

  .dry-records-sequence .sequenceScore strong{
    font-size:22px;
  }

  .dry-records-sequence .sequenceIntro,
  .dry-records-sequence .sequencePlay,
  .dry-records-sequence .sequenceEnd{
    width:min(100% - 22px, 680px);
    min-height:calc(100svh - 64px);
    padding:24px 0 34px;
  }

  .dry-records-sequence.is-embedded .sequenceIntro,
  .dry-records-sequence.is-embedded .sequencePlay,
  .dry-records-sequence.is-embedded .sequenceEnd{
    min-height:calc(100svh - 124px);
    padding-top:18px;
  }

  .dry-records-sequence .sequenceModes,
  .dry-records-sequence .sequenceDifficulty,
  .dry-records-sequence .sequenceActions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
    width:100%;
  }

  .dry-records-sequence .sequenceModes button,
  .dry-records-sequence .sequenceDifficulty button,
  .dry-records-sequence .sequenceActions button,
  .dry-records-sequence .sequencePrimary{
    width:100%;
    min-height:38px;
    padding:0 9px;
    min-width:0;
    font-size:13px;
  }

  .dry-records-sequence .sequencePrimary{
    width:100%;
  }

  .dry-records-sequence .sequenceDisplay{
    min-height:180px;
    border-radius:14px;
  }

  .dry-records-sequence .sequenceInput{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .dry-records-sequence .sequenceInput button{
    min-height:58px;
    border-radius:12px;
  }

  .dry-records-sequence .sequenceInput button.has-image{
    min-height:148px;
  }

  .dry-records-sequence .sequenceInput button.has-image img{
    max-height:116px;
  }
}
