:root{color-scheme:dark;--ink: #07100f;--moss: #10211d;--cream: #f3e9c8;--muted: #9ca895;--amber: #f0b84f;--amber-hot: #ffd978;--danger: #cf6a4a;--radius: 18px;font-family:Arial Narrow,Avenir Next Condensed,Helvetica Neue,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;overflow:hidden;background:#020807}body{min-height:100dvh;color:var(--cream);touch-action:none;overscroll-behavior:none}button{color:inherit;font:inherit}#game-shell{position:relative;width:100vw;height:100dvh;overflow:hidden;isolation:isolate;background:var(--ink)}#game{width:100%;height:100%;display:block;touch-action:none}.screen{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 26px calc(28px + env(safe-area-inset-bottom));background:#040c0be6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}.screen.visible{opacity:1;visibility:visible}.hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}#loading{gap:22px;background:#07100f}#loading p,.eyebrow,.micro{font-size:10px;letter-spacing:.24em;font-weight:800;color:var(--muted)}.loading-mark{position:relative;width:72px;height:72px;animation:load-rotate 3.8s linear infinite}.loading-mark span{position:absolute;left:31px;width:10px;height:28px;border-radius:50%;background:var(--amber);transform-origin:5px 36px;opacity:.2}.loading-mark span:nth-child(2){transform:rotate(120deg);opacity:.55}.loading-mark span:nth-child(3){transform:rotate(240deg);opacity:.9}@keyframes load-rotate{to{transform:rotate(360deg)}}.title-screen{justify-content:space-between;align-items:stretch;background:linear-gradient(180deg,#030a0938,#030a0959 45%,#030a09f5),url(https://media4agents.com/m/m4a_pub_5601e4aa0cfaad9d/marsh-mist.png?prompt=seamless+dark+peat+marsh+water+with+reeds+faint+fog+deep+teal+and+charcoal+palette&style=pixel_game_asset&size=256x256&model=retrodiffusion&assetType=texture);image-rendering:pixelated}.title-copy{position:relative;z-index:2;padding-top:5vh}.title-copy .eyebrow{margin:0 0 12px;color:#c2b98f}h1,h2{margin:0;font-weight:900;text-transform:uppercase;letter-spacing:-.065em;line-height:.78}h1{font-size:clamp(70px,24vw,126px)}h1 em{color:var(--amber-hot);font-style:normal;text-shadow:0 7px 28px rgba(240,184,79,.22)}.lede{max-width:280px;margin:24px 0 0;font-family:Georgia,serif;font-size:17px;line-height:1.45;color:#c8c4ac}.moth-preview{position:absolute;z-index:1;left:50%;top:54%;width:min(68vw,300px);aspect-ratio:1;transform:translate(-50%,-50%)}.moth-preview img{position:absolute;inset:19%;width:62%;filter:drop-shadow(0 0 20px rgba(255,210,105,.52));animation:moth-float 3.1s ease-in-out infinite;image-rendering:pixelated}.preview-halo{position:absolute;inset:8%;border:1px solid rgba(255,218,123,.16);border-radius:50%;box-shadow:inset 0 0 60px #f0b84f1a,0 0 80px #f0b84f0f;animation:halo-breathe 3.1s ease-in-out infinite}.preview-halo:before,.preview-halo:after{content:"";position:absolute;inset:14%;border:1px solid rgba(255,218,123,.08);border-radius:50%}.preview-halo:after{inset:-8%;border-style:dashed;animation:load-rotate 22s linear infinite reverse}@keyframes moth-float{50%{transform:translateY(-9px) rotate(2deg)}}@keyframes halo-breathe{50%{transform:scale(1.07);opacity:.72}}.start-actions{position:relative;z-index:2;display:grid;gap:14px}.primary-button{min-height:62px;width:100%;padding:0 10px 0 22px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:var(--radius);color:#152016;background:var(--amber-hot);box-shadow:inset 0 1px #ffffff52,0 12px 34px #00000040;font-size:12px;font-weight:900;letter-spacing:.13em;cursor:pointer}.primary-button i{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;color:var(--cream);background:#1c2c24;font-size:27px;font-style:normal}.primary-button:active{transform:scale(.98)}.text-button,.close-button,.icon-button{border:0;background:transparent;cursor:pointer}.text-button{min-height:34px;color:#c9c5ae;font-size:10px;font-weight:800;letter-spacing:.2em}.hud{position:absolute;z-index:8;top:0;left:0;width:100%;min-height:100px;padding:calc(17px + env(safe-area-inset-top)) 18px 0;display:grid;grid-template-columns:1fr 110px 38px;align-items:start;gap:10px;transition:opacity .25s ease}.score-block{display:grid;justify-items:start}.score-block strong{margin-top:1px;font-size:31px;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.combo{margin-top:4px;color:var(--amber-hot);font-size:9px;font-weight:900;letter-spacing:.16em;transition:transform .18s ease}.combo.pop{transform:scale(1.2)}.night-block{display:grid;gap:8px;padding-top:2px;text-align:center}.night-block b{color:var(--cream)}.night-track{width:100%;height:3px;overflow:hidden;background:#ece4c324;border-radius:3px}.night-track i{display:block;width:0;height:100%;background:var(--amber-hot);transform-origin:left}.icon-button{width:38px;height:38px;border:1px solid rgba(236,228,195,.15);border-radius:13px;display:flex;align-items:center;justify-content:center;gap:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.icon-button span{width:3px;height:12px;border-radius:2px;background:var(--cream)}.heart-wrap{position:absolute;z-index:8;left:18px;bottom:calc(20px + env(safe-area-inset-bottom));display:grid;gap:6px;transition:opacity .25s ease}.hearts{display:flex;gap:5px}.heart{width:21px;height:8px;border-radius:2px 8px 8px 2px;transform:skew(-16deg);background:var(--amber-hot);box-shadow:0 0 10px #f0b84f38}.heart.lost{background:#c9c5ae26;box-shadow:none}.flare{position:absolute;z-index:9;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:78px;height:78px;padding:0;border:1px solid rgba(255,225,139,.34);border-radius:50%;color:#6b5a30;background:#0e1b17c2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:visible;cursor:pointer;transition:opacity .25s ease,transform .15s ease}.flare.ready{color:#152016;background:var(--amber-hot);box-shadow:0 0 30px #f0b84f5c;animation:flare-ready 1.2s ease-in-out infinite}.flare-core{position:relative;z-index:2;display:block;font-size:10px;font-weight:900;letter-spacing:.09em}.flare small{position:relative;z-index:2;display:block;margin-top:2px;font-size:8px;font-weight:800}.flare-orbit{position:absolute;inset:-5px;border:1px dashed rgba(255,225,139,.25);border-radius:50%;transform:rotate(var(--charge, 0deg))}.flare.ready .flare-orbit{animation:load-rotate 4s linear infinite;border-color:#1a201366}.flare:active{transform:scale(.93)}@keyframes flare-ready{50%{box-shadow:0 0 42px #f0b84f94}}.tutorial,.pause-screen,.result-screen{background:#050e0cf0}.tutorial{justify-content:flex-start;align-items:stretch;overflow-y:auto}.tutorial-content{width:100%;max-width:430px;margin:auto;padding:42px 0 12px}.close-button{position:absolute;top:calc(16px + env(safe-area-inset-top));right:18px;width:42px;height:42px;border:1px solid rgba(236,228,195,.14);border-radius:14px;color:var(--cream);font-size:26px}.tutorial h2,.pause-screen h2,.result-screen h2{font-size:clamp(48px,15vw,78px);line-height:.88}.tutorial .eyebrow,.pause-screen .eyebrow,.result-screen .eyebrow{margin:0 0 14px;color:var(--amber)}.gesture-demo{position:relative;height:122px;margin:25px 0 18px;border-radius:var(--radius);overflow:hidden;background:radial-gradient(circle at 28% 65%,#f0b84f33,#10211d80 42%,#10211d2e);border:1px solid rgba(236,228,195,.09)}.gesture-beam{position:absolute;left:20%;bottom:-35px;width:210px;height:130px;background:conic-gradient(from 245deg at 0 100%,#ffda7800,#ffda7852 24deg,#ffda7800 50deg);animation:beam-sway 2.7s ease-in-out infinite;transform-origin:0 100%}.gesture-thumb{position:absolute;left:25%;top:66%;width:31px;height:31px;border:2px solid var(--amber-hot);border-radius:50%;box-shadow:0 0 20px #f0b84f4d;animation:thumb-drag 2.7s ease-in-out infinite}@keyframes thumb-drag{0%,to{transform:translate(0)}50%{transform:translate(170px,-62px)}}@keyframes beam-sway{0%,to{transform:rotate(-10deg)}50%{transform:rotate(25deg)}}.instructions{display:grid;gap:0;margin-bottom:22px}.instructions p{display:grid;grid-template-columns:76px 1fr;gap:12px;margin:0;padding:14px 0;border-bottom:1px solid rgba(236,228,195,.1)}.instructions b{color:var(--amber-hot);font-size:10px;letter-spacing:.14em}.instructions span{color:#b8b8a5;font-family:Georgia,serif;font-size:14px;line-height:1.45}.pause-screen{gap:22px}.pause-screen .primary-button,.pause-screen .text-button{width:min(100%,340px)}.result-screen{justify-content:flex-end;align-items:stretch;gap:22px}.result-screen h2{margin-bottom:auto}.result-score{display:flex;align-items:end;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid rgba(236,228,195,.14)}.result-score span,.result-stats span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.18em}.result-score strong{color:var(--amber-hot);font-size:38px;line-height:1}.result-stats{display:grid;grid-template-columns:repeat(3,1fr)}.result-stats p{display:grid;gap:5px;margin:0}.result-stats b{font-size:22px}.toast{position:absolute;z-index:12;left:50%;top:29%;min-width:120px;transform:translate(-50%,14px);opacity:0;text-align:center;color:var(--amber-hot);font-size:12px;font-weight:900;letter-spacing:.16em;pointer-events:none;transition:opacity .2s ease,transform .2s ease;text-shadow:0 2px 12px #07100f}.toast.show{opacity:1;transform:translate(-50%)}.vignette{position:absolute;z-index:5;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #00000094}.grain{position:fixed;z-index:30;inset:0;pointer-events:none;opacity:.04;background-image:url(https://media4agents.com/m/m4a_pub_5601e4aa0cfaad9d/marsh-grain.png?prompt=seamless+fine+charcoal+stone+grain+with+tiny+speckles+low+contrast&style=pixel_game_asset&size=64x64&model=retrodiffusion&assetType=texture);mix-blend-mode:screen}@media(min-width:700px){body{display:grid;place-items:center;background:radial-gradient(circle,#12221e,#020706 72%)}#game-shell{width:min(100vw,500px);box-shadow:0 0 0 1px #ffffff12,0 35px 100px #000}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media(prefers-reduced-transparency:reduce){.screen,.flare,.icon-button{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#07100f}}
