/* Advanced TypeVerse game system */
:root{
  --game-cyan:#63e6ff;
  --game-violet:#a78bfa;
  --game-pink:#ff70b7;
  --game-green:#67f5a5;
  --game-gold:#ffd166;
  --game-red:#ff637d;
}

.game-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 16% 5%,rgba(99,230,255,.14),transparent 26%),
    radial-gradient(circle at 85% 18%,rgba(167,139,250,.16),transparent 28%),
    linear-gradient(145deg,#060b16,#0c1428 52%,#070d1b);
}

.game-page .site-header{background:rgba(5,10,21,.82)}

.game-hero{
  padding:38px 0 20px;
}

.game-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:22px;
  align-items:stretch;
}

.game-hero-copy,
.game-control-panel,
.game-stage-shell,
.game-help-card,
.game-result-card{
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(22,35,58,.92),rgba(9,17,32,.94));
  box-shadow:0 28px 80px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06);
  border-radius:26px;
}

.game-hero-copy{padding:30px;position:relative;overflow:hidden}
.game-hero-copy::after{
  content:"";
  position:absolute;
  width:250px;height:250px;border-radius:50%;
  right:-90px;top:-120px;
  background:radial-gradient(circle,rgba(99,230,255,.18),transparent 68%);
  animation:game-pulse 4s ease-in-out infinite;
}
.game-hero-copy h1{margin:15px 0 12px;font-size:clamp(34px,5vw,62px);line-height:1;letter-spacing:-.035em}
.game-hero-copy p{max-width:760px;color:var(--muted);font-size:17px;line-height:1.72;margin:0}

.game-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid rgba(99,230,255,.25);
  background:rgba(99,230,255,.08);
  color:#dcf9ff;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:12px;
}
.game-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--game-green);box-shadow:0 0 16px var(--game-green)}

.game-control-panel{padding:22px;display:grid;gap:14px;align-content:center}
.game-control-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.game-field{display:grid;gap:7px}
.game-field label{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:900}
.game-field select,
.game-field input,
.game-type-input{
  width:100%;border:1px solid rgba(255,255,255,.14);border-radius:14px;
  background:#0a1426;color:#fff;padding:12px 13px;font:inherit;outline:none;
}
.game-field select:focus,.game-field input:focus,.game-type-input:focus{border-color:var(--game-cyan);box-shadow:0 0 0 4px rgba(99,230,255,.1)}
.game-control-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.game-control-actions .btn{cursor:pointer}
.game-control-actions .btn-mini{padding:11px 13px;border-radius:14px}

.game-main{padding:12px 0 52px}
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.game-stage-shell{padding:14px;overflow:hidden;position:relative}
.game-stage-topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:3px 3px 13px;flex-wrap:wrap}
.game-status-line{display:flex;gap:8px;flex-wrap:wrap}
.game-status-pill{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);font-size:12px;color:var(--muted)}
.game-status-pill strong{color:#fff}

.game-canvas-wrap{
  position:relative;
  min-height:610px;
  border-radius:22px;
  overflow:hidden;
  background:#050914;
  border:1px solid rgba(255,255,255,.1);
  isolation:isolate;
}
.game-canvas{width:100%;height:610px;display:block;touch-action:none}
.game-canvas-overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding:18px}
.game-input-dock{
  pointer-events:auto;width:min(720px,calc(100% - 16px));
  padding:14px;border-radius:20px;
  background:rgba(4,9,20,.84);backdrop-filter:blur(15px);
  border:1px solid rgba(255,255,255,.15);box-shadow:0 16px 45px rgba(0,0,0,.45);
}
.game-target-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px;color:var(--muted);font-size:13px}
.game-target-line strong{color:#fff;font-size:16px}
.game-type-input{font-size:20px;text-align:center;padding:14px 16px;background:rgba(8,18,35,.94)}
.game-type-input.good{animation:input-good .25s ease}
.game-type-input.bad{animation:input-bad .28s ease;border-color:var(--game-red)}

.game-side{display:grid;gap:16px}
.game-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.game-stat{
  min-height:92px;padding:14px;border-radius:18px;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.1);
}
.game-stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.game-stat strong{display:block;margin-top:8px;font-size:25px}
.game-help-card{padding:20px}
.game-help-card h2,.game-help-card h3{margin:0 0 10px}
.game-help-card p,.game-help-card li{color:var(--muted);line-height:1.65;font-size:14px}
.game-help-card ol,.game-help-card ul{padding-left:20px;margin:10px 0 0}
.game-meter{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:8px}
.game-meter > span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--game-cyan),var(--game-violet));transition:width .25s ease}
.game-meter.shield > span{background:linear-gradient(90deg,var(--game-green),var(--game-cyan))}
.game-meter.danger > span{background:linear-gradient(90deg,var(--game-gold),var(--game-red))}

