@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/pixelify-sans-cyrillic-400-normal-DfOZNMlW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pixelify-sans-latin-ext-400-normal-DdH6zlBQ.woff2) format("woff2"),url(/assets/pixelify-sans-latin-ext-400-normal-BkfTUL4s.woff) format("woff");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:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pixelify-sans-latin-400-normal-DLrIX9QE.woff2) format("woff2"),url(/assets/pixelify-sans-latin-400-normal-JapMNN6Z.woff) format("woff");unicode-range:U+0000-00FF,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:Pixelify Sans;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAAxgABAAAAAAJagAAAv/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjAbgTwcKAZgP1NUQVQqAIJQEQgKsSylGguBSgABNgIkA4MOBCAFhC4Hh2UMBxuxHTOjNnuTijCiWrOY5L8+sI1Zj3a3gJ1YKB5q4mJsd8ArJCzmzTj79LXaA9MtnuqT5DZtuLTimMo1iy6tP+3Id/P7X3u9M7sfgF+QYQNAMqqnCsFWppJdImQBjSvzUN34t3vHgSdxAs1kUB5wASYYUTPp/4Q3RxTc+978t7+UkgIUoHDAoqWDBBQCkugb3fbQHotjdo7YLVZoXUtjhE7lf3OW8u4WnLlub4tJ2bMg2wVi/29pgTApRH/RUgEhGnKB7piBc8nOGxXp2PeSJCiE1XSh9l1C7AsoBQHwVuknbcpXJZWG4HRs5r+lwQZiFL0h5v/9XGmTyaaAByTL6IH8GVUhs+8nf/sCl8seJwdEKYe6qK6nOlVVtQQwnsZXqJ5uVYWuE9WqPP91z7Rm7pkPtSCU4J999r6tpEnYZJZGmLi3LTMXmOIe3twMUbSKQjHFqi2fr/Z5/eAgzAwAgDDGiIRMmyYhDDACjAiZRgC9eJV4eWjthXl/3VmDmQzA/x4GEN4+t9bg7A5kIHwOXayWmvE+RItk8iOxjCTacw/FXeesEIX91oAauROfxbQJLOZOZqUKcsSTQmeGpTB7ypSO8vl43s6C1kDicfnT2aGCYBhfAK41Z6e/bL/qlMFrzdWC/0z5m+AJMbqlO/9+C9JN4y3wGAD68iUAQUL1W4DTvV8QH98LOwQAMAKAKgMgC5DImsT60nLcFxBLkMmEKk+8I26km0muEpPi1EREx2WLctflIL6P9DPLbWJTktrI2KzEqop+n1ddLbUDbPH7nz8B9vm1BcH39xKSAfWADeceeAQAjDJoJUqQLEWceKns/KL2m/8oPQMTMwsrGwcnl4CgsJAIIVaMaEnSpMuUJVuOfAWKFCtRqkyTZq1atGnXrUunAaPGFBqXq1+fQUOG9eg1olyjDjp5CPWWBQDMAoBLADdAOxS0LyAIEACA8R/G4JgjCHUppkg8Uag/Bopnq0tsnVPvkB0pg6VPzhQCSrruT6hmMTijPXhrdW8wyuEgy/cXp1MbO4kdBSfGbBZ3Kp2RoUzrJRonTxVHzxngvARlOR9gZMMaB0kEp22+sYds78GYOPgyZ+FVZ8+GGXCKTlYvM8QGfcpk8NiHPep7zdppnll0hCjcg9u0hK3Q1FyAOyRsxG0iVpou0iINbnpFRRClmymlcw2x8HSyVTZR0/nCrA8dWZs+c5ptLE6HORviLNKaFUpEbdbVWFwUxOK793S4fhwcNrzhop9S1JnRd+64Xzw4x9gUiWQTGSEvhIcm1FJDjcIiVGY1hVCD5RRQC1GBrxOpG53i0WJSBkyrNZq4QxkM2C/sqzgg7vxIZWDNk5WClN1zCFYN0oDjjGj6cKyL2/pH0CQVlSaQ0kkO1MkHQGyE0HjSIRCreFGdskM6CccClRelebEooVyOaimesiIsCBBEZzM61UtYSmWTtNoujlRJVCsVlUvTpNiYqS6ADrY6RMLrvleNAJMqoIVyHXP3eM1pLinupm9PBRG6GjN+r5MnwfyaQiDmiqZi0xVDatMALA0W4J7q9oc5xCEK4yIxZzXNBCzAFWSPpyhUo1KKtHu289g+9dBjZA6eUID/iY+bTi6kuMgiS9eK4gzXQZOoeifxntdOqPk9PUxSe7AqZjL7lESmyClSmN/eqvSvKObytoQy4fTMLiwNRJnUUDRitHdCuguQlqZVR5YyYzhNiorB45Pdaor/1mY4ZvFXiNe/LHqg+cgHzKldChBIKECWZJ2N3X4BIYiH7/1oBUSsUWoCV/cT2ZFwfOYa7u3IUuBClIWs+p/Ks7zuWDvTxu/eNvqXq/Fmamekt7qM8FxMSzc7CfkOYf6FbDgkIwEdMMeYW832q8naptMNsiohjBrVeRtyjzyOEkNFCDuskrws5ABkCq7hZ37dgdK1DGZtoyxnHzbJUDQJFA/uO/0Jc2uwLrjFsHaUF+s5CAkKy5BVSaoQAiig/YonlvUH56pblp1ug7PGsbZJuy6jVu2274rSciuRMI2aLGxJT3myxVkHB3jOI0MBITMLrxJK9G3sxqTOKKhlugGqtPn3CuPVk6wGZ6CBgnwfZQWGKCyVcnkj8ifVZ2wPbv1iv1QSABEJhJTSxSgjCYuTwW/mj88fHIvHY9bWYkBURWsgLBvaerEFKgO1Fg+EhBWAPd/HKh8eKe87Txn2xfLAC+7LVNd1KQmWBsFIrFQe5xX0VCv7e804BYIoDJrAbudoh4Gkinwn7F/aH7DfVuCwdiNcS/odTGlYv8tEu2UT7v7iKT7Iwr7fPdwtVckews5mV5pLzarqM47BEX8CNuujiASYWF35sSq9sgZ3ZQKNfgFV9xkdURWFwnP9zA+izXFQKaj4pWt8MxhlXreSGnB13wwpJbCnu51t3Mfxy/RdeDcIr4vNB6xEWv+FIAcOeOydqR+8oaJFrR9FmMkekV2GAoJo3Piq/LMf60sX/bd2vbZ+r1h8jKwfSKO0sv97+f0487NWcBFrOL2wmuv8xAWl1j6KPypm7INxxvHLgqA/uDXwoT9YS3LfcmVovx69ZmA1N3nNpSZNRG0XTTdkbjLKjNt8ztnnhefE5wYLzj577fLQfu45/BV6hZ9zLpa5Yu05WefG5xibV8aCH8Rfppd5aD+APVpBYVTqarnJqw5UJiasIyuXinGUyZKSPI5dHeXx9MGiDk3h6ZC+P8xtwRKzYalaPMmRtJXX8v4Ugslx+9ApF6hyaOIKAge9yiirxVvrxTDdxNDKFUTGjhz9vnufOvSSe6mXHOp+VDlZEjpk54/MR03/9fmfXPpUmRi5sJiwKZex2f6UyrzXpRV8V5/YF4J9x1QsACmb9Y57Knu7svXK62484cbrr9xBO66/Prr3dddvff7X2SOznx8+aeQkszKKmgChM5IwAUnCoII2G0NE1KyYweywz+3G95YKHJA9HfrzoXg3KrwHm+VC4OsHFlHcQlS3q8bKhUpcQgUjfoWMyR6Pi6JFcFw2OTG5kAiGzE35YXO688zH1j8jIfRBFAIMEPRWGTIczAFVrDxd5qUDLzHMc/nwO9b9j0WzbPa+vdPuSkzxL6BJg1aaPdqHwlRNXnLSj7PJpQO6V0LLDRcVXE8v9UIT7Inc0YWaBpalGbGb+zX6hJSNA/Ke/+9J5fEH/5zZmDnn4JzVjdXbufhGyPOkZO0NeQDjlgx5iIb+xwyaS9+qUOEL6TP87Lvx7+pFZRtLPT0ttXvrbE2GrW24r+GpCKAx7ZbnQMaM2xPNOI0s63+Em9FQyaa/L0Hg58GEBf0NpOYXgO+RrUxjT1gK9d5/nbTyhhM1Bi/+0tGQTwLzw0mKnK5/Jh+zqarsui3HXWCTKS85eIHzhqBuZjEk0UONOdC+T+WapyDS2k+kgDQ0buMrpW46u5TMy3ujrM5QEZNsvvSMoYIU4mN2MFrspxkQi6XPBmodrtKCD76OUpfA9Y+TT5QBqtgRYFYpWSxpwBR2pt4ZOrMOa174Ey8lfj+WMq0PSyWFnkFaykcVh59dqhateolZPuMaCkYwpez9BigWzVuwcxX8yhu2FcsQwo4ZWxZB3Gkwva1atOJwHcF5ysAO9Vp1mo4DihVnn3Oox5Q1elWaai+4obP6KbYS4Do6VMiSLvPsyteFmy6OYXSUaNdxxbooWGba+s2DNR43nL4lgmB+32yZsmURei1QiBSAH7xl3RLFTGtW2ZUSRCKU5ImyWvMW36t2Tbc4Q8ZVRFHSo2LxAHDNKra0RxJ2uvn/Pdn+lllArCtijejq6RsYGhmbmJqZW7Cxc3BycfPw8vELCAoJixCiRIsRK068BImSJEuRKk26DJmyZMuRK0++AoWKFCtRqky5CpU4jy8QisQSqUyuUKoINanR6vQGo8lsoWimpHjiTJ6kKXXV9Jayp2h21xYzZQgZD9/Bt0HZ3fhd3Zo5fNwyiQPPyx5Gmb04ti4oZzks4+EV33AJQ6qeXNfWVVpRCxKVK+eM3aqXNrQ7c3hzmprgLHoRIePht+A738OIAhERBR6EHF/uEizj1c3JGZIwZJftyXVtXaUWtSARDZ1OY6h7O+z57TBxwXpmm+WDf+7uKP/T3e5/EPnrtfsAAAAA) format("woff2"),url(/assets/pixelify-sans-cyrillic-700-normal-BrZTw8tu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pixelify-sans-latin-ext-700-normal-ClyJstAh.woff2) format("woff2"),url(/assets/pixelify-sans-latin-ext-700-normal-BadXkHzZ.woff) format("woff");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:Pixelify Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pixelify-sans-latin-700-normal-D3Xxx3QE.woff2) format("woff2"),url(/assets/pixelify-sans-latin-700-normal-BctWAS0u.woff) format("woff");unicode-range:U+0000-00FF,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-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");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-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,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{color:#f1eadb;background:#06090a;font-family:Pixelify Sans,system-ui,sans-serif;font-synthesis:none;--ink: #070b0d;--panel: #0c1215;--panel-2: #11181b;--stone: #242726;--stone-dark: #121717;--line: #665b49;--gold: #ebc66a;--cyan: #70e7ff;--muted: #9da9a7}*{box-sizing:border-box}button,input{font:inherit}button{color:inherit}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--ink);-webkit-font-smoothing:none}button:focus-visible,input:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.game-shell{min-height:100vh;padding:12px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.topbar,.intro-panel,.board,.spell-console,.active-spell,.result-modal{border:3px solid #3c3b34;box-shadow:inset 0 0 0 2px #101313,inset 0 0 0 4px #70664f,0 4px #020303}.topbar{min-height:74px;display:grid;grid-template-columns:1.4fr .7fr .8fr .8fr 1fr;align-items:center;gap:18px;padding:10px 24px;background:#0a0f11;text-transform:uppercase;letter-spacing:.05em}.brand{font:700 clamp(22px,2.4vw,42px)/1 "Cinzel",serif;color:var(--gold);text-shadow:2px 3px #5f3519;white-space:nowrap}.brand span{color:#f4dc91}.hearts{display:flex;gap:8px;color:#3a3d3d;font-size:32px}.heart.active{color:#f43c35;filter:drop-shadow(0 2px #6f0e0b)}.metric{color:#f4ead8;font-size:clamp(15px,1.45vw,25px);white-space:nowrap}.metric span{color:#f4ead8}.metric strong{color:var(--cyan);margin-left:8px;font-family:Cinzel,serif;font-variant-numeric:tabular-nums;letter-spacing:.04em}.objective{display:flex;justify-content:flex-end;align-items:center;gap:10px;color:var(--gold);font-size:clamp(15px,1.4vw,23px);white-space:nowrap}.objective.complete{color:#7ce49d}.game-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(210px,270px) minmax(520px,840px);justify-content:center;gap:38px;align-items:center}.intro-panel{align-self:stretch;max-height:680px;padding:25px 20px;background:#090f11f7;display:flex;flex-direction:column;justify-content:space-around}.intro-panel h1{margin:0;text-align:center;color:var(--cyan);font-size:clamp(22px,2vw,34px);letter-spacing:.05em;overflow-wrap:anywhere}.rule{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start;border-top:1px solid #4d4f49;padding-top:16px}.rule svg{color:#2cc8f2;font-size:24px}.rule p{margin:0;color:#e9e8df;font-size:17px;line-height:1.35;text-transform:uppercase;letter-spacing:.04em}.rule strong{color:var(--cyan);font-weight:400}.message{border-top:1px solid #4d4f49;padding-top:15px;color:var(--muted);line-height:1.25}.message.success{color:#7ce49d}.board-wrap{width:min(100%,760px);justify-self:center;padding:0 0 0 30px}.column-labels{display:grid;grid-template-columns:repeat(var(--board-size),1fr);padding-left:0;margin-bottom:4px;color:#bfb7a7;text-align:center;font-size:18px}.board-and-rows{display:grid;grid-template-columns:28px 1fr}.row-labels{display:grid;grid-template-rows:repeat(var(--board-size),1fr);align-items:center;justify-items:center;color:#bfb7a7;font-size:18px}.board{position:relative;overflow:hidden;aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));grid-template-rows:repeat(var(--board-size),minmax(0,1fr));background:#101515;touch-action:none}.arrow-projectile{position:absolute;left:var(--arrow-from-x);top:var(--arrow-from-y);width:calc(var(--tile-size) * .82);height:calc(var(--tile-size) * .82);z-index:8;color:#eafcff;pointer-events:none;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 9px var(--cyan));animation:arrow-flight var(--arrow-flight-duration) steps(10) both}.chain-overlay,.dash-overlay,.fireball-overlay,.ice-nova-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;overflow:hidden}.chain-bolt-segment{position:absolute;color:#f7fbff;opacity:0;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px #70e7ff) drop-shadow(0 0 12px #6d5cff);transform:translate(-50%,-50%) rotate(var(--bolt-angle));animation:chain-bolt-flash 80ms steps(4) var(--bolt-delay) both}.chain-bolt-muted{color:#b7dfff;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #66b8f2)}.dash-ghost,.dash-runner{position:absolute;left:var(--dash-from-x);top:var(--dash-from-y);width:calc(var(--dash-tile-size) * .64);height:calc(var(--dash-tile-size) * .64);color:#b7bc91;background:#27553773;border-radius:4px;padding:calc(var(--dash-tile-size) * .03);filter:saturate(.55) drop-shadow(0 3px 1px #050707);transform:translate(-50%,-50%)}.dash-ghost{opacity:.4;animation:dash-ghost-fade .2s steps(5) both}.dash-runner{z-index:2;color:#f1d38a;background:#275537;opacity:1;animation:dash-travel var(--dash-travel-duration) cubic-bezier(.16,.75,.25,1) both}.dash-dust{position:absolute;left:var(--dash-to-x);top:var(--dash-to-y);width:var(--dash-tile-size);height:var(--dash-tile-size);transform:translate(-50%,-50%);color:#c8b98f}.dash-dust-particle{position:absolute;left:40%;top:40%;width:20%;height:20%;opacity:0;filter:drop-shadow(0 0 3px #d6c392);animation:dash-dust-burst .14s steps(5) both}.dash-dust-0{--dust-x: -150%;--dust-y: -35%}.dash-dust-1{--dust-x: -85%;--dust-y: -125%}.dash-dust-2{--dust-x: 35%;--dust-y: -145%}.dash-dust-3{--dust-x: 135%;--dust-y: -60%}.dash-dust-4{--dust-x: 120%;--dust-y: 75%}.dash-dust-5{--dust-x: -75%;--dust-y: 90%}.fireball-charge,.fireball-projectile{position:absolute;left:var(--fire-from-x);top:var(--fire-from-y);width:calc(var(--fire-tile-size) * .64);height:calc(var(--fire-tile-size) * .64);color:#ff7a32;transform:translate(-50%,-50%);filter:drop-shadow(0 0 3px #fff0b0) drop-shadow(0 0 10px #ff3b18)}.fireball-charge{animation:fireball-charge .1s ease-out both}.fireball-projectile{z-index:3;animation:fireball-flight var(--fire-flight-duration) ease-out both}.fireball-trail{position:absolute;left:var(--fire-from-x);top:var(--fire-from-y);width:calc(var(--fire-tile-size) * .34);height:calc(var(--fire-tile-size) * .34);color:#ffad42;opacity:0;filter:drop-shadow(0 0 6px #ff401f);animation:fireball-trail var(--fire-flight-duration) ease-out both;animation-delay:calc(var(--trail-index, 0) * 12ms)}.trail-0{--trail-index: 0;--trail-scale: .92}.trail-1{--trail-index: 1;--trail-scale: .76}.trail-2{--trail-index: 2;--trail-scale: .6}.trail-3{--trail-index: 3;--trail-scale: .44}.trail-4{--trail-index: 4;--trail-scale: .3}.fireball-impact{position:absolute;left:var(--fire-to-x);top:var(--fire-to-y);width:calc(var(--fire-tile-size) * 1.5);height:calc(var(--fire-tile-size) * 1.5);color:#ff5b28;transform:translate(-50%,-50%);display:grid;place-items:center;filter:drop-shadow(0 0 12px #ff2d12)}.fireball-impact>svg{position:absolute;width:100%;height:100%;animation:fireball-explosion .2s ease-out both}.fireball-impact>svg:nth-child(2){color:#ffd06a;animation-delay:20ms}.fireball-impact>svg:nth-child(3){width:70%;height:70%;color:#ff8b2f;animation-delay:45ms}.ice-crack,.ice-wave{position:absolute;left:var(--ice-x);top:var(--ice-y);color:#c9faff;transform:translate(-50%,-50%);filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 12px #51cfff)}.ice-crack{width:var(--ice-tile-size);height:var(--ice-tile-size);animation:ice-crack .1s steps(5) both}.ice-wave{width:calc(var(--ice-tile-size) * 3);height:calc(var(--ice-tile-size) * 3);animation:ice-wave .2s ease-out both}.tile{position:relative;min-width:0;min-height:0;padding:0;border:1px solid #41413c;background:#202524;display:grid;place-items:center;cursor:default;overflow:hidden}.tile:after{content:"";position:absolute;top:5%;right:5%;bottom:5%;left:5%;border:1px solid rgba(255,255,255,.025);pointer-events:none}.tile-floor{background-color:#242827}.tile-wall{background:#111515;color:#6c6b62}.tile-wall>svg:first-child{width:95%;height:95%;filter:drop-shadow(0 3px #050606)}.temporary-wall{transform-origin:50% 100%;will-change:transform,clip-path,opacity}.wall-rising{animation:wall-rise .52s steps(8) both}.wall-falling{animation:wall-fall .52s steps(8) both}.tile-water{background:#0c2732;color:#1d8fba}.tile-water>svg:first-child{width:76%;height:76%}.tile-trap{color:#b9b7af}.tile-trap>svg:first-child{width:70%;height:70%}.tile.available{cursor:pointer;box-shadow:inset 0 0 0 2px #70e7ff40}.tile.available:hover{background-color:#2f3837;box-shadow:inset 0 0 0 3px var(--cyan)}.entity{position:absolute;width:64%;height:64%;z-index:2;filter:drop-shadow(0 4px 1px #050707)}.player{color:#f1d38a;background:#275537;border-radius:4px;padding:5%}.slime{color:#7ce342;filter:drop-shadow(0 4px #183f11)}.goblin{color:#95b83f;background:#52391e;border-radius:50%;padding:6%}.elite{width:72%;height:72%;color:#f2bd50;background:#601d24;border:2px solid #d58438;border-radius:50%;padding:5%;filter:drop-shadow(0 0 7px #e54832) drop-shadow(0 4px #26080d);animation:elite-pulse 1.2s steps(2) infinite}.gem{width:58%;height:58%;color:#38d8ff;filter:drop-shadow(0 0 8px #1ec8ff);animation:pulse 1.7s steps(2) infinite}.exit{color:#9d7935;width:76%;height:76%}.exit.open{color:var(--gold);filter:drop-shadow(0 0 8px #e4b23d)}.frozen{color:#a9f5ff!important;filter:drop-shadow(0 0 5px #6ee7ff)}.tile-water .frozen{animation-play-state:paused!important;background:#c1f7ff47;border-radius:18%;filter:saturate(.15) brightness(1.55) drop-shadow(0 0 6px #a9f5ff)}.burning-ground{position:absolute;top:9%;right:9%;bottom:9%;left:9%;z-index:1;display:grid;place-items:end center;color:#ff6b2e;opacity:.82;pointer-events:none;filter:drop-shadow(0 0 5px #ff321c)}.burning-ground>svg{position:absolute;width:76%;height:76%;animation:ground-flame .42s steps(3) infinite alternate}.burning-ground>svg:nth-child(2){width:42%;height:48%;color:#ffbd45;animation-delay:-.14s}.burning-ground>svg:nth-child(3){width:30%;height:38%;left:18%;color:#ff4725;animation-delay:-.28s}.shield-aura{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;z-index:4;display:grid;place-items:center;color:#77e8ff;pointer-events:none;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #3bbcf2)}.shield-hex{width:100%;height:100%;animation:shield-breathe 1.25s ease-in-out infinite}.shield-activating .shield-hex{animation:shield-activate .15s ease-out both,shield-breathe 1.25s ease-in-out .15s infinite}.shield-breaking{color:#f7fdff;filter:brightness(2.2) drop-shadow(0 0 7px #fff) drop-shadow(0 0 15px #45d9ff);animation:shield-flash .25s steps(6) both}.shield-breaking .shield-hex{animation:shield-break .25s ease-out both}.shield-shard{position:absolute;left:40%;top:40%;width:20%;height:20%;opacity:0;animation:shield-shard .25s ease-out both}.shield-shard-0{--shield-x: -210%;--shield-y: -120%;--shield-r: -45deg}.shield-shard-1{--shield-x: -45%;--shield-y: -235%;--shield-r: 15deg}.shield-shard-2{--shield-x: 145%;--shield-y: -185%;--shield-r: 55deg}.shield-shard-3{--shield-x: 230%;--shield-y: -15%;--shield-r: 95deg}.shield-shard-4{--shield-x: 170%;--shield-y: 175%;--shield-r: 145deg}.shield-shard-5{--shield-x: 5%;--shield-y: 235%;--shield-r: 205deg}.shield-shard-6{--shield-x: -180%;--shield-y: 170%;--shield-r: 255deg}.shield-shard-7{--shield-x: -235%;--shield-y: 10%;--shield-r: 315deg}.frozen-status{position:absolute;top:4%;right:4%;bottom:4%;left:4%;z-index:4;pointer-events:none;color:#d8fbff;filter:drop-shadow(0 0 4px #63dfff)}.frozen-status>svg{position:absolute;width:28%;height:28%}.frozen-status>svg:nth-child(1){left:2%;top:5%}.frozen-status>svg:nth-child(2){right:3%;top:20%}.frozen-status>svg:nth-child(3){left:37%;bottom:0}.ice-thawing>svg{animation:ice-shatter .15s ease-out both}.ice-thawing>svg:nth-child(2){animation-delay:18ms}.ice-thawing>svg:nth-child(3){animation-delay:32ms}.combat-effect{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;z-index:5;display:grid;place-items:center;pointer-events:none;color:var(--cyan);isolation:isolate}.effect-core{position:absolute;width:66%;height:66%;z-index:3;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px currentColor);animation:cast-flash .68s steps(6) both}.effect-rune{position:absolute;width:88%;height:88%;z-index:2;opacity:.9;filter:drop-shadow(0 0 8px currentColor);animation:rune-spin .72s steps(8) both}.effect-wave{position:absolute;width:100%;height:100%;z-index:1;filter:drop-shadow(0 0 7px currentColor);animation:shock-wave .66s steps(6) both}.wave-front{z-index:4;animation-delay:.09s;animation-duration:.55s}.effect-particle{position:absolute;width:22%;height:22%;z-index:5;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 7px currentColor);animation:particle-burst .72s steps(6) both}.particle-0{--particle-x: -175%;--particle-y: -135%;--particle-rotate: -55deg}.particle-1{--particle-x: 10%;--particle-y: -205%;--particle-rotate: 25deg;animation-delay:.02s}.particle-2{--particle-x: 180%;--particle-y: -125%;--particle-rotate: 70deg;animation-delay:.04s}.particle-3{--particle-x: 205%;--particle-y: 20%;--particle-rotate: 120deg;animation-delay:.06s}.particle-4{--particle-x: 145%;--particle-y: 170%;--particle-rotate: 170deg;animation-delay:.08s}.particle-5{--particle-x: -15%;--particle-y: 205%;--particle-rotate: 220deg;animation-delay:.1s}.particle-6{--particle-x: -175%;--particle-y: 135%;--particle-rotate: 275deg;animation-delay:.12s}.particle-7{--particle-x: -205%;--particle-y: -15%;--particle-rotate: 320deg;animation-delay:.14s}.effect-hit{color:#ff5b4f}.effect-hit .effect-core{animation-name:hit-flash;width:86%;height:86%}.effect-hit .effect-rune{animation-direction:reverse;color:#ffd2a8}.effect-hit-mark{position:absolute;width:48%;height:48%;z-index:6;color:#fff0cf;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px #ff3028);animation:hit-mark .62s steps(5) both}.effect-reward,.spell-heal{color:#7ce49d}.spell-fireball{color:#ff7045}.spell-ice{color:#a9f5ff}.spell-earth{color:#d09a59}.spell-chain{color:#d3a0ff}.spell-block{color:#f2d279}.spell-dash{color:#f4b66d}.spell-reveal{color:#e9f5ff}.tile-casting{animation:tile-cast-glow .7s steps(6) both}.tile-hit{animation:tile-hit-flash .58s steps(5) both}.taking-hit{animation:entity-hit .52s steps(5) both!important}.spell-chain.effect-hit .effect-core,.spell-chain.effect-hit .effect-rune,.spell-chain.effect-hit .effect-wave,.spell-chain.effect-hit .effect-hit-mark,.spell-chain.effect-hit .effect-particle{animation-duration:60ms}.spell-chain.effect-cast .effect-core,.spell-chain.effect-cast .effect-rune,.spell-chain.effect-cast .effect-wave,.spell-chain.effect-cast .effect-particle{animation-duration:.26s}.taking-hit.chain-hit{animation:chain-entity-hit 60ms steps(4) both!important}.taking-hit.fireball-hit{animation:fireball-entity-hit .2s steps(6) both!important}.board-impact{animation:board-impact .32s steps(4) both}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes elite-pulse{50%{transform:scale(1.07);color:#ffe397}}@keyframes cast-flash{0%{opacity:0;transform:scale(.15) rotate(-35deg)}22%{opacity:1;transform:scale(1.2) rotate(8deg)}52%{opacity:1;transform:scale(.88) rotate(-8deg)}to{opacity:0;transform:scale(1.55) rotate(28deg)}}@keyframes rune-spin{0%{opacity:0;transform:scale(.35) rotate(-120deg)}30%{opacity:.95;transform:scale(1.12) rotate(0)}70%{opacity:.75}to{opacity:0;transform:scale(1.45) rotate(150deg)}}@keyframes shock-wave{0%{opacity:0;transform:scale(.1) rotate(0)}28%{opacity:1}to{opacity:0;transform:scale(1.5) rotate(45deg)}}@keyframes hit-flash{0%{opacity:0;transform:scale(.15) rotate(-15deg)}22%{opacity:1;transform:scale(1.35) rotate(8deg)}55%{opacity:.9;transform:scale(.72) rotate(-6deg)}to{opacity:0;transform:scale(1.45) rotate(18deg)}}@keyframes hit-mark{0%{opacity:0;transform:scale(1.7)}20%{opacity:1;transform:scale(.8)}48%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(.45)}}@keyframes particle-burst{0%{opacity:0;transform:translate(0) scale(.25) rotate(0)}18%{opacity:1;transform:translate(0) scale(1.1) rotate(0)}to{opacity:0;transform:translate(var(--particle-x),var(--particle-y)) scale(.55) rotate(var(--particle-rotate))}}@keyframes entity-hit{0%,to{transform:translate(0)}18%{transform:translate(-17%) scale(.82);color:#fff;filter:brightness(2.4) drop-shadow(0 0 9px #fff)}40%{transform:translate(14%) scale(1.12);color:#ff2d22}62%{transform:translate(-8%) scale(.94)}82%{transform:translate(5%) scale(1.04)}}@keyframes chain-entity-hit{0%,to{transform:translate(0)}32%{transform:translate(var(--chain-hit-x, 3px),var(--chain-hit-y, 0));color:#fff;filter:brightness(2.5) drop-shadow(0 0 8px #aef5ff)}68%{transform:translate(var(--chain-rebound-x, -2px),var(--chain-rebound-y, 0));color:#cda8ff}}@keyframes tile-cast-glow{0%,to{box-shadow:inset 0 0 0 0 currentColor}30%{box-shadow:inset 0 0 18px 4px currentColor;filter:brightness(1.65)}}@keyframes tile-hit-flash{0%,to{box-shadow:inset 0 0 0 0 transparent;filter:brightness(1)}18%{box-shadow:inset 0 0 20px 5px #fff2d4;filter:brightness(2.2)}40%{box-shadow:inset 0 0 18px 6px #e7382f;filter:brightness(1.35)}65%{box-shadow:inset 0 0 12px 4px #6c1713;filter:brightness(.8)}}@keyframes board-impact{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}45%{transform:translate(3px,-2px)}70%{transform:translate(-2px,-1px)}}@keyframes arrow-flight{0%{left:var(--arrow-from-x);top:var(--arrow-from-y);opacity:0;transform:translate(-50%,-50%) rotate(var(--arrow-angle)) scale(.45)}12%{opacity:1;transform:translate(-50%,-50%) rotate(var(--arrow-angle)) scale(1)}82%{opacity:1}to{left:var(--arrow-to-x);top:var(--arrow-to-y);opacity:0;transform:translate(-50%,-50%) rotate(var(--arrow-angle)) scale(1.12)}}@keyframes chain-bolt-flash{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--bolt-angle)) scaleX(.15) scaleY(.7)}25%{opacity:1;transform:translate(-50%,-50%) rotate(var(--bolt-angle)) scaleX(.75) scaleY(1.2)}70%{opacity:.95;transform:translate(-50%,-50%) rotate(var(--bolt-angle)) scaleX(1) scaleY(.85)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--bolt-angle)) scaleX(1.08) scaleY(.55)}}@keyframes dash-travel{0%{left:var(--dash-from-x);top:var(--dash-from-y);transform:translate(-50%,-50%) scale(.9)}48%{left:var(--dash-mid-x);top:var(--dash-mid-y);transform:translate(-50%,calc(-50% - var(--dash-arc))) scale(1.06)}to{left:var(--dash-to-x);top:var(--dash-to-y);transform:translate(-50%,-50%) scale(1)}}@keyframes dash-ghost-fade{0%{opacity:.4}to{opacity:0;transform:translate(-50%,-50%) scale(.82)}}@keyframes dash-dust-burst{0%{opacity:0;transform:translate(0) scale(.25)}25%{opacity:.9;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dust-x),var(--dust-y)) scale(.55)}}@keyframes shield-activate{0%{opacity:0;transform:scale(.15)}to{opacity:1;transform:scale(1)}}@keyframes shield-breathe{0%,to{transform:scale(.96);opacity:.72}50%{transform:scale(1.06);opacity:1}}@keyframes shield-flash{0%,18%{filter:brightness(4)}to{filter:brightness(1)}}@keyframes shield-break{0%{opacity:1;transform:scale(1)}20%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(1.65) rotate(22deg)}}@keyframes shield-shard{0%,16%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--shield-x),var(--shield-y)) scale(.45) rotate(var(--shield-r))}}@keyframes fireball-charge{0%{opacity:0;transform:translate(-50%,-50%) scale(.05)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fireball-flight{0%{left:var(--fire-from-x);top:var(--fire-from-y);transform:translate(-50%,-50%) scale(.8)}to{left:var(--fire-to-x);top:var(--fire-to-y);transform:translate(-50%,-50%) scale(1.08)}}@keyframes fireball-trail{0%{left:var(--fire-from-x);top:var(--fire-from-y);opacity:.85;transform:translate(-50%,-50%) scale(var(--trail-scale))}80%{opacity:.55}to{left:var(--fire-to-x);top:var(--fire-to-y);opacity:0;transform:translate(-50%,-50%) scale(.1)}}@keyframes fireball-explosion{0%{opacity:0;transform:scale(.08)}35%{opacity:1;transform:scale(.72)}to{opacity:0;transform:scale(1.12)}}@keyframes fireball-entity-hit{0%,to{transform:translate(0)}28%{transform:translate(22%) scale(.8);color:#fff;filter:brightness(2.8) drop-shadow(0 0 11px #ffb02e)}58%{transform:translate(-12%) scale(1.15);color:#ff5b2d}82%{transform:translate(6%) scale(.96)}}@keyframes ground-flame{0%{transform:translateY(4%) scale(.93,.88);opacity:.64}to{transform:translateY(-7%) scale(1.03,1.12);opacity:.94}}@keyframes ice-crack{0%{opacity:0;transform:translate(-50%,-50%) scale(.08)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes ice-wave{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(-18deg)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(20deg)}}@keyframes ice-shatter{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(45%,-80%) scale(.3) rotate(80deg)}}@keyframes wall-rise{0%{opacity:.2;clip-path:inset(92% 0 0);transform:translateY(42%) scale(.18,.08)}35%{opacity:.8;clip-path:inset(58% 0 0);transform:translateY(20%) scale(.72,.45)}72%{opacity:1;clip-path:inset(18% 0 0);transform:translateY(5%) scale(.94,.86)}to{opacity:1;clip-path:inset(0);transform:translateY(0) scale(1)}}@keyframes wall-fall{0%{opacity:1;clip-path:inset(0);transform:translateY(0) scale(1)}35%{opacity:.9;clip-path:inset(28% 0 0);transform:translateY(9%) scale(.9,.72)}72%{opacity:.55;clip-path:inset(70% 0 0);transform:translateY(28%) scale(.48,.28)}to{opacity:0;clip-path:inset(96% 0 0);transform:translateY(45%) scale(.12,.04)}}.spell-console{display:grid;grid-template-columns:330px minmax(0,1fr);gap:10px;padding:8px;background:#090d0f}.active-spell{display:grid;grid-template-columns:95px 1fr;grid-template-rows:auto 1fr;gap:4px 18px;padding:10px;background:#0a1215}.active-spell>span{grid-column:1 / -1;color:var(--cyan);text-transform:uppercase;font-size:18px}.active-spell>svg{width:80px;height:80px;color:#e4f2ef;filter:drop-shadow(4px 4px #277191)}.active-spell strong{color:var(--cyan);font-size:24px;text-transform:uppercase}.active-spell p{margin:8px 0 0;font-size:15px;line-height:1.25;color:#e7e3d8;text-transform:uppercase}.spell-deck{min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(82px,1fr);gap:8px;overflow-x:auto;padding:2px;scrollbar-width:thin}.spell-card{min-width:82px;min-height:120px;position:relative;display:grid;grid-template-rows:26px 1fr auto auto;justify-items:center;gap:2px;padding:8px 5px 5px;border:2px solid #635132;background:#101618;box-shadow:inset 0 0 0 2px #161510;text-transform:uppercase;cursor:default}.spell-card:disabled{opacity:1}.spell-card svg{font-size:24px;color:#85877f}.spell-card b{align-self:center;font-size:clamp(20px,2.4vw,36px);color:#e9e6c4}.spell-card>span{font-size:14px;color:#b8c7c7}.spell-card small{width:28px;border:1px solid #45433c;color:#d7c9af;background:#090c0d}.spell-card.active{border-color:var(--cyan);box-shadow:inset 0 0 0 2px #0d6e8d,0 0 10px #2cc8f2;cursor:pointer}.spell-card.active svg,.spell-card.active b,.tone-cyan>span{color:var(--cyan)}.tone-green>span{color:#87d85d}.tone-orange>span{color:#f0a95f}.tone-violet>span{color:#cc8ee6}.tone-gold>span{color:var(--gold)}.cast-button{display:none}.utility-bar{min-height:24px;display:flex;justify-content:space-between;color:#77817f;font-size:14px}.text-button{border:0;background:transparent;color:var(--cyan);cursor:pointer;padding:0}.utility-actions{display:flex;align-items:center;gap:18px}.sound-toggle{display:inline-flex;align-items:center;gap:5px}.sound-toggle svg{font-size:17px}.name-gate{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:32px;text-align:center;background:#080d0f}.gate-emblem{font-size:84px;color:var(--cyan);filter:drop-shadow(0 0 18px #158fb0)}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.14em}.name-gate h1{max-width:720px;margin:8px 0;font:700 clamp(38px,7vw,82px)/1.05 "Cinzel",serif;color:#f0d17c;text-shadow:4px 5px #4e2917}.name-gate>p:not(.eyebrow):not(.gate-note){max-width:560px;color:#bdc7c5;font-size:20px}.name-gate form{width:min(100%,580px);margin-top:28px;display:grid;gap:12px;text-align:left}.name-gate label{color:var(--cyan);text-transform:uppercase}.name-gate input{width:100%;border:3px solid #655b47;background:#0b1113;color:#f0eadb;padding:16px;font-size:30px;text-transform:uppercase}.gate-actions,.modal-actions{display:flex;gap:10px;flex-wrap:wrap}.gate-actions button,.modal-actions button,.cast-button{flex:1;border:2px solid #9b753a;background:#a86b22;color:#fff2ca;padding:13px 18px;cursor:pointer;text-transform:uppercase;box-shadow:inset 0 0 0 2px #3c2414}button.secondary{background:#11191c;border-color:#566361;color:#b8c6c4}button:disabled{cursor:not-allowed;opacity:.5}.gate-note{color:#75817f;font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:#000405d1;padding:20px}.result-modal{width:min(620px,100%);background:#0b1215;padding:30px;text-align:center}.result-modal>svg{font-size:72px;color:var(--cyan)}.result-modal h2{margin:6px 0 22px;color:#f3e3ae;font:700 36px/1.1 Cinzel,serif}.result-reason{max-width:46ch;margin:-10px auto 22px;color:#d4c7aa;line-height:1.45}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #454c49;margin-bottom:24px;padding:18px 0;color:#98a6a3;text-transform:uppercase}.result-stats b{display:block;color:var(--cyan);font-size:26px}@media(max-width:980px){.game-shell{padding:8px;overflow:visible}.topbar{grid-template-columns:1fr auto auto;gap:10px;padding:10px 14px}.brand{grid-column:1 / -1;text-align:center}.objective{grid-column:1 / -1;justify-content:center}.game-main{grid-template-columns:1fr;gap:12px}.intro-panel{order:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.intro-panel h1,.message{grid-column:1 / -1}.rule{display:none}.board-wrap{order:1;max-width:680px;padding-left:0}.spell-console{grid-template-columns:1fr}.active-spell{display:none}.cast-button{display:flex;align-items:center;justify-content:center;gap:8px}.spell-deck{grid-auto-columns:minmax(78px,96px)}}@media(max-width:560px){.game-shell{gap:6px}.topbar{min-height:auto;grid-template-columns:repeat(3,1fr);padding:8px}.brand{font-size:25px}.hearts{font-size:23px;justify-content:center}.metric{font-size:14px;text-align:center}.objective{font-size:15px}.board-wrap{width:100%}.column-labels,.row-labels{display:none}.board-and-rows{display:block}.entity{width:74%;height:74%}.intro-panel{display:block;text-align:center}.intro-panel h1{font-size:22px;margin-bottom:8px}.message{padding-top:8px;font-size:14px}.spell-console{padding:5px}.spell-card{min-height:94px;grid-template-rows:19px 1fr auto auto}.spell-card svg{font-size:18px}.spell-card b{font-size:25px}.spell-card>span{font-size:12px}.utility-bar{font-size:12px}.utility-bar span{display:none}.name-gate{padding:20px}.gate-actions{flex-direction:column}.result-stats{font-size:13px}.result-stats b{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
