:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tile-width: 72px;--tile-height: 56px;--tile-margin: 2px;--text-primary: rgba(255, 255, 255, .87);--bg-primary: #161414;--card-bg: #1a1a1a;--card-text: #f1f1f1;--border-color: #333;--shadow-1: #000;--shadow-2: #333;--shadow-3: #533;--danger: #e14050;--btn-bg: #1a1a1a;--btn-text: #f1f1f1;--link-color: #f1f1f1;--link-color-2: #c1b1ca;--link-color-active: #646cff;--link-color-hover: #535bf2;--game-floor-shadow-1: rgba(6, 24, 44, .4);--game-floor-shadow-2: rgba(6, 24, 44, .65);--game-floor-shadow-3: rgba(255, 255, 255, .08);--game-floor-outline: hsla(0, 0%, 10%, .3);--tile-surface-bg: hsla(0, 0%, 12%, 1);--tile-active-bg: rgba(100, 100, 100, .8);--tile-active-shadow-1: rgba(0, 0, 0, .25);--tile-active-shadow-2: rgba(0, 0, 0, .22);--tile-wall-bg: hsla(0, 0%, 45%, 1);--tile-wall-top: hsla(0, 0%, 65%, 1);--tile-bomb-bg: red;--tile-bomb-blasted-bg: orangered;--tile-glow: rgba(85, 100, 180, 1)}@media (prefers-color-scheme: light){:root{--text-primary: #213547;--bg-primary: #ffffff;--card-bg: #ffffff;--card-text: #1a1a1a;--border-color: #000;--shadow-1: #888;--shadow-2: #555;--shadow-3: #855;--danger: #e14050;--btn-bg: #ffffff;--btn-text: #1a1a1a;--link-color: #1a1a1a;--link-color-2: #31514a;--link-color-hover: #747bff;--tile-surface-bg: hsla(0, 0%, 90%, .9);--tile-wall-top: hsla(0, 0%, 40%, 1);--tile-wall-bg: hsla(0, 0%, 20%, 1);--tile-glow: rgba(155, 100, 90, 1)}}a{font-weight:500;color:var(--link-color-active);text-decoration:inherit}a:hover{color:var(--link-color-hover)}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}#root{margin:0 auto;padding:1rem}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;max-width:960px;width:100%;box-sizing:border-box}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}.game-title{font-family:monospace;font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:.1rem;margin-right:2rem;padding:2rem 2.5rem;border:4px solid var(--shadow-1);color:var(--danger);box-shadow:6px 6px 0 var(--shadow-1),10px 12px 0 var(--shadow-3),0 0 0 1px var(--border-color) inset;opacity:0;animation:shake 1.82s cubic-bezier(.36,.07,.19,.97) both infinite,fadeInChar .1s ease-in forwards}@keyframes fadeInChar{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.space{position:relative;perspective:1000px;align-content:end;display:flex;justify-content:center}.game-floor{-webkit-transform:rotateX(10deg);-webkit-transform-style:preserve-3d;transform:rotateX(10deg);transform-style:preserve-3d;font-size:0;box-shadow:var(--game-floor-shadow-1) 0 0 0 2px,var(--game-floor-shadow-2) 0 4px 6px -1px,var(--game-floor-shadow-3) 0 1px 0 inset}.game-floor-inner{outline:solid 1px var(--game-floor-outline);outline-offset:1px;display:flex;flex-direction:column}.game-floor-inner{transition:outline .2s ease-in}.game-floor-inner.shake{animation:shake .5s;outline:solid 2px var(--tile-bomb-blasted-bg)}.grid-row{display:flex;flex-wrap:wrap}.game-floor .tile{font-size:11pt;display:inline-block;width:var(--tile-width);height:var(--tile-height);margin:var(--tile-margin);line-height:48px;text-align:center;vertical-align:top}.game-floor .tile.surface{z-index:-100;background-color:var(--tile-surface-bg);box-shadow:0 0 .05em #808080b3}.game-floor .tile.wall{background-color:var(--tile-wall-bg);border-radius:5%}.game-floor .tile.wall div.walltop{border-radius:5%;box-shadow:0 0 .05em #333;width:100%;height:100%;transform:translateY(-2px);background-color:var(--tile-wall-top)}.game-floor .tile.bomb{background-color:var(--tile-bomb-bg);position:absolute}.game-floor .tile.active{position:absolute;border-radius:10%;background-color:var(--tile-active-bg);box-shadow:var(--tile-active-shadow-1) 0 2px 4px,var(--tile-active-shadow-2) 0 2px 2px;-webkit-transition:all .25s;-moz-transition:all .25s;-ms-transition:all .25s;-o-transition:all .25s;transition:all .25s}.game-floor .tile.active .tiletop{width:100%;height:100%;border-radius:10%;z-index:-10;transform:translateY(-2px)}.game-floor .tile.glow{position:absolute;background-color:var(--tile-wall-bg);border-radius:5%;overflow:visible}.game-floor .tile.glow:after{content:"";position:absolute;inset:0;border-radius:inherit;border:8px solid var(--tile-glow);animation:pulseGlow .7s ease-out infinite;transform:scale(1.1);opacity:0;pointer-events:none;z-index:-1}@keyframes pulseGlow{0%{transform:scale(1) translateY(-1px);filter:blur(1px);opacity:1}to{transform:scale(1.2) translateY(1px);filter:blur(3px);opacity:.5}}.card{border:2px solid;padding:.5rem 1.5rem;margin-top:1rem;margin-bottom:1rem;font-family:Courier New,monospace;box-shadow:4px 4px 0 var(--shadow-1),8px 8px 0 var(--shadow-2),0 0 0 1px var(--border-color) inset;transition:transform .1s ease-in-out;background-color:var(--card-bg);color:var(--card-text)}.card.danger{background-color:var(--card-bg);color:var(--danger)}.card h2{margin-top:0;font-size:1.5rem;font-weight:700;letter-spacing:.03em}.card p{font-size:1rem;line-height:1.5}.card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow-1),10px 10px 0 var(--shadow-2),0 0 0 1px var(--border-color) inset}button{display:inline-block;font-family:Courier New,monospace;font-size:1rem;font-weight:700;text-transform:uppercase;text-align:center;padding:.5rem 1rem;border:2px solid var(--border-color);background-color:var(--btn-bg);color:var(--btn-text);box-shadow:3px 3px 0 var(--shadow-1),6px 6px 0 var(--shadow-2),0 0 0 1px var(--border-color) inset;cursor:pointer;transition:transform .1s ease-in-out;outline:none;margin-bottom:1rem}button:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--shadow-1),8px 8px 0 var(--shadow-2),0 0 0 1px var(--border-color) inset}button:active{transform:translate(0);box-shadow:2px 2px 0 var(--shadow-1),4px 4px 0 var(--shadow-2),0 0 0 1px var(--border-color) inset}a{font-family:Courier New,monospace;font-weight:700;font-size:1rem;text-decoration:underline;color:var(--link-color)}a:hover,a:focus{text-decoration:underline;outline:none;color:var(--link-color-2)}.flexRow{display:flex;flex-direction:row;align-items:center;gap:1em}.flexRow.space-between{justify-content:space-between}.flexRow.center{justify-content:center}.flexCol{display:flex;flex-direction:column;align-items:center;gap:.2em}.flexCol.space-between{justify-content:space-between}.flexCol.center{justify-content:center}.bold{font-weight:700;font-size:1.2em}
