@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'IBM Plex Sans',sans-serif;color:#24221e;background:#f4efe6}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#c8c0b4 1px,transparent 1px);background-size:20px 20px}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10;background:#fff;padding:12px}.masthead{background:#f4efe6;border-bottom:3px solid #26221d}.masthead-inner{max-width:1360px;margin:auto;padding:19px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:'Archivo Black',sans-serif;font-size:23px;letter-spacing:-1.5px}.brand b{background:#f4bb4e;padding:3px 6px;margin-left:3px;border:2px solid #24221e}.carton,.back,.top-row,.case-top,.case-bottom,.side-stamp,.side-head,.eyebrow,.manual-top,.footer{font:700 11px 'IBM Plex Mono',monospace;letter-spacing:.04em}.dot{padding:0 9px;color:#da603f}.back,.shelf-link{border-bottom:2px solid #24221e;padding-bottom:4px}.layout{max-width:1360px;margin:34px auto;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;padding:0 28px}.main{min-width:0}.top-row{display:flex;justify-content:space-between;margin-bottom:17px;gap:12px}.case{border:3px solid #24221e;background:#f9d774;box-shadow:8px 8px 0 #24221e}.case-top,.case-bottom{display:flex;justify-content:space-between;gap:12px;background:#27241f;color:#fff;padding:11px 17px}.case-body{padding:clamp(16px,3vw,32px)}.intro{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.eyebrow{background:#24221e;color:white;padding:5px 8px}.intro h1{font-family:'Archivo Black',sans-serif;font-size:clamp(28px,5vw,56px);letter-spacing:-2.5px;margin:14px 0 4px;line-height:1}.intro h1 span{color:#f45c45}.intro h1 i{font-style:normal}.intro p{margin:0;font-size:15px}.floppy{width:85px;height:90px;background:#24221e;border-radius:5px 5px 1px 1px;transform:rotate(9deg);padding:0 12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;flex-shrink:0}.floppy-top{width:48px;height:27px;background:#a5a4a1;border:4px solid #777}.floppy-label{background:#fff1c5;width:60px;text-align:center;font:700 16px 'IBM Plex Mono';padding:5px}.desktop{background:#c0c0c0;border:3px solid;border-color:#fff #555 #555 #fff;padding:3px;box-shadow:4px 4px 0 #4b4334}.win-title{height:31px;background:linear-gradient(90deg,#000080,#1084c4);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:3px 5px 3px 9px;font:700 15px Arial,sans-serif}.win-icon{font-size:15px}.window-controls{display:flex;gap:3px}.window-controls span{display:grid;place-items:center;width:22px;height:20px;background:#c0c0c0;border:2px solid;border-color:#fff #555 #555 #fff;color:#111;font-weight:bold}.win-menu{display:flex;align-items:center;padding:4px 7px;gap:15px;font:14px Arial,sans-serif}.win-menu button{background:none;border:0;padding:2px 3px;text-decoration:underline;text-decoration-color:transparent}.win-menu button:hover{text-decoration-color:#111}.menu-hint{margin-left:auto;font:10px 'IBM Plex Mono',monospace;color:#555}.win-content{padding:8px 10px 11px}.level-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:12px;font:700 11px 'IBM Plex Mono',monospace}.level-row select,.tiny-btn{border:2px solid;border-color:#fff #555 #555 #fff;background:#c0c0c0;padding:5px 7px;color:#111}.tiny-btn:active{border-color:#555 #fff #fff #555}.lcd-panel{border:3px solid;border-color:#777 #fff #fff #777;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:10px;gap:12px}.digits{background:#180700;color:#ff3327;font:700 clamp(25px,4vw,37px) 'IBM Plex Mono',monospace;letter-spacing:-3px;text-shadow:0 0 5px #8c1008;padding:0 4px;min-width:76px;text-align:center;font-variant-numeric:tabular-nums}.face{width:43px;height:43px;display:grid;place-items:center;background:#c0c0c0;border:3px solid;border-color:#fff #777 #777 #fff;font-size:26px;padding:0;line-height:1}.face:active{border-color:#777 #fff #fff #777}.board-scroll{overflow:auto;max-width:100%;border:3px solid;border-color:#777 #fff #fff #777;background:#bdbdbd;overscroll-behavior:contain}.board{display:grid;grid-template-columns:repeat(var(--cols),var(--tile));grid-auto-rows:var(--tile);width:max-content;min-width:100%;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}.tile{width:var(--tile);height:var(--tile);display:grid;place-items:center;background:#c0c0c0;border:3px solid;border-color:#fff #7b7b7b #7b7b7b #fff;padding:0;font:900 calc(var(--tile)*.65) Arial,sans-serif;line-height:1;color:#111;touch-action:manipulation}.tile.revealed{border:1px solid #8d8d8d;background:#bdbdbd}.tile.flagged{font-size:calc(var(--tile)*.55)}.tile.mine{font-size:calc(var(--tile)*.65)}.tile.exploded{background:#f35b4d}.tile.wrong{background:#e0a4a4}.tile[data-number="1"]{color:#0000ff}.tile[data-number="2"]{color:#008000}.tile[data-number="3"]{color:#ff0000}.tile[data-number="4"]{color:#000080}.tile[data-number="5"]{color:#800000}.tile[data-number="6"]{color:#008080}.tile[data-number="7"]{color:#000}.tile[data-number="8"]{color:#777}.tile:focus-visible{outline:2px solid #ff7b00;outline-offset:-3px}.win-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font:12px Arial,sans-serif;border-top:1px solid #888;padding-top:8px}.touch-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;font:700 11px 'IBM Plex Mono',monospace}.touch-tools button{border:2px solid #24221e;background:#fff4d4;padding:9px 12px;font-weight:700;box-shadow:3px 3px 0 #24221e}.touch-tools button.flag-mode{background:#ff715d}.touch-tools small{font-weight:400;max-width:350px;line-height:1.5}.manual{background:#fffaf0;border:3px solid #24221e;margin-top:26px;padding:23px}.manual-top{display:flex;justify-content:space-between}.manual h2{font:24px 'Archivo Black',sans-serif;margin:16px 0 10px}.manual>p{font-size:14px;line-height:1.7}.manual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:19px;border-top:2px solid #24221e;padding-top:15px}.manual-grid b{font:700 11px 'IBM Plex Mono',monospace}.manual-grid p{font-size:12px;line-height:1.5}.sidebar{min-width:0}.side-stamp{background:#24221e;color:#fff;padding:14px;margin-bottom:14px}.side-card{background:#fffaf0;border:3px solid #24221e;padding:17px;margin-bottom:16px;box-shadow:4px 4px 0 #24221e}.side-head{display:flex;justify-content:space-between;border-bottom:2px solid #24221e;padding-bottom:11px}.side-card h2{font:20px 'Archivo Black',sans-serif;line-height:1.2}.side-card p{font-size:13px;line-height:1.6}.level-desc{display:flex;flex-direction:column;border-top:1px solid #bfb7a9;padding:11px 0;gap:4px;font:11px 'IBM Plex Mono',monospace}.level-desc span{color:#6c6255}.other{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #c9c0b3}.other>span:last-child{margin-left:auto}.other b,.other small{display:block}.other b{font-size:13px}.other small{font-size:11px;color:#776c60}.thumb{background:#f5d473;border:2px solid #24221e;min-width:49px;height:49px;display:grid;place-items:center;font:700 12px 'IBM Plex Mono',monospace}.thumb.snake{background:#b7f4a4;font-size:24px}.thumb.orbit{background:#b9d6ff;font-size:24px}.footer{max-width:1304px;margin:40px auto 24px;padding:16px 0;border-top:2px solid #24221e;display:flex;justify-content:space-between}dialog{padding:0;border:3px solid #fff;outline:2px solid #333;background:#c0c0c0;max-width:min(400px,90vw);box-shadow:7px 7px 0 #444;font-family:Arial,sans-serif}dialog::backdrop{background:#0008}.dialog-title{background:#000080;color:#fff;padding:8px;display:flex;justify-content:space-between;font-weight:bold}.dialog-title button{background:#c0c0c0;border:2px outset white}.dialog-content{padding:16px}.dialog-content p{line-height:1.5}.dialog-content>button{display:block;margin-left:auto;padding:6px 24px;background:#c0c0c0;border:2px outset white}@media(max-width:1040px){.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.side-stamp{grid-column:1/-1;margin:0}.side-card{margin:0}}@media(max-width:700px){.masthead-inner{padding:15px}.brand{font-size:18px}.carton{display:none}.layout{padding:0 13px;margin:20px auto}.top-row>span{display:none}.case-body{padding:13px}.intro h1{letter-spacing:-1.5px;font-size:clamp(26px,7vw,40px)}.floppy{width:62px;height:72px}.floppy-label{width:46px;font-size:12px}.floppy-top{width:35px;height:20px}.sidebar{grid-template-columns:1fr}.manual-grid{grid-template-columns:1fr}.footer{margin:30px 13px}.digits{min-width:67px;font-size:28px}.lcd-panel{padding:6px}.win-content{padding:6px}.tile{border-width:2px}.touch-tools small{width:100%}.case-top,.case-bottom{font-size:9px}}

/* Retro fullscreen / maximized game window */
.desktop:fullscreen{width:100vw;height:100dvh;max-width:none;max-height:none;box-shadow:none;border:0;display:flex;flex-direction:column;padding:4px;background:#c0c0c0;overflow:hidden}
.desktop:fullscreen .win-title{flex:none}
.desktop:fullscreen .win-menu{flex:none}
.desktop:fullscreen .win-content{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}
.desktop:fullscreen .level-row,.desktop:fullscreen .lcd-panel,.desktop:fullscreen .win-bottom{flex:none}
.desktop:fullscreen .board-scroll{flex:1;min-height:0;min-width:0;overflow:auto;display:flex;align-items:safe center;justify-content:safe center}
.desktop:fullscreen .board{min-width:0;margin:auto;flex:none}
.desktop:fullscreen .win-bottom{margin-top:8px}
.desktop:fullscreen .digits{font-size:clamp(24px,3vw,37px)}
.desktop:fullscreen #fullscreen-btn{font-weight:bold}
@media(max-width:700px){.desktop:fullscreen .win-content{padding:5px}.desktop:fullscreen .lcd-panel{margin-bottom:6px}.desktop:fullscreen .level-row{margin-bottom:6px}.desktop:fullscreen .win-title{height:30px}}
