@font-face{font-family:DotGothic16;src:url(../fonts/DotGothic16-Regular.ttf)format("truetype");font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--scale:1;--pixel-aspect:1.25;--black:#000;--navy:#00003c;--blue:#0058f8;--jacket:#3c40fc;--sky:#3cbcfc;--cyan:#00e8d8;--white:#fcfcfc;--gray:#7c7c7c;--silver:#bcbcbc;--brown:#a81000;--orange:#e45c10;--red:#d82800;--pink:#f87858;--gold:#f8b800;--yellow:#f8d878;--green:#00a800;--skin:#f8d878}*{box-sizing:border-box}html,body,#app{background:var(--black);min-height:100%;margin:0}body{color:var(--white);font-family:DotGothic16,MS Gothic,monospace;overflow:hidden}button{font:inherit;border:0;border-radius:0}.game-shell{background:var(--black);place-items:center;min-height:100svh;display:grid;overflow:hidden}.screen-frame{width:calc(256px * var(--pixel-aspect) * var(--scale));height:calc(240px * var(--scale))}.game-screen{width:256px;height:240px;transform:scale(var(--scale)) scaleX(var(--pixel-aspect));transform-origin:0 0;background:var(--black);image-rendering:pixelated;isolation:isolate;position:relative;overflow:hidden}.screen-button{color:inherit;cursor:pointer;background:0 0}.screen-button:focus-visible,.kana-panel button:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.title-screen{background:var(--black);text-align:center;width:256px;height:240px;padding:0;position:absolute;inset:0}.title-city{border:2px solid var(--white);background:var(--sky);width:216px;height:128px;position:absolute;top:12px;left:20px;overflow:hidden}.title-city:before{content:"";z-index:1;border-top:3px solid var(--white);background:var(--blue);height:35px;box-shadow:inset 0 -12px var(--navy);position:absolute;bottom:0;left:0;right:0}.building{z-index:2;background:var(--white);box-shadow:inset -6px 0 var(--silver);position:absolute;bottom:35px}.building:before{content:"";background:var(--blue);width:9px;height:7px;box-shadow:0 15px var(--blue), 0 30px var(--blue);position:absolute;top:12px;left:7px}.building-a{width:42px;height:76px;left:0}.building-b{width:44px;height:62px;right:0}.building-c{width:32px;height:47px;right:48px}.title-yasu{z-index:4;width:32px;height:48px;position:absolute;bottom:3px;left:90px}.title-yasu img{width:32px;height:48px;image-rendering:pixelated;display:block}.title-yasu:after{content:"";background:linear-gradient(90deg,#0000 0 2px,#1212e3 2px 8px,#092a00 8px 11px,#fff 11px 21px,#092a00 21px 24px,#1212e3 24px 30px,#0000 30px 32px);width:32px;height:5px;position:absolute;top:48px;left:0}.title-main{color:var(--white);letter-spacing:1px;text-shadow:2px 0 var(--black), -2px 0 var(--black), 0 2px var(--black), 3px 3px var(--red);font-size:30px;line-height:32px;position:absolute;top:154px;left:0;right:0}.press-start{color:var(--gold);letter-spacing:2px;font-size:12px;animation:.9s step-end infinite blink;position:absolute;bottom:22px;left:0;right:0}.scene{z-index:0;border:2px solid var(--white);width:236px;height:150px;position:absolute;top:8px;left:10px;overflow:hidden}.office-scene{background:var(--sky)}.office-scene:before{content:"";background:var(--cyan);width:25px;box-shadow:inset -7px 0 var(--orange);position:absolute;top:0;bottom:0;left:0}.office-scene:after{content:"";background:var(--silver);height:20px;position:absolute;bottom:0;left:0;right:0}.window{border:4px solid var(--brown);background:var(--navy);width:46px;height:35px;position:absolute;top:12px;right:14px}.window:before{content:"";background:var(--silver);width:3px;height:27px;box-shadow:8px 0 var(--silver), 16px 0 var(--silver), 24px 0 var(--silver), 32px 0 var(--silver);position:absolute;top:0;left:5px}.window:after,.window i{display:none}.yasu{z-index:3;width:64px;height:132px;position:absolute;top:18px;left:86px}.yasu .head{z-index:2;width:64px;height:52px;position:absolute;top:0;left:0;overflow:hidden}.yasu img{width:64px;max-width:none;height:96px;image-rendering:pixelated;position:absolute;left:0}.yasu .head img{top:0}.yasu .body{width:64px;height:80px;position:absolute;top:52px;left:0;overflow:hidden}.yasu .body img{top:-52px}.yasu .body:after{content:"";background:linear-gradient(90deg,#0000 0 4px,#1212e3 4px 16px,#092a00 16px 22px,#fff 22px 42px,#092a00 42px 48px,#1212e3 48px 60px,#0000 60px 64px);position:absolute;inset:44px 0 0}.yasu .face-name{z-index:1;color:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:0;font-size:13px;font-style:normal;font-weight:900;line-height:13px;display:flex;position:absolute;inset:16px 10px 2px}.yasu .face-name b{font:inherit}.nervous .yasu{animation:75ms steps(2,end) infinite tremble}.impact .yasu{animation:55ms steps(2,end) infinite impact-tremble}.game-screen.fading{animation:1.8s linear forwards verdict-fade}.laughing .yasu .body{animation:.18s steps(2,end) infinite laugh-bob}.nodding .yasu .head{animation:.9s step-end both nod-twice}.nodding-once .yasu .head{animation:.52s step-end both nod-once}.gun{z-index:4;background:var(--black);width:16px;height:16px;box-shadow:inset 0 0 0 3px var(--silver), 0 0 0 2px var(--gray);border-radius:50%;position:absolute;top:92px;left:84px}.boss-screen.stage-1 .gun,.boss-screen.stage-2 .gun,.boss-screen.stage-3 .gun,.boss-screen.stage-4 .gun{animation:.26s steps(2,end) both muzzle-flash}.boss-screen{background:var(--black);width:256px;height:240px;position:absolute;inset:0;overflow:hidden}.boss-screen.finale{animation:3.2s linear 1s forwards end-screen-fade}.redout{z-index:18;background:var(--red);opacity:0;position:absolute;inset:0}.boss-screen.stage-1 .redout{animation:1.6s linear forwards redout}.boss-screen.stage-2 .redout,.boss-screen.stage-3 .redout,.boss-screen.stage-4 .redout{opacity:1}.boss-screen .the-end{z-index:22}.boss-screen .end-final{top:113px}.dialogue-box{z-index:12;width:256px;height:80px;color:var(--white);background:var(--black);text-align:left;letter-spacing:0;padding:2px 13px 5px;font-size:13px;line-height:20px;position:absolute;bottom:0;left:0;right:0}.dialogue-copy{white-space:pre-wrap;display:block;position:absolute;top:2px;left:13px;right:8px}.next-mark{color:var(--white);margin-left:3px;animation:.7s step-end infinite blink;display:inline-block}.sprite-punchline{z-index:25;color:var(--white);text-align:center;white-space:nowrap;text-shadow:1px 0 var(--pink), -1px 0 var(--pink), 0 1px var(--pink), 0 -1px var(--pink), 1px 1px var(--pink), -1px 1px var(--pink), 1px -1px var(--pink), -1px -1px var(--pink);background:0 0;font-size:28px;font-weight:900;line-height:34px;position:absolute;top:82px;left:0;right:0}.sprite-punchline.split{flex-direction:column;align-items:center;display:flex}.sprite-punchline span,.sprite-punchline strong{font-weight:900;display:block}.sprite-punchline span{animation:.14s steps(3,end) both punch-pop}.sprite-punchline.stage-2 span,.sprite-punchline.settled span,.sprite-punchline.settled strong{animation:none}.sprite-punchline strong{font-size:36px;line-height:40px;animation:.14s steps(3,end) both punch-pop}.kana-panel{z-index:15;color:var(--white);background:var(--black);grid-template-rows:32px 1fr 28px;gap:3px;padding:5px;display:grid;position:absolute;inset:0}.answer-line{color:var(--gold);justify-content:center;align-items:center;gap:5px;font-size:14px;display:flex}.answer-line b{border-bottom:2px solid var(--white);width:20px;height:22px;color:var(--white);place-items:center;font-weight:400;display:grid}.kana-grid{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(10,1fr);gap:2px;min-height:0;display:grid}.kana-grid button,.input-controls button{border:1px solid var(--white);min-width:0;color:var(--white);background:var(--navy);cursor:pointer;padding:0;font-size:12px}.kana-grid button:active:not(:disabled),.input-controls button:active:not(:disabled){color:var(--black);background:var(--cyan)}.kana-grid button.hint{text-shadow:1px 0}.kana-grid button:disabled,.input-controls button:disabled{color:var(--gray);border-color:var(--gray);background:var(--black)}.input-controls{grid-template-columns:1fr 1.5fr 1.4fr;gap:3px;display:grid}.input-controls .decide:not(:disabled){color:var(--black);border-color:var(--gold);background:var(--gold);animation:.7s step-end infinite blink-border}.end-screen{background:var(--orange);width:256px;height:240px;padding:0;position:absolute;inset:0;overflow:hidden}.end-screen.finale{animation:3.2s linear 1s forwards end-screen-fade}.end-city{background:var(--orange);position:absolute;inset:0}.end-city:before{content:"";background:var(--pink);height:72px;position:absolute;top:0;left:0;right:0}.setting-sun{z-index:1;background:var(--yellow);border-radius:50%;width:28px;height:28px;position:absolute;bottom:38px;left:114px}.end-building{z-index:2;background:var(--gray);box-shadow:inset -5px 0 var(--silver);position:absolute;bottom:52px}.end-building:after{content:"";background:var(--navy);width:6px;height:6px;box-shadow:0 15px var(--navy), 0 30px var(--navy);position:absolute;top:12px;left:7px}.end-building.a{width:41px;height:83px;left:0}.end-building.b{width:50px;height:101px;right:0}.end-building.c{width:32px;height:65px;right:56px}.end-road{z-index:3;background:var(--brown);height:52px;position:absolute;bottom:0;left:0;right:0}.walkers{z-index:5;width:34px;height:39px;animation:2.4s steps(16,end) forwards escort-walk;position:absolute;bottom:34px;left:41px}.walkers i{background:var(--black);width:13px;height:23px;position:absolute;bottom:0}.walkers i:before{content:"";background:var(--black);width:9px;height:10px;position:absolute;top:-10px;left:2px}.walkers .escort{left:0}.walkers .escort:after{content:"";background:var(--black);width:15px;height:3px;position:absolute;top:-10px;left:-1px}.walkers .cuffed-yasu{background:var(--gray);right:0}.walkers .cuffed-yasu:before{background:var(--gray)}.handcuff{border-left:3px solid var(--silver);border-right:3px solid var(--silver);background:var(--silver);width:13px;height:3px;position:absolute;top:18px;left:11px}.the-end{z-index:10;color:var(--white);letter-spacing:3px;text-shadow:1px 0 var(--white), -1px 0 var(--white), 0 1px var(--white), 0 -1px var(--white);font-size:40px;font-weight:900;line-height:46px;position:absolute;top:25px;left:0;right:0}.end-final{z-index:20;color:var(--white);white-space:nowrap;background:0 0;flex-direction:column;align-items:center;display:flex;position:absolute;inset:76px 0 0}.end-final>span,.end-final strong{color:var(--white);text-shadow:1px 0 var(--pink), -1px 0 var(--pink), 0 1px var(--pink), 0 -1px var(--pink), 1px 1px var(--pink), -1px 1px var(--pink), 1px -1px var(--pink), -1px -1px var(--pink);font-weight:900;display:block}.end-final>.end-setup{letter-spacing:0;font-size:34px;line-height:38px;animation:.14s steps(3,end) both punch-pop}.end-final .end-setup b{font:inherit;display:block}.end-final.stage-2>span{animation:none}.end-final strong{letter-spacing:-1px;margin-top:0;font-size:60px;line-height:64px;animation:.14s steps(3,end) both punch-pop}@keyframes blink{50%{opacity:0}}@keyframes blink-border{50%{border-color:var(--white)}}@keyframes tremble{50%{transform:translate(2px,-1px)}}@keyframes impact-tremble{0%{transform:translate(-4px,2px)}50%{transform:translate(4px,-2px)}}@keyframes verdict-fade{0%{filter:saturate()brightness()}to{filter:saturate(0)brightness(0)}}@keyframes laugh-bob{50%{transform:translateY(2px)}}@keyframes nod-once{0%,20%,75%,to{transform:translateY(0)}40%{transform:translateY(6px)}}@keyframes nod-twice{0%,15%,40%,70%,to{transform:translateY(0)}27%,57%{transform:translateY(6px)}}@keyframes punch-pop{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:none}}@keyframes final-pop{0%{opacity:0;transform:scale(2.4)}to{opacity:1;transform:none}}@keyframes end-screen-fade{0%{opacity:1}to{opacity:0}}@keyframes redout{0%{opacity:0}to{opacity:1}}@keyframes muzzle-flash{0%{background:var(--white);box-shadow:inset 0 0 0 3px var(--white), 0 0 0 3px var(--white);transform:translate(3px,-2px)}40%{background:var(--black);box-shadow:inset 0 0 0 3px var(--silver), 0 0 0 2px var(--gray);transform:translate(1px,-1px)}to{background:var(--black);box-shadow:inset 0 0 0 3px var(--silver), 0 0 0 2px var(--gray);transform:none}}@keyframes escort-walk{0%{transform:translate(0)}12%{transform:translate(-10px,-1px)}25%{transform:translate(-21px)}38%{transform:translate(-32px,-1px)}50%{transform:translate(-43px)}62%{transform:translate(-54px,-1px)}75%{transform:translate(-64px)}88%{transform:translate(-75px,-1px)}to{transform:translate(-86px)}}@media (width>=660px) and (height>=520px){:root{--scale:2}}@media (width>=980px) and (height>=760px){:root{--scale:3}}
