/* Central DRY Records games app. Loaded only by [dry_records_games_app]. */

.dry-records-games-app{
  --games-ink:#101828;
  --games-muted:#667085;
  --games-line:#e5e7eb;
  --games-soft:#f8fafc;
  --games-green:#00c853;
  --games-blue:#2563eb;
  --games-red:#e11d48;
  --games-nav-height:42px;
  --games-shell-height:42px;
  width:100%;
  max-width:100%;
  min-height:100svh;
  margin:0;
  overflow-x:hidden;
  color:var(--games-ink);
  background:#fff;
  font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:0;
}

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

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

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

:where(.entry-content, .wp-block-post-content) .dry-records-games-app{
  clear:both;
}

.dry-records-games-app .gamesAppBack{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:30px;
  height:30px;
  border:1px solid var(--games-line);
  border-radius:9px;
  color:var(--games-ink);
  background:#fff;
  text-decoration:none;
  font-size:20px;
  line-height:1;
}

.dry-records-games-app .gamesAppBack:hover{
  background:var(--games-soft);
}

.dry-records-games-app .gamesAppNav{
  position:sticky;
  top:0;
  z-index:55;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:var(--games-nav-height);
  padding:5px clamp(12px, 3vw, 34px);
  border-bottom:1px solid var(--games-line);
  background:#fff;
  overflow-x:auto;
  scrollbar-width:none;
}

.dry-records-games-app .gamesAppNav::-webkit-scrollbar{
  display:none;
}

.dry-records-games-app .gamesAppNav button{
  position:relative;
  flex:0 0 auto;
  min-height:31px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:8px;
  color:var(--games-muted);
  background:transparent;
  cursor:pointer;
  font:850 13px/1 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dry-records-games-app .gamesAppNav button:hover{
  color:var(--games-ink);
  background:var(--games-soft);
}

.dry-records-games-app .gamesAppNav button.is-active{
  color:#fff;
  border-color:#111827;
  background:#111827;
  box-shadow:0 8px 20px rgba(16,24,40,.14);
}

.dry-records-games-app .gamesAppNav small{
  display:none;
}

.dry-records-games-app .gamesAppStage{
  position:relative;
  width:100%;
  min-height:calc(100svh - var(--games-shell-height));
  background:#fff;
}

.dry-records-games-app .gamesAppView{
  width:100%;
  min-height:calc(100svh - var(--games-shell-height));
}

.dry-records-games-app .gamesAppView[hidden]{
  display:none !important;
}

.dry-records-games-app .gamesAppView.is-active{
  animation:gamesAppViewIn .22s ease both;
}

.dry-records-games-app .gamesAppHomeView,
.dry-records-games-app .gamesAppView[data-game-view="arcade"],
.dry-records-games-app .gamesAppView[data-game-view="life"]{
  height:calc(100svh - var(--games-shell-height));
  min-height:0;
  overflow:hidden;
}

.dry-records-games-app .gamesAppHome{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  min-height:100%;
  padding:clamp(22px, 5vw, 62px);
  overflow:hidden;
  color:#ecfdf5;
  background:
    radial-gradient(720px 380px at 18% 18%, rgba(0,200,83,.25), transparent 62%),
    radial-gradient(620px 360px at 84% 24%, rgba(37,99,235,.22), transparent 62%),
    radial-gradient(520px 320px at 62% 86%, rgba(225,29,72,.18), transparent 64%),
    #020403;
}

.dry-records-games-app .gamesAppHome::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.35;
  background-image:
    linear-gradient(rgba(0,200,83,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,200,83,.12) 1px, transparent 1px);
  background-size:42px 42px;
  animation:gamesAppGridDrift 18s linear infinite;
}

.dry-records-games-app .gamesAppHome::after{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    linear-gradient(110deg, transparent 0 42%, rgba(0,200,83,.16) 46%, rgba(37,99,235,.13) 50%, rgba(225,29,72,.12) 54%, transparent 60% 100%);
  animation:gamesAppScan 7s ease-in-out infinite;
}

.dry-records-games-app .gamesAppRain{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(8, 1fr);
  gap:clamp(10px, 3vw, 38px);
  padding:18px clamp(10px, 4vw, 58px);
  overflow:hidden;
  opacity:.36;
  pointer-events:none;
}

.dry-records-games-app .gamesAppRain span{
  display:block;
  color:#7cffb2;
  font:800 13px/1.65 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  text-shadow:0 0 14px rgba(0,200,83,.75);
  animation:gamesAppRainFall 7s linear infinite;
}

.dry-records-games-app .gamesAppRain span:nth-child(2n){
  color:#93c5fd;
  animation-duration:9s;
}

.dry-records-games-app .gamesAppRain span:nth-child(3n){
  color:#fb7185;
  animation-duration:11s;
}

.dry-records-games-app .gamesAppHomeInner{
  position:relative;
  z-index:2;
  width:min(1080px, 100%);
}

