.super-power{position:absolute;right:24px;bottom:58px;z-index:2;background:#f4d477;color:#263019;border:2px solid #fff0b2;box-shadow:0 3px 0 #a28536;font-size:13px;font-weight:800;min-height:46px;touch-action:manipulation}.super-power:disabled{opacity:.65;background:#314632;color:#aabda3;border-color:#617255;box-shadow:none}.overlay{z-index:5}.game:has(.overlay:not(.hidden)) .touch{display:none}@media(pointer:coarse){.super-power{bottom:140px;right:22px;font-size:11px;max-width:150px}}@media(max-width:700px){.super-power{right:14px;font-size:11px}}
:root{font-family:'DM Sans',sans-serif;color:#f4f5df;background:#101d18;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid #526057;color:inherit;background:#1b2e24;border-radius:9px;padding:10px 16px}button:hover{filter:brightness(1.16)}button:focus-visible{outline:3px solid #cbf782;outline-offset:4px}button:disabled{opacity:.4;cursor:default}main{max-width:1500px;margin:auto;padding:25px 40px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.brand{font-weight:900;font-size:22px;text-decoration:none;color:#eaf5dc;letter-spacing:-1px}.brand span{color:#c5f36b}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:4px;color:#9cac9e}.header-right{display:flex;align-items:center;gap:22px}.tag{font-size:12px;letter-spacing:2px;color:#bac6b6}.game{height:min(74vh,820px);min-height:460px;position:relative;overflow:hidden;border:1px solid #435744;border-radius:18px;background:#314733;box-shadow:0 25px 80px #0004}canvas{width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;inset:24px 24px auto;display:flex;align-items:start;justify-content:space-between;pointer-events:none}.hud button{pointer-events:auto;font-weight:bold;font-size:22px}.health{width:180px}.health>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.health b{letter-spacing:1px}.track{height:8px;background:#10251c;border-radius:5px;overflow:hidden}.track i{display:block;background:#c5f36b;height:100%;width:100%;transition:width .15s}.clock{text-align:center;position:absolute;left:50%;transform:translateX(-50%)}.clock strong{display:block;font-size:28px;letter-spacing:2px}.clock span{font-size:12px;color:#d1dcc9}.xp{position:absolute;top:0;left:0;right:0;height:4px;background:#11251b}.xp i{display:block;height:100%;width:0;background:#f8d578}.stats{position:absolute;bottom:22px;left:24px;display:flex;gap:20px;font-size:12px;letter-spacing:1px;color:#e6f0d6}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#142b24ee 0%,#172e25d9 45%,#172e2533 100%);display:flex;align-items:center;padding:7%;gap:20px}.overlay.hidden{display:none}.intro{z-index:1;width:55%}.eyebrow{font-size:11px;letter-spacing:2px;color:#d6e9b7;font-weight:700}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(58px,7.5vw,112px);line-height:.88;letter-spacing:-1px;margin:22px 0}h1 em{font-style:normal;color:#c5f36b}.intro p{color:#cbd8c6;font-size:16px;line-height:1.7;margin:22px 0}.primary{background:#c5f36b;color:#162619;border:0;padding:17px 25px;font-weight:800;font-size:17px;box-shadow:0 5px 0 #7f9e44;min-width:210px}.primary span{margin-left:35px}.instructions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;font-size:12px;color:#afc0ac}kbd{font:inherit;border:1px solid #64715e;padding:3px 5px;border-radius:4px;font-size:11px}.hero{width:48%;position:relative;text-align:center}.hero img{width:115%;margin-left:-8%;filter:drop-shadow(0 24px 20px #071e2255);transform:rotate(-5deg)}.hero-label{display:inline-block;border:1px solid #9eaf83;color:#e3edcb;border-radius:30px;padding:9px 16px;font-size:10px;letter-spacing:2px;transform:rotate(-5deg)}footer{display:flex;justify-content:space-between;gap:20px;color:#a5b4a5;font-size:12px;padding:20px 0;line-height:1.7}footer b{color:#c5f36b;letter-spacing:1px;margin-right:12px}.separator{margin:0 12px;color:#647363}.dash-status{position:absolute;bottom:22px;right:24px;font-size:12px;color:#d4e4bb}.touch{display:none;position:absolute;bottom:52px;left:25px;right:25px;justify-content:space-between;align-items:center;pointer-events:none}#stick{width:100px;height:100px;border:2px solid #d2e6b657;border-radius:50%;background:#13271b55;touch-action:none;pointer-events:auto;display:grid;place-items:center}#stick i{display:block;width:40px;height:40px;background:#d2e6b688;border-radius:50%;pointer-events:none}#dashTouch{border-radius:50%;height:70px;width:70px;padding:0;pointer-events:auto;touch-action:none;font-size:12px}#toast{position:absolute;top:110px;left:50%;transform:translateX(-50%);color:#ffe09e;font-weight:bold;text-align:center;pointer-events:none;width:80%}.modal{margin:auto;max-width:760px;width:100%;text-align:center}.modal h2{font:800 48px/1 'Barlow Condensed',Impact,sans-serif;margin:15px 0}.modal p{color:#cfddc4;line-height:1.6}.choices{display:flex;gap:12px;margin:25px 0}.choice{flex:1;text-align:left;padding:22px 17px;background:#223f31;border:1px solid #778967}.choice b{display:block;color:#d6f798;margin:14px 0 8px;font-size:18px}.choice small{font-size:14px;line-height:1.5;color:#c7d4c4}.choice .icon{font-size:30px}.result{font-size:20px;color:#e7f5ca!important}.overlay:has(.modal){background:#10251beF;padding:30px}@media(pointer:coarse){.touch.playing{display:flex}.dash-status{display:none}}@media(max-width:700px){main{padding:14px 12px}header{margin-bottom:14px}.brand{font-size:18px}.tag{display:none}.header-right button{font-size:12px;padding:8px}.game{height:78svh;min-height:520px}.hud{inset:20px 14px auto}.health{width:110px}.clock strong{font-size:22px}.clock span{font-size:10px}.overlay{padding:28px;align-items:center}.intro{width:100%;align-self:center}.hero{position:absolute;right:-12px;top:80px;width:47%;opacity:.8}.hero-label{display:none}h1{font-size:68px;position:relative;margin-top:28px}.eyebrow{font-size:9px}.intro p{position:relative;font-size:14px;width:85%}.instructions{max-width:230px}.stats{left:15px;gap:12px;font-size:10px}footer{font-size:11px}footer>span:last-child{display:none}.choices{flex-direction:column;gap:8px;margin:16px 0}.choice{padding:12px 16px}.choice b{margin:0 0 5px}.choice .icon{float:left;margin:5px 18px 10px 0}.modal h2{font-size:36px}.modal p{font-size:14px}}
/* Mobile/PWA layout: keep the arena and touch controls inside the visual viewport. */
[hidden]{display:none!important}.app-status{font-size:12px;line-height:1.4;color:#b6c9aa;margin:0;min-height:17px}.asset-status{font-size:13px!important;line-height:1.4!important;max-width:340px;margin:12px 0!important;color:#ffe4a5!important}.asset-status:empty{display:none}button{min-height:44px}.game{isolation:isolate}.touch{z-index:2}.overlay{overflow:auto}.header-right{gap:10px}#installApp{font-size:13px}.instructions{line-height:1.8}
@media(max-width:700px),(max-height:520px) and (max-width:1000px){
 html,body{height:100%;overscroll-behavior:none}main{height:100vh;height:100dvh;display:flex;flex-direction:column;gap:8px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}header{flex:none;margin:0;gap:6px;min-height:44px}.brand{font-size:16px;letter-spacing:-.7px}.brand small{font-size:8px;letter-spacing:1.6px}.header-right{gap:5px}.header-right button{font-size:11px;padding:7px 8px}.game{flex:1;min-height:0;height:auto;border-radius:12px}footer{display:none}.app-status{flex:none;font-size:11px;min-height:0;max-height:32px;overflow:auto}.app-status:empty{display:none}.hud{inset:13px 12px auto}.health{width:100px}.health>div:first-child{font-size:10px}.clock strong{font-size:21px}.clock span{font-size:10px}.hud button{padding:5px 13px;min-height:42px}.stats{bottom:12px;left:12px;gap:10px}.overlay{padding:22px}.intro{width:100%}.intro h1{font-size:clamp(44px,12vw,70px);margin:16px 0}.intro p{font-size:14px;line-height:1.45;margin:16px 0;max-width:260px}.hero{top:16%;right:0;width:42%;opacity:.6;pointer-events:none}.primary{min-width:0;width:auto;font-size:16px;padding:14px 20px}.instructions{margin-top:20px;font-size:11px;max-width:245px;gap:8px}.eyebrow{font-size:9px;letter-spacing:1px}.touch.playing{display:flex}.touch{left:16px;right:16px;bottom:42px}#stick{width:94px;height:94px}#dashTouch{width:64px;height:64px}.super-power{bottom:140px;right:14px;max-width:160px;font-size:11px;padding:10px 12px}.dash-status{display:none}.modal h2{font-size:32px}.modal p{font-size:13px;margin:9px 0}.choices{gap:7px;margin:12px 0}.choice{padding:10px 13px}.choice b{font-size:16px}.choice small{font-size:13px}.choice .icon{font-size:24px}.overlay:has(.modal){padding:18px}#toast{top:78px;font-size:13px}
}
@media(max-height:520px) and (orientation:landscape){
 main{gap:4px}.brand small,.app-status{display:none}header{min-height:36px}.header-right button{min-height:34px}.game{min-height:220px}.intro h1{font-size:44px;margin:10px 0}.intro p{margin:9px 0;font-size:12px}.eyebrow{font-size:8px}.intro{width:70%}.hero{top:0;right:5%;width:30%}.instructions{display:none}.overlay{padding:18px 28px}.primary{padding:10px 18px;font-size:14px}.choices{flex-direction:row}.choice .icon{float:none;display:block;margin:0 0 3px}.modal h2{font-size:28px}.touch{bottom:28px}#stick{width:76px;height:76px}.super-power{bottom:104px}.stats{font-size:9px}.health{width:100px}.clock span{display:none}
}
.overlay{overflow-x:hidden}#hpText{white-space:nowrap}.health>div:first-child{gap:4px}
.mobile-guide{display:none}
@media(max-width:700px){.health{width:112px}.health b{font-size:9px}.hero{right:14px;width:36%}.instructions>span:first-child,.instructions>span:last-child:not(.mobile-guide){display:none}.mobile-guide{display:inline}.instructions{max-width:260px}}
@media(max-width:700px){.instructions>span:nth-child(3){display:none}}
/* Campaign selection and stage results. */
.secondary{margin:8px;background:#254333;border:1px solid #708467;color:#eff4da;min-height:46px}.result-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.result-actions .secondary{margin:0}.campaign-screen{align-items:flex-start!important;padding:28px!important;background:linear-gradient(135deg,#10291bf5,#14251ff5)!important;overflow-y:auto!important}.campaign-screen .modal{max-width:1100px;text-align:left;margin:auto}.campaign-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.campaign-heading h2{font-size:42px;margin:10px 0}.campaign-heading p{margin:8px 0 22px}.campaign-heading img{width:108px;height:108px;object-fit:contain}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stage-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:10px;padding:18px;background:#203c2e;border:1px solid #567355;border-top:3px solid var(--stage-color);border-radius:12px;min-height:232px}.stage-card:disabled{opacity:.55;filter:saturate(.3)}.stage-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:#c7d6ba}.stage-number{font-size:27px;font-weight:900;color:var(--stage-color);letter-spacing:-1px}.stage-card b{font-size:22px;line-height:1.15}.stage-tag{font-size:10px;letter-spacing:1.3px;color:var(--stage-color)}.stage-description{font-size:14px;line-height:1.45;color:#c5d2bf}.stage-goal{font-size:13px;line-height:1.4;color:#eef1d3}.stage-action{margin-top:auto;border-top:1px solid #52674c;padding-top:12px;font-size:13px;font-weight:bold;color:var(--stage-color)}.campaign-note{font-size:13px;line-height:1.5!important;margin:18px 0 0!important;color:#adbea5!important}#campaignMenu{font-size:13px}#campaignMenu:disabled{display:none}
@media(max-width:700px){.header-right{gap:4px}.header-right button{padding:6px;font-size:10px}.brand{font-size:14px}.brand small{font-size:7px}.campaign-screen{padding:16px!important}.campaign-heading h2{font-size:28px;line-height:1.1}.campaign-heading .eyebrow{font-size:8px}.campaign-heading img{width:65px;height:65px}.campaign-heading{gap:6px}.campaign-heading p{font-size:13px;margin-bottom:14px}.stage-grid{grid-template-columns:1fr;gap:10px}.stage-card{min-height:0;padding:14px;gap:7px}.stage-top{font-size:10px}.stage-number{font-size:22px}.stage-card b{font-size:21px}.stage-description{font-size:13px}.stage-tag{font-size:9px}.stage-action{padding-top:8px}.campaign-note{font-size:12px}.result-actions{flex-direction:column;gap:8px}.result-actions button{width:100%;font-size:14px}.result-actions .primary{min-width:0}}
@media(max-height:520px) and (orientation:landscape){.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-heading img{display:none}.campaign-heading h2{font-size:28px}.stage-card{min-height:220px;padding:12px}.stage-card b{font-size:18px}.stage-description{font-size:12px}.stage-goal{font-size:12px}.result-actions{flex-direction:row}}

.stats{flex-wrap:wrap;gap:8px}#wallet{color:#ffe09b;font-weight:800;background:#17291ee0;border:1px solid #a88b4d;border-radius:20px;padding:3px 9px;font-variant-numeric:tabular-nums}

.shop-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-heading h2{margin:8px 0;font-size:34px}.shop-balance{color:#ffe09b;font-weight:800;font-size:23px}.shop-balance span{font-size:13px}.shop-copy{font-size:13px;color:#b8c8b0}.shop-layout{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.4fr);gap:24px;margin-top:18px}.shop-preview{background:radial-gradient(ellipse at 50% 35%,#4d6446,#1a2c23 70%);border:1px solid #536d4b;border-radius:18px;text-align:center;padding:12px;align-self:start}.shop-preview canvas{width:100%;height:auto;max-height:260px;object-fit:contain}.shop-preview h3{margin:10px 0;font-size:22px}.shop-preview p{margin:8px 0;font-size:14px}.shop-preview small{display:block;margin-top:8px;color:#e0bb8c}.shop-preview .primary{min-width:0;width:100%;font-size:15px}.shop-tabs{display:flex;gap:6px;margin-bottom:12px}.shop-tabs button{flex:1;padding:10px 4px;font-size:13px}.shop-tabs [aria-pressed=true]{background:#c5f36b;color:#14251d;border-color:#c5f36b}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.shop-card{padding:8px;display:flex;flex-direction:column;align-items:center;gap:7px;background:#23372a}.shop-card.selected{border:2px solid #c5f36b;background:#354932}.shop-card canvas{width:100%;height:auto}.shop-card b{font-size:12px}.shop-card span{font-size:11px;color:#eed58e}.shop-default{margin-top:12px;font-size:12px}.campaign-heading #openShop{padding:10px 18px;min-width:0;font-size:14px}#shopMessage{color:#ffe09b;font-size:12px;min-height:16px}@media(max-width:700px){.shop-layout{grid-template-columns:1fr;gap:14px}.shop-heading h2{font-size:25px}.shop-heading button{font-size:11px;padding:8px}.shop-preview canvas{max-height:170px}.shop-preview{padding:8px}.shop-preview h3{font-size:18px;margin:4px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-preview .primary{max-width:260px}.shop-tabs{position:sticky;top:0;background:#1a2c23;z-index:1;padding:5px 0}.shop-copy{margin:8px 0}}