.game-overlay{
  position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;
  background:rgba(3,7,16,.72);backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;transition:.25s ease;
}
.game-overlay.open{opacity:1;visibility:visible}
.game-result-card{max-width:520px;width:100%;padding:28px;text-align:center}
.game-result-icon{font-size:54px;display:block;margin-bottom:10px;animation:game-float 2.6s ease-in-out infinite}
.game-result-card h2{font-size:34px;margin:0 0 9px}
.game-result-card p{color:var(--muted);line-height:1.6}
.game-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}
.game-result-stats div{padding:12px;border-radius:16px;background:rgba(255,255,255,.06)}
.game-result-stats strong{display:block;font-size:22px}.game-result-stats span{font-size:11px;color:var(--muted);text-transform:uppercase}

/* Games hub */
.games-hub-hero{padding:58px 0 28px;overflow:hidden}
.games-hub-hero .hero-card{position:relative;overflow:hidden}
.games-hub-hero .hero-card::after{content:"🎮";position:absolute;right:30px;bottom:-25px;font-size:150px;opacity:.08;transform:rotate(-10deg)}
.advanced-game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.advanced-game-card{
  position:relative;min-height:390px;padding:24px;border-radius:26px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);
  display:flex;flex-direction:column;isolation:isolate;
  transition:transform .25s ease,border-color .25s ease;
}
.advanced-game-card:hover{transform:translateY(-8px) scale(1.01);border-color:rgba(255,255,255,.3)}
.advanced-game-card::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(160deg,rgba(23,37,64,.92),rgba(7,13,27,.97))}
.advanced-game-card::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-85px;top:-95px;z-index:-1;background:var(--game-glow);filter:blur(6px);opacity:.45;animation:game-pulse 4s ease-in-out infinite}
.advanced-game-card.galaxy{--game-glow:radial-gradient(circle,var(--game-cyan),transparent 67%)}
.advanced-game-card.racer{--game-glow:radial-gradient(circle,var(--game-pink),transparent 67%)}
.advanced-game-card.vault{--game-glow:radial-gradient(circle,var(--game-green),transparent 67%)}
.game-card-art{height:150px;position:relative;display:grid;place-items:center;margin-bottom:18px}
.game-card-art .art-main{font-size:84px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.42));animation:game-float 3s ease-in-out infinite}
.game-card-art .art-ring{position:absolute;width:135px;height:135px;border-radius:50%;border:1px solid rgba(255,255,255,.18);animation:platform-spin 10s linear infinite}
.game-card-art .art-ring::before,.game-card-art .art-ring::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--game-cyan);box-shadow:0 0 16px currentColor}
.game-card-art .art-ring::before{left:11px;top:16px}.game-card-art .art-ring::after{right:10px;bottom:20px}
.advanced-game-card h3{font-size:27px;margin:0 0 10px}.advanced-game-card p{color:var(--muted);line-height:1.65;margin:0 0 20px}.advanced-game-card .btn{margin-top:auto;width:max-content}
.classic-game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.classic-game-card{padding:20px;min-height:210px;display:flex;flex-direction:column;transition:.22s ease}
.classic-game-card:hover{transform:translateY(-5px);border-color:rgba(99,230,255,.28)}
.classic-game-icon{font-size:35px;margin-bottom:14px}.classic-game-card h3{margin:0 0 8px}.classic-game-card p{color:var(--muted);line-height:1.55;font-size:14px;margin:0 0 15px}.classic-game-card .tag-row{margin-top:auto}

/* Turbo racer */
.race-word-deck{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:4;width:min(560px,90%);text-align:center;padding:13px 18px;border-radius:18px;background:rgba(4,8,19,.75);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.race-word-deck small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.11em;font-weight:900}
.race-word-deck strong{display:block;font-size:clamp(24px,4vw,42px);margin-top:5px;letter-spacing:.02em}
.race-word-deck .typed-good{color:var(--game-green)}
.race-word-deck .typed-bad{color:var(--game-red);text-decoration:underline}

