:root{color-scheme:light;font-family:Tahoma,"MS Sans Serif",Arial,sans-serif;font-size:12px;color:#111;background:#000;--silver:#c0c0c0;--raised:inset 1px 1px #fff,inset -1px -1px #0a0a0a,inset 2px 2px #dfdfdf,inset -2px -2px #808080;--sunken:inset 1px 1px #808080,inset -1px -1px #fff,inset 2px 2px #0a0a0a,inset -2px -2px #dfdfdf}
/* The automap uses a game overlay rather than a desktop window. */
.automap{position:fixed;inset:0;z-index:10;background:#090706;color:#c7b38c;font-family:"Lucida Console",Consolas,monospace;overscroll-behavior:contain}
.automap #map{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;background:#090706;image-rendering:auto;touch-action:none;cursor:grab;outline:none}
.automap #map:active{cursor:grabbing}
.automap-header,.automap-footer{position:absolute;left:0;right:0;pointer-events:none}
.automap-header{top:0;display:flex;justify-content:space-between;align-items:flex-start;padding:28px 32px 32px;background:linear-gradient(#090706 35%,#090706dd 65%,transparent)}
.automap-eyebrow{font-size:10px;letter-spacing:2px;color:#998367;margin-bottom:8px}
.automap-header h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:36px;font-weight:normal;line-height:1;letter-spacing:4px;color:#c94a36;text-shadow:2px 2px #3d1510}
#map-readout{font-size:11px;margin-top:10px;color:#aa9878;font-variant-numeric:tabular-nums}
.automap button{pointer-events:auto;min-height:30px;padding:7px 10px;border:1px solid #57432c;background:#17120dcc;box-shadow:none;color:#c7b38c;font-family:inherit;font-size:11px;letter-spacing:.3px;text-transform:uppercase;touch-action:manipulation}
.automap button:hover{background:#302419;color:#fff0bd;border-color:#967143}
.automap button:active{padding:7px 10px;background:#513021}
.automap button:focus-visible{outline:1px dashed #fff0bd;outline-offset:3px}
.automap button[aria-pressed=true]{color:#efcd82;border-color:#8b6335;background:#292015}
#close-map{margin-top:4px;color:#f0d7a5}
#close-map span{margin:0 14px 0 7px;color:#a38c69}
.automap-footer{bottom:0;padding:38px 32px 23px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 16px;background:linear-gradient(transparent,#090706e8 30%,#090706 65%)}
.automap-legend{display:flex;gap:23px;font-size:10px;letter-spacing:1px}
.automap-legend>span{display:flex;align-items:center;gap:7px}
.automap-legend i{display:inline-block;width:14px;height:2px;background:#d33728}
.automap-legend .player-key{width:0;height:0;background:none;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:9px solid #fff0bd}
.automap-legend .exit-key{width:9px;height:9px;background:none;border:1px solid #e7b83d}
.automap-tools{display:flex;flex-wrap:wrap;gap:5px}
.automap-tools>button:first-child,.automap-tools>button:nth-child(2){min-width:31px;font-size:16px;line-height:14px}
.automap-footer>p{width:100%;font-size:9px;letter-spacing:.7px;color:#88775d;line-height:1.8}
.automap-footer b{font-weight:normal;margin:0 8px;color:#554634}
body.map-open .chrome{opacity:0!important;visibility:hidden;pointer-events:none}
#maze{touch-action:none}
@media(max-width:600px){.automap-header{padding:20px 18px 32px}.automap-header h2{font-size:29px;letter-spacing:3px}.automap-eyebrow{font-size:8px;letter-spacing:1px}.automap-footer{padding:35px 18px 18px;gap:15px}.automap-legend{gap:17px}.automap-tools{gap:4px}.automap button{padding:7px 8px;font-size:10px}.automap button:active{padding:7px 8px}#close-map span{display:none}.automap-footer>p{font-size:8px;letter-spacing:.2px}.automap-footer b{margin:0 3px}}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button{color:#111;background:var(--silver);border:0;box-shadow:var(--raised);border-radius:0;min-height:26px;padding:5px 12px;cursor:pointer}button:active{box-shadow:var(--sunken);padding-top:6px;padding-bottom:4px}button:focus-visible,select:focus-visible,summary:focus-visible{outline:1px dotted #111;outline-offset:-5px}button:disabled{color:#808080;cursor:default}a{color:#000080}h1,h2,h3,p{margin:0}#viewport{position:fixed;inset:0;display:grid;place-items:center;background:#000}#maze{display:block;image-rendering:pixelated;outline:none}body.idle #maze{cursor:none}.window{padding:3px;background:var(--silver);box-shadow:var(--raised);color:#111}.titlebar{display:flex;align-items:center;gap:5px;min-height:23px;background:linear-gradient(90deg,#000080,#1084d0);padding:3px 3px 3px 5px;color:#fff;font-weight:bold;user-select:none}.titlebar>img{width:16px;height:16px;image-rendering:pixelated}.titlebar h1,.titlebar h2{font-size:12px;line-height:16px;font-weight:bold}.titlebar>span:first-child{flex:1}.title-caption{margin-left:auto;font-weight:normal;color:#d9e6f4;font-size:11px;margin-right:5px}.title-button{margin-left:auto;min-width:17px;min-height:16px;height:17px;padding:0 4px;font-size:15px;line-height:15px;font-weight:bold}.title-button:active{padding:1px 3px 0 5px}.chrome{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(660px,calc(100% - 32px));z-index:5;opacity:1;transition:opacity .45s,visibility .45s}.idle .chrome{opacity:0;visibility:hidden;pointer-events:none}.chrome:focus-within{opacity:1;visibility:visible;pointer-events:auto}.intro{display:flex;align-items:baseline;gap:13px;margin:0 0 10px 2px;color:#fff;text-shadow:1px 1px 2px #000;font-size:11px;letter-spacing:.15px}.intro-name{font-size:18px;font-weight:bold;letter-spacing:-.4px}.toolbar{display:flex;gap:5px;padding:10px 8px}.toolbar button{white-space:nowrap;flex:1;padding:7px 9px;min-height:33px}.toolbar button>span:first-child{display:inline-block;margin-right:3px;font-size:15px;line-height:11px}.separator{width:2px;margin:1px 3px;background:#808080;border-right:1px solid white}.statusbar{display:flex;gap:3px;align-items:stretch;padding:0 2px 2px;font-size:11px}.statusbar>span,.statusbar>button{box-shadow:inset 1px 1px #808080,inset -1px -1px #fff;min-height:23px;padding:4px 7px;line-height:15px}.statusbar>button{padding:3px 10px}.statusbar>button[aria-pressed=true]{background:#dfdfdf}.statusbar #status{flex:1;display:flex;align-items:center;gap:6px;white-space:nowrap}.led{display:inline-block;width:7px;height:7px;background:#008000;box-shadow:inset 1px 1px #005000,1px 1px #fff}.paused .led{background:#b89c00}.manual .led{background:#0000d0}#resolution{min-width:78px;text-align:center;font-variant-numeric:tabular-nums}.keyboard-hint{text-align:center;margin-top:10px;color:#e9e9e9;text-shadow:1px 1px 2px #000;font-size:10px;line-height:18px}.keyboard-hint b{padding:0 6px;font-weight:normal}kbd{font:inherit;font-size:10px}.keyboard-hint kbd{border:1px solid #a4a4a4;padding:1px 4px;background:#15151580}dialog{position:fixed;inset:0;margin:auto;border:0;width:380px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}dialog::backdrop{background:#0007}dialog:focus{outline:none}.dialog .titlebar{min-height:24px}.dialog-body{padding:16px}.settings-intro{display:flex;align-items:center;gap:20px;margin:0 0 16px 5px}.settings-intro p{line-height:1.8}.settings-intro strong{font-size:13px}.monitor{width:70px;height:62px;padding:6px 6px 12px;background:#c0c0c0;box-shadow:var(--raised);position:relative}.monitor>div{height:39px;border:3px inset #808080;background:black;overflow:hidden}.monitor img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.monitor i{position:absolute;left:21px;bottom:-6px;width:29px;height:6px;background:#a0a0a0;box-shadow:var(--raised)}fieldset{border:0;border-top:1px solid #808080;box-shadow:0 -1px #fff;margin:12px 0 17px;padding:12px 8px 0}legend{padding:0 5px;margin-left:-8px}.form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}select{border:0;border-radius:0;box-shadow:var(--sunken);padding:5px 25px 5px 6px;background:#fff;color:#111;width:190px;min-height:28px}.check{display:flex;align-items:center;gap:7px;line-height:20px;margin:3px 0;cursor:pointer}input[type=checkbox]{accent-color:#000080;width:13px;height:13px;margin:0}.dialog-actions{display:flex;gap:7px;align-items:center;padding:0 13px 13px}.dialog-actions>span{flex:1}.dialog-actions button{min-width:74px}.default-button{outline:1px solid #000;outline-offset:1px}details{font-size:11px}summary{cursor:pointer}details p{margin-top:10px;line-height:1.9}details kbd{padding:1px 3px;background:#dfdfdf;box-shadow:1px 1px #808080}.about-body{line-height:1.65}.about-body h3{font-size:25px;letter-spacing:-1px;margin-bottom:2px}.about-icon{float:left;width:44px;height:44px;margin:5px 16px 10px 0;image-rendering:pixelated}.about-body p{margin-bottom:13px}.about-body hr{clear:both;border:0;border-top:1px solid #808080;border-bottom:1px solid #fff;margin:17px 0}.credits{font-size:11px;color:#333}.loading{z-index:20;width:300px}.loading-body{padding:20px}.loading-body p{margin-bottom:16px}.progress{height:19px;padding:3px;box-shadow:var(--sunken);overflow:hidden}.progress span{display:block;height:100%;width:40%;background:repeating-linear-gradient(90deg,#000080 0 10px,transparent 10px 12px);animation:loading 1.6s infinite linear}@keyframes loading{from{transform:translateX(-110%)}to{transform:translateX(350%)}}#toast{position:fixed;top:25px;left:50%;transform:translateX(-50%);padding:9px 16px;background:#ffffe1;box-shadow:1px 1px #000,-1px -1px #fff;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:30;max-width:calc(100% - 30px);text-align:center}#toast.visible{opacity:1}.touch-help{font-size:11px;line-height:1.5;color:#333}.statusbar #status{min-width:0}.noscript{position:fixed;inset:35%;padding:20px;background:#c0c0c0}body.failed .progress{display:none}body.failed .loading-body p{line-height:1.5}.failed #loading{width:min(420px,90%)}[hidden]{display:none!important}@media(max-width:600px){.chrome{bottom:14px;width:calc(100% - 20px)}.intro{margin-bottom:7px}.intro-name{font-size:16px}.intro>span:last-child{font-size:10px}.toolbar{gap:4px;padding:7px 4px;flex-wrap:wrap}.toolbar button{flex:1 1 28%;padding:7px 8px}.separator{display:none}.statusbar{font-size:10px}#status{max-width:100%;overflow:hidden}.statusbar>span,.statusbar>button{padding:4px 5px}#resolution{min-width:70px}.keyboard-hint{font-size:9px}.keyboard-hint b{padding:0 2px}.title-caption{font-size:10px}.dialog-body{padding:13px}.settings-intro{margin-bottom:20px}.form-row select{width:170px}}@media(prefers-reduced-motion:reduce){.chrome,#toast{transition:none}.progress span{animation:none}}

@media (max-height:500px) and (orientation:landscape){.chrome{bottom:calc(12px + env(safe-area-inset-bottom))}.intro{display:none}.keyboard-hint{display:none}}
