:root{--ash-900:#1f1d24;--ash-800:#2a2730;--ash-700:#36323d;--ash-500:#57515f;--bone:#e9e3d7;--bone-dim:#ada5b5;--brass:#c8a15a;--verdigris:#63b3a2;--stone:#2e2b33;--stone-hi:#4a4552;--stone-lo:#17161b;--ink:#121116;--brass-hi:#e6c789;--brass-lo:#8a6a2f;--erosion:#c9c6cf;--erosion-dim:#8e8896;--class-shieldbearer:#9aa7b8;--class-executioner:#c0553f;--class-cindermage:#e0894a;--class-bellkeeper:#63b3a2;--rare:#ecd9a6;--rare-line:#8f7a45;--elite:#7ea6e6;--rage:#c8453a;--wound:#f0605a;--status-knockdown:#9a91d4;--status-mark:#e3c26b;--status-ignite:#ec7b42;--status-bleed:#ec7c82;--font-display:"Hahmlet", serif;--font-body:"IBM Plex Sans KR", system-ui, sans-serif;--font-pixel:"Galmuri11", var(--font-display);--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:21px;--text-2xl:24px;--text-3xl:36px;--text-4xl:48px;--leading-body:1.6;--leading-heading:1.25;--measure:40em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-card:10px;--radius-panel:4px;--radius-bar:2px;--sprite-compact:56px;--sprite-wide:88px;--sprite-card:64px;--sprite-seat:48px;--stage-step:6px;--motion-quick:.12s;--motion-change:.24s;--motion-resonance:.6s}@media (prefers-reduced-motion:reduce){:root{--motion-quick:0s;--motion-change:0s;--motion-resonance:0s}}@font-face{font-family:Galmuri11;font-weight:700;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAATsAAwAAAAAEwAAAAScAAJnKwAAAAAAAAAAAAAAAAAAAAAAAAAAG4EQHCAGYAA8CptIjSkBNgIkA4EKC0gABCAFgy4HIBvGChGF1AL8LLDbXBpJaNogeMLfmEmYHp47bg1GkwKf8cyspe5K+veNdEppHTdmZJRaYAXYY4QCmWFYaHie/l4796VUgaYRTGg/Lnhr1DSEO57x9RVpdTyr++D7muoaGXZucf3hroCZJ6zdMn5/uBBLR3rD04YHMF2u1ravkZDsIqbeXhTzrg0SLTH9rpbOpheHK1VhLINEWIzJ3O39zV7Sn/Z8VKJopcgHoxCylK6jTISnPkYz4yI3RErUjzeDALfiCJe9ZldhAPxdmHD0eXmqACXLCP68glYYwHXRxSUucZwgfZacKkKVRowaM2eF0DooUVG542jUj8Ulg0+1L1kBcLO2f8qzBnQsv+AVP5h3PvjfJ6OiEo2ornJ2c92srFnzZ5saNWyuMAQQAJ3YOYA1AqVe26coJr/Z07f9SXTx55FYi/vVt7qDgGPT23oAzkAe0RkAAChJhsCqqqG4nmS9yEpDopId2+BRS7ZlVm3N6loxm5paqtbioTyyrC2NtTNTNlHoDY2VgzWztSlbsa1BtI7gt+L6oSEadAYDt4MHi6t459Olw+kaojoOjy4QUBd8u/GTjB25cPKUmn7UvjlgDQkFfqq388BX2g4nqgiirNW2kTwlK8IfHAihRrgbvPgmSBT6iYebhAF5dazScrQmNSRRP30fGHgN6XCGiac3ri7HpDMye6+hm/dTNnUQxTvOkNewoicAj0pMIFuVKWEJdF7Sl9N6lMljKApaQ+GdUVQDxXzQ8NDxSTTd4WiLDcUtEsvcFy4NblD7cqqM1CN844uncWBjJR57LkhZpVNHoTFcnlYy8bWDGGM0BrLF47fDAtNNcNE3FW5GQEW0vYJRxJIQrZ3fdEyuldwb7slFcO0SfqXDgHbV1iT7iqhq0OFmW0EQ7vMZjZWEI8ZJ4dqm+spkW62K9T+lot0/a7aABEB3Lpr9pmjqk1/USUAsd8jSm7l1KQwd7aUCHexMFFsPO3AYu7palIilhK6wS/7hlC59iSiyEh7ckhzmJhvUdkCySzOvDZTXdjPWXko8h3fKlW7TCBYdx9Ck4qx/bXaiVUTDxGocEZFvWjjHP3TTdlXGkSop9jV+fqYhTwrmDRUABnili/SdZ3OxMLtCTUGNKyBwlQzxDuIkAaMRHmcBDQgpFtOygZx1TugtTGPqkXUlMzPSKWY/CirERnA/W+jaxbPtXMNz/lSy0UUQv6d+hSZ5gZW4wH8EKHv99u93uFsk/4q2N8Tnx//lyuP/c97vXAmMNeHfZ4/5sQCJPRCAmNmSsy0ru0wFrd+WNfFc7YbJpFXu+SAPkdINE8AXWIKOpEdsUJzZ/QoIME+nClCA23rmKER7AByDeinBaFlKMniXUvx+K2m5UsYWziXLmL2Cja2bPY1CdYRYCWwQPy+fGFft+X4hSJNEgrRo1g4kGy1l50T1by1XZymKm5iOP7Op4CytnFpEH2xF8jZ0RdSXK1ScLL/anp9bkFdAQk9XU0nChtWlH7fuHWi03WvoRTWrRwIXz7veB+X4hBXOgiSFMo7XBBYwHL9/L6SoZKykqaOrpaRt6I9MAXXVgQEA)format("woff2");unicode-range:U+20-40,U+D7,U+2212}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--ash-900);min-height:100dvh;color:var(--bone);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body);-webkit-text-size-adjust:100%;word-break:keep-all;overflow-wrap:anywhere;margin:0}h1,h2,h3{font-family:var(--font-display);line-height:var(--leading-heading);margin:0;font-weight:600}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.screen-enter{animation:screen-enter calc(var(--motion-change) * 1.5) cubic-bezier(.16, 1, .3, 1) backwards}@keyframes screen-enter{0%{opacity:0;transform:translateY(10px)}}.screen-swap{position:relative}.screen-leave{z-index:1;pointer-events:none;animation:.12s ease-out forwards screen-leave;position:absolute;inset:0 0 auto}@keyframes screen-leave{to{opacity:0}}@media (prefers-reduced-motion:reduce){.screen-leave{display:none}}button{padding:var(--space-1) var(--space-3);color:var(--ash-900);font-weight:600;line-height:var(--leading-heading);image-rendering:pixelated;cursor:pointer;background:0 0;border:8px solid #0000;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAApElEQVR4nGNkQANCgmL/0cVIAe/ev2JE5jNRYhgxgAWXxJVtxSQZpOPVi1Wc9j7AFeaPbl0ky0B082juA0aYjbAwh7n80MmrJBlkZ67NwMDAwCCnps/AwICIE5yRDNNAKcBpAblgyeJlKHyax8GoBaMWDAELcGY0cosKdMCIqzTdNsGFJAu8CvZgFad9EKHXoTAfwUpF9LKFEKB7ncyILjDkWhUA2d8tW+mWcLoAAAAASUVORK5CYII=) 8 fill/8px;border-radius:0}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){padding-top:calc(var(--space-1) + 1px);padding-bottom:calc(var(--space-1) - 1px);border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAjklEQVR4nGNkQANCgmL/0cVIAe/ev2JE5jNRYhgxgAWXREWkJEkGdSx/jlWc9j7AFeZ25tokGQTzAbp5NPcBI8xGWJiT6nJ0cOjkVQYGBoSPcEYyTCGxAJfDcFpArk9g+mA+oHkcjFowasGoBUhlETqgVn1AtaICpwXodSjMR7DCjlSL6F4nM6ILDLlWBQBw7C6j7h//CgAAAABJRU5ErkJggg==)}button:disabled{color:var(--bone-dim);cursor:not-allowed;border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAZElEQVR4nGNkQANCgmL/0cVIAe/ev2JE5jNRYhgxgAWXhIqiOkkG3bl/E6s47X1AaZijA3TzaO4DRpiNpIY5IQCLE5r7YNSCUQtGLRgOFjDiKk2HTn2AXocOnzoZV5iSCmjuAwBFrxtyoltgxAAAAABJRU5ErkJggg==)}.button-quiet{color:var(--bone);border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAi0lEQVR4nGNkQANCgmL/0cVIAe/ev2JE5jNRYhgxgAWXhIWJDUkGnThzBKs47X2AK8yfPHtIloHo5tHcB4wwG2FhTq7LYUBGSp6BgQERJwOXisgFZy+eROHT3AejFoxaMGoBUlmEDmSkZEky6Mmzx1jFaV8WodehMB/BSkX0soUQoHudzIguMORaFQB6dCerL8PocwAAAABJRU5ErkJggg==)}.button-quiet:active:not(:disabled),.button-quiet[aria-pressed=true]{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAf0lEQVR4nGNkQANCgmL/0cVIAe/ev2JE5jNRYhgxgAWXBCsrK0kG/f79G6s4zX3AiCvMZaRkSTLoybPHWMXp5wNYmIuLSlBk4MvXLxgYGBBxQnMfUN0CcVEJlFAYej4YtWDUgiFowTAoTdEFyC1dYT4YPHUyrDzHFbbEApr7AAAgZiP+2k5qBAAAAABJRU5ErkJggg==)}.button-quiet[aria-pressed=true]{color:var(--brass)}.panel,.deck-dialog{background:var(--stone) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABjklEQVR4nO2auxHCMAyGDccMpGAV2jQpKRmBgTICJSUNE1BQMAQFTEEVznBOkGJFkWR9JcchR/n1NCEIoal3+6be7bntLrkNOiVRrTdttd60c59jCA8Bp3TmKj9S8BxAhYaMn8IVYBGMGnsVoFXS2DObDYHn63GY+wwqSqxZBTiOk4eGBEaBJ0FOJKoKpQCt3eEQK05j58vpyGWrU9o/mygHiGgvR9CpNnV+VgWMZegB+oCqLekAqHy0MOQ4FQrQGnp2kFi/qVDXCVK/DFAOsJIMiwPSuaoLAWqKd4DjOE7RLKBftDYhdv3BMv5A0rqLa/4Aj8NTvfkxy45foOqMbXX2Pg7gnLkhD20l1D7EkqYKN4owyd4IjUmOkjY8ySoAfajY+5okG4cgyTB0u1+3FL+jEmnlEwu4EQrhW/Ih6JJ9H6z7AIlqQVUBC2/cKZlUCPpOUCtU0yJIAZavxlhvhymXKlQVyeTVGGbHgFZAzgJjTkf2qU/FHySwSBq3Jye3vZ68D5DY/8eoD4Fcub8BP2i19mAuznYAAAAASUVORK5CYII=) repeat;image-rendering:pixelated;background-clip:padding-box;border:8px solid #0000;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAnklEQVR4nGNkQANCgmL/0cWoCd69f8WIzGeipWXEABZcEhYmNlS16MSZI1jFBz4EcMX5k2cPaWIhun0DHgKMMBfB4pxWPocBGSl5BgYGRJoY8BDAmQtoBc5ePInCH/AQGHXAqANGHTDqgFEHjDpg1AGjDmDE1SqWkZKlqkVPnj3GKj7gIcCC3leDhQis9YrehqMUDLq+ISO6wIjrHQMA8I8nu1udoxMAAAAASUVORK5CYII=) 8/8px;border-radius:0}.deck-dialog h2{text-shadow:0 1px 0 var(--stone-lo)}.deck-dialog h2:before{content:"";width:16px;height:16px;margin-right:var(--space-2);vertical-align:-1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAVUlEQVR4nGNgQAJCgmL/hQTF/jNgA0KCYv9PLIz6f2JhFIoiJpjktgkuDHJq+gwMDAwM2ya4MMAUMWE1DgkQVMCIbPyjWxdRJL0K9kAUEDIFxSfoGgAbahtENi1q4gAAAABJRU5ErkJggg==) 50%/16px 16px;display:inline-block}input:not([type=checkbox],[type=radio],[type=range]),select{padding:var(--space-1) var(--space-2);color:var(--bone);image-rendering:pixelated;background:0 0;border:5px solid #0000;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAYElEQVR4nGNkQAJCgmL/GYgA796/YoSxmYjRgA9QbAAjNmezsrJiVfz792/qu4CFGJvR5ZFdQpYLkC0a+FgYeANQYgEWunRNB4zIHORUic0VMBcgZyYWDFVoigkBir0AAH0LG1yr6Z5WAAAAAElFTkSuQmCC) 5 fill/5px;border-radius:0}input[aria-invalid=true]{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAfElEQVR4nGNkQAJvapr+MxABRFrqGGFsJmI04AMs2ATVpk7BqvhWdg6mAdiczcrKitdWZD3U84La1CkEbdaeNZOBgYGB4ffv33DvkOUCZIso9sIwMAAeC8iJBBba6OBqWjoNXICcMWAp7Pfv33jTBLIerHkBW5rHBSj2AgBVfSLzpZ+N5QAAAABJRU5ErkJggg==)}select option{background:var(--stone-lo)}.seat,.choice,.class-card{image-rendering:pixelated;background:0 0;border:4px solid #0000;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAaklEQVR4nGNkgAIhQbH/DCSAd+9fMTIwMDCwIAvKSMkSpfnJs8dwNiOyzaysrEQZ8Pv3bzibCWYzsZphFsFcy0S0LjQA8wbZBsDAqAHDwgCKkzIjjCEkKPZfRkoWJaPgA7DciOIFYjUjAwDNwBytK9pN0AAAAABJRU5ErkJggg==) 4 fill/4px;border-radius:0}.seat-me,.class-card.is-selected{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAhklEQVR4nGNkgIITC6P+M5AALOKXMTIwMDCwIAumdd0kSvOsMnU4mwXZ5pevXxBpvzrcxYwnFkb9T+u6SYJmCBAXlWCYVabOwESSLiTw5NljBgYGBvINgIFRA4aFAYzISdm/9CBRmjZ228PZLLBcdWJh1H9xUQl4CiMEsOZGSC5Tx6oBFwAA/nQqS9ISKfgAAAAASUVORK5CYII=)}.choice:has(input:checked){border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAhklEQVR4nGNkgIITC6P+M5AALOKXMTIwMDCwIAumdd0kSvOsMnU4mwXZ5pevXxBpvzrcxYwnFkb9T+u6SYJmCBAXlWCYVabOwESSLiTw5NljBgYGBvINgIFRA4aFAYzISdm/9CBRmjZ228PZLLBcdWJh1H9xUQl4CiMEsOZGSC5Tx6oBFwAA/nQqS9ISKfgAAAAASUVORK5CYII=)}.class-card:active:not(:disabled){padding-top:var(--space-2);padding-bottom:var(--space-2);border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAhklEQVR4nGNkgIITC6P+M5AALOKXMTIwMDCwIAumdd0kSvOsMnU4mwXZ5pevXxBpvzrcxYwnFkb9T+u6SYJmCBAXlWCYVabOwESSLiTw5NljBgYGBvINgIFRA4aFAYzISdm/9CBRmjZ228PZLLBcdWJh1H9xUQl4CiMEsOZGSC5Tx6oBFwAA/nQqS9ISKfgAAAAASUVORK5CYII=)}.seat-companion{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAlUlEQVR4nO2TTQoCMQyFXwZ6gAbMiD8nENx4/9O0FqdCe4Au6sYMOoxQu3LhtwkhvOQ9aIEnbKV+UxV6bc6ny9vwEz44pBwJAIit1JQjsZVqjGnRY4rXWUd6ebrfmsTKuNnCB4dhmakVjTFolh7YSu12AODv4GcckG5KOdIo+6ZlpRTo85/ts5V62B3hg2u6vDro+dIPX+1i1ahBKTYAAAAASUVORK5CYII=)}.seat-empty{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAL0lEQVR4nGNggILwwPj/pNAUARRDyDWZei6hikmjLhh1AdwkMtRjzRNUcQkpWRoAOos8tTYNoSUAAAAASUVORK5CYII=)}.seat-remove{color:var(--bone-dim);border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAi0lEQVR4nGNkQANCgmL/0cVIAe/ev2JE5jNRYhgxgAWXhIWJDUkGnThzBKs47X2AK8yfPHtIloHo5tHcB4wwG2FhTq7LYUBGSp6BgQERJwOXisgFZy+eROHT3AejFoxaMGoBUlmEDmSkZEky6Mmzx1jFaV8WodehMB/BSkX0soUQoHudzIguMORaFQB6dCerL8PocwAAAABJRU5ErkJggg==)}.seat-tag{image-rendering:pixelated;border:4px solid #0000;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAcUlEQVR4nGNkgAIhQbH/DHjAu/evGBkYGBhYkAUtTGywKj5x5giczYJs8pNnD3HaAFPHBDNZRkoWp2IZKVm47Uz43I0Mzl48SZoGGBiEGhiRgxVXSD159hjOZoHFoJCg2H8ZKXl4aKADmDpGmACxSQMAz30iUDQZtowAAAAASUVORK5CYII=) 4 fill/4px;border-radius:0}::selection{background:var(--brass);color:var(--ash-900)}.battle{gap:var(--space-3);max-width:960px;padding:var(--space-3) var(--space-4) var(--space-7);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.battle-header{font-family:var(--font-display);font-size:var(--text-lg);justify-content:space-between;align-items:center;display:flex}.battle-where{align-items:center;gap:var(--space-2);display:flex}.battle-elite{color:var(--elite);white-space:nowrap;font-weight:600}.run-track{align-items:center;gap:var(--space-2);display:flex}.run-depth{color:var(--brass);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}@media (width<=520px){.run-track:has(.run-depth) .run-floor:not(:has(.is-here)){display:none}}.run-floor{align-items:center;gap:var(--space-1);display:flex}.run-node{border:1px solid var(--ash-500);width:8px;height:8px;transform:rotate(45deg)}.run-node.is-done{background:var(--brass);border-color:var(--brass)}.run-node.is-here{border-color:var(--brass);box-shadow:0 0 0 2px var(--ash-900), 0 0 0 3px var(--brass)}.run-node.is-boss{border-color:var(--erosion-dim);width:11px;height:11px}.spectator{gap:var(--space-1);display:grid}.spectator h2{font-size:var(--text-lg);margin:0}.spectator p{color:var(--bone-dim);margin:0}.battle-log summary{cursor:pointer;font-size:var(--text-sm);color:var(--bone-dim)}.battle-log ol{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;gap:2px;padding:0;list-style:none;display:grid}.log-action{margin-top:var(--space-1);font-weight:600}.log-effect{padding-left:var(--space-4);color:var(--bone-dim)}.log-link{padding-left:var(--space-4);color:var(--verdigris);font-weight:600}.log-outcome{color:var(--bone);font-weight:600}.result{gap:var(--space-3);text-align:left;display:grid}.result h2{font-size:var(--text-3xl)}.run-members{gap:var(--space-1);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.run-members li{padding:var(--space-1) 0;border-bottom:1px solid var(--ash-700);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;display:flex}.run-members .is-down{color:var(--bone-dim)}.run-gains{justify-content:space-between;gap:var(--space-2);width:100%;font-size:var(--text-xs);color:var(--bone-dim);display:flex}.start{padding:var(--space-3)}.countdown{align-items:center;gap:var(--space-2);margin:0 var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--bone-dim);flex:1;display:flex}.countdown-text{text-align:right;min-width:3ch}.countdown-bar{background:var(--ash-700);border-radius:var(--radius-bar);flex:1;height:4px;overflow:hidden}.countdown-bar>div{background:var(--brass);transform-origin:0;height:100%;transition:transform var(--motion-change) linear}.countdown.is-urgent{color:var(--bone);font-weight:700;font-size:var(--text-md)}@media (prefers-reduced-motion:reduce){.countdown-bar>div{transition:none}}.battle-header .button-quiet{padding:0 var(--space-2);font-size:var(--text-sm)}.order-bar{scrollbar-width:none;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.order-slot{border:0;border-bottom:2px solid var(--brass);border-radius:var(--radius-panel) var(--radius-panel) 0 0;width:44px;color:var(--bone-dim);font-size:var(--text-xs);cursor:pointer;background:0 0;justify-items:center;gap:2px;padding:2px 0;font-weight:400;display:grid}.order-slot.order-enemy{border-bottom-color:var(--erosion-dim);color:var(--erosion)}.order-slot.is-me .order-what{color:var(--brass)}.order-slot.is-guard .order-what{color:var(--verdigris)}.order-slot.is-open{opacity:.45;border-bottom-style:dashed}.order-slot.is-lit,.order-slot:hover{background:var(--ash-800)}.order-slot:focus-visible{outline:1px solid var(--bone);outline-offset:-1px}.order-face{--sprite:28px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}.order-locked{color:var(--brass);font-size:10px;line-height:1;position:absolute;top:-3px;right:-5px}.order-slot.is-link .order-face{outline:1px solid var(--verdigris);outline-offset:1px;border-radius:var(--radius-bar)}.order-face .sprite-sheet .sheet-strip{animation:none}.order-what{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.3;overflow:hidden}.playback-bar{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--bone-dim);display:flex}.playback-bar span{margin-right:auto}.playback-bar .button-quiet{padding:0 var(--space-2);font-size:var(--text-sm)}.link-note{font-size:var(--text-sm);color:var(--verdigris);margin:0}.battle-header,.battle-header .button-quiet,.deck-button,.countdown-text,.battle-where>span{white-space:nowrap}.battle-where{flex:none}@media (width<=520px){.countdown{margin:0 var(--space-2);min-width:0}.header-actions{gap:var(--space-1);flex:none}.battle-header{font-size:var(--text-md)}}.run-account{gap:var(--space-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;display:flex}.run-account strong{color:var(--brass)}.run-curse{color:var(--wound)}.sprite{width:var(--sprite);height:var(--sprite)}.sprite-enemy{transform:scaleX(-1)}.sprite-enemy.sprite-faces-left{transform:none}.sprite-ally .sprite-body{fill:var(--bone-dim)}.sprite-ally .sprite-accent{fill:var(--brass)}.sprite-enemy .sprite-body{fill:var(--erosion-dim)}.sprite-enemy .sprite-accent{fill:var(--erosion)}.sprite-sheet{justify-content:center;align-items:flex-end;display:flex}.sprite.sprite-sheet{height:auto;min-height:var(--sprite)}.sprite-sheet .sheet{flex:none;overflow:hidden}.sheet-strip{height:100%;image-rendering:pixelated;will-change:transform;animation:sheet-frames var(--sheet-duration) steps(var(--sheet-steps)) infinite;background:0 0/100% 100% no-repeat;display:block}.sheet-crop{flex:none;display:block;overflow:hidden}.sheet-crop .sheet{display:block}.sprite-enemy .sheet{filter:grayscale()}.sprite-enemy.sprite-boss .sheet{filter:saturate(.7)}.sprite-enemy.sprite-veteran .sheet{filter:grayscale(1) sepia(1) hue-rotate(180deg) saturate(1.6) brightness(.95) drop-shadow(1px 0 0 var(--elite)) drop-shadow(-1px 0 0 var(--elite)) drop-shadow(0 1px 0 var(--elite)) drop-shadow(0 -1px 0 var(--elite))}.sprite-enemy.sprite-elite .sheet{filter:saturate(.6) drop-shadow(2px 0 0 var(--elite)) drop-shadow(-2px 0 0 var(--elite)) drop-shadow(0 2px 0 var(--elite)) drop-shadow(0 -2px 0 var(--elite)) drop-shadow(0 0 6px color-mix(in srgb, var(--elite) 70%, transparent))}.sprite-enemy.sprite-elite .sprite-body{fill:var(--elite)}@keyframes sheet-frames{to{transform:translateX(var(--sheet-end))}}@media (prefers-reduced-motion:reduce){.sprite-sheet .sheet-strip{animation:none}}.hand-area{z-index:5;gap:var(--space-1);padding-bottom:var(--space-2);background:var(--ash-900);box-shadow:0 0 0 100vmax var(--ash-900);clip-path:inset(0 -100vmax);border-top:1px solid var(--ash-700);grid-template-columns:minmax(0,1fr);display:grid;position:sticky;bottom:0}.hand-bar{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.energy{align-items:center;gap:var(--space-2);flex:none;display:flex}.energy-orb{border:2px solid var(--brass);background:var(--ash-800);width:46px;height:46px;box-shadow:inset 0 0 0 3px var(--ash-800), inset 0 0 0 4px var(--ash-500);color:var(--bone);font-family:var(--font-pixel);border-radius:50%;grid-template-rows:1fr auto;align-content:center;justify-items:center;padding:7px 0 8px;font-weight:700;line-height:1;display:grid}.energy-num{font-size:var(--text-xl);animation:energy-tick var(--motion-quick) steps(3) backwards;align-self:center}@keyframes energy-tick{0%{scale:1.35}}.energy-pips{gap:4px;display:flex}.energy-pips i{background:var(--ash-500);width:5px;height:5px;transform:rotate(45deg)}.energy-pips i.is-full{background:var(--brass)}.energy-orb.is-empty{border-color:var(--ash-500);color:var(--bone-dim)}.pile{isolation:isolate;padding:0 var(--space-1);color:var(--bone-dim);background:0 0;border:0;flex:none;justify-items:center;gap:3px;font-weight:500;display:grid}button.pile{cursor:pointer}.pile-stack{background:var(--ash-800);border:1px solid var(--ash-500);border-radius:var(--radius-panel);width:30px;height:40px;box-shadow:inset 0 0 0 3px var(--ash-800), inset 0 0 0 4px var(--rare-line);place-items:center;display:grid;position:relative}.pile-stack:before,.pile-stack:after{content:"";z-index:-1;background:var(--ash-700);border:1px solid var(--ash-500);border-radius:var(--radius-panel);transform-origin:50% 100%;position:absolute;inset:-1px}.pile-draw .pile-stack:before{transform:rotate(-5deg)}.pile-draw .pile-stack:after{transform:rotate(-10deg)}.pile-discard .pile-stack:before{transform:rotate(5deg)}.pile-discard .pile-stack:after{transform:rotate(10deg)}.pile-count{font-family:var(--font-pixel);font-size:var(--text-md);color:var(--bone);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.pile-label{font-size:var(--text-xs);line-height:1}.pile.is-empty .pile-stack{box-shadow:none;background:0 0;border-style:dashed}.pile.is-empty .pile-stack:before,.pile.is-empty .pile-stack:after{display:none}.pile.is-empty .pile-count{color:var(--bone-dim)}button.pile:hover .pile-stack,button.pile:focus-visible .pile-stack{border-color:var(--brass)}button.pile:hover,button.pile:focus-visible{color:var(--bone)}button.pile:focus-visible{outline-offset:4px}button.pile:active .pile-stack{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.energy-num{animation:none}}.hand-status{min-width:0;font-size:var(--text-sm);color:var(--bone-dim);flex:1;margin:0;line-height:1.3}.plan{gap:var(--space-1);scrollbar-width:none;flex:1;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.plan li{flex:none}.plan-chip{padding:2px var(--space-2);background:var(--ash-800);color:var(--bone);border:1px solid var(--ash-500);border-radius:var(--radius-panel);font-size:var(--text-xs);white-space:nowrap;font-weight:400;display:inline-block}.plan-target{color:var(--bone-dim)}.hand{--card-w:96px;padding:var(--space-4) var(--space-4) var(--space-1);overflow-clip-margin:var(--space-4);justify-content:center;display:flex;overflow-x:clip}.hand .card{height:160px}.card{gap:var(--space-1);width:var(--card-w);min-height:118px;padding:var(--space-2) var(--space-2) var(--space-2);background:var(--ash-800);color:var(--bone);border:1px solid var(--ash-500);border-radius:var(--radius-card);text-align:left;white-space:normal;transform:translateY(var(--drop)) rotate(var(--rotate));transform-origin:50% 100%;transition:transform var(--motion-quick), border-color var(--motion-quick);flex:none;grid-template-rows:auto 1fr auto;font-weight:400;display:grid;position:relative}.card:not(:first-child){margin-left:min(var(--space-2), calc((100% - var(--n) * var(--card-w)) / (var(--n) - 1)))}.card:focus-visible,.card.is-selected{z-index:1;transform:translateY(calc(var(--space-4) * -1)) scale(1.1)}@media (hover:hover){.card:hover{z-index:1;transform:translateY(calc(var(--space-4) * -1)) scale(1.1)}}.card.is-selected{background:var(--ash-700);border-color:var(--brass)}.card:disabled{background:var(--ash-900);color:var(--bone-dim);cursor:not-allowed}.card-cost{width:var(--coin,26px);height:var(--coin,26px);border:2px solid var(--brass);background:var(--ash-900);box-shadow:inset 0 0 0 2px var(--ash-900), inset 0 0 0 3px var(--ash-500), 0 2px 0 #0000008c;z-index:1;color:var(--bone);font-family:var(--font-pixel);font-weight:700;font-size:var(--text-sm);border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:-11px;left:-13px}.card-cost.is-wide{font-size:var(--text-xs);letter-spacing:-1px}.card:disabled .card-cost{border-color:var(--ash-500);color:var(--bone-dim)}.card-name{--name-room:86px;height:26px;margin:0 calc(var(--space-2) * -1 - 2px);background:var(--band,var(--ash-500));font-family:var(--font-display);font-size:clamp(11px, calc(var(--name-room) / var(--name-em,1)), var(--name-max,15px));text-align:center;white-space:nowrap;padding:4px 18px;font-weight:600;line-height:18px;position:relative}.card-name:before,.card-name:after{content:"";z-index:-1;background:linear-gradient(90deg, var(--band-shade,var(--ash-700)) calc(100% - 6px), var(--ash-900) 0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,7px 50%);width:22px;position:absolute;top:6px;bottom:-6px}.card-name:before{left:-12px}.card-name:after{right:-12px;scale:-1 1}.card-effects{font-size:var(--text-xs);align-content:start;gap:2px;line-height:1.4;display:grid}.card-notes{font-size:var(--text-xs);color:var(--bone-dim);line-height:1.4}.card-why{padding:0 var(--space-1);font-size:var(--text-xs);color:var(--bone);background:var(--ash-700);border-radius:var(--radius-bar);justify-self:start}.card-ping{font-size:var(--text-xs);color:var(--verdigris);justify-self:start}.card-key{bottom:var(--space-1);right:var(--space-2);font-family:var(--font-pixel);font-size:var(--text-xs);color:var(--bone-dim);position:absolute}.shortcuts{font-size:var(--text-xs);color:var(--bone-dim);margin:0;display:none}@media (hover:hover) and (pointer:fine){.shortcuts{display:block}.card:has(>.card-key) .card-notes{padding-right:var(--space-2)}}@media not ((hover:hover) and (pointer:fine)){.card-key{display:none}}.card-ghost{z-index:10;pointer-events:none;padding:var(--space-1) var(--space-3);background:var(--ash-700);border:1px solid var(--brass);border-radius:var(--radius-card);font-family:var(--font-display);font-size:var(--text-sm);position:fixed;transform:translate(-50%,-130%)}.lock-in{min-width:88px;padding:var(--space-2) var(--space-4);font-size:var(--text-md);transition:background-color var(--motion-quick), transform var(--motion-quick);flex:none}.lock-in:active:not(:disabled){transform:scale(.97)}.hand-status.lock-note{color:var(--brass)}@media (width<=639px){.hand-bar:has(>.lock-choices){row-gap:var(--space-1);flex-wrap:wrap}.hand-status.lock-note{flex-basis:100%;order:-1}.hand-bar:has(>.lock-choices) .pile-discard{margin-left:auto}}.lock-choices{gap:var(--space-2);flex:none;display:flex}.lock-choices .button-quiet{padding:var(--space-2) var(--space-3)}.lock-choices .lock-in{min-width:0}@media (width>=640px){.hand{--card-w:124px}.card{min-height:172px}.hand .card{height:196px}.card-name{--name-max:var(--text-md)}.card-effects{font-size:var(--text-sm)}}.card:has(>.card-gem):after{content:"";border:1px solid var(--rare-line);border-radius:calc(var(--radius-card) - 3px);pointer-events:none;position:absolute;inset:3px}.card:has(>.card-gem) .card-name{--band:color-mix(in srgb, var(--rare-line) 75%, var(--ash-800));--band-shade:color-mix(in srgb, var(--rare-line) 40%, var(--ash-900));--band-light:var(--rare);color:var(--rare)}.card-gem{z-index:1;top:-9px;right:var(--space-2);clip-path:polygon(50% 0,100% 35%,50% 100%,0 35%);background:linear-gradient(90deg, var(--rare) 50%, var(--rare-line) 50%);width:10px;height:12px;position:absolute}.card:disabled .card-gem{opacity:.5}@media (hover:hover) and (prefers-reduced-motion:no-preference){.card:has(>.card-gem):before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ecd9a629 50%,#0000 62%) 130% 0/260% 100% no-repeat;transition:background-position .52s cubic-bezier(.23,1,.32,1);position:absolute;inset:0}.card:has(>.card-gem):hover:before{background-position:-30% 0}}@media (prefers-reduced-motion:reduce){.card{transition:none}}.grade-perfect{color:var(--brass)}.grade-good{color:var(--verdigris)}.grade-miss{color:var(--wound)}@media (width<=639px){:is(.hand .card,.hand .card:has(>.card-gem)){--card-w:96px;height:160px;min-height:160px;padding-inline:var(--space-1);box-shadow:-3px 0 6px #00000080}.hand .card{--coin:22px}.hand .card-name{--name-room:62px;--name-max:13px;height:22px;margin-inline:calc(var(--space-1) * -1 - 2px);font-size:clamp(10px, calc(var(--name-room) / var(--name-em,1)), var(--name-max));padding:2px 14px}.hand .card-effects{word-break:keep-all;background:0 0;padding:0;font-size:11px;line-height:1.3;overflow:hidden}.hand .card-notes{overflow-wrap:anywhere;word-break:keep-all;font-size:10px;line-height:1.25}.card:focus-visible,.card.is-selected{transform:translateY(calc(var(--space-2) * -1)) scale(1.04)}}.card.is-drawn{animation:card-draw calc(var(--motion-change) * 1.4) cubic-bezier(.16, 1, .3, 1) backwards;animation-delay:calc(var(--i) * 70ms)}@keyframes card-draw{0%{opacity:0;translate:calc(var(--i) * -100% - 60%) 70px;scale:.6}30%{opacity:1}}@media (prefers-reduced-motion:reduce){.card.is-drawn{animation:none}}.card.card-ghost{z-index:6;pointer-events:none;animation:card-discard calc(var(--motion-change) * 1.5) cubic-bezier(.5, 0, .75, 0) forwards;animation-delay:calc(var(--i) * 50ms);margin:0;position:fixed;transform:none}@keyframes card-discard{to{opacity:0;translate:45vw 90px;rotate:18deg;scale:.55}}@media (prefers-reduced-motion:reduce){.card.card-ghost{display:none}}.hand .card{box-shadow:none}.hand .card:has(>.card-gem){box-shadow:none}.hand.is-crowded{overflow-clip-margin:0;scroll-snap-type:x proximity;scrollbar-width:none;padding-top:var(--space-6);justify-content:safe center;overflow:auto hidden}.hand.is-crowded .card{scroll-snap-align:center}.hand.is-crowded .card:not(:first-child){margin-left:calc(var(--card-w) * -.25)}.card-bonus{color:var(--verdigris);font-weight:inherit}.card{--edge:var(--ash-500)}.card:has(>.card-art[data-class=shieldbearer]){--edge:var(--class-shieldbearer)}.card:has(>.card-art[data-class=executioner]){--edge:var(--class-executioner)}.card:has(>.card-art[data-class=cindermage]){--edge:var(--class-cindermage)}.card:has(>.card-art[data-class=bellkeeper]){--edge:var(--class-bellkeeper)}.card{border-color:var(--edge);border-width:2px}.card:has(>.card-gem){border-color:var(--rare-line)}.card-art{display:none}.card .card-name{box-shadow:inset 0 1px 0 var(--band-light,color-mix(in srgb, var(--ash-500), var(--bone-dim) 35%)), inset 0 -2px 0 var(--edge)}.card .card-effects{padding:2px var(--space-1);border-radius:var(--radius-bar);background:#1f1d2480;align-content:center}.card.reward-card{aspect-ratio:5/7.7;min-height:0;padding:var(--space-2);align-content:stretch;gap:var(--space-2);background:var(--ash-800);grid-template-rows:auto auto 1fr auto}.reward-card .card-art{--sprite:76px;background:var(--ash-900);border:1px solid var(--edge);border-radius:var(--radius-bar);place-items:center;min-height:92px;padding:0;display:grid;overflow:hidden}.reward-card .card-art:not([data-class]){min-height:92px}.card.reward-card{container-type:inline-size}.reward-card .card-name{--name-room:calc(100cqi - 36px);height:30px;font-size:clamp(12px, calc(var(--name-room) / var(--name-em,1)), 18px);order:-1;padding-block:5px}.reward-card .card-effects{padding:var(--space-2);background:var(--ash-700);border-radius:var(--radius-bar);text-align:center;align-content:center}.reward-card .card-notes{text-align:center}.card.reward-card .card-cost{--coin:28px;font-size:var(--text-md)}.card.reward-card .card-cost.is-wide{font-size:var(--text-sm)}@media (width<=520px){.reward-card .card-art{display:none}.card.reward-card{aspect-ratio:auto;grid-template-rows:auto 1fr auto;min-height:160px}}.deck-button{align-items:baseline;gap:var(--space-2);display:inline-flex}.deck-gold{font-family:var(--font-pixel);font-size:var(--text-xs);color:var(--bone-dim)}.header-actions{align-items:center;gap:var(--space-2);display:flex}.deck-dialog{width:min(640px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-6));padding:var(--space-3);color:var(--bone);font-family:var(--font-body)}.deck-dialog::backdrop{background:color-mix(in srgb, var(--ash-900) 80%, transparent)}.deck-head{align-items:baseline;gap:var(--space-3);display:flex}.deck-head h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.deck-head .button-quiet{margin-left:auto}.deck-dialog .form-help{margin:var(--space-1) 0 var(--space-3)}.deck-list{gap:var(--space-4) var(--space-5);padding:var(--space-4) var(--space-3) 0 var(--space-4);grid-template-columns:repeat(auto-fill,minmax(112px,1fr));margin:0;list-style:none;display:grid}.card.deck-card{width:auto;margin:0;transform:none;container-type:inline-size}.deck-card .card-name{--name-room:calc(100cqi - 32px)}.card:has(>.deck-count) .card-notes{padding-right:var(--space-5)}.deck-count{bottom:var(--space-1);right:var(--space-2);font-family:var(--font-pixel);font-size:var(--text-sm);color:var(--brass);position:absolute}.deck-list .deck-pick{width:100%;height:100%;padding:var(--space-3) var(--space-2) var(--space-2);text-align:left;font-weight:inherit;color:var(--bone);background:var(--ash-800);border:1px solid var(--ash-500);border-radius:var(--radius-card);cursor:pointer}.deck-list .deck-pick:hover,.deck-list .deck-pick:focus-visible{border-color:var(--wound)}.relics{gap:var(--space-1);margin:0 var(--space-2) 0 auto;padding:0;list-style:none;display:flex;position:relative}.relic-icon{width:var(--relic-size,32px);height:var(--relic-size,32px);background-repeat:no-repeat;background-size:auto var(--relic-size,32px);image-rendering:pixelated;flex:none;display:inline-block}.relic{background:var(--ash-800);border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);border-radius:var(--radius-bar);cursor:help;transition:transform var(--motion-quick) ease-out, border-color var(--motion-quick) ease-out;place-items:center;padding:1px;display:grid}.relic:active{transform:scale(.95)}.relic[aria-expanded=true]{border-color:var(--brass)}.relic-tip{top:calc(100% + var(--space-1));z-index:5;align-items:center;gap:var(--space-2);width:max-content;max-width:min(260px, calc(100vw - 2 * var(--space-4)));padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);white-space:normal;color:var(--bone-dim);background:var(--ash-900);border:1px solid var(--ash-500);border-radius:var(--radius-panel);opacity:0;visibility:hidden;transform-origin:100% 0;transition:opacity var(--motion-quick) ease-out, transform var(--motion-quick) ease-out, visibility var(--motion-quick);display:flex;position:absolute;right:0;transform:scale(.97)}.relic-tip strong{color:var(--bone);font-weight:inherit}.relic:focus-visible+.relic-tip,.relic[aria-expanded=true]+.relic-tip{opacity:1;visibility:visible;transform:none}@media (hover:hover) and (pointer:fine){.relic:hover+.relic-tip{opacity:1;visibility:visible;transform:none}}@media (width<=520px){.battle-header:has(>.relics){row-gap:var(--space-2);flex-wrap:wrap}.battle-header>.relics{flex-wrap:wrap;flex-basis:100%;order:1;margin:0}.relic-tip{transform-origin:0 0;left:0;right:auto}}.deck-change{width:min(30rem, calc(100vw - 2 * var(--space-4)))}.deck-change h3{margin:var(--space-5) 0 0;font-family:var(--font-display);font-size:var(--text-lg)}.deck-gained h3{color:var(--brass)}.deck-lost h3{color:var(--wound)}.deck-lost .deck-card{opacity:.5;filter:grayscale()}.deck-change-ok{margin:var(--space-5) 0 0 auto;display:block}@media (prefers-reduced-motion:no-preference){.deck-change[open]{transition:opacity var(--motion-change) ease-out, scale var(--motion-change) cubic-bezier(.16, 1, .3, 1)}@starting-style{.deck-change[open]{opacity:0;scale:.97}}.deck-change[open] .deck-gained .deck-card{animation:.32s cubic-bezier(.16,1,.3,1) .12s backwards deck-arrive}.deck-change[open] .deck-lost .deck-card{animation:.48s ease-out .24s backwards deck-drain}}@keyframes deck-arrive{0%{opacity:0;translate:0 8px}}@keyframes deck-drain{0%{opacity:1;filter:grayscale(0)}}.qte-scrim{z-index:20;padding:var(--space-4);background:color-mix(in srgb, var(--ash-900) 82%, transparent);place-items:center;display:grid;position:fixed;inset:0}.qte{gap:var(--space-3);grid-template-columns:minmax(0,1fr);width:min(100%,440px);display:grid}.qte-title{font-size:var(--text-lg);margin:0}.qte-duel{min-height:168px;padding:var(--space-3) var(--space-2);background:var(--ash-900);border:1px solid var(--ash-500);border-radius:var(--radius-panel);color:inherit;font:inherit;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;--sprite:104px;--sprite-max:132px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;display:grid;position:relative;overflow:hidden;container-type:inline-size}.qte-duel:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.qte-hero,.qte-enemy{min-width:0;display:grid}.qte-hero{translate:calc(var(--hero-margin) - (1 - var(--approach,1)) * 14cqw) 0;justify-items:end}.qte-enemy{translate:calc((1 - var(--approach,1)) * 24cqw - var(--enemy-margin)) 0;justify-items:start}.qte-clash{width:72px;height:72px;margin:-36px 0 0 -36px;position:absolute;inset:50% auto auto 50%}.qte-target,.qte-ring{border-radius:50%;position:absolute;inset:18px}.qte-target{border:2px solid var(--ash-500)}.qte-ring{border:2px solid var(--brass);animation:qte-close var(--qte-slowmo-ms) linear both}@keyframes qte-close{0%{opacity:.2;transform:scale(3.2)}to{opacity:1;transform:scale(1)}}.qte-enemy .sprite{transition:filter 60ms linear}.qte.in-good .qte-enemy .sprite{filter:sepia(1) saturate(2.5) hue-rotate(130deg) brightness(1.15) drop-shadow(0 0 6px var(--verdigris))}.qte.in-perfect .qte-enemy .sprite{filter:sepia(1) saturate(3) brightness(1.4) drop-shadow(0 0 10px var(--brass))}.qte.in-good .qte-target{border-color:var(--verdigris)}.qte.in-perfect .qte-target{border-color:var(--brass);background:color-mix(in srgb, var(--brass) 25%, transparent)}.qte-duel:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 48px 8px var(--ash-900);opacity:0;transition:opacity var(--motion-change) ease-out;position:absolute;inset:0}.qte.is-slowmo .qte-duel:after{opacity:1}.qte-hero,.qte-enemy,.qte-clash{transition:scale var(--qte-slowmo-ms) ease-out}.qte.is-slowmo .qte-hero,.qte.is-slowmo .qte-enemy,.qte.is-slowmo .qte-clash{scale:1.08}.qte-prompt{inset:var(--space-2) 0 auto;color:var(--brass);text-shadow:0 1px 0 var(--ash-900), 0 0 6px var(--ash-900);pointer-events:none;animation:prompt-pop var(--motion-change) ease-out both;justify-items:center;gap:2px;font-weight:600;display:grid;position:absolute}@keyframes prompt-pop{0%{opacity:0;scale:1.5}}.qte-chevrons{justify-items:center;display:grid}.qte-chevrons>span{width:14px;height:14px;animation:chevron-rise var(--motion-resonance) ease-out infinite;border-top:3px solid;border-left:3px solid;margin-top:-6px;rotate:45deg}.qte-chevrons>span+span{animation-delay:calc(var(--motion-resonance) / 3)}@keyframes chevron-rise{0%{opacity:0;translate:0 8px}50%{opacity:1}to{opacity:0;translate:0 -6px}}.qte.is-pressed:not(.is-perfect,.is-good,.is-miss) .qte-hero .sprite{animation:guard-raise var(--motion-quick) ease-out}@keyframes guard-raise{50%{translate:4px -10px}}.qte-footer{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:40px;display:flex}.qte-hint,.qte-result{margin:0}.qte-footer .button-quiet{white-space:nowrap;flex:none}.qte-keys{color:var(--bone-dim);display:none}@media (hover:hover) and (pointer:fine){.qte-keys{display:inline}}.qte-result{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.qte-grade{font-family:var(--font-pixel);font-size:var(--text-2xl);line-height:1}.is-perfect .qte-grade{color:var(--brass)}.is-good .qte-grade{color:var(--verdigris)}.is-miss .qte-grade{color:var(--wound)}.is-hitstop .sheet,.is-hitstop .sheet-strip{animation-play-state:paused}.qte-sparks{position:absolute;inset:50% auto auto 50%}.qte-sparks>span{background:var(--spark-color,var(--brass));width:4px;height:4px;rotate:calc(var(--spark) * 45deg + 22deg);animation:spark-fly var(--motion-resonance) ease-out both;margin:-2px 0 0 -2px;position:absolute}.qte-sparks-good>span{--spark-color:var(--verdigris);--spark-reach:18px;rotate:calc(var(--spark) * 90deg + 45deg)}@keyframes spark-fly{0%{opacity:1;transform:translate(0)scale(1.5)}to{transform:translateX(var(--spark-reach,34px)) scale(.5);opacity:0}}.qte.is-perfect .qte-duel{animation:clash-shake var(--motion-change) steps(4)}@keyframes clash-shake{25%{translate:-4px 2px}50%{translate:3px -2px}75%{translate:-2px 1px}}.qte.is-good .qte-hero .sprite{animation:guard-pushed var(--motion-change) ease-out}@keyframes guard-pushed{40%{translate:-10px}}.qte.is-miss .qte-duel{border-color:var(--wound);animation:wound-flash var(--motion-change) steps(2) 2}@keyframes wound-flash{50%{box-shadow:inset 0 0 0 999px color-mix(in srgb, var(--wound) 28%, transparent)}}.unit .qte-sparks{inset:45% 20% auto auto}.floater[class*=grade-]{margin-bottom:var(--space-1)}.floater.grade-perfect{color:var(--brass)}.floater.grade-good{color:var(--verdigris)}.floater.grade-miss{color:var(--wound)}.stage.is-clash{animation:clash-shake var(--motion-change) steps(4)}.stage .unit{transition:filter var(--motion-change) ease-out}.stage.is-slowmo .unit:not(.is-dueling){filter:saturate(.3)brightness(.55)}.stage .unit .sprite{transition:transform var(--motion-quick), translate var(--motion-change) ease-out}.stage .unit.is-lunging{z-index:2}.stage .unit.is-lunging .sprite{translate:var(--lunge-x) var(--lunge-y);transition:transform var(--motion-quick), translate var(--lunge-ms) cubic-bezier(.2, .9, .3, 1)}.stage .unit.is-bracing .sprite{translate:var(--stage-step) 0}.unit.parry-good .sprite{animation:guard-pushed var(--motion-change) ease-out}.unit.parry-miss{animation:wound-flash var(--motion-change) steps(2) 2}@media (prefers-reduced-motion:reduce){.qte.is-perfect .qte-duel,.qte.is-good .qte-hero .sprite,.qte.is-miss .qte-duel,.qte.is-pressed .qte-hero .sprite,.qte-prompt,.qte-chevrons>span,.stage.is-clash,.unit.parry-good .sprite,.unit.parry-miss{animation:none}.qte.is-slowmo .qte-hero,.qte.is-slowmo .qte-enemy,.qte.is-slowmo .qte-clash{scale:1}.qte-sparks>span{transform:translateX(var(--spark-reach,34px));animation:none}}.stage{--sprite:var(--sprite-compact);--sprite-max:84px;gap:var(--space-1);padding:var(--space-3) var(--space-1) 0;--backdrop-scale:3;--backdrop:url(/assets/gate-C6fG_jba.png);background:var(--ash-900) var(--backdrop) no-repeat center bottom / calc(320px * var(--backdrop-scale)) auto;image-rendering:pixelated;border-radius:var(--radius-panel);grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);display:grid;position:relative;overflow-x:clip}.stage[data-scene=belfry]{--backdrop:url(/assets/belfry-CevTbOB4.png)}.stage[data-scene=erosion]{--backdrop:url(/assets/erosion-CNDoA4xO.png)}.stage[data-scene=hall]{--backdrop:url(/assets/hall-e7ubk5Cn.png)}.stage .sprite{position:relative}.stage .sprite:after{content:"";z-index:-1;background:#00000059;border-radius:50%;height:6px;position:absolute;bottom:-3px;left:18%;right:18%}.stage-fx{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.stage>.side,.stage>.erosion-line{z-index:1;position:relative}.fx-drift{--tile:180px;inset:calc(var(--tile) * -1) 0 0;opacity:.5;background:radial-gradient(2px 2px at 24px 30px, var(--bone-dim), transparent), radial-gradient(1px 1px at 90px 70px, var(--bone-dim), transparent), radial-gradient(2px 2px at 150px 120px, var(--bone-dim), transparent), radial-gradient(1px 1px at 60px 150px, var(--bone-dim), transparent);background-size:var(--tile) var(--tile);position:absolute}.fx-drift-far{--tile:110px;opacity:.28}.stage[data-scene=erosion] .fx-drift{opacity:.65}@media (prefers-reduced-motion:no-preference){.fx-drift{animation:fx-drift calc(36s / var(--speed,1)) linear infinite;animation-direction:normal}.fx-drift-far{--speed:.6}.stage[data-scene=belfry] .fx-drift{animation-duration:52s;animation-direction:reverse}.stage[data-scene=erosion] .fx-drift{animation-duration:24s;animation-direction:reverse}.stage[data-scene=hall] .fx-drift{animation-duration:60s}.stage[data-rage] .fx-rage{animation:2.4s ease-in-out infinite fx-rage}}@keyframes fx-drift{to{transform:translateY(var(--tile))}}.fx-tide{opacity:var(--tide,0);background:linear-gradient(#0000 40%,#8e88964d);transition:opacity 1.2s ease-out;position:absolute;inset:0}.fx-rage{opacity:0;transition:opacity .8s ease-out;position:absolute;inset:0;box-shadow:inset 0 0 60px #c8453a4d}.stage[data-rage] .fx-rage{opacity:.7}@keyframes fx-rage{50%{opacity:.4}}.stage .erosion-line{background:linear-gradient(180deg, transparent, var(--ash-500) 30%, var(--ash-500) 85%, transparent);width:1px;-webkit-mask:repeating-linear-gradient(#000 0 7px,#0000 7px 10px);mask:repeating-linear-gradient(#000 0 7px,#0000 7px 10px)}.side{align-items:end;gap:var(--space-1);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.rank{justify-items:center;gap:var(--space-1);grid-template-columns:minmax(0,1fr);display:grid}.rank-units{gap:var(--space-2);grid-template-columns:minmax(0,1fr);width:100%;display:grid}.rank.is-crowded .rank-units{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0}.rank.is-crowded .unit{padding:var(--space-1) 0}.rank.is-crowded .unit:nth-child(2n){transform:translateY(var(--space-5))}.rank.is-crowded .unit-ai{display:none}.rank.is-crowded .rank-units{padding-bottom:var(--space-5)}.rank-back.is-crowded .rank-units{padding-bottom:calc(var(--space-5) * 2)}.rank-back .rank-units{padding-bottom:var(--space-5)}.rank-back .sprite{width:calc(var(--sprite) * .82);opacity:.8}.rank-back .sprite:not(.sprite-sheet){height:calc(var(--sprite) * .82)}.rank-label{width:100%;padding:var(--space-1) 0;border-top:1px solid var(--ash-500);font-size:var(--text-xs);color:var(--bone-dim);text-align:center}.unit{width:100%;min-width:0;padding:var(--space-1);color:var(--bone);border-radius:var(--radius-panel);text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;justify-items:center;gap:2px;font-weight:400;display:grid}.unit-enemy{color:var(--erosion)}.unit.is-inspected{background:var(--ash-800);border-color:var(--ash-500)}.unit.is-lit{background:var(--ash-800);border-color:var(--brass)}.unit-enemy.is-lit{border-color:var(--erosion)}.unit.is-targetable{border-style:dashed;border-color:var(--brass)}.unit:disabled{color:inherit;opacity:.4;cursor:default;background:0 0}.unit.is-down .sprite{opacity:.35}.unit-badge:empty{display:none}.unit-badge{min-height:1.4em;font-size:var(--text-xs);color:var(--erosion);font-variant-numeric:tabular-nums}.intent{font-family:var(--font-pixel);align-items:center;gap:6px;font-weight:700;line-height:1;display:inline-flex}.intent.is-special{background:var(--ash-900);border:1px solid var(--brass);border-radius:var(--radius-bar);padding:2px 5px}.intent-sign{align-items:center;gap:2px;display:inline-flex}.intent-icon{flex:none;width:1.5em;height:1.5em}.intent-sign.intent-summon{color:var(--brass)}.intent-sign.intent-mark,.intent-sign.intent-stagger{color:var(--status-mark)}.intent-sign.intent-ignite{color:var(--status-ignite)}.intent-sign.intent-bleed{color:var(--status-bleed)}.intent-sign.intent-knockdown{color:var(--status-knockdown)}.detail-intent{align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--erosion);display:flex}.detail-intent-label{font-size:var(--text-xs);color:var(--bone-dim)}.unit.is-me .sprite-body{fill:var(--bone)}.unit-name{word-break:keep-all;max-width:100%;line-height:1.2;font-size:var(--text-xs);font-weight:600;overflow:hidden}.unit.is-me .unit-name{color:var(--brass)}.unit-hp{align-items:center;gap:var(--space-1);width:100%;max-width:120px;display:flex}.unit-hp .hp-bar{flex:1}.unit-hp .hp-text{flex:none;line-height:1.2}.hp-bar{background:var(--ash-900);border-radius:var(--radius-bar);height:4px;display:block;position:relative;overflow:hidden}.hp-bar>span{transform-origin:0;height:100%;transition:width var(--motion-change), transform var(--motion-change);display:block}.hp-ally>span{background:var(--brass)}.hp-enemy>span{background:var(--erosion-dim)}.hp-bar>.hp-loss{background:var(--wound);position:absolute;top:0}.threat{font-family:var(--font-pixel);font-size:var(--text-sm);color:var(--wound);line-height:1}.threat.is-covered{color:var(--erosion-dim)}.threat.is-lethal{padding:1px var(--space-1);border:1px solid var(--wound);border-radius:var(--radius-bar)}.hp-text{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.unit-meta{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.chip{animation:chip-in var(--motion-change) ease-out;font-size:var(--text-xs);border-radius:var(--radius-bar);font-variant-numeric:tabular-nums;border:1px solid;padding:0 3px;line-height:1.4}.chip-fatigue,.chip-directive{color:var(--bone-dim);white-space:nowrap}.fatigue{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.status-icon{vertical-align:-.2em;width:1.1em;height:1.1em}.chip-block,.detail-block{color:var(--verdigris)}.status-knockdown{color:var(--status-knockdown)}.status-mark,.status-stagger{color:var(--status-mark)}.status-ignite{color:var(--status-ignite)}.status-bleed{color:var(--status-bleed)}.status-regen,.status-charge,.status-taunt,.status-lifesteal{color:var(--verdigris)}.status-strength,.status-harden{color:var(--erosion)}.unit-detail{align-items:start;gap:var(--space-1) var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.unit-detail h2{font-size:var(--text-lg);margin:0}.unit-detail-enemy h2{color:var(--erosion)}.unit-detail ul{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;grid-column:1/-1;margin:0;padding:0;list-style:none;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status-popover{z-index:20;gap:var(--space-1);pointer-events:none;width:min(190px,52vw);margin:0;padding:0;list-style:none;display:grid;position:fixed}.status-popover li{padding:var(--space-2);background:var(--ash-800);border:1px solid var(--ash-500);border-radius:var(--radius-panel);gap:2px;display:grid;box-shadow:0 4px 12px #00000080}.status-popover strong{align-items:center;gap:var(--space-1);font-size:var(--text-sm);display:flex}.popover-directive strong{color:var(--bone-dim)}.status-popover .status-icon{width:1.1em;height:1.1em}.status-popover span{color:var(--bone-dim);font-size:var(--text-xs);line-height:1.4}.unit-detail .button-quiet{padding:0 var(--space-2);font-size:var(--text-sm);grid-area:1/2}.plan-arrows{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.plan-arrows path{fill:none;stroke:var(--brass);stroke-width:2px;stroke-dasharray:5 4;opacity:.85}.plan-arrows path.is-foe{stroke:var(--wound)}#intent-arrowhead path{fill:var(--wound)}.plan-arrows marker path{fill:var(--brass);stroke:none;opacity:1}.unit-plan{flex-wrap:wrap;justify-content:center;gap:2px;min-height:1.5em;display:flex}.mini-card{font-size:var(--text-xs);color:var(--bone);background:var(--ash-700);border:1px solid var(--brass);border-radius:var(--radius-bar);white-space:nowrap;padding:0 3px;line-height:1.5}.mini-count{display:none}@media (width<=639px){.unit-plan{display:none}}.mini-done{font-size:var(--text-xs);color:var(--brass)}.ally-cards{gap:var(--space-1);grid-column:1/-1;display:grid}.ally-cards h3{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--bone-dim)}.ally-cards ul{gap:var(--space-1);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.ally-hand li{align-items:center;gap:var(--space-2);display:flex}.ally-hand li>span:first-child{flex:1}.ally-hand small{color:var(--brass)}.ping-mark{font-size:var(--text-xs);color:var(--verdigris)}.ping-button{padding:0 var(--space-3);border-color:var(--verdigris);min-height:32px;color:var(--verdigris)}@media (width>=640px){.stage{--sprite:var(--sprite-wide);--sprite-max:none;--backdrop-scale:5;padding:var(--space-5) var(--space-4) 0;gap:var(--space-3)}.side,.rank-units{gap:var(--space-3)}.unit-name,.unit-badge{font-size:var(--text-sm)}.threat{font-size:var(--text-md)}}.unit{position:relative}.side-ally .unit.is-acting .sprite{transform:translateX(var(--stage-step))}.side-enemy .unit.is-acting .sprite{transform:translateX(calc(var(--stage-step) * -1))}.unit .sprite{transition:transform var(--motion-quick)}.unit.is-hit .sprite{animation:hit-flash var(--motion-change) steps(2) 2, hit-shake var(--motion-change) steps(4)}@keyframes hit-flash{50%{filter:brightness(2.2)}}@keyframes hit-shake{25%{translate:-3px}75%{translate:3px}}.floaters{pointer-events:none;justify-items:center;display:grid;position:absolute;inset:34% 0 auto}.floater{font-family:var(--font-pixel);font-size:var(--text-lg);color:var(--bone);text-shadow:0 1px 0 var(--ash-900), 1px 0 0 var(--ash-900), -1px 0 0 var(--ash-900), 0 -1px 0 var(--ash-900);animation:float-up var(--motion-resonance) ease-out both;font-weight:700;line-height:1}.floater-move{color:var(--erosion)}.floater-block,.floater-blocked{color:var(--verdigris)}@keyframes float-up{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}to{opacity:.9;transform:translateY(-14px)}}.unit.is-acting .unit-plan{visibility:hidden}.cast-tag{z-index:2;padding:1px var(--space-2);background:var(--ash-900);border:1px solid var(--ash-500);border-radius:var(--radius-bar);font-family:var(--font-display);font-size:var(--text-xs);color:var(--bone);white-space:nowrap;pointer-events:none;animation:cast-tag var(--motion-resonance) ease-out both;font-weight:600;position:absolute;top:0;left:50%;translate:-50%}@keyframes cast-tag{0%{opacity:0;translate:-50% 4px}20%,80%{opacity:1;translate:-50%}to{opacity:0}}.shot{--tint:var(--bone);left:var(--from-x);top:var(--from-y);z-index:2;pointer-events:none;position:absolute}.shot-by-shieldbearer{--tint:var(--class-shieldbearer)}.shot-by-executioner{--tint:var(--class-executioner)}.shot-by-cindermage{--tint:var(--class-cindermage)}.shot-by-bellkeeper{--tint:var(--class-bellkeeper)}.shot-by-enemy{--tint:var(--erosion)}@media (prefers-reduced-motion:reduce){.shot{display:none}}.shot-streak{width:var(--len);transform-origin:0;height:3px;rotate:var(--angle);background:repeating-linear-gradient(90deg, var(--tint) 0 10px, transparent 10px 14px);animation:shot-streak var(--motion-change) steps(6) both;margin-top:-1px}@keyframes shot-streak{0%{clip-path:inset(0 100% 0 0)}55%{clip-path:inset(0 0 0 30%)}to{clip-path:inset(0 0 0 100%)}}.shot-bolt{width:7px;height:7px;rotate:var(--angle);background:var(--tint);box-shadow:-8px 0 0 -1px color-mix(in srgb, var(--tint) 60%, transparent), -15px 0 0 -2px color-mix(in srgb, var(--tint) 30%, transparent);animation:shot-travel var(--motion-change) steps(5) both;margin:-3px 0 0 -3px}.shot-mote{background:var(--tint);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:8px;height:8px;animation:shot-arc calc(var(--motion-change) * 1.5) steps(8) both;margin:-4px 0 0 -4px}@keyframes shot-travel{0%{opacity:1;translate:0}90%{opacity:1}to{translate:var(--dx) var(--dy);opacity:0}}@keyframes shot-arc{0%{opacity:0;translate:0}20%{opacity:1}50%{translate:calc(var(--dx) / 2) calc(var(--dy) / 2 - 18px)}to{translate:var(--dx) var(--dy);opacity:0}}.unit.is-resonating{border-color:var(--verdigris);animation:resonance var(--motion-resonance) ease-out}@keyframes resonance{0%{box-shadow:0 0 0 0 var(--verdigris)}to{box-shadow:0 0 0 10px #0000}}.unit.is-linked{border-color:var(--verdigris)}.link-banner{left:50%;top:var(--space-2);z-index:3;padding:var(--space-1) var(--space-3);background:var(--ash-900);border:1px solid var(--verdigris);border-radius:var(--radius-panel);color:var(--verdigris);font-family:var(--font-display);animation:float-up var(--motion-resonance) ease-out both reverse;font-weight:700;position:absolute;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.hp-bar>span,.unit .sprite{transition:none}.floater,.cast-tag,.link-banner,.unit.is-hit .sprite,.unit.is-resonating{animation:none}}@keyframes chip-in{0%{opacity:0;transform:scale(1.6)}}.unit.is-boss{--sprite-max:112px}.sprite.sprite-still{--sprite-max:60px}.sprite-still .sheet-strip{animation:none}.sprite-still .sheet{transform-origin:50% 100%;animation:2.6s ease-in-out infinite breathe}@keyframes breathe{50%{scale:.98 1.04}}.unit.is-enraged .sprite{animation:1.6s ease-in-out infinite rage-glow}@keyframes rage-glow{0%,to{filter:drop-shadow(0 0 2px var(--rage))}50%{filter:drop-shadow(0 0 8px var(--rage))}}.unit.is-arriving .sprite{animation:arrive var(--motion-resonance) ease-out both}@keyframes arrive{0%{opacity:0;translate:0 14px}}.unit.is-moving .sprite{animation:retreat var(--motion-resonance) ease-out both}@keyframes retreat{0%{opacity:.2;translate:-28px}}@media (prefers-reduced-motion:reduce){.sprite-still .sheet,.unit.is-arriving .sprite,.unit.is-moving .sprite{animation:none}.unit.is-enraged .sprite{filter:drop-shadow(0 0 5px var(--rage));animation:none}}.unit-fx{pointer-events:none;height:52%;position:absolute;inset:20% 0 auto;overflow:visible}.fx{animation-duration:var(--motion-change);animation-timing-function:steps(4,end);animation-fill-mode:both;position:absolute;top:50%;left:50%;translate:-50% -50%}.fx-slash{background:var(--bone);width:46px;height:3px;animation-name:fx-slash;rotate:-35deg}@keyframes fx-slash{0%{clip-path:inset(0 100% 0 0);opacity:1}60%{clip-path:inset(0);opacity:1}to{clip-path:inset(0 0 0 60%);opacity:0}}.fx-spark{background:linear-gradient(var(--verdigris), var(--verdigris)) center / 100% 2px no-repeat, linear-gradient(var(--verdigris), var(--verdigris)) center / 2px 100% no-repeat;width:14px;height:14px;animation-name:fx-pop}.fx-guard{border:2px solid var(--verdigris);border-radius:2px 2px 14px 14px;width:26px;height:30px;animation-name:fx-pop}@keyframes fx-pop{0%{opacity:0;scale:.5}40%{opacity:1;scale:1.1}to{opacity:0;scale:1}}.fx-mend,.fx-ignite,.fx-regen,.fx-bleed{width:4px;height:4px;animation-name:fx-rise;animation-duration:var(--motion-resonance)}.fx-mend,.fx-regen{background:var(--verdigris);box-shadow:-10px 6px 0 var(--verdigris), 10px 4px 0 var(--verdigris)}.fx-ignite{background:var(--class-cindermage);box-shadow:-10px 6px 0 var(--class-cindermage), 10px 3px 0 var(--class-cindermage)}.fx-bleed{background:var(--class-executioner);box-shadow:-10px -6px 0 var(--class-executioner), 10px -3px 0 var(--class-executioner);animation-name:fx-fall}@keyframes fx-rise{0%{opacity:1;translate:-50% -30%}to{opacity:0;translate:-50% -140%}}@keyframes fx-fall{0%{opacity:1;translate:-50% -80%}to{opacity:0;translate:-50% 60%}}.fx-mark,.fx-knockdown,.fx-charge,.fx-stagger,.fx-strength,.fx-harden{border:2px solid var(--brass);border-radius:50%;width:40px;height:40px;animation-name:fx-ring}.fx-knockdown,.fx-stagger{border-color:var(--erosion)}@keyframes fx-ring{0%{opacity:0;scale:1.6}40%{opacity:1}to{opacity:0;scale:.8}}@media (prefers-reduced-motion:reduce){.fx{opacity:0;animation:none}}.fx-by-shieldbearer{background:var(--class-shieldbearer)}.fx-by-executioner{background:var(--class-executioner);height:4px}.fx-by-cindermage{background:var(--class-cindermage)}.fx-by-bellkeeper{background:var(--class-bellkeeper)}.fx-by-enemy{background:var(--erosion);width:36px;rotate:35deg}.fx-phase{border:3px solid var(--class-executioner);width:56px;height:56px;animation-name:fx-burst;animation-duration:var(--motion-resonance);border-radius:50%}@keyframes fx-burst{0%{opacity:1;scale:.4}to{opacity:0;scale:2.4}}.unit.is-afflicted-ignite .sprite{animation:afflict-ignite var(--motion-change) steps(2) 2}.unit.is-afflicted-bleed .sprite{animation:afflict-bleed var(--motion-change) steps(2) 2}.unit.is-afflicted-mark .sprite{animation:afflict-mark var(--motion-change) steps(2) 2}@keyframes afflict-ignite{50%{filter:sepia()saturate(4)hue-rotate(-15deg)brightness(1.3)}}@keyframes afflict-bleed{50%{filter:sepia()saturate(5)hue-rotate(-50deg)brightness(.9)}}@keyframes afflict-mark{50%{filter:sepia()saturate(2)brightness(1.5)}}@media (prefers-reduced-motion:reduce){.unit[class*=is-afflicted] .sprite{animation:none}}.reward{gap:var(--space-4);max-width:960px;padding:var(--space-3) var(--space-4) var(--space-7);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.reward-intro h1{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-heading);margin:0}.reward-intro p{margin:var(--space-1) 0 0;max-width:var(--measure);font-size:var(--text-sm);color:var(--bone-dim)}.reward-cards{--card-w:184px;justify-content:center;gap:var(--space-5) var(--space-4);padding:var(--space-4) 0 0;flex-wrap:wrap;margin:0;list-style:none;display:flex}@media (width<=520px){.reward-cards{--card-w:calc((100vw - 2 * var(--space-4) - 2 * var(--space-2)) / 3);gap:var(--space-4) var(--space-2)}}.card.reward-card{cursor:pointer;min-height:200px;margin:0}.reward-elite{color:var(--elite)}.reward-card .card-effects,.reward-card .card-notes{font-size:var(--text-sm)}@media (width<=520px){.reward-card .card-effects,.reward-card .card-notes{font-size:var(--text-xs)}}.reward-card:hover,.reward-card:focus-visible{border-color:var(--brass)}.reward-skip{justify-self:center}.reward-picked{padding:var(--space-4);font-family:var(--font-display);font-size:var(--text-lg);text-align:center;background:var(--ash-800);border-radius:var(--radius-panel);margin:0}.reward-party{gap:var(--space-2) var(--space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.reward-party li{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.reward-member{display:grid}.reward-state{font-size:var(--text-xs);color:var(--bone-dim)}.reward-party li.is-done .reward-state{color:var(--verdigris)}.reward-relic{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--bone-dim)}.reward-relic .relic-icon{vertical-align:middle;margin-right:var(--space-1)}.reward-relic strong{color:var(--brass);font-weight:inherit}.card.reward-card.relic-card{aspect-ratio:auto;grid-template-rows:auto 1fr;min-height:140px}.auction-lots{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.auction-lot{align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4);background:var(--ash-800);border:1px solid var(--ash-500);border-radius:var(--radius-panel);flex-wrap:wrap;display:flex}.auction-lot .relic-icon{--relic-size:64px}.auction-text{gap:var(--space-1);font-size:var(--text-sm);color:var(--bone-dim);flex:200px;display:grid}.auction-text strong{font-family:var(--font-display);font-size:var(--text-lg);color:var(--bone)}.auction-bids{color:var(--bone)}.auction-won{gap:var(--space-1);text-align:right;font-size:var(--text-sm);color:var(--bone-dim);display:grid}.auction-won strong{color:var(--verdigris)}.auction-stepper{align-items:center;gap:var(--space-2);display:flex}.auction-stepper button,.auction-stepper input{height:44px;font:inherit;font-size:var(--text-md);color:var(--bone);background:var(--ash-700);border:1px solid var(--ash-500);border-radius:var(--radius-panel)}.auction-stepper button{cursor:pointer;width:44px;transition:transform var(--motion-quick) ease-out}.auction-stepper button:active:not(:disabled){transform:scale(.95)}.auction-stepper input{text-align:center;background:var(--ash-900);width:80px}.auction-stepper :disabled{opacity:.5;cursor:default}.auction-stepper button:focus-visible,.auction-stepper input{appearance:textfield}.auction-stepper input:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.auction-foot{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.auction-gold{color:var(--bone);font-weight:600}.auction-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.auction-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.rest-options{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.rest-option{gap:var(--space-1);padding:var(--space-4);text-align:left;color:var(--bone);background:var(--ash-800);border:1px solid var(--ash-500);border-radius:var(--radius-panel);cursor:pointer;display:grid}.rest-option:hover,.rest-option:focus-visible{border-color:var(--brass)}.rest-option[aria-pressed=true]{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass)}.rest-option-name{font-family:var(--font-display);font-size:var(--text-lg)}.rest-option-note{font-size:var(--text-sm);color:var(--bone-dim)}.rest-party .reward-state.is-done{color:var(--verdigris)}.rest-party{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.rest-party .vote-face{--sprite:40px;width:40px;height:40px}.rest-party .reward-state{white-space:nowrap;grid-column:1/-1}.shop-intro{align-items:baseline;column-gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.shop-intro p:last-child{grid-column:1/-1}.shop-gold{font-size:var(--text-sm);color:var(--bone-dim);margin:0}.shop-gold strong{font-family:var(--font-pixel);font-size:var(--text-xl);color:var(--brass)}.shop-item{gap:var(--space-2);width:var(--card-w);justify-items:stretch;display:grid}.card.shop-card{cursor:default}.card.shop-card.is-bought{opacity:.45}.shop-buy{font-size:var(--text-sm);justify-self:stretch}@media (width<=520px){.shop-buy{padding:var(--space-1) var(--space-1);font-size:var(--text-xs)}}.shop-buy:disabled{opacity:.5;cursor:not-allowed}.shop-actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.shop-remove{gap:var(--space-1);display:grid}.shop-remove button:disabled{opacity:.5;cursor:not-allowed}.shop-remove .form-help{margin:0}.shop-done{min-width:120px}.event-dialog{width:min(480px, calc(100vw - 2 * var(--space-4)))}.event-dialog h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.event-choices{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.event-choice{gap:var(--space-1);text-align:left;width:100%;display:grid}.event-label{font-weight:600}.event-effects{gap:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--bone-dim);flex-wrap:wrap;display:flex}.event-chip{font-family:var(--font-pixel)}.event-chip.event-hp,.event-chip.event-curse,.event-chip.event-removeCard{color:var(--wound)}.event-chip.event-gold,.event-chip.event-card,.event-chip.event-relic{color:var(--brass)}.event-chip.event-fatigue{color:var(--status-knockdown)}.zone-props{gap:var(--space-2);align-content:start;justify-items:start;min-height:44px;display:grid}.zone-props[hidden]{display:none}.zone-props ul{font-size:var(--text-sm);color:var(--bone-dim);margin:0;padding:0;list-style:none}.zone-props .is-trap{color:var(--wound)}.title-screen{--gate-scale:2;align-content:center;gap:var(--space-7);min-height:100dvh;padding:var(--space-7) var(--space-4) calc(90px * var(--gate-scale));isolation:isolate;grid-template-columns:minmax(0,1fr);display:grid;position:relative}.title-screen:before{content:"";z-index:-1;height:calc(110px * var(--gate-scale));background:url(/assets/gate-C6fG_jba.png) no-repeat center bottom / calc(320px * var(--gate-scale)) auto;image-rendering:pixelated;-webkit-mask-image:radial-gradient(calc(160px * var(--gate-scale)) 100% at 50% 100%, #000 55%, transparent);mask-image:radial-gradient(calc(160px * var(--gate-scale)) 100% at 50% 100%, #000 55%, transparent);position:absolute;inset:auto 0 0}.title-main{gap:var(--space-5);max-width:var(--measure);display:grid}.title-screen h1{font-size:var(--text-4xl);letter-spacing:.02em;background:linear-gradient(90deg, var(--bone) 20%, var(--erosion-dim) 95%);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.lede{color:var(--bone-dim);margin:0}.title-screen .bell{color:var(--verdigris)}.play-button{margin-top:var(--space-3);padding-block:var(--space-3);font-size:var(--text-lg);transition:transform var(--motion-quick) ease-out}.play-button:not(:disabled):active{transform:scale(.98)}@media (width>=960px){.title-screen{--gate-scale:3;padding-inline:var(--space-6);grid-template-columns:minmax(0,28rem);justify-content:center}.title-screen h1{font-size:calc(var(--text-4xl) * 1.5)}}.enter-form{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.enter-form label{font-weight:500}.enter-row{gap:var(--space-2);display:flex}.enter-row input{min-width:0;padding:var(--space-2) var(--space-3);flex:1}.title-account{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--bone-dim);flex-wrap:wrap;display:flex}.form-help{font-size:var(--text-sm);color:var(--bone-dim);margin:0}.form-error{font-size:var(--text-sm);color:var(--status-bleed);margin:0}.connection-banner{z-index:1;padding:var(--space-2) var(--space-4);background:var(--ash-700);border-bottom:1px solid var(--brass);color:var(--bone);font-size:var(--text-sm);text-align:center;margin:0;position:sticky;top:0}.credits{margin-top:var(--space-6);font-size:var(--text-xs);color:var(--bone-dim);line-height:1.5}.credits summary{cursor:pointer;width:fit-content}.build-label{margin-left:var(--space-2)}.credits ul{gap:var(--space-1);margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}.credits a{color:var(--bone-dim)}.screen{gap:var(--space-5);max-width:var(--measure);padding:var(--space-5) var(--space-4) var(--space-7);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.screen-header{gap:var(--space-1);display:grid}.screen-header h1{font-size:var(--text-2xl)}.section-title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.panel{padding:var(--space-1)}.stack{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.choice-group{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.choice-group legend{margin-bottom:var(--space-2);padding:0;font-weight:500}.choice{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);cursor:pointer;display:inline-flex}.choice input,.toggle input{accent-color:var(--brass)}.toggle{gap:var(--space-3);cursor:pointer;align-items:flex-start;display:flex}.toggle span{display:grid}.toggle small{color:var(--bone-dim);font-size:var(--text-sm)}.invite{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.invite h2{font-size:var(--text-md);font-family:var(--font-body);color:var(--bone-dim);font-weight:500}.invite-code{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:.12em;color:var(--brass);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.invite-row{gap:var(--space-2);display:flex}.invite-row input{min-width:0;padding:var(--space-2) var(--space-3);color:var(--bone-dim);font-size:var(--text-sm);flex:1}.seats{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.seat{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-1) var(--space-2);display:flex}.seat-empty{color:var(--bone-dim)}.seat-name{font-weight:600}.seat-tag{font-size:var(--text-xs);color:var(--bone-dim);line-height:var(--leading-heading);padding:0 var(--space-1)}.button-quiet{justify-self:start}.seat{flex-wrap:wrap}.seat-detail{font-size:var(--text-sm);color:var(--bone-dim);flex-basis:100%;order:3}.seat-ready{font-size:var(--text-sm);color:var(--bone-dim);margin-left:auto}.seat-ready.is-ready{color:var(--verdigris)}.seat-remove{min-height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.seat-add{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;display:flex}.seat-empty-label{margin-right:auto}.seat-add select{min-height:36px}.class-grid{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.class-card{column-gap:var(--space-3);row-gap:var(--space-1);text-align:left;padding:var(--space-2);color:var(--bone);grid-template-columns:auto minmax(0,1fr);font-weight:400;display:grid}.class-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.class-role,.class-stats{font-size:var(--text-sm);color:var(--bone-dim)}.class-stats{font-variant-numeric:tabular-nums}.class-summary,.class-cards{font-size:var(--text-sm)}.class-cards{color:var(--brass)}.start-ready{color:var(--verdigris)}.class-card>:not(.class-art){grid-column:2}.class-art{--sprite:var(--sprite-card);grid-area:1/1/span 5;justify-content:center;align-self:center;width:4.5rem;display:flex}.seat.has-art{grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.seat-body{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.seat-art{--sprite:var(--sprite-seat);justify-content:center;align-items:flex-end;width:4rem;display:flex}.choice-group>.form-help{flex-basis:100%;margin:0}.seat-fee{color:var(--brass)}.salvage{font-variant-numeric:tabular-nums;white-space:nowrap}.salvage img{vertical-align:middle;width:22px;height:22px;image-rendering:pixelated;margin:-6px 2px -4px 0}button:not(.button-quiet) .salvage img{filter:brightness(.2)}.leave-dialog{width:min(360px, calc(100vw - 2 * var(--space-4)))}.leave-dialog h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0}.leave-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.vote{-webkit-user-select:none;user-select:none;gap:var(--space-4);max-width:960px;padding:var(--space-3) var(--space-4) var(--space-7);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.vote-intro h1{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-heading);margin:0}.vote-intro p{margin:var(--space-1) 0 0;max-width:var(--measure);font-size:var(--text-sm);color:var(--bone-dim)}.vote-party{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.vote-party li{align-items:center;gap:var(--space-2);min-width:0;display:flex}.vote-party li.is-down{opacity:.55}.vote-member{align-items:center;gap:2px var(--space-2);flex:1;grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.vote-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);grid-column:1/-1;font-weight:600;overflow:hidden}.vote-face{--sprite:28px;background:var(--ash-800);border-radius:var(--radius-panel);flex:none;place-items:center;width:28px;height:28px;display:grid;position:relative;overflow:hidden}.vote-face .sprite-sheet .sheet-strip{animation:none}.vote-face.is-me{outline:1px solid var(--brass)}.doors{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.door{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);background:var(--ash-800);color:var(--bone);border:1px solid var(--ash-700);border-radius:var(--radius-panel);cursor:pointer;font-weight:400;display:flex}.door:hover{border-color:var(--ash-500)}.door:active{transform:scale(.97)}.door.is-mine{border-color:var(--brass)}.door-arch{flex:none;place-items:center;display:grid}.door-icon{width:20px;height:20px;fill:var(--erosion-dim)}.door-battle .door-icon,.door-boss .door-icon{fill:var(--bone)}.door-elite .door-icon{fill:var(--wound)}.door-rest .door-icon{fill:var(--status-ignite)}.door-shop .door-icon{fill:var(--brass)}.door-name{font-size:var(--text-md);font-weight:500}.door-voters{gap:var(--space-1);display:flex}.door-voters .vote-face{--sprite:24px;width:24px;height:24px}.vote-waiting{margin:0}@media (prefers-reduced-motion:no-preference){.door{transition:border-color var(--motion-quick), transform var(--motion-quick)}}.zone{width:100%;image-rendering:pixelated;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;display:block}.haven{max-width:60rem}.haven-scene{--s:1;--px:calc(var(--s) * 1px);width:calc(320px * var(--s));aspect-ratio:320/208;background:var(--ash-900) url(data:image/png;base64,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) center / 100% 100%;image-rendering:pixelated;border-radius:var(--radius-panel);justify-self:center;position:relative;overflow:hidden}@media (width>=720px){.haven-scene{--s:2}}@media (width>=1040px){.haven-scene{--s:3}}.haven-place{color:inherit;cursor:pointer;transition:scale var(--motion-quick) ease-out;background:0 0;border:0;padding:0;display:block;position:absolute}.haven-place:active{scale:.98}.haven-place:focus-visible{outline:none}.haven-place img{width:100%;height:100%;transition:filter var(--motion-quick) ease;display:block}.haven-place[data-place=plaza] img,.haven-place[data-place=belltower] img{filter:saturate(.6)brightness(.85)}.haven-place:focus-visible img{--edge:var(--brass);filter:drop-shadow(var(--px) 0 0 var(--edge)) drop-shadow(calc(var(--px) * -1) 0 0 var(--edge)) drop-shadow(0 var(--px) 0 var(--edge)) drop-shadow(0 calc(var(--px) * -1) 0 var(--edge)) brightness(1.12)}@media (hover:hover) and (pointer:fine){.haven-place:hover img{--edge:var(--brass);filter:drop-shadow(var(--px) 0 0 var(--edge)) drop-shadow(calc(var(--px) * -1) 0 0 var(--edge)) drop-shadow(0 var(--px) 0 var(--edge)) drop-shadow(0 calc(var(--px) * -1) 0 var(--edge)) brightness(1.12)}}.haven-plate{top:calc(100% + var(--px) * 2);padding:0 var(--space-1);white-space:nowrap;font-size:var(--text-xs);color:var(--bone);border:1px solid var(--ash-500);border-radius:var(--radius-panel);transition:color var(--motion-quick) ease, border-color var(--motion-quick) ease;background:#1f1d24d9;line-height:1.6;position:absolute;left:50%;translate:-50%}.haven-place:focus-visible .haven-plate{color:var(--brass);border-color:var(--brass)}.haven-place[data-place=plaza] .haven-plate,.haven-place[data-place=belltower] .haven-plate{color:var(--bone-dim)}.haven-place[data-place=training] .haven-plate,.haven-place[data-place=belltower] .haven-plate{top:calc(var(--px) * 2)}.haven-place[data-place=plaza] .haven-plate{top:auto;bottom:calc(100% + var(--px) * 2)}@media (width>=720px){.haven-plate{font-size:var(--text-sm)}}.haven-lights{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.haven-fog{opacity:.35;background:radial-gradient(40% 60% at 20% 80%, var(--erosion-dim), transparent 70%), radial-gradient(30% 50% at 70% 90%, var(--ash-500), transparent 70%);background-size:50% 100%;position:absolute;inset:38% -100% 0 0}.haven-smoke{width:calc(var(--px) * 6);height:calc(var(--px) * 6);pointer-events:none;position:absolute;top:32.7%;left:43.4%}.haven-smoke:before,.haven-smoke:after{content:"";background:radial-gradient(circle, var(--erosion-dim), transparent 70%);opacity:0;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.haven-place{animation:.52s cubic-bezier(.16,1,.3,1) backwards haven-rise;animation-delay:calc(var(--i) * 70ms + .12s)}.haven-lights{animation:4.6s step-end infinite haven-flicker}.haven-fog{animation:48s linear infinite haven-fog}.haven-smoke:before,.haven-smoke:after{animation:3.6s ease-out infinite haven-smoke}.haven-smoke:after{animation-delay:1.8s}.haven-dialog[open]{transition:opacity var(--motion-change) ease-out, scale var(--motion-change) cubic-bezier(.16, 1, .3, 1)}@starting-style{.haven-dialog[open]{opacity:0;scale:.97}}.haven-dialog[open]::backdrop{transition:opacity var(--motion-change) ease-out}@starting-style{.haven-dialog[open]::backdrop{opacity:0}}.ward-sigils li{animation:3.2s ease-in-out infinite ward-bob;animation-delay:calc(var(--i) * -1.1s)}.ward-lantern{animation:2.8s ease-in-out infinite ward-lantern}.ward-sigils li.is-purging{animation:.9s cubic-bezier(.16,1,.3,1) forwards ward-purge}.ward[data-purging]:after{animation:.9s ease-out ward-flash}}@keyframes haven-rise{0%{opacity:0;translate:0 calc(var(--px) * 6)}}@keyframes haven-flicker{0%,to{opacity:1}31%{opacity:.86}34%{opacity:1}62%{opacity:.9}64%{opacity:.8}67%{opacity:.95}}@keyframes haven-fog{to{transform:translate(-50%)}}@keyframes haven-smoke{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:.35}to{opacity:0;transform:translate(calc(var(--px) * 5), calc(var(--px) * -16)) scale(1.8)}}.haven-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.haven-purse{gap:var(--space-5);margin:0;display:flex}.haven-purse dt{font-size:var(--text-sm);color:var(--bone-dim)}.haven-purse dd{font-family:var(--font-pixel);font-size:var(--text-xl);font-variant-numeric:tabular-nums;color:var(--brass);margin:0}.haven-purse small{font-size:var(--text-sm);color:var(--bone-dim)}.haven-cards{justify-content:flex-start}.card.shop-card.is-locked{filter:grayscale(.85)brightness(.8);transition:filter .24s cubic-bezier(.16,1,.3,1)}.shop-item:has(.shop-buy:enabled:hover) .card.shop-card.is-locked{filter:grayscale(.2)}@media (prefers-reduced-motion:reduce){.card.shop-card.is-locked{transition:none}}.haven-profile{align-items:center;gap:var(--space-2);padding-inline:var(--space-3);display:inline-flex}.haven-profile-icon{width:24px;height:24px;color:var(--brass)}.account-chip{align-items:center;gap:var(--space-1);padding:0 var(--space-2);border:1px solid color-mix(in srgb, var(--status-mark) 55%, transparent);border-radius:var(--radius-bar);font-size:var(--text-xs);color:var(--status-mark);white-space:nowrap;line-height:1.6;display:inline-flex}.account-chip:before{content:"";background:currentColor;width:6px;height:6px}.account-chip[data-linked]{border-color:color-mix(in srgb, var(--verdigris) 55%, transparent);color:var(--verdigris)}.haven-dialog.profile-dialog{width:min(28rem, calc(100vw - 2 * var(--space-4)))}.profile-who{gap:var(--space-1);margin-block:var(--space-4) var(--space-5);display:grid}.profile-who p{margin:0}.profile-name{font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-heading)}.profile-state{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--bone-dim);flex-wrap:wrap;display:flex}.profile-note{font-size:var(--text-sm);color:var(--bone-dim)}.profile-form{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--ash-700);display:grid}.profile-form h3{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.profile-field{gap:var(--space-1);font-size:var(--text-sm);color:var(--bone-dim);display:grid}.profile-form input{padding:var(--space-2) var(--space-3)}.profile-form small{font-size:var(--text-xs)}.profile-form p{font-size:var(--text-sm);margin:0}.profile-warn{color:var(--status-mark)}.profile-done{color:var(--verdigris)}.profile-actions{gap:var(--space-2) var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.haven-dialog .haven-cards{--card-w:100%;gap:var(--space-5);padding:var(--space-4) var(--space-3) 0;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));display:grid}@media (width<=520px){.haven-dialog .haven-cards{gap:var(--space-4) var(--space-3);padding-inline:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}}.haven-dialog{width:min(60rem, calc(100vw - 2 * var(--space-4)))}.haven-dialog[data-place=plaza],.haven-dialog[data-place=belltower],.haven-dialog[data-place=sanatorium],.haven-dialog[data-place=monument]{width:min(32rem, calc(100vw - 2 * var(--space-4)))}.haven-dialog .form-error{margin:var(--space-2) 0 0}.leaderboard{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.leaderboard th,.leaderboard td{padding:var(--space-2) var(--space-2);text-align:left}.leaderboard thead th{font-weight:500;font-size:var(--text-xs);color:var(--bone-dim);padding-top:0}.leaderboard tbody th{font-weight:500}.leaderboard th:nth-child(n+3),.leaderboard td:nth-child(n+3){text-align:right}.leaderboard tbody tr{border-top:1px solid var(--ash-700)}.leaderboard tbody tr:first-child td:first-child{color:var(--brass)}.leaderboard tr[data-me]{background:color-mix(in srgb, var(--brass) 10%, transparent)}.leaderboard tr[data-me] th{color:var(--brass)}.leader-me{margin-left:var(--space-2);font-size:var(--text-xs);color:var(--bone-dim)}.leaderboard .leader-empty{padding-block:var(--space-5);text-align:center;color:var(--bone-dim)}.archive-tools{gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);grid-template-columns:minmax(10rem,2fr) repeat(3,minmax(6rem,1fr));display:grid}.archive-tools label{gap:var(--space-1);font-size:var(--text-sm);color:var(--bone-dim);display:grid}@media (width<=520px){.archive-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-tools label:first-child{grid-column:1/-1}}.archive-empty{margin:var(--space-5) 0;color:var(--bone-dim);text-align:center}.ward{margin-top:var(--space-3);aspect-ratio:160/64;border:1px solid var(--ash-500);border-radius:var(--radius-panel);image-rendering:pixelated;position:relative;overflow:hidden}.ward-art{width:100%;height:100%;display:block}.ward:after{content:"";opacity:0;background:radial-gradient(40% 70% at 50% 45%, var(--verdigris), transparent 70%);pointer-events:none;position:absolute;inset:0}.ward-lantern{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--verdigris) 45%, transparent), transparent 65%);pointer-events:none;border-radius:50%;width:18%;position:absolute;top:55%;left:88%;translate:-50% -50%}.ward-sigils{gap:4%;width:30%;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:22%;left:50%;translate:-50%}.ward-sigils li{flex:0 0 22%}.ward-sigils img{width:100%;filter:drop-shadow(0 0 3px var(--erosion-dim));display:block}@keyframes ward-bob{50%{translate:0 -12%}}@keyframes ward-lantern{50%{opacity:.6}}@keyframes ward-purge{0%{filter:none}30%{filter:brightness(2.4) drop-shadow(0 0 6px var(--verdigris));scale:1.25}to{filter:brightness(3) blur(2px) drop-shadow(0 0 10px var(--verdigris));opacity:0;translate:0 -60%;scale:1.6}}@keyframes ward-flash{25%{opacity:.45}}.training-list{gap:var(--space-3);margin:var(--space-3) 0 0;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));padding:0;list-style:none;display:grid}.training-class{padding:var(--space-3);background:var(--ash-800);border:1px solid var(--ash-700);border-radius:var(--radius-panel)}.training-class[data-class=shieldbearer]{--class-color:var(--class-shieldbearer)}.training-class[data-class=executioner]{--class-color:var(--class-executioner)}.training-class[data-class=cindermage]{--class-color:var(--class-cindermage)}.training-class[data-class=bellkeeper]{--class-color:var(--class-bellkeeper)}.training-class h3{margin:0 0 var(--space-2);color:var(--class-color);font-size:var(--text-md)}.training-class>ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.training-track{align-items:center;gap:var(--space-3);font-size:var(--text-sm);grid-template-columns:1fr auto 8rem;display:grid}.training-pips{gap:var(--space-1);display:flex}.training-pips span{border:1px solid var(--brass-lo);border-radius:var(--radius-bar);background:var(--ink);width:10px;height:10px}.training-pips span[data-on]{background:var(--brass);border-color:var(--brass-hi)}.training-buy{white-space:nowrap;justify-content:center;min-height:36px}.memorial-tabs,.memorial-filters,.memorial-toggle{gap:var(--space-1);flex-wrap:wrap;display:flex}.memorial-tabs{margin-bottom:var(--space-3)}.memorial-filters{gap:var(--space-2) var(--space-4);margin-block:var(--space-3)}.leader-member+.leader-member:before{content:" · ";color:var(--bone-dim)}.memorial-toggle .button-quiet{min-height:32px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}