.dry-records-games-app .gamesAppKicker{
  margin:0 0 12px;
  color:#86efac;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.dry-records-games-app .gamesAppHome h1{
  max-width:820px;
  margin:0;
  color:#fff;
  font-size:clamp(44px, 8vw, 102px);
  line-height:.92;
  letter-spacing:0;
}

.dry-records-games-app .gamesAppLead{
  max-width:650px;
  margin:18px 0 0;
  color:#d1fae5;
  font-size:clamp(17px, 2.2vw, 24px);
  line-height:1.35;
}

.dry-records-games-app .gamesAppLaunchGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:10px;
  margin-top:clamp(24px, 5vw, 54px);
}

.dry-records-games-app .gamesAppLaunch{
  display:flex;
  min-height:138px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:8px;
  padding:16px;
  border:1px solid rgba(255,255,255,.14);
  border-left:4px solid var(--games-green);
  border-radius:8px;
  color:#fff;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  cursor:pointer;
  text-align:left;
  backdrop-filter:blur(10px);
}

.dry-records-games-app .gamesAppLaunch:nth-child(2){
  border-left-color:var(--games-blue);
}

.dry-records-games-app .gamesAppLaunch:nth-child(3){
  border-left-color:var(--games-red);
}

.dry-records-games-app .gamesAppLaunch:hover{
  border-color:rgba(255,255,255,.26);
  transform:translateY(-2px);
}

.dry-records-games-app .gamesAppLaunch span{
  color:#86efac;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dry-records-games-app .gamesAppLaunch strong{
  color:#fff;
  font-size:clamp(22px, 2.5vw, 30px);
  line-height:1;
}

.dry-records-games-app .gamesAppLaunch small{
  color:#d9f99d;
  font-size:14px;
  line-height:1.35;
}

/* The hub owns navigation. Hide embedded game-local top bars. */
.dry-records-games-app .dry-records-guess .guessTopbar,
.dry-records-games-app .dry-records-memory .memoryTopbar,
.dry-records-games-app .dry-records-life .lifeTopbar{
  display:none !important;
}

.dry-records-games-app .dry-records-guess,
.dry-records-games-app .dry-records-memory,
.dry-records-games-app .dry-records-life{
  min-height:calc(100svh - var(--games-shell-height));
}

.dry-records-games-app .dry-records-guess .guessIntro,
.dry-records-games-app .dry-records-guess .guessPlay,
.dry-records-games-app .dry-records-guess .guessEnd,
.dry-records-games-app .dry-records-memory .memoryShell{
  min-height:calc(100svh - var(--games-shell-height));
}

.dry-records-games-app .dry-records-life .lifeShell{
  min-height:calc(100svh - var(--games-shell-height));
}

.dry-records-games-app .dry-records-life .lifeCanvas{
  min-height:calc(100svh - 162px);
}

.dry-records-games-app .dry-records-game{
  width:100%;
  height:100% !important;
  min-height:0 !important;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.dry-records-games-app .dry-records-game .dryGameCanvas{
  width:100% !important;
  height:100% !important;
}

@keyframes gamesAppViewIn{
  from{
    opacity:0;
    transform:translateY(7px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes gamesAppGridDrift{
  from{
    background-position:0 0, 0 0;
  }
  to{
    background-position:0 84px, 84px 0;
  }
}

@keyframes gamesAppScan{
  0%, 100%{
    transform:translateX(-22%) rotate(0deg);
    opacity:.58;
  }
  50%{
    transform:translateX(22%) rotate(2deg);
    opacity:.92;
  }
}

@keyframes gamesAppRainFall{
  from{
    transform:translateY(-30%);
  }
  to{
    transform:translateY(30%);
  }
}

@media (max-width:760px){
  .dry-records-games-app{
    --games-nav-height:40px;
    --games-shell-height:40px;
  }

  .dry-records-games-app .gamesAppBack{
    width:29px;
    height:29px;
    font-size:18px;
  }

  .dry-records-games-app .gamesAppNav{
    gap:6px;
    padding:5px 10px;
  }

  .dry-records-games-app .gamesAppNav button{
    min-height:30px;
    padding:0 10px;
    font-size:12px;
  }

  .dry-records-games-app .gamesAppHome{
    align-items:flex-start;
    padding:26px 14px 18px;
    overflow:auto;
  }

  .dry-records-games-app .gamesAppRain{
    grid-template-columns:repeat(5, 1fr);
    opacity:.24;
  }

  .dry-records-games-app .gamesAppHome h1{
    font-size:clamp(42px, 15vw, 72px);
  }

  .dry-records-games-app .gamesAppLead{
    font-size:16px;
  }

  .dry-records-games-app .gamesAppLaunchGrid{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:24px;
  }

  .dry-records-games-app .gamesAppLaunch{
    min-height:112px;
    padding:15px;
  }

  .dry-records-games-app .gamesAppLaunch strong{
    font-size:22px;
  }
}

@media (prefers-reduced-motion:reduce){
  .dry-records-games-app .gamesAppView.is-active,
  .dry-records-games-app .gamesAppHome::before,
  .dry-records-games-app .gamesAppHome::after,
  .dry-records-games-app .gamesAppRain span{
    animation:none !important;
  }
}
