@font-face{font-family:Oxanium;src:url('assets/oxanium-bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{--ink:#fff1d9;--mint:#edb876;--muted:#c5b8a8;--line:#edb87626;background:#110c0b;color:#fff1d9}body{background:linear-gradient(0deg,#0c090acc,#140e0c20 70%),url('assets/mars-canyon.webp') center center/cover fixed;min-height:100svh}body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 50% 40%,#060b12aa,transparent 72%);pointer-events:none;z-index:-1}#atmosphere{opacity:.12}.aurora,.hero-charm,.board-reflection{display:none}.grain{opacity:.035}header{max-width:620px;height:72px}.brand{font-family:Oxanium,sans-serif;letter-spacing:4px;color:#fff1d9}header .brand svg{stroke:#e6b68c}.header-tools .iconbutton{color:#dbc3a8}main{max-width:550px;padding-top:0}.mission-title{text-align:center;margin:2px 0 22px}.mission-title>span{font-family:Oxanium,sans-serif;font-size:10px;letter-spacing:2px;color:#dfb695}.mission-title h1{font:700 clamp(60px,11vw,86px)/1 Oxanium,sans-serif;letter-spacing:-5px;color:#fff0d2;margin:8px 0;text-shadow:0 0 40px #ffaf7225}.mission-title p{font-size:12px;letter-spacing:1px;color:#d7c5ad;margin:10px 0}.puzzle-heading{margin-bottom:13px}.session-switch{border-color:#ecbc8633;background:#171411aa;backdrop-filter:blur(12px)}.session-switch .nav{color:#c3a98e;font-size:12px}.session-switch .nav.active{color:#fff0d3;background:#eda76220}.level-button{font-family:Oxanium,sans-serif;color:#f5d4a8;font-size:15px}.board-shell{background:linear-gradient(130deg,#eed2ab35,#402d2095 35%,#20150dce 70%,#f3c89f28);border-color:#edcba24a;padding:9px;box-shadow:0 28px 65px #000b,inset 0 1px 0 #fff0d84a,0 0 80px #ed783515}.board{background:#160f0b;gap:3px}.board-halo{background:radial-gradient(ellipse,#ed803c22,transparent 72%)}.cell{border-radius:5px;background:var(--region-bg);box-shadow:inset 0 1px 0 #fff1d633,inset 0 -3px 0 #0004;overflow:hidden}.cell:before{background:linear-gradient(135deg,#ffe5c521,transparent 55%),url('assets/regolith.webp') center/170px;mix-blend-mode:soft-light;opacity:.65}.cell:after{font-size:9px!important;color:#fff5de;opacity:.65;right:5px;bottom:4px}.cell.occupied{background:radial-gradient(ellipse,#aaffb54a,transparent 70%),var(--region-bg);box-shadow:inset 0 0 0 1px #c1ffae77,inset 0 0 26px #a8ff9d20}.cell svg{width:96%;height:96%;left:2%;top:2%;filter:drop-shadow(0 0 7px #c2ffc355);pointer-events:none}.cell .xmark{color:#ffe4bd;font-size:26px;text-shadow:none}.cell[data-state=marked]{filter:brightness(.58)}.cell.hinted,.training-target{box-shadow:inset 0 0 0 2px #fff0a9,0 0 20px #ffca6977!important;filter:brightness(1.2)}.cell.occupied .gem-idle{animation:microbeDrift 6s ease-in-out infinite;transform-origin:center}.puzzle-status{color:#e3d0af;font-family:Oxanium,sans-serif;font-size:13px;padding:16px 5px 11px}#lives{color:#f1bc87;font-size:16px}.assist{background:linear-gradient(135deg,#ecd2ab18,#211814cc);border-color:#f0cda43a;box-shadow:inset 0 1px 0 #ffe7c72b,0 10px 25px #0006;padding:7px 12px}.assist .tool,.assist .tool:last-child{color:#f7d6ad}.assist #how{color:#d8bc9c}#hint{position:relative}#hintCount{font:700 11px Oxanium,sans-serif;color:#201108;background:#edc994;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;margin-left:-18px;align-self:flex-start;pointer-events:none;z-index:1}.tool-divider{background:#d4aa7555}#announcement{font-size:12px;height:auto;min-height:18px;color:#fae0b5}dialog{background:linear-gradient(145deg,#31251bf5,#120f0efc);border:1px solid #e3bd8844;box-shadow:0 30px 120px #000b;color:#fff1d9}dialog::backdrop{background:#070808aa;backdrop-filter:blur(10px)}.modal-top h2,.victory h2{font-family:Oxanium,sans-serif;font-size:28px;letter-spacing:-1px;color:#ffe7bd}.modal-copy,.rule-example p,.victory p{font-size:14px;color:#dfc8ac;line-height:1.7}.primary{background:linear-gradient(145deg,#fff0c9,#e5af72);border-color:#f8dbac;color:#302010;font-weight:600;box-shadow:0 0 35px #eea55b18}.secondary{border-color:#ecc29245;color:#e6c7a5}.primary:disabled{opacity:.5;cursor:default}.close{color:#ddbb99}.setting-row{font-size:15px;color:#dfc8ac}.setting-row button{font-size:14px;color:#ffe3b6}.haptics-switch{display:inline-flex;align-items:center;min-height:44px}.haptics-switch input{accent-color:#e6a364;width:48px;height:28px;cursor:pointer}.level-tile{color:#e6cba8;background:#ffffff05;border-color:#bd97672d}.level-tile.current{border-color:#efc58a}.level-tile.done{background:#a5f28d0c}.rule-example b{color:#efd4a4;background:#d9a56818}.overline{color:#deb987}.collectible strong{color:#eacda4}.collectible small{color:#bcb09e}#toast{background:#2a2019f5;color:#ffe2b9;border-color:#d0a77b55;font-size:13px}#cinemaBar{color:#edd3b1}.phone-link{position:fixed;right:26px;bottom:26px;display:flex;flex-direction:column;gap:12px;align-items:center;border:1px solid #efba7f44;background:linear-gradient(140deg,#edae5025,#1c140eaa);backdrop-filter:blur(16px);padding:16px 18px;border-radius:22px;box-shadow:0 12px 40px #0007;color:#edc798}.phone-link img{width:118px;height:118px;border-radius:9px}.phone-link span{font:700 9px Oxanium,sans-serif;letter-spacing:1.2px}.welcome{min-height:470px;padding:35px 28px;background:linear-gradient(0deg,#1c120ee8,transparent),url('assets/mars-canyon.webp') center 65%/cover;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:end;border-radius:20px}.welcome small{color:#eac293;font:700 10px Oxanium,sans-serif;letter-spacing:1.5px}.welcome h2{font:700 47px/1.08 Oxanium,sans-serif;letter-spacing:-2px;color:#fff1cf;margin:24px 0 10px}.welcome p{color:#f2d7b3;font-size:14px;line-height:1.6}.welcome button{width:100%;max-width:320px;margin-top:12px}.welcome .secondary{border:0;background:none;font-size:12px}.training #hintCount{display:none}.training .session-switch,.training .level-button,.training #undo,.training #restart,.training #how{opacity:.35;pointer-events:none}#guideHand{position:absolute;z-index:15;width:38px;pointer-events:none;filter:drop-shadow(0 5px 5px #0009);animation:handTap 1.8s ease-in-out infinite}#guideHand.double{animation:handDouble 2s ease-in-out infinite}#trainingPanel{position:relative;text-align:center;margin-top:13px;padding:16px;background:#1c1713e8;border:1px solid #e6bf843b;border-radius:16px}#trainingPanel small{font:700 10px Oxanium,sans-serif;letter-spacing:2px;color:#dea969}#trainingText{font-size:14px;color:#f6dfbd;line-height:1.5;margin:9px 0}#trainingPanel button{font-size:12px;padding:8px 12px;color:#c7af91}#trainingContinue{font-size:15px!important;color:#ffe1a9!important}.cinema .mission-title,.cinema .phone-link{display:none}
@keyframes microbeDrift{0%,100%{transform:scale(.95) rotate(-3deg)}50%{transform:scale(1.04) rotate(3deg)}}@keyframes handTap{0%,45%,100%{transform:translateY(7px) scale(1)}55%,70%{transform:translateY(-2px) scale(.92)}}@keyframes handDouble{0%,20%,60%,100%{transform:translateY(7px)}30%,50%{transform:translateY(-3px) scale(.9)}40%{transform:translateY(5px)}}
@media(min-width:1050px){header{max-width:none;padding:0 44px}main{padding-top:16px;max-width:550px;margin-right:11vw}.mission-title{position:fixed;left:6vw;top:30%;text-align:left;max-width:32vw}.mission-title h1{font-size:clamp(80px,12vw,160px);letter-spacing:-9px}.mission-title>span{font-size:11px}.mission-title p{font-size:15px;letter-spacing:1.1px;max-width:250px}.phone-link{right:auto;left:6vw;bottom:28px;flex-direction:row;padding:12px 18px}.phone-link img{width:82px;height:82px}.phone-link span{max-width:100px;line-height:1.8}body{background-position:center 65%}}
@media(max-width:850px){.phone-link{display:none}}@media(max-width:480px){header{height:60px}main{padding:0 16px 18px}.mission-title{margin:0 0 16px}.mission-title h1{font-size:64px;letter-spacing:-4px;margin:6px 0}.mission-title>span{font-size:9px}.mission-title p{font-size:11px;margin:7px 0}.puzzle-heading{height:38px;margin-bottom:10px}.board-shell{padding:7px}.puzzle-status{padding-top:14px}.assist{padding:5px 9px}.welcome{min-height:490px}.modal-inner{padding:24px}.cell:before{background-size:auto,120px}.welcome h2{font-size:43px}#trainingPanel{padding:12px;margin-top:9px}}
@media(max-height:740px) and (max-width:850px){.mission-title h1{font-size:45px}.mission-title p{display:none}.mission-title{margin-bottom:10px}header{height:52px}.controls{padding-top:0}.puzzle-status{padding-top:10px}.training .mission-title{display:none}}
@media(prefers-reduced-motion:reduce){#guideHand,.cell.occupied .gem-idle{animation:none!important}}body.reduced #guideHand,body.reduced .gem-idle{animation:none!important}

@media(min-width:1050px){main{margin-right:18vw}.phone-link{right:26px;left:auto;bottom:24px;flex-direction:column;padding:13px 15px}.phone-link img{width:92px;height:92px}.phone-link span{max-width:120px;text-align:center;font-size:9px}.mission-title{max-width:30vw}}
@media(min-width:851px) and (max-width:1049px){.phone-link{right:16px;bottom:16px;padding:11px}.phone-link img{width:80px;height:80px}.phone-link span{font-size:8px}}
@media(min-width:1050px){main{max-width:min(550px,calc(100svh - 230px))}}
.boot-error{padding:28px;text-align:center;color:#f3d7b1;font-size:15px;line-height:1.7}.boot-error button{padding:14px;background:#ecc595;color:#20120b;border-radius:14px;margin-top:18px}

.ad-transmission{border:1px solid #c995674d;border-radius:24px;background:#14100ef5;color:#fff1d6;padding:0;width:min(92vw,700px);max-height:90svh;box-shadow:0 30px 100px #000b}
.ad-transmission::backdrop{background:#070707d9;backdrop-filter:blur(16px)}
.ad-transmission section{padding:20px}.ad-transmission header{display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 11px Oxanium,sans-serif;letter-spacing:1px;color:#dbc1a0}.ad-transmission button{min-width:44px;min-height:44px;border:1px solid #ffe2b52b;background:#ffe2b511;color:#fff1d6;border-radius:14px;font:inherit;padding:8px 14px;cursor:pointer}.ad-transmission .ad-close{font-size:24px;padding:0}.ad-transmission video{display:block;width:100%;max-height:60svh;object-fit:contain;border-radius:14px;background:#000}.ad-message{font-size:16px}.ad-progress{height:3px;background:#ffe2b522;margin:12px 0;border-radius:8px;overflow:hidden}.ad-progress i{display:block;height:100%;width:0;background:#ffd7a2}.ad-transmission footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.ad-transmission footer span{color:#c8b29a}.ad-transmission a{color:#fff1d6;text-decoration:underline}.ad-transmission [hidden]{display:none}
