*{box-sizing:border-box}body{margin:0;background:#080808;color:white;font:14px monospace}button,input{font:inherit}button{background:#111;color:#fff;border:1px solid #555;padding:10px;cursor:pointer;border-radius:0}button:hover,button:focus-visible{color:#ff0;border-color:#ff0}button:disabled{opacity:.4;cursor:default}#cabinet{max-width:790px;margin:12px auto;background:#000;padding:12px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px}h1{font-size:16px;margin:0;color:#0ff}header span{font-size:10px;color:#888}#screen{position:relative;width:100%;aspect-ratio:60/59;max-height:70vh;margin:auto;overflow:hidden;background:#000}canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}#overlay,#pauseLayer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#000e;padding:18px}#overlay section{width:100%;max-width:570px}h2{font-size:clamp(22px,5vw,40px);line-height:1.05;color:#f0f;margin:10px 0 20px}#end h2{color:#ff0}p{line-height:1.5;font-size:12px}strong{color:#0ff}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.actions button{background:#000090;border:0}.help{color:#ccc;margin:20px auto;max-width:430px}.status{font-size:10px;color:#999;margin:15px 0 0}#notice{min-height:15px;color:#bbb;font-size:11px}.toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}.toolbar button{font-size:11px}.toolbar label{font-size:11px;color:#aaa;display:flex;gap:8px;align-items:center}.toolbar input{width:68px;accent-color:#0f0}#touch{display:flex;gap:8px;margin-top:10px;touch-action:none}#touch button{flex:1;min-height:48px;user-select:none;-webkit-user-select:none;touch-action:none}#fire{background:#600}table{font-size:12px;width:100%;border-collapse:collapse;text-align:left;margin:16px 0}td,th{padding:5px 3px}th{color:#0ff}td:nth-child(3){color:#ff0}[hidden]{display:none!important}:fullscreen#cabinet{max-width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}:fullscreen #screen{max-width:850px;height:75vh}:fullscreen header,:fullscreen .toolbar,:fullscreen #touch{width:min(850px,100%)}@media(max-width:520px){#cabinet{padding:8px;margin:0}#screen{max-height:none}header span{display:none}h2{font-size:24px}#overlay{padding:10px}.help{margin:10px auto;font-size:10px}table{font-size:10px}td,th{padding:3px}p{font-size:11px}.actions button{padding:9px;font-size:12px}.status{font-size:9px}}

#cabinet.playing #screen{width:min(100%,calc(70vh * 60 / 59))}
:fullscreen#cabinet.playing #screen{width:min(850px,calc(75vh * 60 / 59));height:auto;max-height:none}
@media(max-width:520px){#cabinet.playing #screen{width:100%}}
#cabinet:not(.playing) header,#cabinet:not(.playing) .toolbar,#cabinet:not(.playing) #touch{display:none}
#cabinet:not(.playing){margin:0 auto;padding:0}
#cabinet:not(.playing) #screen{max-height:none;height:min(92vh,650px);aspect-ratio:auto}
#intro{max-width:460px!important;margin:auto}
#intro .pixel-logo{width:75%;max-width:360px;margin:0 auto 32px}
#intro svg{display:block;width:100%;height:auto}
#intro button{display:block;background:transparent;border:0;padding:9px 0;margin:0 auto;line-height:0}
#intro button:focus-visible{outline:2px solid #ff0;outline-offset:5px}
#intro button:hover{filter:brightness(.7)}
#intro #start{width:53%;max-width:255px;margin-bottom:15px}
#intro #hallTitle{width:44%;max-width:215px}
#intro .pixel-help{width:37%;max-width:180px;margin:32px auto 0;display:grid;gap:10px}
#intro .pixel-help svg:nth-child(2){width:90.7%}#intro .pixel-help svg:nth-child(3){width:72.3%}
@media(max-height:560px){#intro .pixel-logo{max-width:215px;margin-bottom:16px}#intro .pixel-help{margin-top:18px;gap:6px;max-width:130px}#intro #start{max-width:190px;margin-bottom:8px}#intro #hallTitle{max-width:165px}}

.work-warning{margin:0 auto 18px;color:#ff0;font-weight:700;letter-spacing:.12em;text-align:center;text-shadow:2px 2px #700}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
