*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at top,#f3dfbd,#e4caab 80%);color:#513f32;font:14px Tahoma,Arial,sans-serif}button{font:inherit;cursor:pointer;touch-action:manipulation;border:1px solid #a28a70;border-radius:11px;color:inherit;background:#f9edda;padding:11px 12px}button:hover:not(:disabled){filter:brightness(1.05)}button:disabled{opacity:.5;cursor:default}button:focus-visible{outline:3px solid #215e68;outline-offset:3px}[hidden]{display:none!important}main{max-width:540px;margin:auto;padding:22px 18px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}header small{font:9px Arial;letter-spacing:2px;color:#856d59}h1{font-size:30px;margin:7px 0}h1 span{color:#af7951}header button{font-size:11px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.stats div{text-align:center;background:#f9ecd6;border:1px solid #bca083;border-radius:14px;padding:11px;font-size:10px;color:#79624d}.stats b{display:block;margin-top:5px;font-size:22px;color:#543b2b;font-weight:400}.map{position:relative;margin-top:15px;padding:0 15px 17px;border:1px solid #ad8c6d;border-radius:22px;background:#ecd4b0;overflow:hidden;box-shadow:0 15px 45px #88634318}.horizon{height:87px;position:relative;overflow:hidden;background:linear-gradient(#dfb38c,#f0d4ad);margin:0 -15px}.sun{position:absolute;left:22%;top:15px;width:34px;height:34px;background:#fff0bf;border-radius:50%;box-shadow:0 0 25px #fcebc18c}.pyramid{position:absolute;bottom:0;right:26%;width:0;height:0;border-left:57px solid transparent;border-right:57px solid transparent;border-bottom:73px solid #b68861}.pyramid:after{content:'';position:absolute;left:0;top:0;border-right:57px solid transparent;border-bottom:73px solid #ca9b6a}.dune{position:absolute;left:-20%;bottom:-52px;width:100%;height:90px;background:#d6b084;border-radius:50%;transform:rotate(7deg);z-index:1}.compass{position:absolute;right:17px;top:15px;font-size:45px;color:#6e594488}.map-label{display:flex;justify-content:space-between;font-size:10px;padding:13px 3px;color:#755c42}#grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;direction:ltr}.cell{aspect-ratio:1;min-width:0;padding:0;border-radius:8px;background:linear-gradient(140deg,#cda779,#c09a6e);border:1px solid #967449;box-shadow:0 3px #a68258;display:grid;place-items:center;font-size:22px;font-weight:700;transition:background .15s}.cell.closed:after{content:'·';color:#7a5a3a;font-size:22px}.cell.open{background:#f7e9cb;border-color:#b79f78;box-shadow:none}.cell.empty{background:#e3caa3}.cell.flagged{background:#ebc482;color:#714426;font-size:23px}.cell.trap{background:#a84f3f;color:#fff1cf;border-color:#89372f;box-shadow:none}.cell.number-1{color:#255c6c}.cell.number-2{color:#3a653a}.cell.number-3{color:#9b3b2c}.cell.number-4,.cell.number-5,.cell.number-6,.cell.number-7,.cell.number-8{color:#74416e}.cell:disabled{opacity:1}#message{font-size:12px;line-height:1.9;text-align:center;min-height:44px;margin:14px 0 8px;color:#725338}.modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modes button[aria-pressed=true]{background:#355c60;border-color:#355c60;color:#fff0d2}.actions{display:flex;gap:7px;margin-top:9px}.actions button{flex:1;font-size:10px;padding:11px 5px}footer{display:flex;justify-content:space-between;margin:19px 0;font-size:11px;color:#6e5542}.tip{text-align:center;font-size:10px;line-height:2;color:#7b624d}#overlay{position:fixed;inset:0;background:#382e27bd;backdrop-filter:blur(8px);display:grid;place-items:center;overflow:auto;z-index:5;padding:20px}.dialog{max-width:425px;width:100%;padding:26px;background:radial-gradient(ellipse at top,#f9e8c7,#ead1af);border:1px solid #fff3d5;border-radius:27px;text-align:center;box-shadow:0 25px 100px #34271966}.seal{font-size:65px;color:#966c45;line-height:1.2}.dialog small{font-size:11px;color:#83654e}.dialog h2{font-size:27px;margin:15px 0}.dialog p{line-height:2;font-size:13px}#guide{padding:13px;background:#d8bd9580;border-radius:12px;text-align:right;font-size:11px;line-height:2}.primary{width:100%;margin-top:19px;background:#355c60;color:#fff0d2;font-weight:700;border:0;padding:15px}#secondary{width:100%;margin-top:9px}@media(max-width:380px){main{padding:16px 12px}.map{padding-inline:10px}#grid{gap:5px}.cell{font-size:19px;border-radius:6px}.dialog{padding:22px}.horizon{height:70px}h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}