/* Vault */
.vault-stage{
  min-height:610px;position:relative;display:grid;place-items:center;padding:26px;overflow:hidden;
  background:radial-gradient(circle at center,rgba(103,245,165,.08),transparent 36%),linear-gradient(160deg,#07131a,#071021 55%,#030812);
}
.vault-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(103,245,165,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(103,245,165,.055) 1px,transparent 1px);background-size:34px 34px;transform:perspective(500px) rotateX(58deg) scale(1.7);transform-origin:center bottom;animation:vault-grid 8s linear infinite}
.vault-machine{position:relative;z-index:2;width:min(620px,100%);padding:28px;border-radius:28px;background:rgba(4,14,24,.9);border:1px solid rgba(103,245,165,.22);box-shadow:0 0 80px rgba(103,245,165,.08),inset 0 0 40px rgba(103,245,165,.045);text-align:center}
.vault-rings{width:190px;height:190px;position:relative;margin:0 auto 22px;display:grid;place-items:center}
.vault-ring{position:absolute;border-radius:50%;border:2px solid rgba(103,245,165,.35)}
.vault-ring:nth-child(1){inset:0;animation:platform-spin 8s linear infinite}
.vault-ring:nth-child(2){inset:22px;border-style:dashed;animation:platform-spin 5s linear infinite reverse}
.vault-ring:nth-child(3){inset:49px;animation:game-pulse 2s ease-in-out infinite}
.vault-lock{font-size:54px;filter:drop-shadow(0 0 18px rgba(103,245,165,.4))}
.vault-machine h2{font-size:28px;margin:0 0 10px}.vault-machine p{color:var(--muted);line-height:1.6;margin:0 auto 16px;max-width:520px}
.vault-prompt{font-size:clamp(24px,4vw,39px);font-weight:900;min-height:55px;margin:14px 0;word-break:break-word}
.vault-memory-hidden{filter:blur(12px);user-select:none;opacity:.4}
.vault-lights{display:flex;justify-content:center;gap:8px;margin:14px 0}
.vault-light{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.1)}
.vault-light.active{background:var(--game-green);box-shadow:0 0 14px var(--game-green)}
.vault-light.failed{background:var(--game-red);box-shadow:0 0 14px var(--game-red)}

@keyframes game-pulse{50%{transform:scale(1.12);opacity:.72}}
@keyframes game-float{50%{transform:translateY(-9px) rotate(2deg)}}
@keyframes input-good{50%{transform:scale(1.015);box-shadow:0 0 0 5px rgba(103,245,165,.12)}}
@keyframes input-bad{30%{transform:translateX(-8px)}60%{transform:translateX(7px)}}
@keyframes vault-grid{to{background-position:0 68px,68px 0}}

@media(max-width:1000px){
  .game-layout{grid-template-columns:1fr}
  .game-side{grid-template-columns:1fr 1fr}.game-help-card{min-height:100%}
  .advanced-game-grid{grid-template-columns:1fr 1fr}.advanced-game-card:last-child{grid-column:1/-1}
  .classic-game-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .game-hero-grid{grid-template-columns:1fr}.game-control-row{grid-template-columns:1fr 1fr}
  .game-canvas-wrap,.game-canvas,.vault-stage{min-height:540px;height:540px}
  .game-side{grid-template-columns:1fr}.advanced-game-grid{grid-template-columns:1fr}.advanced-game-card:last-child{grid-column:auto}
  .classic-game-grid{grid-template-columns:1fr 1fr}.game-result-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .game-control-row,.classic-game-grid{grid-template-columns:1fr}
  .game-hero-copy{padding:24px}.game-stage-shell{padding:8px}.game-canvas-wrap,.game-canvas,.vault-stage{min-height:500px;height:500px}
  .game-input-dock{padding:10px}.game-type-input{font-size:18px}.game-side{gap:12px}
  .game-result-stats{grid-template-columns:1fr 1fr}
}
.new-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.advanced-game-card.ninja{--game-glow:radial-gradient(circle,#ff6b7a,transparent 67%)}.advanced-game-card.balloon{--game-glow:radial-gradient(circle,#ff7ab6,transparent 67%)}.advanced-game-card.tower{--game-glow:radial-gradient(circle,#ffd166,transparent 67%)}.advanced-game-card.memory{--game-glow:radial-gradient(circle,#8c7dff,transparent 67%)}.advanced-game-card.rhythm{--game-glow:radial-gradient(circle,#63e6ff,transparent 67%)}.advanced-game-card.treasure{--game-glow:radial-gradient(circle,#67f5a5,transparent 67%)}
@media(max-width:1000px){.new-game-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.new-game-grid{grid-template-columns:1fr}}
