@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-cyrillic-500-normal-kQHBM3cE.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-500-normal-gEBUHwKD.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-cyrillic-700-normal-BMO00Gdb.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-700-normal-qSextXl4.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-cyrillic-800-normal-D2Jsre_s.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-800-normal-BCYhB7NR.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-latin-800-normal-CpHsWMQ0.woff2)format("woff2"),url(/assets/alegreya-sans-latin-800-normal-17etSahV.woff)format("woff")}@font-face{font-family:Ruslan Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ruslan-display-cyrillic-400-normal-CrNaAs1F.woff2)format("woff2"),url(/assets/ruslan-display-cyrillic-400-normal-EbEJim7_.woff)format("woff")}@font-face{font-family:Ruslan Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ruslan-display-latin-400-normal-Bw2GNpT4.woff2)format("woff2"),url(/assets/ruslan-display-latin-400-normal--TcDHj-M.woff)format("woff")}:root{--wall:#1c1f30;--slab:#2a2e45;--slab-hi:#363b58;--edge:#474d70;--parch:#f3e9d2;--parch-dim:#b7af9d;--gold:#e3b24a;--crimson:#a8212f;--crimson-deep:#7a1421;--ember:#f0863a;--display:"Ruslan Display", Georgia, serif;--ui:"Alegreya Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;height:100%;margin:0}body{background:var(--wall);color:var(--parch);font-family:var(--ui);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-size:16px;font-weight:500;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid}.hud{align-items:center;gap:16px;padding:8px 12px 6px;display:flex}.brand{font-family:var(--display);color:var(--gold);text-shadow:0 2px 0 var(--crimson-deep);margin-right:8px;font-size:1.6rem;line-height:1;display:none}.stat{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:1.25rem;font-weight:800;display:inline-flex}.stat svg{flex:none;width:22px;height:22px}.stat.low{color:var(--ember)}.stat.bump{animation:.35s bump}@keyframes bump{30%{color:var(--ember);transform:scale(1.25)}}.wave{margin-left:auto;font-size:1.05rem;font-weight:700}.stage{min-height:0;position:relative;overflow:hidden}#board{touch-action:none;box-shadow:0 0 0 2px var(--edge), 0 10px 30px #08091299;cursor:pointer;border-radius:5px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toast{border:1px solid var(--edge);opacity:0;pointer-events:none;text-align:center;background:#10121f;border-radius:6px;max-width:92%;padding:7px 14px;font-weight:700;transition:opacity .15s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.toast.visible{opacity:1}.panel{grid-template-columns:minmax(0,1fr);gap:6px;padding:4px 10px 10px;display:grid}#hint{height:1.3em;color:var(--parch-dim);white-space:nowrap;text-overflow:ellipsis;grid-row:1;margin:0;font-size:.95rem;line-height:1.3;overflow:hidden}.shop,.tower-info{grid-row:2;height:84px}.controls{grid-row:3}.panel.has-selected-tower .shop{display:none}.tower-info{align-items:stretch;gap:6px;display:flex}.tower-info .tower-stats{flex:auto;align-self:center;min-width:0;line-height:1.25}.tower-info .tower-stats b{font-size:1.12rem;font-weight:800;display:block}.tower-info .tower-stats span{color:var(--parch-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}.shop{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.card{background:var(--slab);border:2px solid var(--edge);cursor:pointer;text-align:center;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;padding:3px 4px 5px;display:flex}.card canvas{width:36px;height:36px;display:block}.card .card-name{font-size:.92rem;font-weight:800;line-height:1.1}.card .cost{color:var(--gold);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:.9rem;font-weight:700;display:inline-flex}.card .cost svg{width:13px;height:13px}.card .card-description{display:none}.card .card-description:first-letter{text-transform:uppercase}.card[aria-pressed=true]{border-color:var(--gold);background:var(--slab-hi)}.card.poor .cost{color:var(--parch-dim)}.card.poor canvas{opacity:.5}.controls{gap:6px;display:flex}.btn{background:var(--slab);border:2px solid var(--edge);cursor:pointer;white-space:nowrap;border-radius:6px;min-height:46px;padding:0 14px;font-weight:800}.btn:disabled{opacity:.65;cursor:default}.btn.primary{background:var(--crimson);border-color:var(--gold);color:#fff3d6}.btn.grow{flex:auto}.btn.icon{flex:none;place-items:center;width:48px;padding:0;display:grid}.btn.icon svg{width:22px;height:22px}.btn.action{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;min-width:98px;padding:0 10px;line-height:1.1;display:flex}.btn.action .price{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700}.btn.action.primary .price{color:#ffe7a8}.keys{display:none}.overlay{z-index:10;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:#10111cc7;animation:.25s fade;display:grid;position:fixed;inset:0;overflow-y:auto}@keyframes fade{0%{opacity:0}}.sheet{text-align:center;justify-items:center;gap:16px;width:min(100%,430px);margin:auto;display:grid}.sheet:focus{outline:none}.sheet h1{font-family:var(--display);color:var(--gold);text-shadow:0 .07em 0 var(--crimson-deep);text-wrap:balance;margin:0;font-size:clamp(2.7rem,12vw,4.4rem);font-weight:400;line-height:1.02}.sheet p{max-width:34ch;margin:0;font-size:1.12rem;line-height:1.4}.sheet .note{color:var(--parch-dim);font-size:1rem}.sheet .buttons{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.sheet .btn{min-height:50px;padding:0 20px;font-size:1.05rem}.sheet .btn.primary{min-width:190px;font-size:1.15rem}@media (width>=640px) and (aspect-ratio>=1){#app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 340px;column-gap:22px;max-width:calc(69.2308vh + 371.538px);margin:0 auto}.hud{grid-column:1/-1;gap:22px;padding:12px 16px 8px}.brand{display:block}.panel{grid-area:2/2;grid-template-rows:112px auto minmax(0,1fr) auto;gap:10px;min-height:0;padding:6px 16px 18px 0;overflow-y:auto}#hint{white-space:normal;align-self:start;height:auto;font-size:1rem}.panel.has-selected-tower #hint{display:none}.panel.has-selected-tower .shop{display:grid}.tower-info{flex-wrap:wrap;grid-row:1;align-content:start;gap:8px;height:auto}.tower-info .tower-stats{flex-basis:100%}.btn.action{flex-direction:row;flex:1 1 0;gap:5px;min-height:44px}.shop{grid-row:2;grid-template-columns:1fr;gap:8px;height:auto}.card{text-align:left;grid-template-columns:48px 1fr auto;grid-template-areas:"ico nm cost""ico ds ds";align-items:center;gap:2px 10px;padding:8px 12px 9px 8px;display:grid}.card canvas{grid-area:ico;width:48px;height:48px}.card .card-name{grid-area:nm;font-size:1.08rem}.card .cost{grid-area:cost;font-size:1rem}.card .card-description{color:var(--parch-dim);grid-area:ds;font-size:.9rem;line-height:1.25;display:block}.controls{flex-wrap:wrap;grid-row:4}.keys{color:var(--parch-dim);flex-basis:100%;margin:6px 0 0;font-size:.85rem;line-height:1.3;display:block}}@media (width>=640px) and (aspect-ratio>=1) and (height<=560px){#app{grid-template-columns:minmax(0,1fr) 300px;column-gap:16px}.hud{padding:6px 16px 4px}.brand{font-size:1.3rem}.panel{grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px;padding:2px 16px 10px 0}#hint{white-space:nowrap;height:1.3em;font-size:.95rem}.panel.has-selected-tower #hint{display:block}.panel.has-selected-tower .shop{display:none}.tower-info{grid-row:2}.shop{gap:6px}.card{grid-template-columns:32px 1fr auto;grid-template-areas:"ico nm cost";padding:4px 10px 4px 6px}.card canvas{width:32px;height:32px}.card .card-description,.keys{display:none}.controls{flex-wrap:nowrap}.btn.icon{width:44px}}@media (height<=640px) and (width<=639px){.shop,.tower-info{height:70px}.card canvas{width:26px;height:26px}.btn{min-height:44px}}@media (width<=359px){.btn.action{min-width:0;padding:0 6px;font-size:.9rem}.btn.action .price,.tower-info .tower-stats span{font-size:.85rem}}@media (prefers-reduced-motion:reduce){.overlay,.stat.bump{animation:none}.toast{transition:none}}
