.arcade-page .arcade-btn{align-items:center;background-clip:padding-box;border:1px solid #0000;border-radius:.15rem;display:inline-flex;flex-shrink:0;gap:.375rem;height:2rem;justify-content:center;outline-style:none;padding-inline:.625rem;transition:all .15s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.arcade-page .arcade-btn-default{background-color:#42dff3;color:#fff8e8}@media (hover:hover){.arcade-page .arcade-btn-default:where(:hover){background-color:rgba(66,223,243,.8)}.arcade-page .arcade-btn-ghost:where(:hover){background-color:#152236;color:#f4f0fa}}.arcade-page .arcade-btn:where(:focus-visible){border-color:#42dff3;box-shadow:0 0 0 3px rgba(66,223,243,.5)}.arcade-page .arcade-btn:where(:active){translate:0 1px}.arcade-page .arcade-btn:where(:disabled){opacity:.5;pointer-events:none}.arcade-page .arcade-btn svg{flex-shrink:0;height:1rem;pointer-events:none;width:1rem}.arcade-page{--site-nav:64px;--font-arcade:"Courier New",monospace;--font-body:ui-sans-serif,system-ui,sans-serif;background:radial-gradient(ellipse at 50% 0,#231243 0,transparent 62%),linear-gradient(#090919,#05050c 65%,#13091f);color:#f4f0fa;color-scheme:dark;font-family:var(--font-body);font-weight:400;isolation:isolate;line-height:1.5;min-height:calc(100svh - var(--site-nav));overflow:hidden;padding-top:var(--site-nav);position:relative}@media (min-width:768px){.arcade-page{--site-nav:48px}}.arcade-page,.arcade-page *{box-sizing:border-box}.arcade-page button{font:inherit}.arcade-page .crt-lines{background:repeating-linear-gradient(180deg,hsla(0,0%,100%,.12) 0 1px,transparent 1px 5px);inset:0;opacity:.12;pointer-events:none;position:absolute;z-index:3}.arcade-page:has(.game-screen) .crt-lines{display:none}.arcade-page .street-grid{background-image:linear-gradient(#8b246d 1px,transparent 0),linear-gradient(90deg,#425b9b 1px,transparent 0);background-size:72px 40px;height:230px;inset:auto -30% -110px;-webkit-mask-image:linear-gradient(transparent,#000);mask-image:linear-gradient(transparent,#000);opacity:.32;position:absolute;transform:perspective(260px) rotateX(56deg);transform-origin:center bottom;z-index:-1}.arcade-page .arcade-nav{align-items:center;background:#0e142a;border-bottom:1px solid #43425c;display:grid;grid-template-columns:1fr auto 1fr;height:64px;padding:0 1.5rem;position:relative;z-index:5}.arcade-page .arcade-seal{background:transparent;border:1px solid #54546e;border-radius:4px;color:#e2e1ed;cursor:pointer;height:40px;justify-self:start;letter-spacing:-.03em;width:40px}.arcade-page .nav-tools{align-items:center;display:flex;gap:.8rem;grid-column:3;justify-self:end}.arcade-page .icon-button{background:transparent;border:1px solid #54546e;border-radius:3px;color:#f5eddb;cursor:pointer;display:grid;height:40px;place-items:center;width:40px}.arcade-page .icon-button:hover{border-color:#42dff3;color:#42dff3}.arcade-page .icon-button svg{width:18px}.arcade-page .arcade-select{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:2000px;min-height:calc(100svh - var(--site-nav) - 64px);padding:2.75rem 0 2rem;position:relative;width:calc(100% - 3rem);z-index:2}.arcade-page .select-intro{margin-bottom:2.75rem;text-align:center;width:100%}.arcade-page .select-intro h1{color:#fff8ff;display:block;font:400 clamp(2rem,4.5vw,4.5rem)/1.2 Georgia,serif;letter-spacing:.015em;margin:0;text-shadow:0 0 4px #fff,0 0 15px #ee91c699;text-transform:uppercase}.arcade-page .hero-mark{display:inline-block;padding-top:1.05rem;position:relative}.arcade-page .hero-mark>span{color:#65e3f2;font:800 clamp(.48rem,.72vw,.65rem)/1 Courier New,monospace;left:0;letter-spacing:.13em;position:absolute;text-shadow:0 0 9px #23bad0;top:0;transform:rotate(-13deg);transform-origin:50% 50%}.arcade-page .hero-mark h1{font-size:clamp(3.3rem,6.4vw,6rem)}.arcade-page .title-rule{background:linear-gradient(90deg,transparent,#e63366,#f5e1f6,#42dff3,transparent);box-shadow:0 0 12px #9b58b677;display:block;height:2px;margin:1rem auto;max-width:75%;width:290px}.arcade-page .select-intro h2{color:#a9b6d8;font:400 1.125rem/1.5 Courier New,monospace;letter-spacing:.05em;margin:1rem 0 0}.arcade-page .game-select-grid{display:grid;gap:clamp(1rem,1.6vw,2rem);grid-template-columns:repeat(4,minmax(0,1fr));padding:4px 2px 12px;width:100%}.arcade-page .select-card{background:linear-gradient(#171424,#071a23) padding-box,linear-gradient(135deg,#e63366,#e5d4e2 50%,#42dff3) border-box;border:2px solid transparent;border-radius:5px;box-shadow:0 0 18px #dd25580c;color:#f5eddb;cursor:pointer;display:grid;grid-template-rows:auto auto 1fr;min-width:0;overflow:hidden;padding:0;text-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.arcade-page .select-card:focus-visible,.arcade-page .select-card:hover{border-color:transparent;box-shadow:0 0 22px #4ccbe436;outline:2px solid #7de5f0;outline-offset:4px;transform:translateY(-4px)}.arcade-page .card-heading{background:linear-gradient(110deg,#48203470,#373c5570);display:grid;font:700 .875rem/1.35 Courier New,monospace;letter-spacing:.02em;min-height:50px;padding:.75rem .5rem;place-items:center;text-transform:uppercase}.arcade-page .card-image{aspect-ratio:4/3;background:#06111c;border:0;display:block;overflow:hidden;position:relative}.arcade-page .card-image img{height:100%;image-rendering:pixelated;object-fit:cover;width:100%}.arcade-page .select-card-clout .card-image{background:radial-gradient(circle at 50% 45%,#28354a,#07111f 72%)}.arcade-page .select-card-clout .card-image>img:first-child{filter:brightness(1.2) contrast(1.08)}.arcade-page .card-image img.preview-player{bottom:18%;height:auto;left:6%;object-fit:contain;position:absolute;width:48%}.arcade-page .card-image img.preview-hazard{filter:drop-shadow(0 4px 2px #05121f);height:auto;left:43%;object-fit:contain;position:absolute;top:14%;width:51%}.arcade-page .preview-school{background-position:0 0;background-repeat:no-repeat;background-size:400% 100%;bottom:8%;filter:drop-shadow(0 4px 2px #0009);height:46%;image-rendering:pixelated;left:40%;position:absolute;width:20%}.arcade-page .preview-crosswalk-cast{inset:0;position:absolute}.arcade-page .preview-crosswalk-cast .preview-character{bottom:36%;position:absolute;width:12%}.arcade-page .preview-crosswalk-cast .preview-character:first-child{left:12%}.arcade-page .preview-crosswalk-cast .preview-character:nth-child(2){bottom:48%;left:69%}.arcade-page .preview-crosswalk-cast .preview-character:nth-child(3){bottom:12%;left:84%}.arcade-page .preview-cast{align-items:end;bottom:13%;display:flex;height:36%;left:23%;position:absolute;width:73%}.arcade-page .preview-cast .preview-character{flex:1 1 0;min-width:0}.arcade-page .preview-character{aspect-ratio:92/112;background-repeat:no-repeat;background-size:600% 100%;display:block;filter:drop-shadow(1px 2px 1px #000);image-rendering:pixelated}.arcade-page .card-image img.preview-officer{bottom:12%;filter:drop-shadow(1px 2px 1px #000);height:38%;left:5%;object-fit:contain;position:absolute;width:17%}.arcade-page .preview-fire{aspect-ratio:120/102;background-position:0 0;background-repeat:no-repeat;background-size:400% 100%;image-rendering:pixelated;position:absolute;right:2%;top:5%;width:25%}.arcade-page .card-copy{align-content:stretch;display:grid;gap:1.2rem;grid-template-rows:1fr auto;min-height:148px;padding:1rem}.arcade-page .card-copy>span{color:#b0bbd7;font:400 1rem/1.45 Courier New,monospace}.arcade-page .card-copy em{color:#56e1f4;font:700 .875rem/1.3 Courier New,monospace;font-style:normal;letter-spacing:.16em;padding:.35rem;text-shadow:0 0 10px #38cbdd80}.arcade-page .game-screen{margin:0 auto;min-height:calc(100svh - var(--site-nav) - 112px);padding:.75rem clamp(.6rem,2vw,1.5rem) 1.5rem;position:relative;width:min(1500px,calc(100% - 1rem));z-index:2}.arcade-page .game-screen-bar{align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;margin-bottom:.75rem}.arcade-page .game-screen-bar>div{text-align:center}.arcade-page .game-screen-bar span{color:#88b7d6;font:900 .75rem/1 var(--font-arcade);font-family:var(--font-arcade)!important;letter-spacing:.18em}.arcade-page .game-screen-bar h1{color:#f4eff8;font:900 clamp(.9rem,2.3vw,1.45rem)/1 var(--font-arcade);font-family:Courier New,monospace!important;margin:.4rem 0 0;text-transform:uppercase}.arcade-page .back-button,.arcade-page .restart-button{border-radius:2px!important;color:#c8ced7!important;font:800 .875rem/1 var(--font-arcade)!important;letter-spacing:.08em}.arcade-page .back-button{justify-self:start}.arcade-page .restart-button{justify-self:end}.arcade-page .game-viewport{aspect-ratio:16/9;background-position:50%;background-size:cover;border:1px solid #c6b5d5;box-shadow:3px 3px 0 #3acde3;display:grid;image-rendering:pixelated;max-height:calc(100svh - var(--site-nav) - 190px);outline:1px solid #ca3666;overflow:hidden;place-items:center;position:relative;width:100%}.arcade-page .game-screen:not(.game-screen-clout) .game-viewport{aspect-ratio:auto;margin-inline:auto;max-height:none;width:min(100%,calc(177.77778svh - var(--site-nav)*16/9 - 337.77778px))}.arcade-page .game-screen:not(.game-screen-clout) .canvas-game{height:auto}.arcade-page .game-screen:not(.game-screen-clout) canvas{aspect-ratio:16/9;height:auto;outline:none}.arcade-page .game-screen:not(.game-screen-clout) canvas:focus-visible{outline:2px solid #65dbec;outline-offset:-2px}.arcade-page .game-control-strip{align-items:center;color:#a6a6c4;display:grid;font:700 .75rem/1.3 var(--font-arcade);font-family:var(--font-arcade)!important;gap:1rem;grid-template-columns:1fr auto 1fr;letter-spacing:0;margin-top:.8rem}.arcade-page .game-control-strip strong{color:#fffbed;text-align:center}.arcade-page .game-control-strip span:last-child{text-align:right}.arcade-page .canvas-game{background:#05060f;height:100%;position:relative;touch-action:none;width:100%}.arcade-page .canvas-game canvas{display:block;height:100%;image-rendering:crisp-edges;image-rendering:pixelated;object-fit:contain;touch-action:none;width:100%}.arcade-page .touch-controls{background:rgba(7,17,31,.88);border:1px solid #e0a52b;bottom:.65rem;box-shadow:3px 3px 0 #d83a31;display:none;gap:.35rem;left:50%;padding:.35rem;position:absolute;transform:translateX(-50%);z-index:8}.arcade-page .touch-controls button{background:#17263b!important;border:1px solid #f5eddb!important;border-radius:0!important;color:#f5eddb!important;font:900 .58rem/1 var(--font-arcade)!important;height:42px;min-width:46px}.arcade-page .touch-controls button:active{background:#d83a31!important;color:#fff8e8!important;transform:translate(2px,2px)}.arcade-page .store-controls{grid-template-columns:repeat(5,auto)}.arcade-page .store-controls .slam-control{color:#ffe600!important;padding-inline:.8rem}.arcade-page .lane-controls{grid-template-columns:repeat(2,auto)}.arcade-page .lane-controls button{gap:.45rem;width:128px}.arcade-page .dpad-controls{display:none;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,42px)}.arcade-page .dpad-up{grid-column:2;grid-row:1}.arcade-page .dpad-left{grid-column:1;grid-row:2}.arcade-page .dpad-down{grid-column:2;grid-row:2}.arcade-page .dpad-right{grid-column:3;grid-row:2}.arcade-page .clout-controls{left:auto;right:.65rem;transform:none;transform-origin:100% 100%}@media (max-width:1000px){.arcade-page .game-select-grid{grid-template-columns:repeat(4,minmax(260px,1fr));overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory;scrollbar-color:#618caa #15172b}.arcade-page .select-card{scroll-snap-align:center}.arcade-page .arcade-select{justify-content:flex-start}}@media (max-width:820px){.arcade-page .game-screen-bar{grid-template-columns:auto 1fr auto}.arcade-page .game-screen-bar h1{font-size:.78rem}.arcade-page .game-screen-bar span{display:none}.arcade-page .back-button,.arcade-page .restart-button{padding:0!important;width:38px}.arcade-page .back-button .button-copy,.arcade-page .restart-button .button-copy{display:none}.arcade-page .game-control-strip{grid-template-columns:1fr;text-align:center}.arcade-page .game-control-strip span{display:none}.arcade-page .touch-controls{display:grid}.arcade-page .game-viewport{max-height:none}}@media (hover:none),(pointer:coarse){.arcade-page .touch-controls{display:grid}}@media (hover:none),(max-width:820px),(pointer:coarse){.arcade-page .game-screen:not(.game-screen-clout) .game-viewport{width:100%}.arcade-page .game-screen:not(.game-screen-clout) .touch-controls{margin:.75rem auto;max-width:calc(100% - 1rem);position:static;transform:none;width:max-content}.arcade-page .game-screen:not(.game-screen-clout) .touch-controls button{min-height:44px}.arcade-page .game-control-strip{line-height:1.5}}@media (max-width:520px){.arcade-page .arcade-nav{padding-inline:.75rem}.arcade-page .icon-button{height:36px;width:36px}.arcade-page .arcade-select{padding-top:2rem;width:calc(100% - 1.5rem)}.arcade-page .select-intro{margin-bottom:1.5rem}.arcade-page .select-intro h1{line-height:1.25}.arcade-page .hero-mark h1{font-size:3.2rem}.arcade-page .hero-mark>span{font-size:.5rem}.arcade-page .select-intro h2{font-size:1rem}.arcade-page .game-select-grid{grid-template-columns:repeat(4,minmax(280px,85%))}.arcade-page .game-screen{padding-inline:.3rem}.arcade-page .game-screen-bar{padding-inline:.25rem}.arcade-page .game-viewport{box-shadow:2px 2px 0 #3acde3}.arcade-page .touch-controls{bottom:.35rem;transform:translateX(-50%) scale(.88);transform-origin:50% 100%}}@media (max-width:320px){.arcade-page .arcade-nav{grid-template-columns:40px minmax(0,1fr) 40px}.arcade-page .game-screen{padding-inline:.2rem;width:100%}.arcade-page .game-screen-bar{gap:.2rem}.arcade-page .touch-controls{transform:translateX(-50%) scale(.72)}}@media (prefers-reduced-motion:reduce){.arcade-page,.arcade-page *,.arcade-page :after,.arcade-page :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.arcade-page .game-screen-clout{padding:.75rem 0 1rem;width:min(1440px,calc(100% - 1.5rem))}.arcade-page .game-screen-clout .game-viewport{aspect-ratio:auto;background:transparent;border:0;box-shadow:none;display:block;max-height:none;outline:0;overflow:visible}.arcade-page .game-screen-clout .game-control-strip{display:none}.arcade-page .clout-game.canvas-game{--board-width:min(100%,1120px,calc(133.33333svh - var(--site-nav)*4/3 - 326.66667px));align-items:center;background:transparent;display:flex;flex-direction:column;gap:.75rem;height:auto}.arcade-page .clout-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;min-height:48px;width:var(--board-width)}.arcade-page .clout-scores{display:flex;gap:clamp(1.5rem,5vw,4rem)}.arcade-page .clout-scores>div{display:grid;gap:.2rem}.arcade-page .clout-scores span{color:#b7c6d3;font-family:var(--font-arcade);font-size:.875rem;font-weight:700;letter-spacing:.12em;line-height:1.2}.arcade-page .clout-scores strong{color:#f5eddb;font:900 1.6rem/1 monospace;font-variant-numeric:tabular-nums}.arcade-page .clout-actions{display:flex;gap:.5rem}.arcade-page .clout-actions button{background:#132333;border:1px solid #34445d;border-radius:4px;color:#f5eddb;height:44px;width:44px}.arcade-page .clout-actions button:hover{background:#20364b}.arcade-page .clout-board-wrap{border:2px solid #89b6cc;border-radius:3px;box-shadow:0 0 0 1px #111b25,0 14px 45px #0005;overflow:hidden;position:relative;width:var(--board-width)}.arcade-page .clout-game canvas{aspect-ratio:4/3;height:auto;outline:none;width:100%}.arcade-page .clout-board-wrap:has(canvas:focus-visible){border-color:#50dcee}.arcade-page .clout-overlay{background:rgba(5,12,21,.28);display:grid;inset:0;padding:1rem;place-items:center;position:absolute}.arcade-page .clout-overlay-panel{background:#0f152bf5;border:1px solid #74728c;border-radius:6px;box-shadow:0 16px 48px #0008;padding:clamp(1rem,3vw,2rem);text-align:center;width:min(100%,420px)}.arcade-page .clout-overlay h2{color:#fff3d8;font-family:var(--font-arcade);font-size:clamp(1.4rem,3vw,2rem);font-weight:900;line-height:1.2;margin:0}.arcade-page .clout-overlay p{color:#c0cddb;font-size:1rem;line-height:1.5;margin:.75rem auto 1rem;max-width:30ch}.arcade-page .clout-overlay button{background:#60d9e9;border-radius:3px;color:#09121f;font-size:1rem;font-weight:800;min-height:46px;width:100%}.arcade-page .clout-overlay button:hover{background:#98edfa}.arcade-page .clout-key-hint{align-items:center;color:#c0cddb;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.3rem;justify-content:center;margin-bottom:1.25rem}.arcade-page .clout-key-hint kbd{border-radius:3px;border:solid #526479;border-width:1px 1px 3px;display:grid;font:700 .875rem monospace;height:30px;place-items:center;width:28px}.arcade-page .clout-key-hint span{margin-left:.35rem}.arcade-page .clout-game .clout-controls{background:transparent;border:0;bottom:auto;box-shadow:none;gap:.4rem;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,48px);left:auto;padding:0;position:static;right:auto;transform:none}.arcade-page .clout-game .clout-controls button{border-color:#526479!important;border-radius:5px!important;height:48px;min-width:54px;touch-action:none;width:54px}.arcade-page .clout-help{color:#b7c6d3;font-size:.875rem;line-height:1.5;margin:0;max-width:100%;text-align:center}.arcade-page .clout-overlay-over{background:transparent;padding:0}.arcade-page .clout-overlay-over .clout-overlay-panel{background:#090b11e6;border:0;border-radius:0;box-shadow:none;max-width:none;padding:clamp(1rem,3vw,2rem);width:100%}.arcade-page .clout-overlay-over h2{color:#ffe081;font-family:Courier New,monospace;font-size:clamp(2rem,5vw,4rem);font-weight:900;letter-spacing:.06em;line-height:1.05}.arcade-page .clout-overlay-over p{color:#f4f5fb;font-family:Courier New,monospace;font-size:clamp(1rem,2.25vw,1.5rem);font-weight:700;letter-spacing:.08em;line-height:1.2;margin:.6rem 0 0;max-width:none}.arcade-page .game-screen-clout:has(.is-expanded){z-index:100}.arcade-page .clout-game.is-expanded{--board-width:min(100%,calc(133.33333dvh - 166.66667px));background:#07111f;height:100dvh;inset:0;overflow:auto;padding:1rem;position:fixed;width:100%;z-index:100}@media (hover:none),(max-width:820px),(pointer:coarse){.arcade-page .clout-game.canvas-game{--board-width:min(100%,calc(133.33333svh - var(--site-nav)*4/3 - 453.33333px))}.arcade-page .clout-game.is-expanded{--board-width:min(100%,calc(133.33333dvh - 326.66667px))}.arcade-page .clout-key-hint{display:none}.arcade-page .clout-overlay-panel{padding:1rem}.arcade-page .clout-help{max-width:38ch}}@media (max-height:600px) and (min-aspect-ratio:4/3){.arcade-page:has(.game-screen-clout) .arcade-nav{display:none}.arcade-page .game-screen-clout{padding-bottom:.35rem}.arcade-page .game-screen-clout .game-screen-bar{margin-bottom:.35rem}.arcade-page .game-screen-clout .game-screen-bar>div>span{display:none}.arcade-page .clout-game.canvas-game{--board-width:min(100%,calc(133.33333svh - var(--site-nav)*4/3 - 213.33333px));gap:.4rem}.arcade-page .clout-game .clout-controls{bottom:auto;position:absolute;right:max(0px,calc(50% - 62.5svh + var(--site-nav)*.625 - 90px));top:50%;transform:translateY(-50%)}.arcade-page .clout-game.is-expanded{--board-width:min(100%,calc(133.33333dvh - 153.33333px));padding:.5rem}.arcade-page .clout-game.is-expanded .clout-controls{right:max(.5rem,calc(50% - 62.5dvh - 118.125px))}.arcade-page .clout-key-hint{display:none}.arcade-page .clout-overlay-panel{padding:.75rem}.arcade-page .clout-overlay p{margin-block:.4rem .75rem}.arcade-page .clout-help{max-width:none}}@media (max-height:600px) and (min-aspect-ratio:4/3) and (max-width:1000px){.arcade-page .clout-game.is-expanded{column-gap:1rem;display:grid;grid-template-columns:minmax(0,1fr) 175px;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center}.arcade-page .clout-game.is-expanded .clout-help,.arcade-page .clout-game.is-expanded .clout-toolbar{grid-column:1/-1;width:100%}.arcade-page .clout-game.is-expanded .clout-board-wrap{grid-column:1;grid-row:2}.arcade-page .clout-game.is-expanded .clout-controls{display:grid;grid-column:2;grid-row:2;position:static;transform:none}}body:has(.clout-game.is-expanded) [data-site-nav]{display:none!important}@media (max-height:600px) and (min-aspect-ratio:4/3){body:has(.game-screen-clout) [data-site-nav]{display:none!important}.arcade-page:has(.game-screen-clout){--site-nav:0px}}.arcade-page.arcade-fallback{color:#f4f0fa;display:grid;font:700 1rem/1.5 var(--font-arcade);gap:1rem;min-height:calc(100svh - var(--site-nav));padding:2rem;place-items:center;text-align:center}.arcade-page.arcade-fallback a{color:#42dff3}