@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Mono:wght@400;700&display=swap";
:root{--ink:#06080d;--panel:#0c1018;--paper:#edf4f3;--muted:#8f9da5;--cyan:#20e6e6;--pink:#ff3b8d;--yellow:#ffe052}*{box-sizing:border-box}html,body{background:var(--ink);min-height:100%;color:var(--paper);margin:0}body{font-family:Space Mono,Consolas,monospace}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.pageFrame{isolation:isolate;background:radial-gradient(circle at 50% 30%,#121b2b 0,#080b12 43%,#040609 100%);min-height:100vh;position:relative;overflow:hidden}.pageFrame:before{content:"";z-index:-2;background-image:linear-gradient(#20e6e609 1px,#0000 1px),linear-gradient(90deg,#20e6e609 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 80%);mask-image:linear-gradient(#000,#0000 80%)}.scanlines{z-index:20;pointer-events:none;opacity:.2;background:repeating-linear-gradient(#0000 0 3px,#00000052 4px);position:fixed;inset:0}.eyebrow{color:var(--cyan);letter-spacing:.35em;margin:0 0 14px;font-size:12px;font-weight:700}h1,h2,h3{letter-spacing:-.045em;font-family:Archivo Black,Impact,sans-serif}.soundToggle{z-index:50;border:1px solid var(--cyan);color:var(--cyan);cursor:pointer;background:#060a10eb;align-items:center;gap:9px;padding:9px 12px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:4px 4px #000,0 0 16px #20e6e62e}.soundToggle span{font-size:20px;line-height:1}.soundToggle b{letter-spacing:.12em;font-size:9px}.soundToggle:hover{background:#101b25}.soundToggle.muted{color:#9aa5ab;border-color:#65717a;box-shadow:4px 4px #000}.landing{place-items:center;padding:36px;display:grid}.landing:after{content:"CH2C";z-index:-1;color:#0000;-webkit-text-stroke:1px #ffffff0a;letter-spacing:-.08em;font-family:Impact,sans-serif;font-size:min(31vw,500px);position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)}.landingCard{text-align:center;width:min(900px,100%)}.landingCard h1{text-shadow:5px 5px #ff3b8d33;margin:0;font-size:clamp(54px,9vw,118px);line-height:.82}.lead{color:var(--muted);margin:28px auto 35px;font-size:16px}.deviceChoices{grid-template-columns:1fr 1fr;gap:18px;width:min(620px,100%);margin:auto;display:grid}.deviceButton{cursor:pointer;background:#090d15d9;border:1px solid #28313e;padding:24px 20px 20px;transition:all .2s;position:relative;box-shadow:7px 7px #000}.deviceButton:after{content:"";pointer-events:none;border:1px solid #ffffff0a;position:absolute;inset:5px}.deviceButton svg{fill:none;stroke:currentColor;stroke-width:3px;width:92px;height:75px;margin-bottom:7px}.deviceButton .iconGlow{fill:currentColor;opacity:.08;stroke-width:1px}.deviceButton span,.deviceButton small{display:block}.deviceButton span{letter-spacing:-.02em;font-family:Archivo Black,Impact,sans-serif;font-size:25px}.deviceButton small{color:var(--muted);letter-spacing:.22em;margin-top:6px;font-size:11px}.deviceButton.cyan{color:var(--cyan)}.deviceButton.pink{color:var(--pink)}.deviceButton:hover{box-shadow:10px 10px 0 #000,0 0 24px color-mix(in srgb,currentColor 25%,transparent);border-color:currentColor;transform:translate(-3px,-3px)}.insertCoin{color:#89959e;letter-spacing:.2em;justify-content:center;align-items:center;gap:16px;margin-top:30px;font-size:11px;display:flex}.insertCoin span{background:#303945;width:35px;height:1px}.topNav{z-index:3;border-bottom:1px solid #1b2430;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(22px,5vw,78px);display:flex;position:relative}.backLink{letter-spacing:.12em;color:#99a4aa;font-size:12px;font-weight:700;transition:all .2s}.backLink:hover{color:#fff;transform:translate(-3px)}.devicePill,.livePill{letter-spacing:.13em;color:#b4bfc4;border:1px solid #27323d;padding:7px 12px;font-size:11px}.devicePill i,.livePill i{background:#5ef05e;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block;box-shadow:0 0 8px #5ef05e}.arcade{padding-bottom:40px}.arcadeHeader{text-align:center;padding:55px 20px 43px}.arcadeHeader h1{margin:0;font-size:clamp(50px,8vw,96px);line-height:.9}.arcadeHeader h1 span{color:#0000;-webkit-text-stroke:2px var(--pink);text-shadow:0 0 25px #ff3b8d4d}.arcadeHeader>p:last-child{color:#a8b4bb;margin:20px 0 0;font-size:15px}.whatThreeWords{color:#0000;-webkit-text-stroke:1px var(--cyan);letter-spacing:-.02em;text-shadow:0 0 12px #20e6e666;font-family:Archivo Black,Impact,sans-serif;font-size:1.12em}.gameRow{grid-template-columns:repeat(3,1fr);gap:18px;width:min(1180px,100% - 40px);margin:auto;display:grid}.gameCard{--accent:var(--cyan);background:#0a0e16;border:1px solid #252e39;min-width:0;transition:all .22s;position:relative;box-shadow:8px 8px #00000080}.gameCard.yellow{--accent:var(--yellow)}.gameCard.pink{--accent:var(--pink)}.gameCard:hover{border-color:var(--accent);box-shadow:8px 15px 0 #000,0 0 30px color-mix(in srgb,var(--accent) 14%,transparent);transform:translateY(-7px)}.cardTop{letter-spacing:.1em;color:#859199;border-bottom:1px solid #222b36;justify-content:space-between;align-items:center;height:38px;padding:0 13px;font-size:11px;display:flex}.cardTop span:last-child{color:#6d8172}.cardTop span:last-child:first-letter{color:#5ef05e}.artWindow{background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 10%,#080b10),#05070b 67%);border:1px solid #1e2732;place-items:center;height:230px;margin:13px;display:grid;position:relative;overflow:hidden}.artWindow:before{content:"";background-color:#0000;background-image:linear-gradient(90deg,#0000 49%,#ffffff08 50%,#0000 51%),linear-gradient(#0000 49%,#ffffff08 50%,#0000 51%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.cardInfo{padding:5px 18px 20px}.cardInfo h2{color:var(--accent);margin:0;font-size:34px}.pinkLetter{color:var(--pink)}.cardInfo p{color:#9aa7ae;letter-spacing:.1em;margin:4px 0 22px;font-size:11px}.playButton{color:#cdd6d8;letter-spacing:.12em;border-top:1px solid #242d37;justify-content:space-between;padding-top:15px;font-size:12px;display:flex}.playButton b{color:var(--accent);font-size:18px;line-height:8px}.arcade footer{color:#84919a;letter-spacing:.1em;border-top:1px solid #18202a;justify-content:space-between;width:min(1180px,100% - 40px);margin:32px auto 0;padding-top:16px;font-size:11px;display:flex}.tetrisArt{filter:drop-shadow(0 0 12px #20e6e659);grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:4px;width:125px;height:125px;display:grid;transform:rotate(-7deg)}.tetrisArt i{background:var(--cyan);border:3px solid #8fffff;box-shadow:inset -5px -5px #0a9ea5}.tetrisArt i:first-child{grid-area:3/1}.tetrisArt i:nth-child(2){grid-area:3/2}.tetrisArt i:nth-child(3){grid-area:2/2}.tetrisArt i:nth-child(4){background:#bf71ff;border-color:#e1baff;grid-area:2/3}.tetrisArt i:nth-child(5){background:#bf71ff;border-color:#e1baff;grid-area:3/3}.tetrisArt i:nth-child(6){background:#bf71ff;border-color:#e1baff;grid-area:4/3}.tetrisArt i:nth-child(7){background:#bf71ff;border-color:#e1baff;grid-area:4/4}.tetrisArt i:nth-child(8){background:#ff3b8d;border-color:#ff9fc4;grid-area:4/1}.tetrisArt i:nth-child(9){background:#ff3b8d;border-color:#ff9fc4;grid-area:4/2}.pacmanArt{filter:drop-shadow(0 0 12px #ffe05266);align-items:center;gap:13px;display:flex}.pacHero{background:conic-gradient(from 45deg,var(--yellow) 0 75%,transparent 75%);border-radius:50%;width:83px;height:83px;transform:rotate(45deg)}.pacmanArt>b{color:var(--yellow);font-size:28px}.ghost{background:var(--pink);border-radius:28px 28px 8px;justify-content:center;align-items:center;gap:8px;width:55px;height:58px;display:flex}.ghost i{background:#fff;border-radius:50%;width:10px;height:14px;box-shadow:inset 3px 0 #3159bb}.snakeArt{filter:drop-shadow(0 0 12px #ff3b8d73);grid-template-rows:repeat(3,28px);grid-template-columns:repeat(4,28px);gap:3px;display:grid}.snakeArt i{background:var(--pink);border:2px solid #ff8aba}.snakeArt i:first-child{grid-area:2/1}.snakeArt i:nth-child(2){grid-area:2/2}.snakeArt i:nth-child(3){grid-area:2/3}.snakeArt i:nth-child(4){grid-area:1/3}.snakeArt i:nth-child(5){border-radius:4px;grid-area:1/4}.snakeArt i:nth-child(5):after{content:"";background:#fff;width:5px;height:5px;margin:5px 0 0 15px;display:block}.snakeArt b{background:var(--yellow);width:20px;height:20px;box-shadow:0 0 10px var(--yellow);border-radius:50%;grid-area:3/1}.playPage{--accent:var(--cyan);min-height:100vh;padding-bottom:40px}.playPage.yellow{--accent:var(--yellow)}.playPage.pink{--accent:var(--pink)}.playHeader{justify-content:space-between;align-items:end;width:min(1120px,100% - 44px);margin:30px auto 18px;display:flex}.playHeader h1{color:var(--accent);text-shadow:0 0 25px color-mix(in srgb,var(--accent) 26%,transparent);margin:0;font-size:clamp(45px,7vw,75px);line-height:.9}.pixelBars{align-items:end;gap:5px;display:flex}.pixelBars i{background:var(--accent);opacity:.35;width:8px;display:block}.pixelBars i:first-child{height:13px}.pixelBars i:nth-child(2){height:24px}.pixelBars i:nth-child(3){height:35px}.pixelBars i:nth-child(4){opacity:1;height:48px}.playLayout{grid-template-columns:minmax(0,760px) minmax(255px,1fr);gap:18px;width:min(1120px,100% - 44px);margin:auto;display:grid}.cabinet{background:#090d14;border:1px solid #252f3a;min-width:0;padding:12px;box-shadow:9px 9px #020304}.screenLabel{color:#91a0a8;letter-spacing:.12em;justify-content:space-between;align-items:start;height:27px;font-size:10px;display:flex}.gameAndControls{flex-direction:column;align-items:center;gap:14px;display:flex}.gameStats{color:#9caab1;letter-spacing:.1em;justify-content:space-between;gap:16px;width:100%;padding:2px 4px;font-size:12px;display:flex}.gameStats b{color:var(--accent);margin-left:7px}.morsePanel{background:#101823;border:1px solid #34404a;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 14px;display:flex}.morsePanel span{color:#aab8be;letter-spacing:.12em;font-size:12px}.morsePanel strong{color:var(--cyan);letter-spacing:.08em;overflow-wrap:anywhere;text-align:right;text-shadow:0 0 10px #20e6e659;font-size:clamp(16px,2vw,24px)}.tetrisPlayfield{justify-content:center;align-items:flex-start;gap:16px;width:100%;display:flex}.nextPiecePanel{color:#aab8be;letter-spacing:.12em;background:#101823;border:1px solid #34404a;flex-direction:column;flex:none;align-items:center;gap:14px;width:122px;padding:12px;font-size:12px;display:flex}.nextPieceGrid{grid-template-rows:repeat(4,22px);grid-template-columns:repeat(4,22px);gap:2px;display:grid}.nextPieceGrid i{border:1px solid #26323d;box-shadow:inset -3px -3px #00000040}.gameBoard{box-shadow:inset 0 0 40px #000,0 0 25px color-mix(in srgb,var(--accent) 10%,transparent);background:#030509;border:2px solid #202b35;position:relative;overflow:hidden}.tetrisGame{aspect-ratio:10/18;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:10% 5.55556%;flex:none;grid-template-rows:repeat(18,1fr);grid-template-columns:repeat(10,1fr);gap:1px;height:min(64vh,610px);padding:5px;display:grid}.tetrisGame>i{border:1px solid #ffffff14;box-shadow:inset -3px -3px #00000040!important}.pacmanGame{aspect-ratio:1;grid-template-rows:repeat(15,1fr);grid-template-columns:repeat(15,1fr);width:min(100%,610px);padding:8px;display:grid}.pacmanGame>i{place-items:center;display:grid;position:relative}.pacmanGame .wall{background:#2039bd;border:1px solid #5670ff;box-shadow:inset 0 0 5px #10217c}.pacmanGame .path b{background:#ffe7a3;border-radius:50%;width:4px;height:4px;box-shadow:0 0 5px #ffe7a3}.pacmanGame .path b.blueDot{background:#27bfff;width:36%;min-width:8px;max-width:14px;height:36%;min-height:8px;max-height:14px;box-shadow:0 0 7px #27bfff,0 0 15px #27bfff}.pacLetterFlash{z-index:11;pointer-events:none;place-items:center;animation:.85s ease-out forwards letterFlash;display:grid;position:absolute;inset:0}.pacLetterFlash span{text-align:center;color:#7ee7ff;text-shadow:0 0 22px #27bfff;background:#041325e0;border:2px solid #27bfff;min-width:1.5em;padding:.1em .3em;font-family:Archivo Black,Impact,sans-serif;font-size:clamp(55px,14vw,110px);line-height:1.2;box-shadow:0 0 30px #27bfff66}@keyframes letterFlash{0%{opacity:0;transform:scale(.65)}15%,65%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.pacPlayer,.gameGhost{z-index:2;width:4.5%;height:4.5%;transition:left 90ms linear,top 90ms linear;position:absolute}.pacPlayer{background:conic-gradient(from -35deg,transparent 0 70deg,var(--yellow) 70deg 360deg);filter:drop-shadow(0 0 5px var(--yellow));border-radius:50%;animation:.34s step-end infinite pacChomp;transform:rotate(90deg)}.pacPlayer[data-facing=down]{transform:rotate(180deg)}.pacPlayer[data-facing=left]{transform:rotate(270deg)}.pacPlayer[data-facing=up]{transform:rotate(0)}@keyframes pacChomp{0%,to{background:var(--yellow)}50%{background:conic-gradient(from -35deg,transparent 0 70deg,var(--yellow) 70deg 360deg)}}.gameGhost{background:var(--pink);border-radius:50% 50% 20% 20%;justify-content:center;align-items:center;gap:3px;display:flex}.gameGhost.g1{background:var(--cyan)}.gameGhost b{background:#fff;border-radius:50%;width:22%;height:30%;box-shadow:inset 2px 0 #273aa8}.snakeBoardWrap{grid-template-rows:18px auto;grid-template-columns:24px minmax(0,1fr);gap:4px;width:min(100%,728px);display:grid}.snakeColumnLabels{text-align:center;grid-area:1/2;grid-template-columns:repeat(20,minmax(0,1fr));align-items:center;gap:1px;padding:0 9px;display:grid}.snakeRowLabels{text-align:right;grid-area:2/1;grid-template-rows:repeat(16,minmax(0,1fr));align-items:center;gap:1px;padding:9px 0;display:grid}.snakeColumnLabels span,.snakeRowLabels span{color:#a4b0b9;font-size:clamp(7px,.9vw,10px);line-height:1}.snakeGame{aspect-ratio:20/16;background:#030509;grid-area:2/2;grid-template-rows:repeat(16,1fr);grid-template-columns:repeat(20,1fr);gap:1px;width:100%;padding:7px;display:grid}.snakeGame>i{background:#090e16;border-radius:2px}.snakeGame>i.snakeLight{background:#121a26}.snakeGame .snakeBody,.snakeGame .snakeHead{background:var(--pink);box-shadow:0 0 6px var(--pink);border:1px solid #ff84b6}.snakeGame .snakeHead{border:3px solid var(--pink);background:#fff}.snakeGame .food{background:var(--yellow);box-shadow:0 0 12px var(--yellow);border-radius:50%;margin:12%}.snakeGame .specialFood{background:#ff69b4;border:2px solid #ffe0ef;box-shadow:0 0 9px #ff69b4,0 0 18px #ff69b4b3}.instructions{background:linear-gradient(145deg,#0d121b,#080b11);border:1px solid #252f3a;padding:25px 24px;position:relative;overflow:hidden;box-shadow:9px 9px #020304}.instructions:after{content:"";border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);width:150px;height:150px;position:absolute;bottom:-70px;right:-50px;transform:rotate(45deg)}.asideNumber{text-align:right;color:var(--accent);margin:0;font-size:13px;font-weight:700}.instructions h2{margin:24px 0 20px;font-size:32px;line-height:.88}.instructions>p:not(.asideNumber,.touchHint){color:#aab6bc;font-size:14px;line-height:1.7}.rule{background:linear-gradient(90deg,var(--accent) 0 35%,#29313a 35%);height:3px;margin:23px 0}.instructions h3{letter-spacing:.18em;color:var(--accent);margin-bottom:14px;font-size:12px}.instructions ul{margin:0;padding:0;list-style:none}.instructions li{color:#c0c8cb;border-top:1px solid #1d252e;align-items:center;gap:11px;padding:12px 0;font-size:13px;display:flex}.instructions li b{color:var(--accent);font-size:11px}.touchHint{color:var(--accent);margin-top:18px;font-size:13px}.gameOverlay{z-index:10;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030509e0;place-content:center;display:grid;position:absolute;inset:0}.gameOverlay h3{color:var(--accent);text-shadow:0 0 18px var(--accent);margin:0;font-size:clamp(28px,5vw,52px)}.gameOverlay p{letter-spacing:.2em;color:#9aa5aa;font-size:13px}.gameOverlay button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;letter-spacing:.15em;background:0 0;padding:11px 18px;font-size:12px}.gameOverlay button:hover{background:var(--accent);color:#05070a}.touchControls{grid-template-rows:repeat(2,42px);grid-template-columns:repeat(3,48px);align-self:center;gap:5px;display:grid;position:relative}.touchControls button{color:var(--accent);touch-action:none;cursor:pointer;background:#151c26;border:1px solid #34404d}.touchControls button:first-child{grid-area:1/2}.touchControls button:nth-child(2){grid-area:2/1}.touchControls button:nth-child(3){grid-area:2/2}.touchControls button:nth-child(4){grid-area:2/3}.touchControls .actionButton{background:color-mix(in srgb,var(--accent) 15%,#151c26);border-radius:50%;width:50px;height:50px;position:absolute;bottom:0;left:180px}@media (max-width:760px){.landing{padding:22px}.landingCard h1{font-size:54px}.deviceChoices{grid-template-columns:1fr 1fr;gap:10px}.deviceButton{padding:18px 8px}.deviceButton svg{width:68px;height:58px}.deviceButton span{font-size:17px}.topNav{height:58px;padding:0 18px}.arcadeHeader{padding:40px 15px 30px}.arcadeHeader h1{font-size:50px}.gameRow{scroll-snap-type:x mandatory;grid-template-columns:repeat(3,minmax(245px,75vw));width:calc(100% - 24px);padding-bottom:15px;overflow-x:auto}.gameCard{scroll-snap-align:center}.artWindow{height:190px}.playHeader{width:calc(100% - 24px);margin-top:23px}.playLayout{grid-template-columns:1fr;gap:16px;width:calc(100% - 24px)}.cabinet{padding:10px}.instructions{padding:22px}.instructions h2{margin:15px 0;font-size:28px}.instructions>p:not(.asideNumber,.touchHint){font-size:14px;line-height:1.6}.instructions li{gap:10px;padding:11px 0;font-size:13px}.rule{margin:18px 0}.pixelBars{display:none}.screenLabel{height:24px;font-size:9px}.tetrisPlayfield{flex-direction:column;align-items:center;gap:10px}.nextPiecePanel{flex-direction:row;order:-1;justify-content:space-between;gap:10px;width:min(100%,350px)}.nextPieceGrid{grid-template-rows:repeat(4,18px);grid-template-columns:repeat(4,18px)}.tetrisGame{aspect-ratio:10/18;width:min(100%,350px);height:auto}.pacmanGame,.snakeGame{width:100%}.gameStats{gap:4px;font-size:11px}.gameStats b{margin-left:3px}.touchControls{margin:5px 0 10px}.touchControls .actionButton{left:180px}}@media (max-width:420px){.gameRow{grid-template-columns:repeat(3,82vw)}.arcade footer{font-size:9px}.gameStats{font-size:10px}.morsePanel{min-height:60px;padding:10px}.morsePanel span{font-size:10px}.morsePanel strong{font-size:16px}.soundToggle{padding:8px;bottom:10px;right:10px}.soundToggle b{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
