:root{--green: #5aa642;--green-d: #3f7d2e;--ink: #1f3138;--muted: #5c6f6a}#ui-root{position:fixed;inset:0;z-index:100;font-family:Poppins,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background:#cfeede;transition:opacity .7s ease}#ui-root.fading{opacity:0}#ui-root.hidden{display:none}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;overflow:hidden;background:linear-gradient(115deg,#8fd2f0,#cfeede 32%,#fff,#cfeede 68%,#8fd2f0);background-size:280% 280%;animation:bgSweep 4s ease-in-out infinite alternate;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.screen.show{opacity:1;visibility:visible}@keyframes bgSweep{0%{background-position:0% 50%}to{background-position:100% 50%}}.screen:before{content:"";position:absolute;inset:-25%;pointer-events:none;background:radial-gradient(45% 45% at 50% 35%,rgba(255,252,234,.7),transparent 70%);animation:lightMove 5s ease-in-out infinite alternate}@keyframes lightMove{0%{transform:translate(-8%,-4%) scale(1);opacity:.75}to{transform:translate(8%,6%) scale(1.15);opacity:1}}.hud{position:fixed;top:16px;z-index:9;display:flex;opacity:0;pointer-events:none;transition:opacity .8s ease;font-family:Oswald,sans-serif;font-weight:600}.hud.show{opacity:1}.hud-value{left:18px;flex-direction:column;align-items:center}.hud-row{display:flex;align-items:baseline;transform:translate(-3px)}.hud-swings{right:18px;align-items:center;gap:9px}.hud-swingtext{display:flex;align-items:baseline}.hud-label{font-style:italic;font-size:clamp(12px,1.8vw,17px);letter-spacing:.06em;color:#fff;-webkit-text-stroke:.8px #000;paint-order:stroke fill;text-shadow:0 2px 6px rgba(0,0,0,.5);margin-bottom:1px}.hud-cur{display:inline-block;font-style:italic;font-variant-numeric:tabular-nums;font-size:clamp(22px,3.4vw,34px);color:#fff;-webkit-text-stroke:1px #000;paint-order:stroke fill;text-shadow:0 2px 8px rgba(0,0,0,.6)}.hud-value .hud-cur{font-size:clamp(28px,4.2vw,42px)}.hud-swings .hud-cur{min-width:2ch;text-align:right}.hud-den{font-style:italic;font-size:clamp(14px,2vw,21px);color:#fff;-webkit-text-stroke:1px #000;paint-order:stroke fill;text-shadow:0 2px 8px rgba(0,0,0,.6)}.hud-pick{width:clamp(26px,3.4vw,38px);height:auto;transform:rotate(12deg);filter:brightness(0) invert(1) drop-shadow(0 2px 4px rgba(0,0,0,.6))}.hud.bump .hud-cur{animation:invBump .3s ease}.inv-grid{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:9;display:none;grid-template-columns:repeat(2,auto);gap:9px 18px;pointer-events:none;padding:16px 20px;background:#0a101e66;border-radius:14px;backdrop-filter:blur(2px)}.inv-grid.show{display:grid}.inv-cell{position:relative;display:flex;align-items:center;gap:8px;pointer-events:auto}.inv-tip{position:absolute;bottom:calc(100% + 6px);left:0;white-space:nowrap;text-align:center;padding:5px 11px;background:#0a101eeb;border-radius:8px;font-family:Oswald,sans-serif;letter-spacing:.06em;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:12}.inv-tip-name{font-weight:500;font-size:14px;color:#fff}.inv-tip-val{font-weight:400;font-size:12px;color:#ffffffb3;margin-top:1px}.inv-cell.revealed:hover .inv-tip{opacity:1}.inv-icon{width:38px;height:38px;flex:none;background-size:contain;background-repeat:no-repeat;background-position:center;display:flex;align-items:center;justify-content:center;font-family:Oswald,sans-serif;font-weight:600;font-size:22px;color:#ffffff80;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5))}.inv-count{font-family:Oswald,sans-serif;font-weight:600;font-style:italic;font-size:19px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.7)}.inv-cell.bump .inv-icon{animation:invBump .3s ease}@keyframes invBump{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}.collect-btn{position:fixed;left:12px;bottom:8%;z-index:10;padding:6px 10px;background:none;border:none;box-shadow:none;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(22px,4vw,34px);text-transform:uppercase;letter-spacing:.14em;color:#fff;-webkit-text-stroke:1.5px #000;paint-order:stroke fill;text-shadow:0 2px 10px rgba(0,0,0,.55);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .15s ease,text-shadow .2s ease}.collect-btn.show{opacity:1;pointer-events:auto}.corn-badge{position:fixed;right:18px;top:clamp(84px,12vh,112px);z-index:10;width:clamp(44px,6vw,64px);height:auto;opacity:0;pointer-events:none;transform:translateY(-6px) scale(.9);transition:opacity .6s ease,transform .4s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}.corn-badge.show{opacity:1;transform:translateY(0) scale(1)}.gem-flash{position:fixed;inset:0;z-index:95;pointer-events:none;background:#fff;opacity:0}.gem-flash.show{animation:gemFlash 1.5s ease-out forwards}@keyframes gemFlash{0%{opacity:.95}to{opacity:0}}.mainmenu-btn{left:auto;right:12px;bottom:8%;font-size:clamp(15px,2.6vw,24px);transition:opacity .8s ease,transform .15s ease,text-shadow .2s ease}.collect-btn:hover{transform:translateY(-1px);text-shadow:0 0 34px rgba(255,255,255,.95),0 0 68px rgba(255,255,255,.6),0 2px 10px rgba(0,0,0,.55)}.game-intro{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(56px,13vh,130px);pointer-events:none}.intro-line{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(22px,4.6vw,40px);color:#fff;-webkit-text-stroke:1.3px #000;paint-order:stroke fill;text-shadow:0 2px 14px rgba(0,0,0,.5);opacity:0;letter-spacing:.6em;transition:opacity 1.2s cubic-bezier(.65,0,.35,1),letter-spacing 1.2s cubic-bezier(.65,0,.35,1)}.game-intro.show .intro-line{opacity:1;letter-spacing:.04em}.intro-line.arrows{display:flex;align-items:center;justify-content:center;gap:.45em}.intro-line .arrow{letter-spacing:normal}.break-warn{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 6vw;pointer-events:none;opacity:0;transition:opacity .6s ease}.break-warn.show{opacity:1}.break-warn .intro-line{opacity:1;letter-spacing:.04em;transition:none}.load-inner{display:flex;flex-direction:column;align-items:center}.swings-note{display:none;margin-top:clamp(20px,4.5vh,46px);max-width:min(88vw,620px);text-align:center;line-height:1.35;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(15px,2.8vw,22px);text-transform:uppercase;letter-spacing:.14em;color:#1c2e54}.screen.pregame .swings-note{display:block;animation:notePulse 2.6s ease-in-out infinite}@keyframes notePulse{0%,to{opacity:.45}50%{opacity:1}}.loading-label{margin-top:clamp(20px,4.5vh,46px);text-align:center;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(15px,2.8vw,22px);text-transform:uppercase;letter-spacing:.14em;color:#1c2e54;animation:notePulse 2.6s ease-in-out infinite}.screen.pregame .loading-label{display:none}.screen.menu{perspective:900px}.menu-inner{display:flex;flex-direction:column;align-items:center;transform-style:preserve-3d;transition:transform .25s ease-out;will-change:transform}.title-game{position:relative;font-family:Cinzel,Georgia,serif;font-weight:900;font-size:clamp(38px,10vw,102px);line-height:1;letter-spacing:.04em;background:linear-gradient(100deg,#080b14,#1c2e54 26%,#7596c8 46%,#1c2e54 64%,#080b14);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transform:translateY(12px) scale(.97);transition:opacity .9s ease,transform .9s ease}.title-game.reveal{opacity:1;transform:none}.title-e{display:inline-block;width:0;opacity:0;background:linear-gradient(100deg,#080b14,#1c2e54 26%,#7596c8 46%,#1c2e54 64%,#080b14);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;transition:width .55s cubic-bezier(.34,1.56,.64,1),opacity .45s ease;animation:titleGlimmer 9s linear infinite}.title-e.in{opacity:1}.title-knock.hit{animation:titleKnock .4s ease-out}@keyframes titleKnock{0%{transform:translate(0) rotate(0)}18%{transform:translate(-4px,2px) rotate(-.5deg)}36%{transform:translate(4px,-2px) rotate(.5deg)}54%{transform:translate(-3px,1px) rotate(-.3deg)}72%{transform:translate(2px,-1px) rotate(.2deg)}to{transform:translate(0) rotate(0)}}.screen.menu.show .title-game{animation:titleGlimmer 9s linear infinite,titleGlow 4s ease-in-out infinite}@keyframes titleGlimmer{0%{background-position:200% 0}to{background-position:-60% 0}}@keyframes titleGlow{0%,to{filter:drop-shadow(0 2px 6px rgba(15,25,50,.32))}50%{filter:drop-shadow(0 3px 14px rgba(45,75,140,.5))}}.title-glass{position:fixed;inset:0;z-index:5;pointer-events:none}.title-pick{position:fixed;inset:0;z-index:7;pointer-events:none}.click-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;pointer-events:none;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(20px,4vw,32px);text-transform:uppercase;letter-spacing:.16em;color:#1c2e54;opacity:0;transition:opacity .6s ease,transform .25s ease-out}.click-prompt.show{opacity:1;animation:promptPulse 1.8s ease-in-out infinite}@keyframes promptPulse{0%,to{text-shadow:0 0 0 rgba(80,120,210,0)}50%{text-shadow:0 0 20px rgba(80,120,210,.55)}}.btnrow{display:flex;margin-top:28px;justify-content:center;opacity:0;pointer-events:none;transition:opacity .6s ease}.screen.menu.title-done .btnrow{opacity:1;pointer-events:auto}.btnrow .btn{margin-top:0;padding:6px 12px;background:none;border:none;border-radius:0;box-shadow:none;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(22px,4vw,34px);letter-spacing:.14em;text-transform:uppercase;color:#1c2e54;text-shadow:none;transition:transform .15s ease,color .2s ease,text-shadow .25s ease}.btnrow .btn:hover{transform:translateY(-1px);background:none;box-shadow:none;color:#fff;text-shadow:0 0 8px rgba(80,120,210,1),0 0 18px rgba(80,120,210,.95),0 0 40px rgba(40,66,145,.9)}.screen.mainscreen{justify-content:center;perspective:900px}.ms-inner{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.4vh,24px);transform-style:preserve-3d;transition:transform .25s ease-out;will-change:transform}.ms-section{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.3vh,12px)}.ms-heading{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(14px,2.4vw,22px);color:#1c2e54;text-shadow:0 1px 0 rgba(255,255,255,.5)}.ms-row{display:flex;justify-content:center;align-items:center;gap:clamp(8px,1.6vw,18px)}.ms-tile{position:relative;width:clamp(63px,12.75vh,138px);height:clamp(63px,12.75vh,138px);cursor:default;transition:transform .18s ease}.ms-tile-img{position:absolute;inset:0;border-radius:10px;background-size:cover;background-position:center;background-repeat:no-repeat;display:grid;place-items:center;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(39px,7.5vh,78px);color:#1c2e54;transition:opacity .2s ease,filter .2s ease}.ms-level .ms-tile-img{filter:drop-shadow(0 5px 12px rgba(20,40,30,.28))}.ms-pick .ms-tile-img{background-size:contain;border-radius:0;filter:drop-shadow(0 4px 9px rgba(20,40,30,.3))}.ms-tile.unlocked{cursor:pointer}.ms-tile.unlocked:hover{transform:translateY(-4px) scale(1.05)}.ms-tile.dimmed{cursor:not-allowed}.ms-tile.dimmed .ms-tile-img{opacity:.4;filter:grayscale(.25) drop-shadow(0 4px 9px rgba(20,40,30,.18))}.ms-tile.ms-q{cursor:not-allowed}.ms-tile.selected{transform:scale(1.06)}.ms-tile.selected .ms-tile-img{filter:drop-shadow(0 0 9px rgba(80,120,210,1)) drop-shadow(0 0 17px rgba(80,120,210,1)) drop-shadow(0 0 38px rgba(40,66,145,.95)) drop-shadow(0 5px 12px rgba(20,40,30,.3))}.ms-tile.selected:hover{transform:translateY(-4px) scale(1.08)}.ms-pick .ms-tile.selected .ms-tile-img{filter:drop-shadow(0 0 10px rgba(80,120,210,1)) drop-shadow(0 0 10px rgba(80,120,210,1)) drop-shadow(0 0 26px rgba(80,120,210,1)) drop-shadow(0 0 54px rgba(40,66,145,.92))}.ms-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:nowrap;text-align:center;padding:5px 11px;background:#0a101eeb;border-radius:8px;font-family:Oswald,sans-serif;letter-spacing:.06em;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:12}.ms-tile:hover .ms-tip{opacity:1}.ms-tip-name{font-weight:500;font-size:14px;color:#fff}.ms-tip-req{font-weight:400;font-size:12px;color:#ffffffb3;margin-top:1px}.ms-play{margin-top:clamp(2px,1vh,10px);padding:8px 16px;background:none;border:none;cursor:pointer;font-family:Oswald,sans-serif;font-weight:600;font-size:clamp(24px,4.5vw,38px);letter-spacing:.16em;text-transform:uppercase;color:#1c2e54;transition:color .2s ease,text-shadow .25s ease}.ms-play:hover{color:#fff;text-shadow:0 0 8px rgba(80,120,210,1),0 0 18px rgba(80,120,210,.95),0 0 40px rgba(40,66,145,.9)}.title{position:relative;font-weight:700;font-size:clamp(42px,11vw,112px);letter-spacing:.01em;line-height:1;color:var(--ink)}.title .ltr{display:inline-block;opacity:0;transform:translateY(.5em)}.screen.show .title .ltr{animation:ltrIn .55s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d, 0s)}@keyframes ltrIn{to{opacity:1;transform:none}}.tagline{position:relative;margin-top:16px;font-size:clamp(14px,2.5vw,20px);font-weight:400;color:var(--muted);opacity:0}.screen.show .tagline{animation:fadeUp .6s ease forwards .7s}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.btn{position:relative;margin-top:32px;padding:14px 44px;font-family:inherit;font-size:18px;font-weight:600;color:#fff;background:var(--green);border:none;border-radius:40px;cursor:pointer;box-shadow:0 10px 24px #3f7d2e59;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;opacity:0}.screen.show .btn{animation:fadeUp .5s ease forwards .95s}.btn:hover{transform:translateY(-2px);background:var(--green-d);box-shadow:0 14px 30px #3f7d2e73}.btn:active{transform:translateY(0)}.miner{position:relative;display:flex;align-items:center;justify-content:center}.miner img{height:auto;mix-blend-mode:multiply}.miner .ore{width:clamp(45px,11.25vw,84px);transform-origin:50% 80%;animation:rockShake 1s ease-in-out infinite}.miner .pick{width:clamp(36px,9vw,67px);margin-left:-11px;position:relative;bottom:3px;transform-origin:50% 92%;animation:pickSwing 1s cubic-bezier(.45,0,.55,1) infinite}@keyframes pickSwing{0%{transform:rotate(8deg)}30%{transform:rotate(18deg)}50%{transform:rotate(-28deg)}to{transform:rotate(8deg)}}@keyframes rockShake{0%,46%{transform:translate(0) rotate(0)}50%{transform:translate(-3px,1px) rotate(-2deg)}54%{transform:translate(3px,-1px) rotate(2deg)}58%{transform:translate(-2px,1px) rotate(-1deg)}62%{transform:translate(1px) rotate(.5deg)}66%,to{transform:translate(0) rotate(0)}}.loadbar{position:relative;margin-top:36px;width:min(320px,70vw);height:6px;border-radius:6px;background:#1f313826;overflow:hidden}.loadbar .fill{height:100%;width:0%;border-radius:6px;background:linear-gradient(90deg,var(--green),var(--green-d));transition:width .3s ease}.loadtext{position:relative;margin-top:13px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.enter{position:relative;font-size:clamp(20px,4vw,30px);font-weight:600;color:var(--ink);opacity:0}.screen.show .enter{animation:fadeUp .5s ease forwards}.enter .dots i{animation:blink 1.2s infinite both}.enter .dots i:nth-child(2){animation-delay:.2s}.enter .dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,to{opacity:.2}50%{opacity:1}}.card{position:relative;width:90%;max-width:390px;padding:30px 28px;background:#ffffffd1;backdrop-filter:blur(10px);border-radius:22px;box-shadow:0 22px 54px #14281e38;opacity:0}.screen.show .card{animation:cardIn .5s cubic-bezier(.2,.8,.2,1) forwards}@keyframes cardIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.card h2{margin:0 0 20px;font-size:24px;font-weight:700;color:var(--ink)}.steps{display:flex;flex-direction:column;gap:16px;text-align:left}.step{display:flex;align-items:center;gap:14px}.step .ico{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:22px;background:#eaf6e2}.step .txt{font-size:15px;line-height:1.35;color:var(--ink)}.card .btn{margin-top:26px;width:100%}.screen.show .card .btn{animation:none;opacity:1}
