:root {
  color-scheme: dark;
  --bg: #080d12;
  --panel: #10171d;
  --line: #243239;
  --muted: #82918d;
  --text: #e9f0ed;
  --green: #a9f36c;
  --mono: "DM Mono", Consolas, monospace;
  --sans: "Manrope", "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: radial-gradient(ellipse at 28% 0%, rgba(37, 69, 60, .2), transparent 42%), var(--bg);
  font-family: var(--sans);
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .15;
  background-image: linear-gradient(rgba(130,168,151,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(130,168,151,.06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, black, transparent 75%);
}
a { color: inherit; }
.shell { position: relative; width: min(1100px, calc(100% - 48px)); margin: 0 auto; }
.topbar { height: 78px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(138,160,151,.13); }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.brand-accent { color: var(--green); margin-left: 5px; }
.brand-mark { width: 25px; height: 25px; position: relative; display: flex; align-items: center; gap: 2px; transform: rotate(-20deg); }
.brand-mark i { display: block; width: 6px; height: 6px; border: 1px solid var(--green); border-radius: 2px; box-shadow: 0 0 8px #a9f36666; }
.brand-mark i:nth-child(2), .brand-mark i:nth-child(3) { width: 7px; height: 7px; background: #91d95a; }
.brand-mark i:nth-child(3) { background: #b1f47a; }
.brand-mark b { position: absolute; top: 2px; right: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--green); }
.top-note, .version { color: #84928e; font: 9px var(--mono); letter-spacing: .08em; }
.top-note { display: flex; align-items: center; gap: 9px; }
.live-dot, .card-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 9px #a9f36c99; }
.intro { padding: 78px 0 35px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 13px; color: #80908d; font: 9px var(--mono); letter-spacing: .08em; }
.eyebrow span { width: 18px; height: 1px; background: var(--green); }
h1 { margin: 0; font-size: clamp(38px, 6vw, 64px); line-height: 1.05; letter-spacing: -.065em; }
h1 > span { color: var(--green); }
.intro-copy { margin: 16px 0 0; color: #93a09b; font-size: 14px; }
.game-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 12px 0 72px; }
.game-card { overflow: hidden; min-width: 0; border: 1px solid #243239; border-radius: 8px; background: linear-gradient(145deg, rgba(17,25,30,.96), rgba(11,17,22,.96)); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.game-card:hover { transform: translateY(-3px); border-color: #536d54; box-shadow: 0 18px 50px #0005; }
.card-top, .card-bottom { display: flex; justify-content: space-between; align-items: center; font: 8px var(--mono); letter-spacing: .08em; }
.card-top { padding: 16px 18px 0; color: #778680; }
.card-status { display: flex; align-items: center; gap: 7px; color: #a9f36c; }
.card-status i { display: inline-block; width: 5px; height: 5px; }
.game-art { position: relative; height: 205px; margin: 14px 14px 0; overflow: hidden; border: 1px solid #243338; border-radius: 5px; background: radial-gradient(ellipse at 50% 55%, #183027, #0c1517 70%); }
.mode-art { height: 155px; display: grid; place-items: center; isolation: isolate; }
.mode-art .art-grid { z-index: -1; }
.mode-glyph { position: relative; z-index: 1; display: grid; place-items: center; width: 76px; height: 76px; border: 1px solid color-mix(in srgb, var(--mode-accent, #a9f36c) 55%, transparent); border-radius: 22px; color: var(--mode-accent, #a9f36c); background: color-mix(in srgb, var(--mode-accent, #a9f36c) 10%, #101817); font-size: 46px; line-height: 1; text-shadow: 0 0 20px color-mix(in srgb, var(--mode-accent, #a9f36c) 60%, transparent); box-shadow: 0 0 45px color-mix(in srgb, var(--mode-accent, #a9f36c) 15%, transparent), inset 0 0 22px color-mix(in srgb, var(--mode-accent, #a9f36c) 8%, transparent); }
.mode-floor,.mode-road,.mode-paddle,.mode-stars,.mode-horizon { position:absolute; z-index:0; display:block; opacity:.62; }
.mode-floor { left:12%; right:12%; bottom:26px; height:3px; border-radius:10px; background:var(--mode-accent,#a9f36c); box-shadow:0 0 14px var(--mode-accent,#a9f36c); }
.mode-road { top:-20%; bottom:-20%; left:50%; width:36%; transform:translateX(-50%); border-left:2px dashed #b7d29c55; border-right:2px dashed #b7d29c55; background:linear-gradient(90deg,transparent 48%,#ffffff12 50%,transparent 52%); }
.mode-paddle { bottom:24px; width:85px; height:8px; border-radius:8px; background:#9fe86a; box-shadow:0 0 16px #9fe86a; }
.mode-stars { inset:0; background:radial-gradient(circle at 18% 24%,#eef4c8 1px,transparent 2px),radial-gradient(circle at 80% 32%,#eef4c8 1px,transparent 2px),radial-gradient(circle at 30% 75%,#eef4c8 1px,transparent 2px),radial-gradient(circle at 75% 80%,#eef4c8 1px,transparent 2px); }
.mode-horizon { left:0; right:0; bottom:24px; height:22px; border-top:1px solid #b5aaff88; border-radius:50% 50% 0 0; background:linear-gradient(transparent,#8a7de322); }
.eggs-art { --mode-accent:#ffd785; background:radial-gradient(ellipse at 50% 55%,#4b3a27,#101514 72%); }
.autodrom-art { --mode-accent:#79d6cc; background:radial-gradient(ellipse at 50% 55%,#183a37,#0c1517 72%); }
.brick-art { --mode-accent:#a9f36c; }
.meteor-art { --mode-accent:#94b8ff; background:radial-gradient(ellipse at 50% 55%,#252d51,#0c1517 72%); }
.gunship-art { --mode-accent:#e7bd73; background:radial-gradient(ellipse at 50% 55%,#493c28,#0c1517 72%); }
.gunship-trail { position:absolute; z-index:0; top:50%; left:25%; width:50%; height:2px; background:linear-gradient(90deg,transparent,#d6b36b 30%,#d6b36b); box-shadow:0 0 10px #d6b36b88; }
.gunship-trail::before { content:""; position:absolute; left:46%; top:-9px; width:48px; height:17px; border:2px solid #d7c18d; border-left:0; border-radius:60% 48% 45% 40%; background:linear-gradient(135deg,#65755d,#26352c); box-shadow:0 0 12px #d6b36b44; }
.gunship-trail::after { content:""; position:absolute; left:49%; top:-17px; width:43px; height:2px; background:#d8d1b2; box-shadow:0 0 6px #d8d1b288; }
.missile-defense-art { --mode-accent:#ff8a68; background:radial-gradient(ellipse at 50% 55%,#3b2b2a,#0c1517 72%); }
.intercept-trail { position:absolute; z-index:0; left:20%; right:20%; bottom:25px; height:65%; border-left:1px solid #7ec8b366; border-right:1px solid #7ec8b366; background:linear-gradient(135deg,transparent 48%,#ff9e6c 49% 50%,transparent 51%),linear-gradient(35deg,transparent 62%,#8ed7c3 63% 64%,transparent 65%); }
.intercept-trail::before,.intercept-trail::after { content:""; position:absolute; bottom:-3px; width:16px; height:22px; border-radius:4px 4px 0 0; background:#56654b; box-shadow:0 -8px 0 -3px #889264; }
.intercept-trail::before { left:5%; }.intercept-trail::after { right:8%; }
.invaders-art { --mode-accent:#8fe5ab; background:radial-gradient(ellipse at 50% 55%,#183a32,#0c1517 72%); }
.invader-line { position:absolute; z-index:0; top:24%; left:18%; width:64%; height:7px; background:repeating-linear-gradient(90deg,#a4efb0 0 14px,transparent 14px 29px); filter:drop-shadow(0 0 6px #8fe5ab88); }
.invader-shot { position:absolute; z-index:0; top:52%; left:62%; width:2px; height:34px; border-left:2px dashed #ff8d73; filter:drop-shadow(0 0 5px #ff8d73aa); }
.sector-art { --mode-accent:#83e5d2; background:radial-gradient(ellipse at 50% 55%,#183d43,#0c1517 72%); }
.exo-soldier { position:absolute; z-index:0; left:30%; bottom:32px; width:18px; height:38px; border:2px solid #d3eee0; border-radius:8px 8px 3px 3px; background:linear-gradient(#78bdb3 0 38%,#313d3c 39%); box-shadow:0 0 15px #83e5d288; }
.exo-soldier::before { content:""; position:absolute; left:3px; top:-13px; width:12px; height:12px; border:2px solid #d9eee1; border-radius:50%; background:#243b3b; }
.exo-soldier::after { content:""; position:absolute; right:-13px; top:12px; width:15px; height:3px; background:#e6d49a; box-shadow:10px 1px 9px #e6d49a88; }
.exo-shot { position:absolute; z-index:0; left:37%; bottom:55px; width:34%; height:2px; background:linear-gradient(90deg,#d9f5da,#84e5d2,transparent); box-shadow:0 0 8px #83e5d2; }
.art-grid { position: absolute; inset: 0; opacity: .4; background-image: linear-gradient(rgba(154,189,166,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(154,189,166,.08) 1px, transparent 1px); background-size: 28px 28px; mask-image: radial-gradient(ellipse, black, transparent 80%); }
.snake-trail { position: absolute; z-index: 1; left: 25%; top: 25%; width: 50%; height: 50%; filter: drop-shadow(0 0 9px #8fe36a88); }
.snake-trail i { position: absolute; display: block; border: 5px solid #73c85d; border-radius: 12px; }
.snake-trail i:nth-child(1) { inset: 0 48% 48% 0; border-right: 0; border-bottom: 0; }
.snake-trail i:nth-child(2) { inset: 0 0 48% 42%; border-left: 0; border-bottom: 0; }
.snake-trail i:nth-child(3) { inset: 42% 0 5% 42%; border-left: 0; border-top: 0; }
.snake-trail i:nth-child(4) { inset: 55% 28% 5% 3%; border-right: 0; border-top: 0; }
.snake-trail b { position: absolute; left: 0; bottom: 0; width: 36px; height: 28px; border-radius: 50% 45% 45% 50%; background: #b3f27d; box-shadow: 0 0 15px #a9f36c88; }
.snake-trail b span { position: absolute; top: 8px; right: 7px; width: 3px; height: 3px; border-radius: 50%; background: #163324; }
.snake-trail b span:last-child { top: 16px; }
.art-food { position: absolute; z-index: 2; left: 69%; top: 24%; width: 13px; height: 13px; border-radius: 50%; background: #ff8070; box-shadow: 0 0 16px #ff807088; }
.art-food::after { content: ""; position: absolute; top: -4px; left: 7px; width: 5px; height: 4px; border-radius: 5px 0; background: #a9f36c; transform: rotate(-35deg); }
.blockfall-art { background: radial-gradient(ellipse at 50% 75%, #1d3428, #0c1517 72%); }
.blockfall-piece { position: absolute; z-index: 1; display: grid; grid-template-columns: repeat(4, 18px); grid-auto-rows: 18px; gap: 2px; filter: drop-shadow(0 0 7px #a9f36c55); }
.blockfall-piece i, .blockfall-stack i { display: block; border: 1px solid #d8ffad55; border-radius: 2px; background: linear-gradient(135deg, #c2ef7b, #4a9b57); }
.piece-one { top: 27px; left: 28%; }
.piece-one i:nth-child(1), .piece-one i:nth-child(2), .piece-one i:nth-child(3), .piece-one i:nth-child(4) { grid-row: 1; }
.piece-two { top: 85px; right: 21%; grid-template-columns: repeat(2, 18px); }
.piece-two i:nth-child(1) { grid-row: 1; grid-column: 2; }
.piece-two i:nth-child(2) { grid-row: 2; grid-column: 1; }
.piece-two i:nth-child(3) { grid-row: 2; grid-column: 2; }
.piece-two i:nth-child(4) { grid-row: 3; grid-column: 1; }
.blockfall-stack { position: absolute; z-index: 1; bottom: 18px; left: 32%; display: grid; grid-template-columns: repeat(10, 18px); grid-auto-rows: 18px; gap: 2px; }
.blockfall-stack i:nth-child(1) { grid-column: 1; grid-row: 3; }.blockfall-stack i:nth-child(2) { grid-column: 2; grid-row: 3; }.blockfall-stack i:nth-child(3) { grid-column: 3; grid-row: 2; }.blockfall-stack i:nth-child(4) { grid-column: 4; grid-row: 2; }.blockfall-stack i:nth-child(5) { grid-column: 5; grid-row: 3; }.blockfall-stack i:nth-child(6) { grid-column: 6; grid-row: 3; }.blockfall-stack i:nth-child(7) { grid-column: 7; grid-row: 1; }.blockfall-stack i:nth-child(8) { grid-column: 8; grid-row: 1; }
.card-copy { padding: 17px 20px 18px; }
.game-type { margin: 0 0 6px; color: #81908a; font: 8px var(--mono); letter-spacing: .08em; }
.card-copy h2 { margin: 0; font-size: 23px; letter-spacing: -.045em; }
.card-copy > p:last-child { max-width: 420px; margin: 7px 0 0; color: #92a09a; font-size: 11px; line-height: 1.7; }
.card-bottom { min-height: 45px; margin: 0 20px; border-top: 1px solid #263237; color: #91a097; }
.card-bottom strong { color: var(--green); font: 18px var(--sans); transition: transform .2s; }
.game-card:hover .card-bottom strong { transform: translate(2px, -2px); }
.footer { display: flex; justify-content: space-between; gap: 12px; padding: 17px 0 25px; border-top: 1px solid rgba(138,160,151,.13); color: #596762; font: 8px var(--mono); letter-spacing: .08em; }
@media (max-width: 700px) {
  .shell { width: min(100% - 32px, 540px); }
  .topbar { height: 65px; }.top-note { display: none; }
  .intro { padding: 50px 0 28px; }
  .game-grid { grid-template-columns: 1fr; gap: 13px; padding-bottom: 45px; }
  .game-art { height: 190px; }
  .footer span:nth-child(2) { display: none; }
}
@media (min-width: 701px) and (max-width: 1050px) { .game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
