/* ---------- Lawn Mower: Arcade card ---------- */
.mowfeat{width:100%;display:grid;grid-template-columns:132px 1fr auto;gap:16px;align-items:center;text-align:left;padding:12px 16px 12px 12px;margin-bottom:14px;border-radius:22px;border:2px solid #7fd35a;background:radial-gradient(circle at 15% 30%,rgba(127,211,90,.35),transparent 60%),linear-gradient(120deg,#1f4d2a,#183a2a 60%,#152a2a);color:#fff;box-shadow:0 10px 30px -14px rgba(60,200,80,.6)}
.mowfeat img{width:132px;height:auto;border-radius:16px;display:block}
.mf-tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.mf-tx b{font-family:var(--f-display);font-size:24px}
.mf-tx small{opacity:.85;font-size:13.5px;line-height:1.35}
.mf-new{align-self:flex-start;background:#ffd23f;color:#3a2a00;font-weight:900;font-size:11px;letter-spacing:.1em;border-radius:6px;padding:2px 7px}
.mowfeat .btn{pointer-events:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
@media (max-width:560px){.mowfeat{grid-template-columns:96px 1fr}.mowfeat img{width:96px}.mowfeat .btn{grid-column:1/-1;justify-content:center}}

/* ---------- hub ---------- */
.mowov{overflow-y:auto}
.mowov .arcbar{position:sticky;top:0;z-index:3}
.bigbal.sm{font-size:16px;padding:4px 10px}.bigbal.sm .coin{width:20px;height:20px}
.mh{max-width:900px;margin:0 auto;padding:14px 16px 40px;display:flex;flex-direction:column;gap:14px;width:100%}
.mh-hero{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;background:linear-gradient(120deg,#1f4d2a,#14233a);border-radius:22px;padding:12px;border:1px solid rgba(127,211,90,.4)}
.mh-hero img{width:150px;border-radius:16px;display:block}
.mh-hero p{margin:0 0 8px;font-size:15px;opacity:.9}
.mh-meta{display:flex;gap:8px;flex-wrap:wrap}
.mh-meta span{background:rgba(255,255,255,.1);border-radius:999px;padding:5px 11px;font-weight:800;font-size:13.5px;display:inline-flex;align-items:center;gap:5px}
.mh-meta .coin{width:18px;height:18px}
@media (max-width:520px){.mh-hero{grid-template-columns:100px 1fr}.mh-hero img{width:100px}.mh-hero p{font-size:13.5px}}
.mh-tabs{align-self:center}
.mh-tabs button{padding:9px 26px;font-size:16px}
.mh-envs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.mh-env{background:#141b33;border:1px solid #2e3754;border-radius:20px;overflow:hidden}
.mh-thumb{height:118px;background-size:cover;background-position:center;position:relative}
.mh-thumb b{position:absolute;left:10px;top:10px;background:rgba(10,14,30,.75);border-radius:10px;padding:4px 10px;font-family:var(--f-display);font-size:16px}
.mh-lvls{display:flex;flex-direction:column;gap:6px;padding:10px}
.mh-lvl{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;text-align:left;padding:8px 10px;border-radius:14px;border:1px solid #39446a;background:#1c2442;color:#fff}
.mh-lvl:hover:not(.locked){border-color:#7fd35a;background:#223052}
.mh-lvl .n{width:34px;height:34px;border-radius:10px;background:#7fd35a;color:#103010;font-weight:900;display:grid;place-items:center;font-family:var(--f-display)}
.mh-lvl .t{display:flex;flex-direction:column;min-width:0}.mh-lvl .t b{font-size:15px}.mh-lvl .t small{font-size:12px;opacity:.7}
.mh-lvl .s i{font-style:normal;color:#3d4766;font-size:18px}.mh-lvl .s i.on{color:#ffd23f;text-shadow:0 0 8px rgba(255,210,63,.6)}
.mh-lvl.locked{opacity:.5}.mh-lvl.locked .n{background:#3d4766;color:#9aa4c2}
.mh-garage{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.mh-mower{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:14px;border-radius:20px;background:#141b33;border:2px solid #2e3754}
.mh-mower.eq{border-color:#7fd35a;box-shadow:0 0 24px -6px rgba(127,211,90,.6)}
.mh-mower img{height:96px;width:auto;max-width:100%;object-fit:contain}
.mh-mower b{font-family:var(--f-display);font-size:18px}
.mh-mower small{opacity:.75;font-size:13px;min-height:2.6em}
.mh-stats{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;width:100%;align-items:center;font-size:12px;opacity:.85;text-align:left}
.mh-stats i{height:8px;border-radius:9px;background:#2e3754;position:relative;overflow:hidden}
.mh-stats i::after{content:"";position:absolute;inset:0;width:var(--v);background:linear-gradient(90deg,#7fd35a,#ffd23f);border-radius:9px}
.mh-mower .btn{width:100%;display:inline-flex;justify-content:center;align-items:center;gap:6px}
.mh-mower .btn[aria-disabled="true"]{opacity:.5}

/* ---------- game ---------- */
.mowstage{position:absolute;inset:0}
.mw-root{position:absolute;inset:0;overflow:hidden;background:#2f5a2a;touch-action:none;user-select:none;-webkit-user-select:none;font-family:var(--f-body)}
.mw-root.night{background:#0c0f1a}.mw-root.snow{background:#dfe9f6}
.mw-cv{position:absolute;inset:0;display:block}
.mw-hud{position:absolute;left:0;right:0;top:0;height:52px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:6px 10px;padding-top:max(6px,env(safe-area-inset-top,0px));background:linear-gradient(180deg,rgba(8,14,30,.85),rgba(8,14,30,.55));color:#fff;z-index:2}
.mw-lvl{display:flex;flex-direction:column;line-height:1}.mw-lvl b{font-family:var(--f-display);font-size:15px;letter-spacing:.04em}
.mw-stars{display:flex;gap:2px;font-size:15px}.mw-stars i{font-style:normal;color:#ffd23f;text-shadow:0 0 6px rgba(255,210,63,.6);transition:color .3s}.mw-stars i.off{color:#4a5270;text-shadow:none}
.mw-prog{display:flex;align-items:center;gap:8px;min-width:0}
.mw-prog span{font-family:var(--f-display);font-size:20px;font-weight:800;min-width:3.2ch;text-align:right}
.mw-bar{flex:1;height:14px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden;box-shadow:inset 0 0 0 2px rgba(0,0,0,.25)}
.mw-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#4fd34a,#b6f25a);border-radius:999px;transition:width .2s}
.mw-right{display:flex;align-items:center;gap:8px}
.mw-coins{display:inline-flex;align-items:center;gap:4px;background:rgba(0,0,0,.35);border-radius:999px;padding:3px 10px 3px 4px;font-weight:900;font-family:var(--f-display);font-size:17px}
.mw-coins img{width:22px;height:auto}
.mw-coins.pop{animation:pop .3s}
.mw-time{font-family:var(--f-mono);font-size:14px;opacity:.9}.mw-time.over{color:#ff9a9a}
.mw-pausebtn{width:38px;height:38px;border-radius:12px;border:0;background:#2b6fd6;color:#fff;font-weight:900;box-shadow:0 3px 0 #1a4a98}
.mw-mini{position:absolute;right:10px;top:60px;width:64px;height:auto;image-rendering:pixelated;border:3px solid rgba(255,255,255,.85);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.35);z-index:2;opacity:.92}
.mw-pu{position:absolute;left:10px;top:60px;display:flex;flex-direction:column;gap:6px;z-index:2}
.mw-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(8,14,30,.75);border:2px solid var(--c);border-radius:999px;padding:3px 10px 3px 3px;color:#fff;font-weight:800;font-size:13px;position:relative}
.mw-chip img{width:24px;height:24px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}
.mw-chip i{position:absolute;left:3px;bottom:-5px;height:3px;width:calc(var(--p) * .9);background:var(--c);border-radius:3px}
.mw-combo{position:absolute;left:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:2;color:#fff;display:flex;align-items:baseline;gap:6px;font-family:var(--f-display);text-shadow:0 2px 0 rgba(0,0,0,.5)}
.mw-combo span{font-size:13px;letter-spacing:.1em;opacity:.85}.mw-combo b{font-size:30px;color:#ffe27a}
.mw-combo.hot b{color:#ff8a3d;animation:pulse .4s ease-in-out infinite alternate}
.mw-call{position:absolute;left:0;right:0;top:30%;display:grid;place-items:center;pointer-events:none;z-index:3}
.mw-c{grid-area:1/1;font-family:var(--f-brand);font-size:clamp(30px,8vw,54px);color:#ffe27a;text-shadow:0 4px 0 #7b3ff2,0 0 26px rgba(255,200,60,.6);transform:rotate(-4deg);animation:mwcall 1.3s cubic-bezier(.2,1.4,.4,1) forwards;white-space:nowrap}
.mw-c.go{color:#7cff6b;text-shadow:0 4px 0 #0b6b2a,0 0 26px rgba(120,255,110,.6);font-size:clamp(50px,14vw,90px)}
.mw-c.bad{color:#ff8a8a;text-shadow:0 4px 0 #7a1a2a;font-size:clamp(24px,6vw,40px)}
.mw-c.pu{color:#fff;text-shadow:0 4px 0 #2b6fd6;font-size:clamp(24px,6vw,40px)}
.mw-c.win{color:#ffe27a;font-size:clamp(36px,10vw,70px)}
@keyframes mwcall{0%{transform:rotate(-4deg) scale(2.2);opacity:0}18%{transform:rotate(-4deg) scale(1);opacity:1}75%{opacity:1;transform:rotate(-4deg) scale(1) translateY(-6px)}100%{opacity:0;transform:rotate(-4deg) scale(.9) translateY(-30px)}}
.mw-banner{position:absolute;inset:52px 0 0;display:grid;place-items:center;pointer-events:none;z-index:3}
.mw-bn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 26px;border-radius:22px;background:rgba(8,14,30,.82);color:#fff;text-align:center;animation:up .4s cubic-bezier(.2,1.3,.4,1)}
.mw-bn small{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a8e68a;font-size:12px}
.mw-bn b{font-family:var(--f-display);font-size:30px}.mw-bn span{font-size:16px}.mw-bn em{font-style:normal;font-size:13px;opacity:.75;margin-top:4px}
.mw-dpad{position:absolute;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:150px;height:150px;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}
.mw-dpad[hidden]{display:none}
.mw-dpad button{border:0;border-radius:14px;background:rgba(8,14,30,.6);color:#fff;font-size:20px;touch-action:none}
.mw-dpad button.on{background:#2b6fd6}
.mw-dpad [data-d=up]{grid-area:1/2}.mw-dpad [data-d=left]{grid-area:2/1}.mw-dpad [data-d=right]{grid-area:2/3}.mw-dpad [data-d=down]{grid-area:3/2}
.mw-over{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(6,10,24,.66);padding:16px;overflow-y:auto}
.mw-over[hidden]{display:none}
.mw-panel{width:min(420px,100%);background:linear-gradient(180deg,#1b3a6b,#13244a);border:3px solid #3e6fd8;border-radius:24px;padding:20px;color:#fff;text-align:center;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 50px rgba(0,0,0,.5);animation:up .35s cubic-bezier(.2,1.3,.4,1)}
.mw-panel h2{font-family:var(--f-brand);font-size:clamp(30px,8vw,40px);color:#fff;text-shadow:0 3px 0 #0d1b3a;margin:0}
.mw-pbtns{display:flex;flex-direction:column;gap:8px}
.mw-pbtns .btn{width:100%;display:inline-flex;justify-content:center;align-items:center;gap:6px}
.mw-pbtns .btn.ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.mw-help{font-size:13px;opacity:.8;margin:0}
.mw-bigstars{display:flex;justify-content:center;gap:6px;margin-top:-6px}
.mw-bigstars i{font-style:normal;font-size:64px;line-height:1;color:#3a4a74;transform:scale(0);animation:starpop .5s cubic-bezier(.2,1.6,.4,1) forwards}
.mw-bigstars i:nth-child(2){font-size:80px;margin-top:-14px}
.mw-bigstars i.on{color:#ffd23f;text-shadow:0 4px 0 #c47f00,0 0 30px rgba(255,210,63,.8)}
@keyframes starpop{to{transform:scale(1)}}
.mw-rows{display:flex;flex-direction:column;gap:6px;background:rgba(0,0,0,.25);border-radius:16px;padding:10px 14px;text-align:left}
.mw-rows div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px}
.mw-rows b{font-family:var(--f-display);font-size:17px;display:inline-flex;align-items:center;gap:4px}
.mw-rows small{opacity:.6;font-size:12px}
.mw-rows .crow b{color:#ffd66b}.mw-rows .crow svg{width:20px;height:20px}
.nb{font-style:normal;background:#ff4f79;border-radius:6px;padding:1px 6px;font-size:10.5px;font-weight:900;margin-left:4px}
.mw-why{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:13px;text-align:left;opacity:.9}
.mw-why li{color:#7c86a8}.mw-why li.ok{color:#ffe27a}
.mw-next{font-size:19px!important;animation:pulse .7s ease-in-out infinite alternate}
@media (max-width:420px){.mw-hud{gap:6px;padding-inline:8px}.mw-prog span{font-size:16px}.mw-time{display:none}.mw-coins{font-size:15px}}
.mw-combo{background:rgba(8,14,30,.72);border-radius:999px;padding:4px 14px 6px;min-height:0}
.mw-combo:empty{display:none}
