@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/AlegreyaSans-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/AlegreyaSans-400-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/AlegreyaSans-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/AlegreyaSans-500-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/AlegreyaSans-700-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/AlegreyaSans-700-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/AlegreyaSans-800-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/AlegreyaSans-800-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Cinzel-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Cinzel-500-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Cinzel-700-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Cinzel-700-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cinzel;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/Cinzel-900-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cinzel;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/Cinzel-900-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#0a0d12;--panel:rgba(14,18,26,0.86);--panel-solid:#131822;--line:rgba(232,182,76,0.22);--line-strong:rgba(232,182,76,0.5);--gold:#e8b64c;--gold-bright:#ffd76e;--ink:#ece6d8;--sub:#97a1ad;--teal:#5cc8e8;--danger:#ff5b5b;--ok:#5ad26e;--font-display:"Cinzel",serif;--font-body:"Alegreya Sans",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overscroll-behavior:none}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 28px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:700;font-size:15px;letter-spacing:.4px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.18));color:var(--ink);transition:transform .12s ease,border-color .15s,box-shadow .15s}.btn:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.35)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-gold{background:linear-gradient(180deg,#f4c964,#c8952f);border-color:#f7dc9a;color:#241a05;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:0 4px 16px rgba(232,182,76,.35)}.btn-gold:hover{box-shadow:0 8px 24px rgba(232,182,76,.5)}.btn-danger{border-color:rgba(255,91,91,.5);color:#ffb0b0}.btn-icon{width:42px;height:42px;padding:0;font-size:18px;border-radius:8px}.menu{overflow-y:auto;overflow-x:hidden}.menu,.menu-bg{position:fixed;inset:0}.menu-bg{width:100%;height:100%;z-index:0}.menu-inner{position:relative;z-index:1;max-width:1060px;margin:0 auto;padding:clamp(28px,6vh,72px) 24px 48px;display:flex;flex-direction:column;gap:clamp(28px,5vh,56px)}.menu-hero{text-align:center}.menu-crest{width:74px;height:74px;margin:0 auto 14px;filter:drop-shadow(0 6px 18px rgba(232,182,76,.4));animation:crestFloat 5s ease-in-out infinite}@keyframes crestFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.menu-title{font-family:var(--font-display);font-weight:900;font-size:clamp(56px,11vw,108px);line-height:1;letter-spacing:.12em;background:linear-gradient(180deg,#fff3d0 8%,var(--gold-bright) 38%,#a86f1d 82%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 22px rgba(232,182,76,.3))}.menu-tag{margin-top:10px;color:var(--sub);font-size:clamp(15px,2.2vw,19px);letter-spacing:.06em}.menu-tag b{color:var(--gold);font-weight:700}.menu-section-title{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.3em;color:var(--sub);text-align:center;text-transform:uppercase;display:flex;align-items:center;gap:16px}.menu-section-title:after,.menu-section-title:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}.map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:22px;gap:22px}.map-card{position:relative;text-align:left;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--panel-solid);transition:transform .18s ease,border-color .2s,box-shadow .2s;animation:cardIn .6s ease backwards}.map-card:nth-child(2){animation-delay:.08s}.map-card:nth-child(3){animation-delay:.16s}@keyframes cardIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.map-card:not(.locked):hover{transform:translateY(-5px) scale(1.015);border-color:var(--line-strong);box-shadow:0 18px 44px rgba(0,0,0,.55),0 0 0 1px rgba(232,182,76,.2)}.map-thumb{display:block;width:100%;aspect-ratio:5/3;object-fit:cover;border-bottom:1px solid var(--line)}.map-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}.map-name{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink);display:flex;align-items:center;justify-content:space-between}.map-sub{color:var(--sub);font-size:14.5px;line-height:1.45;min-height:42px}.map-meta{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.diff-badge{font-size:12.5px;font-weight:800;letter-spacing:.08em;padding:3px 10px;border-radius:20px;text-transform:uppercase}.diff-kolay{background:rgba(90,210,110,.14);color:#7fe393;border:1px solid rgba(90,210,110,.4)}.diff-orta{background:rgba(232,182,76,.13);color:var(--gold-bright);border:1px solid rgba(232,182,76,.4)}.diff-zor{background:rgba(255,91,91,.13);color:#ff9090;border:1px solid rgba(255,91,91,.4)}.stars{font-size:17px;letter-spacing:2px;color:var(--gold-bright)}.stars .off{color:rgba(255,255,255,.18)}.map-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(6,8,12,.78);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--sub);font-weight:600;font-size:14px}.map-lock svg{opacity:.8}.map-card.locked{cursor:not-allowed}.best-wave{font-size:13px;color:var(--sub)}.best-wave b{color:var(--teal)}.howto{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:16px;gap:16px}.howto-item{padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:8px}.howto-item .n{font-family:var(--font-display);font-weight:900;font-size:15px;color:var(--gold);letter-spacing:.1em}.howto-item p{color:var(--sub);font-size:14.5px;line-height:1.5}.howto-item p b{color:var(--ink)}.menu-footer{text-align:center;color:rgba(151,161,173,.55);font-size:13px;letter-spacing:.05em}.game{position:fixed;inset:0;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}.game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hud-top{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none;z-index:5}.hud-top>*{pointer-events:auto}.hud-stats{display:flex;gap:10px}.stat{display:flex;align-items:center;gap:8px;padding:8px 16px;font-family:var(--font-display);font-weight:700;font-size:19px;min-width:108px}.stat svg{flex-shrink:0}.stat.gold{color:var(--gold-bright)}.stat.lives{color:#ff8f8f}.stat .delta{animation:statPop .3s ease}@keyframes statPop{0%{transform:scale(1.35)}to{transform:scale(1)}}.hud-wave{display:flex;flex-direction:column;align-items:center;gap:6px}.wave-pill{padding:8px 22px;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.14em;color:var(--ink)}.wave-pill b{color:var(--gold-bright)}.boss-bar{width:min(420px,42vw);padding:6px 10px 8px;text-align:center}.boss-bar .boss-name{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.2em;color:#ff9090;text-transform:uppercase;margin-bottom:5px}.boss-bar .track{height:10px;border-radius:6px;background:rgba(0,0,0,.55);border:1px solid rgba(255,91,91,.4);overflow:hidden}.boss-bar .fill{height:100%;background:linear-gradient(90deg,#ff5b5b,#ff9a3c);border-radius:6px;transition:width .15s linear;box-shadow:0 0 12px rgba(255,91,91,.7)}.hud-controls{display:flex;gap:8px}.hud-bottom{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;pointer-events:none;z-index:5}.hud-bottom>*{pointer-events:auto}.next-wave{padding:12px 16px;display:flex;flex-direction:column;gap:9px;min-width:230px;max-width:300px}.next-wave .nw-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--sub);text-transform:uppercase}.nw-count{font-family:var(--font-display);color:var(--teal);font-size:15px}.nw-chips{display:flex;flex-wrap:wrap;gap:6px}.nw-chip{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:700;padding:3px 10px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.nw-chip.boss{background:rgba(255,91,91,.16);border-color:rgba(255,91,91,.5);color:#ffb0b0;animation:pulseSoft 1.2s ease-in-out infinite}@keyframes pulseSoft{0%,to{box-shadow:0 0 0 0 rgba(255,91,91,.35)}50%{box-shadow:0 0 0 6px rgba(255,91,91,0)}}.nw-call{width:100%;padding:10px 12px;font-size:14.5px}.nw-call.first{animation:pulseGold 1.6s ease-in-out infinite}@keyframes pulseGold{0%,to{box-shadow:0 0 0 0 rgba(232,182,76,.55)}50%{box-shadow:0 0 0 10px rgba(232,182,76,0)}}.build-bar{display:flex;gap:10px;padding:10px}.tower-card{position:relative;width:96px;padding:10px 8px 9px;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.22));display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .13s ease,border-color .15s,background .15s}.tower-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--line-strong)}.tower-card.active{border-color:var(--gold);background:linear-gradient(180deg,rgba(232,182,76,.16),rgba(232,182,76,.04));box-shadow:0 0 0 1px var(--gold),0 6px 20px rgba(232,182,76,.25)}.tower-card:disabled{opacity:.42;cursor:not-allowed}.tower-card .t-icon{width:40px;height:40px}.tower-card .t-name{font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap}.tower-card .t-cost{display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--gold-bright)}.tower-card .t-key{position:absolute;top:5px;right:7px;font-size:10.5px;font-weight:800;color:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:0 4px}.tower-panel{width:250px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.tp-head{display:flex;align-items:center;justify-content:space-between}.tp-name{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--gold-bright)}.tp-level{font-size:12.5px;font-weight:800;color:var(--sub);letter-spacing:.08em}.tp-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px 14px;gap:5px 14px;font-size:13.5px}.tp-stats .k{color:var(--sub)}.tp-stats .v{font-weight:700;text-align:right}.tp-stats .v.up{color:var(--ok)}.tp-actions{display:flex;gap:8px}.tp-actions .btn{flex:1 1;padding:9px 10px;font-size:13.5px}.tp-target{width:100%;padding:7px 10px;font-size:13px;border-radius:7px;border:1px dashed rgba(255,255,255,.2);color:var(--sub);transition:border-color .15s}.tp-target:hover{border-color:var(--teal);color:var(--teal)}.wave-banner{position:absolute;top:22%;left:50%;transform:translateX(-50%);z-index:6;pointer-events:none;text-align:center;animation:bannerIn 2.6s ease forwards}.wave-banner .wb-main{font-family:var(--font-display);font-weight:900;font-size:clamp(34px,6vw,58px);letter-spacing:.16em;color:var(--gold-bright);text-shadow:0 2px 0 #7a5310,0 6px 30px rgba(232,182,76,.55)}.wave-banner .wb-sub{font-size:clamp(14px,2vw,18px);letter-spacing:.5em;color:var(--sub);text-transform:uppercase;margin-top:4px}.wave-banner.boss .wb-main{color:#ff6b6b;text-shadow:0 2px 0 #5d1414,0 6px 34px rgba(255,60,60,.6)}@keyframes bannerIn{0%{opacity:0;transform:translateX(-50%) scale(.7)}12%{opacity:1;transform:translateX(-50%) scale(1.05)}18%{transform:translateX(-50%) scale(1)}78%{opacity:1}to{opacity:0;transform:translateX(-50%) translateY(-14px)}}.overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:rgba(4,6,10,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .35s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.result-card{width:min(430px,92vw);padding:34px 30px 28px;text-align:center;display:flex;flex-direction:column;gap:18px;animation:cardIn .45s ease;border-radius:16px}.result-title{font-family:var(--font-display);font-weight:900;font-size:40px;letter-spacing:.1em}.result-title.win{background:linear-gradient(180deg,#fff3d0,var(--gold-bright) 45%,#a86f1d);-webkit-background-clip:text;background-clip:text;color:transparent}.result-title.lose{color:var(--danger);text-shadow:0 4px 24px rgba(255,91,91,.4)}.result-stars{font-size:42px;letter-spacing:8px;color:var(--gold-bright);filter:drop-shadow(0 4px 14px rgba(232,182,76,.5))}.result-stars .off{color:rgba(255,255,255,.15);filter:none}.result-stars span{display:inline-block;animation:starPop .5s cubic-bezier(.34,1.56,.64,1) backwards}.result-stars span:nth-child(2){animation-delay:.18s}.result-stars span:nth-child(3){animation-delay:.36s}@keyframes starPop{0%{transform:scale(0) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.result-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 20px;gap:8px 20px;font-size:14.5px;text-align:left;padding:14px 18px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.result-stats .k{color:var(--sub)}.result-stats .v{font-weight:700;text-align:right;font-family:var(--font-display)}.result-actions{display:flex;flex-direction:column;gap:9px}.hint{position:absolute;bottom:118px;left:50%;transform:translateX(-50%);z-index:6;padding:10px 18px;font-size:14.5px;color:var(--ink);display:flex;align-items:center;gap:10px;animation:hintIn .5s ease;max-width:92vw}@keyframes hintIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.hint b{color:var(--gold-bright)}.hint button{color:var(--sub);font-size:17px;padding:2px 6px}.hint button:hover{color:var(--ink)}.pause-overlay .result-title{color:var(--teal);-webkit-text-fill-color:currentColor}@media (max-width:900px){.hud-bottom{flex-direction:column;align-items:stretch;gap:8px}.next-wave{max-width:none;flex-direction:row;align-items:center;padding:8px 12px}.next-wave .nw-chips{flex:1 1}.nw-call{width:auto}.build-bar{overflow-x:auto;padding:8px}.tower-card{width:84px;flex-shrink:0}.tower-panel{width:100%}.stat{min-width:0;font-size:16px;padding:7px 12px}.wave-pill{font-size:14px;padding:7px 14px}.boss-bar{width:60vw}.hint{bottom:180px}}