:root{--teal:#008080;--face:#c0c0c0;--hi:#ffffff;--lo:#808080;--dk:#000;--blue:#000080;}
body{margin:0;background:var(--teal);background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:6px 6px;font-family:'VT323',monospace;font-size:20px;color:#000;}
.busy, .busy *{cursor:wait !important}
.win{background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:inset -1px -1px var(--lo),inset 1px 1px #dfdfdf;}
.title{background:linear-gradient(90deg,var(--blue),#1084d0);color:#fff;font-family:'Silkscreen',monospace;font-size:13px;padding:3px 6px;display:flex;align-items:center;justify-content:space-between;}
.tbtn{width:18px;height:16px;background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);color:#000;font-size:10px;line-height:10px;font-family:monospace;margin-left:2px}
.tbtn:active{border-color:var(--dk) var(--hi) var(--hi) var(--dk)}
.btn{background:var(--face);border:2px solid;border-color:var(--hi) var(--dk) var(--dk) var(--hi);box-shadow:inset -1px -1px var(--lo);padding:2px 12px;font-family:'VT323',monospace;font-size:19px}
.btn:active{border-color:var(--dk) var(--hi) var(--hi) var(--dk);box-shadow:inset 1px 1px var(--lo)}
.btn:disabled{color:var(--lo);text-shadow:1px 1px #fff}
.sunk{border:2px solid;border-color:var(--lo) var(--hi) var(--hi) var(--lo);background:#fff}
.field{border:2px solid;border-color:var(--lo) var(--hi) var(--hi) var(--lo);background:#fff;padding:1px 6px;font-family:'VT323',monospace;font-size:19px}
.crt{background:#050805;color:#33ff66;font-family:'IBM Plex Mono',monospace;font-size:12px;text-shadow:0 0 4px rgba(51,255,102,.5);white-space:pre-wrap;word-break:break-all}
.pix{image-rendering:pixelated}
.wiggle{animation:wig .4s}
@keyframes wig{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
.bounce{animation:bnc .5s infinite alternate}
@keyframes bnc{to{transform:translateY(-12px)}}
.seg{width:14px;height:18px;background:var(--blue);margin-right:2px}
.rise{animation:rise .5s both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.bubble{background:#ffffe1;border:1px solid #000;border-radius:10px;padding:8px 10px;font-size:17px;max-width:220px}