:root{--blue:#1398ff;--deep:#08275d;--yellow:#ffd62f;--red:#ee304e;--green:#2fc76f;--glass:rgba(9,24,54,.82)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050b16;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:white;touch-action:auto;-webkit-user-select:auto;user-select:auto}
button,input{font:inherit}
button{border:0;color:inherit;cursor:pointer}
#app{position:relative;z-index:0;isolation:isolate;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 20%,#173668,#071122 58%,#03070d);touch-action:manipulation;-webkit-user-select:none;user-select:none}
.screen{position:absolute;inset:0;display:none;overflow:hidden;pointer-events:none}.screen.active{display:block;pointer-events:auto}
.loading-screen{background:#fff;display:none;align-items:center;justify-content:center;padding:24px;color:#152033}.loading-screen.active{display:flex}
.home-screen:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(115deg,transparent 0 54px,rgba(255,255,255,.028) 55px 57px);transform:rotate(-4deg)}
.loading-card{position:relative;width:min(88vw,520px);text-align:center}.game-logo{display:block;width:100%;filter:drop-shadow(0 12px 18px rgba(0,0,0,.16))}.loading-copy{margin:8px 0 14px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#34415a}.load-track,.progress-track{height:17px;border-radius:999px;background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.16);overflow:hidden;box-shadow:inset 0 3px 8px rgba(0,0,0,.35)}.load-fill,.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#17a7ff,#53e5ff 65%,#fff67a);border-radius:inherit;box-shadow:0 0 18px rgba(61,209,255,.6);transition:width .25s ease}.kotman-logo{display:block;width:min(82%,430px);height:auto;margin:18px auto 0;object-fit:contain}.load-percent{margin-top:6px;font-size:14px;font-weight:900;color:#657188}
.home-screen{background:linear-gradient(#0b2c62 0 34%,#134a79 34% 35%,#6ac85d 35% 100%)}.home-screen.active{display:block}.home-screen:after{content:"";position:absolute;left:-8%;right:-8%;top:35%;height:52%;background:linear-gradient(90deg,rgba(24,115,78,.2),rgba(105,199,91,.15)),url('../assets/img/grass.png');background-size:auto,128px 128px;transform:perspective(600px) rotateX(48deg);transform-origin:top;filter:saturate(1.12);opacity:.95}
.home-topbar{position:absolute;z-index:4;top:max(16px,env(safe-area-inset-top));left:16px;display:flex;gap:10px}.currency-pill,.score-pill{height:44px;display:flex;align-items:center;gap:8px;padding:0 15px;border-radius:15px;background:rgba(5,17,40,.78);border:1px solid rgba(255,255,255,.18);box-shadow:0 7px 18px rgba(0,0,0,.25);font-size:14px}.currency-pill strong,.score-pill strong{font-size:18px}.coin-dot{color:#ffd630;text-shadow:0 0 0 #a26500,1px 1px 0 #a26500,-1px -1px 0 #a26500}.icon-btn{position:absolute;z-index:7;width:48px;height:48px;border-radius:16px;background:rgba(5,17,40,.82);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 20px rgba(0,0,0,.25);font-size:25px}.gear-btn{top:max(16px,env(safe-area-inset-top));right:16px}
.home-main{position:relative;z-index:3;width:min(92vw,620px);margin:0 auto;padding-top:max(88px,calc(env(safe-area-inset-top) + 72px));text-align:center}.home-logo{width:min(82vw,470px);max-height:250px;filter:drop-shadow(0 15px 18px rgba(0,0,0,.4))}.progress-card{width:min(84vw,430px);margin:-5px auto 22px;padding:15px 18px 13px;border-radius:18px;background:rgba(4,19,44,.84);border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(0,0,0,.3)}.progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:900;letter-spacing:.08em}.progress-head strong{font-size:16px;color:#83dfff}.scene-label{margin-top:8px;color:#cfe8ff;font-weight:800;font-size:13px}.cannon-stat{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:900;letter-spacing:.07em;color:#9fc6e8}.cannon-stat strong{font-size:12px;color:#7fe6ff;letter-spacing:.02em}.play-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:min(82vw,390px);height:74px;margin:auto;border-radius:23px;background:linear-gradient(#36d977,#17a653);border:3px solid #8dffc0;box-shadow:0 8px 0 #08793b,0 17px 30px rgba(0,0,0,.32);font-size:20px;font-weight:1000;letter-spacing:.04em;text-shadow:0 2px 0 rgba(0,0,0,.25)}.play-btn:active{transform:translateY(4px);box-shadow:0 4px 0 #08793b,0 10px 20px rgba(0,0,0,.26)}.play-triangle{font-size:29px}.home-hint{width:min(84vw,450px);margin:22px auto 0;padding:10px 13px;border-radius:13px;background:rgba(4,18,39,.5);font-size:12px;color:#dbeaff}.home-ground{position:absolute;z-index:2;left:50%;bottom:-60px;width:500px;height:280px;transform:translateX(-50%);filter:drop-shadow(0 18px 18px rgba(0,0,0,.3))}.mini-cannon{position:absolute;left:224px;bottom:82px;width:54px;height:80px;border-radius:16px;background:linear-gradient(90deg,#654021,#bb7b35 22%,#374d64 23% 76%,#b7c7d7 77%);transform:perspective(300px) rotateX(8deg)}.mini-cannon:after{content:"";position:absolute;left:17px;top:-54px;width:21px;height:70px;border-radius:13px;background:linear-gradient(90deg,#1b293b,#687b8d,#1d2e43)}.mini-mob{position:absolute;left:130px;bottom:6px;width:240px;height:95px;background:radial-gradient(circle,#198fff 0 4px,#0a4e9e 5px 6px,transparent 7px);background-size:20px 18px;border-radius:50%;transform:perspective(250px) rotateX(45deg);opacity:.95}
.game-screen.active{display:block;background:#101722}.game-screen canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#101722;transform:translateZ(0);backface-visibility:hidden}.game-hud{pointer-events:none;position:absolute;z-index:5;top:max(10px,env(safe-area-inset-top));left:12px;right:12px;height:48px;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:8px}.hud-pill{justify-self:start;height:42px;padding:0 13px;display:flex;align-items:center;gap:7px;border-radius:14px;background:rgba(5,17,39,.78);border:1px solid rgba(255,255,255,.18);font-weight:900}.hud-pill.coin span{color:#ffd531}.hud-center{align-self:center;text-align:center}.hud-progress{height:9px;border-radius:10px;background:rgba(0,0,0,.35);overflow:hidden;border:1px solid rgba(255,255,255,.18)}.hud-progress>div{height:100%;width:0;background:linear-gradient(90deg,#20a6ff,#71e6ff,#ffe770)}#hudProgressText{font-size:11px;font-weight:900;margin-top:3px;text-shadow:0 2px 2px #000}.hud-icon{pointer-events:auto;justify-self:end;width:44px;height:44px;border-radius:14px;background:rgba(5,17,39,.82);border:1px solid rgba(255,255,255,.2);font-size:20px;font-weight:1000}.battle-count{position:absolute;z-index:5;top:72px;display:flex;align-items:baseline;gap:7px;padding:8px 11px;border-radius:12px;color:white;border:1px solid rgba(255,255,255,.2);box-shadow:0 6px 15px rgba(0,0,0,.22);pointer-events:none}.battle-count span{font-size:9px;font-weight:900;letter-spacing:.08em}.battle-count b{font-size:17px}.battle-count.blue{left:12px;background:rgba(5,91,190,.82)}.battle-count.red{right:12px;background:rgba(176,20,51,.83)}
.modal{position:absolute;z-index:30;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(1,7,18,.72);backdrop-filter:blur(5px);pointer-events:auto;touch-action:manipulation}.modal.hidden{display:none;pointer-events:none}.modal-card{position:relative;width:min(92vw,430px);border-radius:26px;padding:26px;background:linear-gradient(180deg,#16356a,#0b1a39);border:2px solid rgba(255,255,255,.16);box-shadow:0 22px 55px rgba(0,0,0,.52)}.modal-card h2{margin:0 0 20px;text-align:center;font-size:25px}.close-btn{position:absolute;right:13px;top:12px;width:38px;height:38px;border-radius:12px;background:rgba(0,0,0,.3);font-size:27px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}.setting-row:last-child{border-bottom:0}.setting-row b{display:block}.setting-row small{display:block;margin-top:3px;color:#a9c5e9;font-size:11px}.switch input{display:none}.switch span{display:block;width:56px;height:31px;border-radius:20px;background:#31445f;position:relative;transition:.2s}.switch span:after{content:"";position:absolute;left:4px;top:4px;width:23px;height:23px;border-radius:50%;background:white;transition:.2s}.switch input:checked+span{background:#1fbd66}.switch input:checked+span:after{left:29px}.slider-row{display:block}.slider-row input{width:100%;margin-top:12px;accent-color:#29b4ff}.menu-btn{width:100%;height:55px;margin-top:12px;border-radius:17px;background:#263d63;border:1px solid rgba(255,255,255,.18);font-weight:1000;letter-spacing:.035em}.menu-btn.primary{background:linear-gradient(#37d978,#169e50);box-shadow:0 5px 0 #087438}.menu-btn.danger{background:#76253b;color:#ffdce4}.result-card{text-align:center}.result-badge{display:inline-block;margin-top:-50px;padding:12px 25px;border-radius:18px;background:linear-gradient(#ffd64b,#f2a71b);color:#4b2a00;border:3px solid #fff1a1;box-shadow:0 7px 0 #9b5b00;font-weight:1000;font-size:25px;transform:rotate(-2deg)}.result-card.defeat .result-badge{background:linear-gradient(#ff6178,#ca2140);border-color:#ffb8c3;color:white;box-shadow:0 7px 0 #771225}.result-card h2{margin-top:25px;margin-bottom:4px}.result-scene{color:#a9c7ee;font-size:13px;margin-bottom:17px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-grid>div{padding:12px 5px;border-radius:14px;background:rgba(0,0,0,.24)}.result-grid span{display:block;font-size:10px;color:#a9c5e8}.result-grid b{display:block;font-size:19px;margin-top:4px}.result-progress-wrap{margin:17px 2px 4px}
@media (min-aspect-ratio: 3/4){.home-main{padding-top:58px}.home-logo{width:min(66vw,410px)}.home-ground{opacity:.75}.play-btn{height:62px}.progress-card{margin-top:-18px}.game-screen canvas{object-fit:contain;background:#050b13}}

/* v4: ana ekranda sahte topatar yok; oyun canvası doğrudan dokunmatik ateş/sürükleme alır */
.home-ground,.mini-cannon,.mini-mob{display:none!important}.game-screen canvas{pointer-events:none;touch-action:auto;cursor:default;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}.game-screen.input-active canvas{pointer-events:auto;touch-action:none;cursor:crosshair}.game-screen.input-blocked canvas{pointer-events:none!important;touch-action:auto!important}.game-hud button,.modal button,.modal input,.home-screen button{pointer-events:auto;touch-action:manipulation}

.loading-screen .load-track{background:#e7ebf0;border-color:#cfd6df;box-shadow:inset 0 2px 5px rgba(0,0,0,.10)}

/* v21: gameplay view is intentionally clean; mission copy stays on the home screen only. */
.home-objective{margin-top:8px;padding:8px 10px;border-radius:10px;background:rgba(17,64,89,.42);border:1px solid rgba(112,222,255,.16);font-size:11px;line-height:1.35;font-weight:900;color:#dff7ff;letter-spacing:.015em}
@media (max-width:480px){.home-objective{font-size:10px}}

/* v38 input safety: keep third-party ad/fullscreen UI outside the game stacking context and never let the canvas steal their taps. */
html.mobtr-ad-active,html.mobtr-ad-active body{touch-action:auto!important}
html.mobtr-ad-active #app,html.mobtr-ad-active #app *{pointer-events:none!important;touch-action:auto!important}
