@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.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:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.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:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2) format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2) format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.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:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-ext-400-normal-B-EsvyE4.woff2) format("woff2"),url(/assets/courier-prime-latin-ext-400-normal-CKOCNFvK.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:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-400-normal-BbyBr73r.woff2) format("woff2"),url(/assets/courier-prime-latin-400-normal-BAlbUm6l.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:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-ext-700-normal-ByMJlNdM.woff2) format("woff2"),url(/assets/courier-prime-latin-ext-700-normal-BIFoAzHx.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:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-700-normal-D1YCjmaD.woff2) format("woff2"),url(/assets/courier-prime-latin-700-normal-CVvp4Sof.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.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:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-caslon-text-latin-ext-400-normal-C9ASObbr.woff2) format("woff2"),url(/assets/libre-caslon-text-latin-ext-400-normal-ll1HhAxb.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:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-caslon-text-latin-400-normal-CfldDPV-.woff2) format("woff2"),url(/assets/libre-caslon-text-latin-400-normal-WtjoQ5sB.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:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-caslon-text-latin-ext-700-normal-VERgVPZd.woff2) format("woff2"),url(/assets/libre-caslon-text-latin-ext-700-normal-BoDjDRr0.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:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-caslon-text-latin-700-normal-D1WVYPaO.woff2) format("woff2"),url(/assets/libre-caslon-text-latin-700-normal-B3n-DWsl.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:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-vietnamese-400-normal-BxGuknnG.woff2) format("woff2"),url(/assets/work-sans-vietnamese-400-normal-DFZk_KN_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-latin-ext-400-normal-zfQnhXzv.woff2) format("woff2"),url(/assets/work-sans-latin-ext-400-normal-j7TZlk-s.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:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/work-sans-latin-400-normal-jUejSri3.woff2) format("woff2"),url(/assets/work-sans-latin-400-normal-DE1_0GuN.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:Work Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/work-sans-vietnamese-600-normal-DizFELYt.woff2) format("woff2"),url(/assets/work-sans-vietnamese-600-normal-ue5fzGW6.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/work-sans-latin-ext-600-normal-DNiHHggD.woff2) format("woff2"),url(/assets/work-sans-latin-ext-600-normal-B1NFRnx8.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:Work Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/work-sans-latin-600-normal-DB-2V89X.woff2) format("woff2"),url(/assets/work-sans-latin-600-normal-Cg-NlmS7.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.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}*{box-sizing:border-box}*:not(.eldritch):not(.eldritch *){border-radius:0}:root{--bg: #131313;--surface-lowest: #0e0e0e;--surface-low: #1c1b1b;--surface: #20201f;--surface-high: #2d2d2d;--surface-highest: #353535;--ink: #e5e2e1;--ink-muted: #d0c6ab;--outline: #999077;--outline-dim: #4d4732;--gold: #ffd700;--gold-dim: #e9c400;--gold-ink: #4a3d00;--green: #06bb63;--green-bright: #4ae183;--green-ink: #00431f;--green-dark: #005228;--red: #93000a;--red-dark: #690005;--red-text: #ffb4ab;--red-pale: #ffdad6;--parchment: #f4e4bc;--parchment-ink: #3e2723;--font-display: "Space Mono", "Courier New", monospace;--font-body: "Courier Prime", "Courier New", monospace;--font-label: "JetBrains Mono", "Courier New", monospace;font-family:var(--font-body);font-size:16px}html,body,#root{margin:0;height:100%;background-color:var(--bg);background-image:radial-gradient(circle,rgba(229,226,225,.08) 1px,transparent 1px);background-size:28px 28px;color:var(--ink)}canvas{image-rendering:pixelated;display:block}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;color:var(--gold);margin:0 0 12px}button{font-family:var(--font-label);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:10px 16px;cursor:pointer;background:var(--surface-highest);color:var(--ink);border:4px solid transparent;border-bottom-color:var(--surface-lowest);border-right-color:var(--surface-lowest);transition:all .08s ease}button:hover:not(:disabled){transform:translateY(2px);filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(4px);border-bottom-color:transparent;border-right-color:transparent}button:disabled{opacity:.45;cursor:not-allowed}.hotbar-slot.locked{opacity:.45;cursor:not-allowed}.hotbar-slot.locked:hover{transform:none;filter:none}button.primary{background:var(--gold);color:var(--gold-ink);border-bottom-color:var(--gold-ink);border-right-color:var(--gold-ink)}button.primary:active:not(:disabled){background:var(--gold-dim)}button.success{background:var(--green);color:var(--green-ink);border-bottom-color:var(--green-dark);border-right-color:var(--green-dark)}button.success:active:not(:disabled){background:var(--green-bright)}button.danger{background:var(--red);color:var(--red-pale);border-bottom-color:var(--red-dark);border-right-color:var(--red-dark)}input{font-family:var(--font-body);font-size:15px;padding:10px 12px;width:100%;background:var(--bg);color:var(--ink);border:4px solid var(--surface-highest);border-top-color:var(--surface-lowest);border-left-color:var(--surface-lowest)}input:focus{outline:none;border-color:var(--gold)}input[type=checkbox],input[type=radio]{width:auto;flex:none;margin:0;padding:0;border-width:2px;accent-color:var(--gold);cursor:pointer}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;flex-wrap:nowrap;gap:8px;cursor:pointer}label:has(>input[type=checkbox])>:not(input),label:has(>input[type=radio])>:not(input){min-width:0}label.setting-row:has(>input[type=checkbox]),label.setting-row:has(>input[type=radio]){display:flex}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:10px;padding:0;border:2px solid var(--surface-lowest);background:var(--bg);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:20px;background:var(--gold);border:2px solid var(--surface-lowest);cursor:pointer}input[type=range]::-moz-range-thumb{width:14px;height:20px;border-radius:0;background:var(--gold);border:2px solid var(--surface-lowest);cursor:pointer}select{font-family:var(--font-label);font-size:13px;padding:8px 10px;background:var(--bg);color:var(--ink);border:2px solid var(--outline-dim);cursor:pointer}select:focus{outline:none;border-color:var(--gold)}input[type=file]{border-style:dashed;border-color:var(--outline-dim);padding:14px 10px;cursor:pointer;font-family:var(--font-label);font-size:12px}.field-label{font-family:var(--font-label);font-size:12px;font-weight:700;text-transform:uppercase;color:var(--ink-muted);margin:0 0 6px;display:block}.field-hint{font-size:12px;color:var(--ink-muted);margin:4px 0 0}.field-hint.pw-weak{color:var(--danger, #c05a3e)}.field-hint.pw-strong{color:var(--success, #6a9a4e)}.checkbox-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;cursor:pointer}.checkbox-row input[type=checkbox]{width:auto;margin:2px 0 0;flex:none}button.ghost{background:transparent;color:var(--ink-muted);border-color:var(--outline-dim)}button.ghost:hover:not(:disabled){color:var(--ink)}.panel{background:var(--surface-high);border:4px solid var(--outline-dim);border-top-color:var(--outline);border-left-color:var(--outline);box-shadow:8px 8px #00000080;padding:24px}.splash{display:grid;place-items:center;height:100%;color:var(--ink-muted);font-family:var(--font-label);text-transform:uppercase}.center-page{display:grid;place-items:center;min-height:100%;padding:24px}.muted{color:var(--ink-muted);font-size:14px}.error-text{color:var(--red-text);font-family:var(--font-label);font-size:12px;min-height:16px;margin:8px 0 0}.alert-error{background:var(--red);border:4px solid var(--red-dark);color:var(--red-pale);font-family:var(--font-label);font-size:13px;font-weight:700;padding:12px 16px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--surface-high);border:2px solid var(--gold);color:var(--gold);font-family:var(--font-label);padding:12px 20px;z-index:100;box-shadow:6px 6px #00000080}.login-panel{width:400px;max-width:94vw;display:flex;flex-direction:column;gap:12px}.login-brand{text-align:center;margin-bottom:8px}.login-shield{font-size:52px;line-height:1;filter:drop-shadow(3px 3px 0 var(--outline-dim))}.login-brand h1{font-size:34px;margin:10px 0 4px;text-shadow:3px 3px 0 var(--outline-dim)}.login-sub{font-family:var(--font-label);font-size:12px;text-transform:uppercase;color:var(--ink-muted);margin:0}.topbar{display:flex;align-items:center;gap:14px;padding:14px 24px;background:var(--surface-low);border-bottom:4px solid var(--outline-dim);flex-wrap:wrap}.topbar .spacer{flex:1}.teacher-sticky{position:sticky;top:0;z-index:30}.tab-nav{display:flex;gap:4px;padding:8px 24px 0;background:var(--surface-low);border-bottom:4px solid var(--outline-dim);flex-wrap:wrap}.tab-nav.sub-nav{align-items:center;background:var(--surface, #1a1a2b);border-bottom-width:2px}.tab-nav.sub-nav select{margin:0 10px 6px 0}.tab-nav.sub-nav select.needs-pick{border-color:var(--gold, #d4af37);box-shadow:0 0 0 2px #d4af3740}.tab-nav button{font-size:12px;padding:10px 14px;margin-bottom:-4px;background:transparent;color:var(--ink-muted);border:none;border-bottom:4px solid transparent;box-shadow:none}.tab-nav button:hover:not(:disabled),.tab-nav button:active:not(:disabled){transform:none;filter:none;background:transparent;color:var(--ink)}.tab-nav button.active,.tab-nav button.active:hover:not(:disabled),.tab-nav button.active:active:not(:disabled){color:var(--gold);border-bottom-color:var(--gold)}.tab-nav .tab-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green-bright);margin-left:8px;vertical-align:middle}.tab-nav .tab-count{display:inline-block;min-width:18px;padding:1px 5px;margin-left:8px;background:var(--red);color:var(--red-pale);font-size:11px;text-align:center}.char-name{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--gold)}.badge{font-family:var(--font-label);font-size:12px;font-weight:700;text-transform:uppercase;background:var(--bg);border:2px solid var(--outline-dim);color:var(--ink);padding:6px 10px}.badge.gold{color:var(--gold);border-color:var(--gold-ink)}.badge.xp{color:var(--green-bright);border-color:var(--green-dark)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:24px;max-width:1160px;margin:0 auto}.card{background:var(--surface-high);border:4px solid var(--outline-dim);padding:20px;cursor:pointer;box-shadow:6px 6px #00000073;transition:border-color .1s}.card:hover,.card.selected{border-color:var(--gold)}.card.disabled{opacity:.4;cursor:not-allowed}.card.disabled:hover{border-color:var(--outline-dim)}.card.disabled:hover h3{color:var(--ink)}.card.selected{box-shadow:6px 6px #e9c40040}.card h3{font-size:18px;margin-bottom:6px;color:var(--ink)}.card:hover h3,.card.selected h3{color:var(--gold)}.bar-row{display:flex;justify-content:space-between;font-family:var(--font-label);font-size:12px;text-transform:uppercase;color:var(--ink-muted);margin:14px 0 6px}.bar{height:14px;background:var(--surface-lowest);border:2px solid var(--outline-dim)}.bar .fill{height:100%;background:var(--green-bright);transition:width .2s}.bar .fill.gold{background:var(--gold)}.bar .fill.low{background:#e74c3c}.card-status{margin-top:14px;padding:10px;text-align:center;font-family:var(--font-label);font-size:12px;font-weight:700;text-transform:uppercase;border:2px solid var(--outline-dim);color:var(--ink-muted)}.card-status.done{background:#8a7a00;border-color:var(--gold-ink);color:#fff6df}.card-status.active{background:var(--green);border-color:var(--green-dark);color:var(--green-ink)}.raid-banner{display:flex;align-items:center;gap:16px;margin:20px auto 0;width:calc(100% - 48px);padding:16px 20px;background:var(--red);border:4px solid var(--red-dark);color:var(--red-pale);max-width:1112px;box-shadow:6px 6px #00000073}.raid-banner b{font-family:var(--font-display);text-transform:uppercase;font-size:18px;letter-spacing:.02em}.raid-banner .muted{color:var(--red-pale)}.raid-banner.town-banner{background:var(--surface-low);border-color:var(--outline-dim);color:var(--ink)}.raid-banner.town-banner .muted{color:var(--ink-muted)}.scene-wrap{position:relative;height:100%;overflow:hidden}.scene-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.overlay-top-left{position:absolute;top:16px;left:16px;display:flex;gap:10px;align-items:center;z-index:10}.overlay-top-right{position:absolute;top:16px;right:16px;display:flex;gap:10px;align-items:center;z-index:10}.overlay-bottom{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:10;background:#131313d9;border:2px solid var(--outline-dim);padding:8px 16px}.overlay-bottom .muted{font-family:var(--font-label);font-size:11px;text-transform:uppercase}.scene-wrap .badge{background:#131313d9}.task-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a08068c}.task-panel{position:relative;width:760px;max-width:96vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.panel.parchment.task-panel:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid var(--parchment-ink);pointer-events:none}.panel.parchment.task-panel{outline:none}.task-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--parchment-ink);padding-bottom:12px;margin-bottom:12px}.task-head h2{margin:0;font-size:22px}.task-body{flex:1 1 auto;overflow-y:auto;padding-right:14px;margin-right:-6px}.task-foot{flex:0 0 auto;border-top:2px solid var(--parchment-ink);padding-top:12px;margin-top:12px}.task-story p{margin:0 0 8px;font-style:italic;color:#5c4a38}.task-brief{border-left:4px solid var(--parchment-ink);padding-left:14px;margin:14px 0}.task-brief h4{margin:0 0 8px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.task-brief p{margin:0 0 7px}.task-brief .task-step{padding-left:22px;text-indent:-22px}.task-check{background:#0000000f;border:1px dashed var(--parchment-ink);padding:10px 12px;margin:12px 0}.task-check p{margin:0 0 4px}.panel.parchment{background:var(--parchment);color:var(--parchment-ink);border:2px solid var(--parchment-ink);outline:2px solid var(--parchment-ink);outline-offset:-8px;padding:28px;box-shadow:8px 8px #0009}.parchment h2,.parchment h3{color:var(--parchment-ink)}.parchment .muted{color:#6d5b47}.parchment .reward-line{color:var(--green-dark)}.parchment input{background:#fffdf2;color:var(--parchment-ink);border:2px solid var(--parchment-ink)}.parchment input:focus{border-color:var(--gold-ink)}.parchment input[type=radio]{accent-color:var(--parchment-ink);width:auto}.parchment button:not(.primary):not(.success){background:transparent;color:var(--parchment-ink);border:2px solid var(--parchment-ink)}.parchment .error-text{color:var(--red)}.parchment .feedback-list{border-color:var(--parchment-ink)}.parchment .feedback-list li.ok{color:var(--green-dark)}.parchment .feedback-list li.fail{color:var(--red)}.parchment .quizpool-list .quiz-ok{color:var(--green-dark)}.parchment .quizpool-list .quiz-fail{color:var(--red)}.reward-line{font-family:var(--font-label);font-size:13px;font-weight:700;text-transform:uppercase;color:var(--green-bright);margin:8px 0}.task-tags{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.reward-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#080810b8;padding:20px}.reward-sheet{width:420px;max-width:94vw;text-align:center;border:2px solid var(--gold);box-shadow:0 0 34px #ffd70047}.reward-sheet h2{margin:0 0 6px}.reward-block{margin:12px 0;padding:10px 12px;border:1px solid var(--parchment-ink, #6a5a3a);border-radius:4px;background:#ffffff0a}.reward-block h3{margin:0 0 6px;font-family:var(--font-label);font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.reward-block.chest{border-color:var(--gold);background:#c9962e24}.reward-sheet .reward-xp{font-family:var(--font-label);font-size:34px;font-weight:800;color:var(--gold);margin:6px 0 12px}.reward-sheet .reward-line{margin:6px 0;text-transform:none;font-size:14px}.reward-sheet .reward-line.chest{color:var(--gold)}.reward-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.gate-open{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:14px 0 4px;padding:12px 14px;border:2px solid var(--gold);border-radius:4px;background:#c9962e29}.gate-open b{font-family:var(--font-label);letter-spacing:.04em}.gate-open button{margin-top:4px}.bonus-block{margin:16px 0;padding:12px 14px;border:2px dashed var(--parchment-ink);border-radius:4px;background:#c9962e1f}.quizpool-list{max-height:46vh;overflow-y:auto;padding-right:6px;margin-bottom:10px}.quizpool-list .bonus-block{margin:10px 0}.quizpool-list .quiz-ok{color:var(--green-bright);font-weight:700}.quizpool-list .quiz-fail{color:var(--red-text);font-weight:700}.quizpool-list label input:disabled+*,.quizpool-list label:has(input:disabled){opacity:.75}button.linkish{background:none;border:none;padding:0;font:inherit;color:var(--accent, #c9962e);text-decoration:underline;cursor:pointer}.bonus-title{font-family:var(--font-label);font-weight:700;text-transform:uppercase;font-size:13px;color:var(--gold-ink, #8a5a2b);margin:0 0 6px}.setting-row{display:flex;align-items:flex-end;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap}.setting-row:first-of-type{border-top:none}.setting-row .grow{flex:1;min-width:220px}.countdown-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:8px 12px}.badge.home-mode{background:#7a5230;color:#ffe9c7}.badge.class-mode{background:#2e6b46;color:#dcffe9}.card.locked{opacity:.6;filter:grayscale(.4)}.char-preview{display:flex;flex-direction:column;align-items:center;gap:4px;margin:6px 0 10px}.char-preview-canvas{width:240px;height:300px;image-rendering:pixelated}.char-name-input{width:260px;text-align:center;margin-bottom:6px}.creation-confirm{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 24px 0}.creation-confirm .error-text{margin:0;min-height:1.2em}.creation-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;max-width:1320px;margin:0 auto;padding:12px 24px 24px}.creation-col{display:flex;flex-direction:column;gap:12px;min-width:0}.creation-col>h3{text-align:center;margin:0}.creation-col .card{padding:14px;margin:0}.look-card{cursor:default}.look-card:hover{border-color:var(--outline-dim)}.look-sex{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.look-sex button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px}.sex-glyph{font-size:26px;line-height:1}.look-roll{display:flex;justify-content:center;margin-top:14px;padding-top:12px;border-top:2px solid var(--outline-dim)}@media(max-width:1000px){.creation-columns{grid-template-columns:1fr}}.look-picker{display:flex;flex-direction:column;gap:8px}.look-row{display:flex;flex-direction:column;gap:4px}.look-label{opacity:.75;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.look-options{display:flex;flex-wrap:wrap;gap:5px}.look-swatch{width:26px;height:26px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.18);cursor:pointer}.look-swatch.selected{border-color:gold;box-shadow:0 0 6px #ffd70099}.look-choice{padding:3px 9px;font-size:12px}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:8px}.achievement{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid rgba(255,255,255,.12);border-radius:4px}.achievement.unlocked{border-color:var(--gold, #ffd166);background:#ffd1661a}.achievement.locked{opacity:.55;filter:grayscale(.6)}.achievement-icon{font-size:26px;line-height:1}.raid-achievements{margin-top:14px;text-align:left}.merit-switch{display:flex;gap:8px;margin:6px 0 10px}.merit-hint{font-size:12px;opacity:.7;margin-bottom:10px}.achievement-section{margin-top:16px}.achievement-section>h4{display:flex;justify-content:space-between;align-items:baseline;margin:0}.achievement{position:relative}.achievement.badge.earned{border-color:var(--gold, #ffd166)}.badge-count{position:absolute;top:4px;right:6px;font-size:12px;font-weight:700;color:var(--gold, #ffd166)}.achievement-reward{font-size:11px;opacity:.75;margin-top:2px}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:13px}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i{width:12px;height:12px;border-radius:2px;display:inline-block}.task-panel .options{display:flex;flex-direction:column;gap:10px;margin:14px 0}.task-panel label{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:15px}.feedback-list{list-style:none;margin:14px 0;padding:12px;border:2px solid var(--outline-dim);font-family:var(--font-label);font-size:12px}.feedback-list li{padding:4px 0}.feedback-list li.ok{color:var(--green-bright)}.feedback-list li.fail{color:var(--red-text)}.sheet{max-width:960px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.sheet .full{grid-column:1 / -1}.stat-row{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:10px;background:var(--surface);border:2px solid var(--outline-dim)}.stat-row .name{width:150px;font-family:var(--font-label);font-size:13px;font-weight:700;text-transform:uppercase}.stat-row b{font-family:var(--font-display);font-size:20px}.skill-row{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid var(--outline-dim);background:var(--surface);margin-bottom:10px}.skill-row.owned{border-color:var(--green);background:#0d2417}.skill-row .grow{flex:1}.skill-row b{font-family:var(--font-label);text-transform:uppercase;font-size:13px}table{width:100%;border-collapse:collapse;font-size:14px}th{font-family:var(--font-label);font-size:11px;font-weight:700;text-transform:uppercase;color:var(--ink-muted);background:var(--surface-low);text-align:left;padding:10px 12px;border-bottom:2px solid var(--outline-dim)}td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--outline-dim)}.raid-control{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.raid-control .grow{flex:1;min-width:240px}.raid-status-word{font-family:var(--font-display);font-size:30px;font-weight:700;text-transform:uppercase;margin:2px 0 8px}.raid-status-word.live{color:var(--red-text)}.raid-status-word.standby{color:var(--ink)}.hud-bar{width:240px;height:18px;background:var(--surface-lowest);border:2px solid var(--outline-dim);overflow:hidden}.hud-bar .fill{height:100%;background:var(--green-bright);transition:width .2s}.hud-bar .fill.low{background:#e74c3c}.combat-hud{position:absolute;bottom:56px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10}.effect-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.effect-badge{font-size:10px}.self-bars{display:flex;flex-direction:column;gap:4px}.self-bars .hud-bar{position:relative;width:340px}.self-bars .resource-bar{height:18px}.self-bars .resource-bar.mana .fill{background:#4d96ff}.self-bars .resource-bar.energy .fill{background:var(--gold)}.ally-frames{position:absolute;top:148px;left:16px;bottom:150px;display:flex;flex-flow:column wrap;align-content:flex-start;gap:6px;z-index:14;max-width:62vw;pointer-events:none}.ally-frame{pointer-events:auto;width:190px;flex:0 0 auto;display:flex;flex-direction:column;gap:3px;padding:5px 8px;text-align:left;background:#0e0c16b8;border:1px solid rgba(255,255,255,.14);border-radius:7px;cursor:pointer;transition:border-color .12s,background .12s}.ally-frame:hover{border-color:#ffd166b3}.ally-frame.selected{border-color:#4ade80;background:#18281ad1}.ally-frame.dead{opacity:.5;filter:grayscale(.8)}.ally-frame.far{opacity:.45}.ally-frame.far:hover,.ally-frame.far.selected{opacity:1}.ally-frame .ally-name{font-size:12px;font-weight:700;color:#e8e2f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ally-frame .ally-dead-tag{color:#ff8a8a}.ally-frame .ally-bar{width:100%;box-sizing:border-box;height:8px;position:relative}.gate-prompt{position:absolute;top:96px;left:50%;transform:translate(-50%);z-index:16;padding:7px 14px;background:#0e0c16d1;border:2px solid var(--gold, #d4af37);border-radius:8px;color:#ffe6a0;font-size:14px;white-space:nowrap}.gate-prompt b{display:inline-block;min-width:18px;text-align:center;padding:0 5px;margin:0 2px;background:var(--gold, #d4af37);color:#1a1408;border-radius:4px}.gate-prompt.prep-banner{top:52px;border-color:#7fd08a;color:#d7f5dc}.gate-prompt.prep-banner b{background:#7fd08a;color:#10230f}.system-menu .setting-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:8px 0}.system-menu .setting-row span{font-size:13px}.system-menu .setting-row input[type=checkbox]{width:18px;height:18px;cursor:pointer}.bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-label);font-size:11px;line-height:1;font-weight:700;color:var(--ink);text-shadow:1px 1px 0 rgba(0,0,0,.8);pointer-events:none}.cast-bar{position:relative;width:300px;height:16px;background:var(--surface-lowest);border:2px solid var(--gold-dim);overflow:hidden}.cast-bar .fill{height:100%;background:var(--gold)}.hotbar{position:relative;display:flex;gap:8px}.kit-bar{display:flex;gap:6px;justify-content:center;margin-bottom:6px}.kit-slot{display:flex;align-items:center;gap:6px;padding:3px 10px;font-size:12px;border-radius:999px;border:1px solid rgba(245,215,110,.35);background:#14121eb8;color:#d8d4c8;cursor:pointer}.kit-slot.active{border-color:#f5d76e;color:#f5d76e;box-shadow:0 0 10px #f5d76e59}.kit-slot .kit-key{font-weight:700;opacity:.8}.hotbar-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:380px;padding:10px 12px;background:#131313f2;border:2px solid var(--outline-dim);font-size:13px;text-align:left;pointer-events:none;z-index:20}.hotbar-tooltip b{color:var(--gold)}.target-frame{position:absolute;top:62px;left:50%;transform:translate(-50%);width:300px;padding:10px 12px;background:#131313eb;border:2px solid var(--outline-dim);display:flex;flex-direction:column;gap:6px;z-index:15}.target-frame .hud-bar{position:relative;width:100%}.target-head{display:flex;align-items:center;gap:8px;padding-right:24px}.target-head b{color:var(--gold)}.target-close{position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;border-width:2px}.badge.enemy-badge{background:#a0282859;border-color:#a02828}.badge.ally-badge{background:#305aa059;border-color:#3d6bd6}.training-board{position:absolute;top:172px;right:12px;width:190px;padding:10px 12px;background:#131313eb;border:2px solid var(--outline-dim);display:flex;flex-direction:column;gap:8px;z-index:15;font-size:12px}.training-board .tb-title{color:var(--gold);font-weight:700;letter-spacing:.5px}.training-board .tb-headline{display:flex;gap:10px}.training-board .tb-metric{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.training-board .tb-num{font-size:26px;font-weight:700;line-height:1}.training-board .tb-dps{color:#ffd166}.training-board .tb-hps{color:#4ade80}.training-board .tb-label{font-size:10px;color:var(--muted, #9aa0aa)}.training-board .tb-rows{display:flex;flex-direction:column;gap:3px}.training-board .tb-rows>div{display:flex;justify-content:space-between}.training-board .tb-rows span{color:var(--muted, #9aa0aa)}.training-board .tb-clear{align-self:flex-end;padding:3px 10px;font-size:11px;border-width:2px}.target-stats{display:flex;gap:14px;font-size:12px;font-family:var(--font-label)}.target-abilities{font-size:11px}.inventory-panel{position:absolute;top:64px;right:16px;width:340px;max-height:calc(100vh - 220px);overflow-y:auto;padding:12px 14px;background:#131313f0;border:2px solid var(--outline-dim);z-index:18}.inventory-panel h4{margin:10px 0 4px;color:var(--gold)}.inv-table{width:100%;font-size:12px}.inv-table td{padding:3px 6px 3px 0;vertical-align:middle}.inv-table button{padding:3px 8px;font-size:11px;border-width:2px}.scene-wrap canvas.minimap{position:absolute;inset:auto;right:16px;bottom:16px;width:176px;height:176px;border:2px solid var(--outline-dim);background:#131313d9;z-index:12}.help-panel{position:absolute;top:64px;left:16px;width:420px;max-width:90vw;z-index:25}.help-table td{padding:4px 10px 4px 0;vertical-align:top}.help-table td:first-child{white-space:nowrap;color:var(--gold);font-family:var(--font-label)}.hotbar-tooltip p{margin:6px 0 0;text-transform:none;font-family:var(--font-body)}.hotbar-slot{position:relative;width:92px;height:76px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;overflow:hidden;background:#1c1b1beb;border:3px solid var(--outline-dim);border-bottom-color:var(--surface-lowest);border-right-color:var(--surface-lowest)}.hotbar-slot.ultimate{border-color:var(--gold-ink)}.hotbar-slot.active{border-color:var(--gold);background:#423708eb}.hotbar-slot:disabled{opacity:.55}.hotbar-key{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--gold);line-height:1}.hotbar-name{font-family:var(--font-label);font-size:9px;text-transform:uppercase;letter-spacing:0;color:var(--ink-muted);text-align:center;line-height:1.15}.hotbar-cost{font-family:var(--font-label);font-size:10px;color:#4d96ff}.hotbar-cost.missing{color:var(--red-text)}.hotbar-cooldown{position:absolute;left:0;right:0;bottom:0;background:#0a0a0cbf;pointer-events:none}.hotbar-cooldown-text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-size:22px;color:var(--ink);text-shadow:2px 2px 0 rgba(0,0,0,.9);pointer-events:none}.talent-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media(max-width:900px){.talent-branches{grid-template-columns:1fr}}.talent-branch{border:2px solid var(--outline-dim);background:var(--surface-low);padding:12px}.talent-branch h4{margin:0 0 2px;font-family:var(--font-display);color:var(--gold);text-transform:uppercase;font-size:14px}.talent-branch-role{margin:0 0 10px;font-size:11px}.talent-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-top:1px solid var(--outline-dim)}.talent-row.locked{opacity:.55}.talent-row .talent-icon{color:var(--gold, #ffd700);margin-top:2px}.talent-info{flex:1}.talent-info p{margin:3px 0 0;font-size:11px}.talent-rank{margin-left:8px;font-family:var(--font-label);font-size:11px;color:var(--gold-dim)}.talent-gate{display:inline-block;margin-top:4px;font-size:10px;color:var(--red-text)}.talent-add{width:34px;min-width:34px;height:34px;padding:0;font-size:18px}.equip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.equip-grid.backpack{grid-template-columns:repeat(5,minmax(0,1fr))}.item-cell{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:58px;padding:6px 8px;text-align:left;text-transform:none;letter-spacing:0;background:var(--surface-lowest);border:2px solid var(--outline-dim);color:var(--ink);font-family:var(--font-label);font-size:11px}.item-slot-label{font-size:9px;text-transform:uppercase;color:var(--ink-muted)}.item-name{font-weight:700}.item-cell-icon{display:flex;align-items:center;justify-content:center;width:100%;flex:1;min-height:32px}.item-cell-empty{color:var(--outline-dim);font-size:16px}.item-actions{display:flex;gap:4px}.item-actions button{padding:2px 6px;font-size:9px;border-width:2px}.item-icon.rarity-glow-lila{filter:drop-shadow(0 0 2.5px rgba(176,97,224,.75))}.item-icon.rarity-glow-narancs{filter:drop-shadow(0 0 2.5px rgba(255,207,77,.85));animation:rarityPulse 1.9s ease-in-out infinite}@keyframes rarityPulse{0%,to{filter:drop-shadow(0 0 1.5px rgba(255,207,77,.6))}50%{filter:drop-shadow(0 0 4px rgba(255,207,77,.95))}}@media(prefers-reduced-motion:reduce){.item-icon.rarity-glow-narancs{animation:none}}.set-tip{margin-top:6px;padding-top:6px;border-top:1px solid rgba(242,202,80,.25)}.set-tip-bonus{font-size:11px;margin-top:2px;color:#8fdca0}.rarity-feher{border-color:#8b8b8b}.rarity-zold{border-color:#4ae183}.rarity-kek{border-color:#4d96ff}.rarity-lila{border-color:#b14aed}.rarity-narancs{border-color:#ffcf4d}.rarity-text-feher{color:var(--ink)}.rarity-text-zold{color:#4ae183}.rarity-text-kek{color:#4d96ff}.rarity-text-lila{color:#b14aed}.rarity-text-narancs{color:#ffcf4d}.quickbelt-bar{display:flex;gap:6px}.quickbelt-slot{display:flex;flex-direction:column;align-items:center;gap:2px;width:92px;padding:4px;background:#1c1b1beb;border:2px solid var(--outline-dim)}.quickbelt-slot .hotbar-key{font-size:13px}.quickbelt-slot .hotbar-name{font-size:8px}.boss-banner{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:11;display:flex;flex-direction:column;align-items:center;gap:4px;background:#131313e0;border:2px solid var(--red-dark);padding:8px 18px}.boss-countdown{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--red-text);letter-spacing:.04em}.boss-name{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--red-text);text-transform:uppercase}.boss-hp{width:320px}.finale-phase-indicator{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:12;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.03em;color:#ffe9bf;background:#130c08e6;border:2px solid var(--red-dark);border-bottom-width:3px;padding:5px 16px;white-space:nowrap}.beacon-call{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:13;display:flex;flex-direction:column;align-items:center;gap:6px;width:min(440px,84vw);text-align:center;padding:10px 18px;color:#ffe9bf;background:#130c08eb;border:2px solid #ff9a3c;border-bottom-width:3px;box-shadow:0 0 22px #ff9a3c59}.beacon-call b{font-family:var(--font-display);font-size:16px;letter-spacing:.03em}.beacon-call span{font-size:13px;line-height:1.35}.beacon-call.lit{border-color:#ffd166;animation:beacon-glow 2.4s ease-in-out infinite}@keyframes beacon-glow{0%,to{box-shadow:0 0 18px #ffd1664d}50%{box-shadow:0 0 34px #ffd16699}}.beacon-bar .fill{background:linear-gradient(90deg,#ff6b1a,#ffd166)}.finale-boss-banner{top:52px;gap:6px}.finale-boss-row{display:flex;flex-direction:column;align-items:center;gap:2px}.finale-boss-row .boss-name{font-size:12px}.finale-boss-row .boss-hp{width:300px}.end-overlay.finale-victory .panel{border-color:#ff9a3c;box-shadow:0 0 40px #ff8c2859}.beacon-scene{margin-bottom:10px}.beacon-flame{font-size:46px;line-height:1;animation:beacon-flicker 1.1s ease-in-out infinite}@keyframes beacon-flicker{0%,to{transform:translateY(0) scale(1);filter:drop-shadow(0 0 10px rgba(255,150,40,.7))}50%{transform:translateY(-3px) scale(1.08);filter:drop-shadow(0 0 18px rgba(255,190,80,.95))}}.beacon-title{font-family:var(--font-display);color:#ffb85c;margin:4px 0}.beacon-lore{color:#e8d7b5;font-style:italic;line-height:1.5;max-width:520px;margin:0 auto 6px}.raid-config{display:flex;gap:16px;align-items:flex-end;margin-right:16px}.raid-config label{display:flex;flex-direction:column;gap:4px}.build-palette{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:8px;max-height:84%;overflow-y:auto;padding:12px;background:var(--surface-low);border:3px solid var(--outline-dim);z-index:20}.tower-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:200px;padding:8px 10px;text-align:left;background:#1c1b1bf0;border:3px solid var(--outline-dim);border-bottom-color:var(--surface-lowest);border-right-color:var(--surface-lowest)}.tower-card.active{border-color:var(--gold);background:#423708f0}.tower-card-name{font-family:var(--font-display);font-size:13px;color:var(--gold)}.tower-card-info{font-size:10px;color:var(--ink-muted);text-transform:none;letter-spacing:0}.tower-card-cost{font-family:var(--font-label);font-size:11px;color:var(--gold-dim)}.tower-card-cost.missing{color:var(--red-text)}.tower-panel{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:280px;max-height:80%;overflow-y:auto;background:var(--surface-low);border:3px solid var(--outline-dim);padding:14px;z-index:20;display:flex;flex-direction:column;gap:8px}.upgrades-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;max-height:84%;overflow-y:auto;background:var(--surface-low);border:3px solid var(--outline-dim);padding:14px;z-index:20;display:flex;flex-direction:column;gap:8px}.upgrades-panel.vendor-panel{width:700px;max-width:94vw;height:84%}.vendor-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.vendor-columns .vendor-col{display:flex;flex-direction:column;gap:8px;min-width:0}.vendor-columns h4{margin:0}.vendor-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.vendor-duo h4{margin:0 0 6px}@media(max-width:900px){.vendor-columns,.vendor-duo{grid-template-columns:1fr}}.tower-panel-actions{display:flex;flex-direction:column;gap:8px}.upgrade-row{border:2px solid var(--outline-dim);background:var(--surface);padding:10px;display:flex;flex-direction:column;gap:6px}.upgrade-row .badge{margin-left:8px;display:inline-block;max-width:100%;vertical-align:middle;text-transform:none;font-size:11px;padding:3px 7px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.upgrade-row p{margin:4px 0 0;font-size:12px}.upgrades-panel.keep-panel{width:380px}.npc-line{margin:0;padding:8px 10px;border-left:3px solid var(--outline-dim);background:var(--surface);font-style:italic;font-size:13px}.keep-section{margin:8px 0 0;font-size:13px;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.fund-bar{margin-top:6px;height:10px;border:2px solid var(--outline-dim);background:var(--surface-low)}.fund-bar-fill{height:100%;background:#c9a227}.fund-buttons{display:flex;gap:6px}.fund-buttons button{flex:1}.donor-row{display:flex;justify-content:space-between;gap:12px;padding:4px 8px;border-bottom:1px solid var(--outline-dim);font-size:13px}.library-hint{position:absolute;top:18px;left:50%;transform:translate(-50%);background:#110e02d9;border:2px solid var(--outline-dim);color:var(--ink);padding:8px 16px;font-size:13px;z-index:10}.book-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:1fr 1.15fr;width:860px;max-width:96vw;height:min(560px,88vh);background:#f4e4bc;color:#2a1f12;border:6px solid #5a3a1c;box-shadow:12px 12px #00000080;z-index:25}.book-panel.quiz-book{grid-template-columns:1fr;width:560px;height:auto;max-height:88vh}.book-page{padding:18px 22px;overflow-y:auto;height:100%;min-width:0;min-height:0}.book-page-left{border-right:3px double #b8a075}.book-page h3{margin:0 0 6px;font-family:var(--font-display);color:#4a2f18}.book-page h4{margin:12px 0 4px;color:#4a2f18}.book-muted{color:#7a6647;font-size:12px;margin:4px 0}.book-summary{font-size:14px;line-height:1.45;margin:8px 0}.book-tabs{display:flex;gap:6px;margin:6px 0 8px}.book-tabs button{background:#e6d3a3;color:#4a2f18;border:2px solid #b8a075;box-shadow:none;padding:4px 12px}.book-tabs button.active{background:#4a2f18;color:#f4e4bc;border-color:#4a2f18}.book-faction-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 4px;border-bottom:1px solid #c9b58a}.book-faction-tab{background:transparent;color:#6a5236;border:none;box-shadow:none;padding:4px 10px 5px;font-size:13px;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}.book-faction-tab:hover:not(.active){color:#4a2f18;background:#e6d3a3}.book-faction-tab.active{color:#2a1f12}.book-faction-header{border-left:4px solid #b8a075;padding:2px 0 2px 10px;margin:6px 0 8px}.book-faction-header b{color:#4a2f18;font-family:var(--font-display);font-size:15px}.book-faction-desc{font-style:italic;line-height:1.4}.book-section-label{margin:10px 0 2px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#6a4a24;text-transform:uppercase}.book-list{display:flex;flex-direction:column;gap:3px}.book-row{display:flex;justify-content:space-between;gap:8px;background:transparent;border:none;box-shadow:none;color:#2a1f12;padding:5px 8px;text-align:left;border-bottom:1px dashed #c9b58a}.book-row:hover:not(:disabled){background:#e6d3a3}.book-row.selected{background:#4a2f18;color:#f4e4bc}.book-row.unknown{color:#a08b64;font-style:italic}.book-row-type{font-size:11px;opacity:.8}.scene-wrap canvas.bestiary-portrait{position:static;inset:auto;width:100%;height:150px;flex:none;background:radial-gradient(ellipse at center,#e6d3a3,#d4bd8a);border:2px solid #b8a075}.book-back{background:#e6d3a3;color:#4a2f18;border:2px solid #b8a075;box-shadow:none;padding:3px 10px;font-size:12px;margin-bottom:8px}.book-back:hover{background:#4a2f18;color:#f4e4bc}.book-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;margin:8px 0}.book-abilities{margin:4px 0;padding-left:20px;font-size:13px}.book-abilities li{margin-bottom:4px}.book-footnote{margin-top:10px}.book-empty{margin-top:40%;text-align:center}.book-close{position:absolute;top:-14px;right:-14px;width:34px;height:34px;padding:0;background:#93000a;color:#ffd9d9;border:3px solid #4a0005}.quiz-options{display:flex;flex-direction:column;gap:8px;margin-top:10px}.quiz-options button{background:#e6d3a3;color:#2a1f12;border:2px solid #b8a075;box-shadow:3px 3px #00000040;text-align:left;padding:10px 12px}.quiz-options button:hover{background:#4a2f18;color:#f4e4bc}.streak-card{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;margin:0 0 8px;border-left:3px solid #5fbf6a;background:#5fbf6a1f;font-size:13px}.kikialto{margin-top:10px;padding:8px 10px;border-left:3px solid #c9a24a;background:#c9a24a1f;font-size:13px}.kikialto p{margin:0 0 6px}.kikialto p:last-child{margin-bottom:0}.week-boxes{display:flex;gap:4px;margin:6px 0}.week-box{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:var(--font-label);font-size:13px;font-weight:700;border:2px solid #b8a075;background:#efe3c4;color:#7a6647}.week-box.done{background:#cfe6cf;border-color:#4a7a4a;color:#17572a}.week-box.missed{background:#efd3cf;border-color:#9a5a52;color:#8a2a1e}.week-box.today{outline:3px solid #4a2f18;outline-offset:1px}.kronikas-exchange{margin-top:14px;padding:10px 12px;border:2px solid #b8a075;background:#4a2f1814}.kronikas-exchange h4{margin:0 0 4px}.kronikas-stock{list-style:none;margin:8px 0 0;padding:0 4px 0 0;max-height:320px;overflow-y:auto}.kronikas-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;margin-bottom:3px;background:#e6d3a3;color:#2a1f12;border:2px solid #b8a075;border-radius:2px}.kronikas-item{display:flex;align-items:center;gap:8px;min-width:0}.kronikas-item .rarity-text-feher,.kronikas-item .rarity-text-zold,.kronikas-item .rarity-text-kek,.kronikas-item .rarity-text-lila,.kronikas-item .rarity-text-narancs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kronikas-row button{flex:none}.kronikas-actions{display:flex;align-items:center;gap:6px;flex:none}.kronikas-row .wish-toggle,.book-page .rarity-text-feher{color:#2a1f12}.book-page .rarity-text-zold{color:#17572a}.book-page .rarity-text-kek{color:#1c4f9c}.book-page .rarity-text-lila{color:#6b2a95}.book-page .rarity-text-narancs{color:#7a4a00}.book-page .reward-line{color:var(--green-dark)}.wish-toggle{background:none;border:none;font-size:18px;padding:2px 4px;cursor:pointer;box-shadow:none}.wish-toggle:hover{transform:scale(1.15)}.chest-wished{position:absolute;top:-4px;right:-2px;font-size:12px;pointer-events:none;filter:drop-shadow(0 0 2px #000)}.quiz-feedback{font-family:var(--font-display);font-size:16px;margin:10px 0}.quiz-feedback.good{color:#1d6b30}.quiz-feedback.bad{color:#93000a}@media(max-width:900px){.book-panel{grid-template-columns:1fr}.book-page-left{border-right:none;border-bottom:3px double #b8a075}}.raid-return-pill{position:fixed;right:18px;bottom:18px;z-index:40;background:var(--gold);color:var(--gold-ink);border-bottom-color:var(--gold-ink);border-right-color:var(--gold-ink);box-shadow:4px 4px #00000073}.death-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#28282cb8;-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1);z-index:20}.death-box{width:460px;max-width:94vw;text-align:center;background:var(--surface-low);border:4px solid var(--red-dark);padding:24px}.death-box h2{color:var(--red-text)}.death-countdown{font-family:var(--font-display);font-size:56px;font-weight:700;color:var(--ink);line-height:1.1;margin-bottom:8px}.revive-note{color:var(--green-bright);font-weight:700}.question-box{margin-top:12px;text-align:left;border:2px solid var(--outline-dim);background:var(--surface);padding:14px}.question-text{font-weight:700;margin:0 0 10px}.question-options{display:grid;gap:8px}.question-options button{text-align:left;text-transform:none;letter-spacing:0}.answer-correct{color:var(--green-bright);font-weight:700;margin-top:12px}.answer-wrong{color:var(--red-text);font-weight:700;margin-top:12px}.end-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0a0a0cd1;z-index:30;overflow:auto;padding:12px}.end-panel{display:flex;flex-direction:column;max-height:min(92vh,900px);min-height:0}.end-scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.end-table-scroll{overflow-x:auto}.end-overlay h2{font-size:40px;text-shadow:3px 3px 0 var(--outline-dim)}.loot-box{display:inline-block;border:2px solid var(--outline);background:var(--surface-low);padding:14px 28px;margin:8px 0 16px}.loot-box .field-label{margin-bottom:4px}.loot-amount{font-family:var(--font-display);font-size:30px;color:var(--gold)}.raid-stats-table{width:100%}.raid-stats-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.raid-stats-table th.sortable:hover{color:var(--gold)}.raid-stats-table .sort-arrow{display:inline-block;width:14px;margin-left:2px;text-align:left}button.swap-label{position:relative}button.swap-label .swap-ghost{visibility:hidden}button.swap-label .swap-live{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.hotbar-aside{position:absolute;left:100%;top:0;margin-left:100px;display:flex;align-items:flex-start}.mount-slot .hotbar-icon{position:absolute;top:0;right:0;bottom:13px;left:0;display:grid;place-items:center;pointer-events:none}.mount-slot .hotbar-icon svg{display:block;width:26px;height:26px}.mount-slot:hover{border-color:var(--gold)}.mount-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.mount-card{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:#1c1b1be6;border:2px solid var(--outline-dim);text-align:left}.mount-card.active{border-color:var(--gold);background:#423708e6}.mount-card-name{font-size:12px;text-transform:none}.mount-card-tag{font-family:var(--font-label);font-size:10px;color:var(--ink-muted)}.mount-card-tag.active{color:var(--gold)}.mount-swatch{display:grid;place-items:center;border:2px solid var(--outline-dim);line-height:1;color:#141210cc}.item-cell-wrap{position:relative;display:inline-flex}.upgrade-marks{position:absolute;right:1px;bottom:1px;display:flex;gap:1px;pointer-events:none}.upgrade-marks.inline{position:static;display:inline-flex;margin-left:4px;vertical-align:middle}.upgrade-mark{font-family:var(--font-label);font-size:9px;line-height:1;padding:1px 2px;background:#0e0c16d9;color:var(--gold);border:1px solid var(--outline-dim)}.upgrade-mark.armor{color:#9fd8ff}.upgrade-mark.enchant{color:#d0a0ff}.upgrade-line{color:var(--gold)}.topo-map{display:block;width:100%;height:auto;max-height:320px;margin:6px 0 10px;border:1px solid #3b3550;border-radius:6px;background:radial-gradient(circle at 30% 20%,rgba(212,175,55,.06),transparent 60%),#171426}.topo-node{cursor:pointer}.topo-node circle{fill:#2c5c3a;stroke:var(--gold, #d4af37);stroke-width:2;transition:fill .12s ease}.topo-node.locked circle{fill:#3a3446;stroke:#6b6480}.topo-node:hover circle{fill:#3f8050}.topo-node.locked:hover circle{fill:#4e4763}.topo-glyph{font-size:13px;pointer-events:none}.topo-label{fill:#cfc7e2;font-size:12px;pointer-events:none}.topo-node.locked .topo-label{fill:#8a83a0}.topo-wrap{margin:6px 0 10px}.topo-map{max-height:560px;margin:0;cursor:grab;touch-action:none}.topo-map:active{cursor:grabbing}.topo-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:4px;font-size:12px}.topo-tools label{display:flex;gap:4px;align-items:center;cursor:pointer}.topo-legend{color:var(--ink-muted)}.topo-node.mainline circle{stroke-width:4}.topo-node.exam circle{stroke:#ff6b6b}.topo-node.practice circle{stroke:#6aa9ff}.topo-node.dim{opacity:.25}.topo-label-mat{fill:#171426d9;pointer-events:none}.topo-corner{font-size:10px;pointer-events:none}.link-button{padding:0;background:none;border:none;color:var(--gold, #d4af37);font:inherit;text-decoration:underline;cursor:pointer}.class-roster tbody tr{cursor:pointer}.class-roster tbody tr.self{background:#d4af371f}.class-roster tbody tr:hover{background:#d4af3733}.hero-headline{margin:8px 0 0;text-align:center;font-size:15px;font-weight:700;color:var(--gold, #d4af37)}.hero-headline .spec{color:#9fd6ff}.task-checklist{border:1px dashed var(--parchment-ink);padding:10px 12px;margin:12px 0}.task-checklist h4{margin:0 0 8px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.task-checklist ul{list-style:none;margin:0;padding:0}.task-checklist li{display:flex;align-items:baseline;gap:8px;padding:3px 0;line-height:1.35}.task-checklist li .label{flex:1}.task-checklist li .xp{font-family:var(--font-label);font-size:12px;white-space:nowrap;opacity:.7}.task-checklist li.done .label{color:var(--green-dark)}.task-checklist li.fresh{background:#78c8782e;border-radius:3px}.task-checklist .hint{margin:8px 0 0;font-size:13px;font-style:italic}.world-status{background:#0000008c;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:10px 12px;margin-top:6px;min-width:280px}.world-status-line{font-size:13px;margin-bottom:8px}.world-status-bar{position:relative;display:flex;height:14px;background:#ffffff1f;border-radius:7px;overflow:hidden}.world-status-bar .fill{background:var(--green-bright, #4ade80);height:100%}.world-status-bar .fill.over{background:gold}.world-status-bar .tick{position:absolute;top:0;bottom:0;width:1px;background:#ffffffa6}.world-status-bar .tick-label{position:absolute;top:100%;left:-4px;font-size:10px;opacity:.7}.world-status .muted,.world-status .warn{margin:14px 0 0;font-size:12px}.world-status .warn{color:#ff6b6b}.grade-5{color:#4ade80}.grade-4{color:#a3e635}.grade-3{color:gold}.grade-2{color:#ff922b}.grade-1{color:#ff6b6b}.war-council{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;background:#0a0812e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .9s ease,backdrop-filter .9s ease}.war-council.entering .war-council-card{animation:war-council-drop .35s ease-out}.war-council.releasing{background:#0a081200;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);pointer-events:none}.war-council.releasing .war-council-card{animation:war-council-shake .2s ease-in-out,war-council-open 1.9s ease-in forwards}.war-council-card{max-width:520px;padding:34px 46px;text-align:center;background:var(--surface, #1a1a2b);border:2px solid var(--gold, #d4af37);box-shadow:0 0 60px #0009}.war-council-card h1{margin:10px 0 6px;font-size:30px;letter-spacing:.42em;color:var(--gold, #d4af37)}.war-council-card p{margin:4px 0;color:var(--ink-muted)}.war-council-crest{font-size:46px;line-height:1}.war-council-lead{font-size:17px;color:var(--ink)!important}.war-council-seal{margin:16px 0;font-size:22px;color:#a8324a}.war-council-seal .wax{display:inline-block;animation:war-council-breathe 3s ease-in-out infinite}.war-council.releasing .war-council-seal .wax{animation:none;opacity:0;transform:scale(1.6);transition:opacity .4s ease,transform .4s ease}.war-council-since{margin-top:18px!important;font-size:12px;opacity:.55}.war-council-corner{position:absolute;right:16px;bottom:14px;display:flex;gap:8px}@keyframes war-council-drop{0%{transform:translateY(-40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes war-council-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes war-council-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes war-council-open{0%{opacity:1;transform:scale(1)}35%{opacity:1;box-shadow:0 0 90px 30px #ffe2968c}to{opacity:0;transform:scale(1.35)}}@media(prefers-reduced-motion:reduce){.war-council,.war-council.entering .war-council-card,.war-council.releasing .war-council-card,.war-council-seal .wax{animation:none!important;transition:opacity .3s ease!important}.war-council.releasing{opacity:0}}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;display:flex;align-items:center;justify-content:center;background:#08060eb8}.confirm-card{max-width:460px;margin:0}.confirm-card input{width:100%}.danger-fold{margin-top:18px;padding:10px 12px;border:1px solid #6b2f3a;border-radius:6px;background:#6b2f3a14}.danger-fold summary{cursor:pointer}.temp-password{margin:8px 0 14px;padding:12px 14px;border:1px solid var(--gold, #d4af37);border-radius:6px;background:#d4af3714}.temp-password code{font-size:26px;letter-spacing:.18em;color:var(--gold, #d4af37)}.chart-controls{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:10px;font-size:12px}.chart-controls label{cursor:pointer}.timeline-chart{display:block;width:100%;height:auto;border:1px solid #3b3550;border-radius:6px;background:#171426}.chart-axis{fill:var(--ink-muted);font-size:11px}.chart-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:12px}.chart-legend-item{display:inline-flex;gap:5px;align-items:center;padding:2px 4px;background:none;border:none;color:var(--ink);font:inherit;cursor:pointer}.chart-legend-item.off{opacity:.35;text-decoration:line-through}.chart-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.raid-advice{align-self:flex-end;min-width:0;padding-bottom:10px;font-size:12px;line-height:1.5}.merit-grid{display:flex;flex-wrap:wrap;gap:6px}.merit-section{margin-bottom:14px}.merit-section .field-label{margin:0 0 6px}.eldritch{--e-bg: #171305;--e-surface-lowest: #110e02;--e-surface-low: #1f1c0b;--e-surface: #23200f;--e-surface-high: #2e2a18;--e-surface-highest: #393522;--e-ink: #ebe2c8;--e-ink-muted: #d0c5af;--e-outline: #99907c;--e-outline-dim: #4d4635;--e-gold: #f2ca50;--e-gold-deep: #d4af37;--e-gold-dark: #735c00;--e-gold-ink: #3c2f00;--e-parchment: #f4ebd0;--e-parchment-ink: #35301e;--e-hp: #d3392f;--e-hp-deep: #8e1f1f;--e-mana: #4a90e2;--e-mana-deep: #1f4e8e;--e-energy: #e9a83a;--e-energy-deep: #a86a12;--e-danger: #93000a;--e-danger-pale: #ffdad6;--e-r-sm: 2px;--e-r: 4px;--e-r-md: 6px;--e-r-lg: 8px;--e-r-xl: 12px;font-family:Work Sans,sans-serif;color:var(--e-ink)}.eldritch h1,.eldritch h2,.eldritch h3,.eldritch h4{font-family:Libre Caslon Text,serif;letter-spacing:.02em;text-transform:none;color:var(--e-gold)}.eldritch .field-label,.eldritch .badge,.eldritch .hotbar-key,.eldritch th{font-family:Space Grotesk,sans-serif}.eldritch .muted{color:var(--e-ink-muted)}.eldritch button{font-family:Space Grotesk,sans-serif;letter-spacing:.08em;background:linear-gradient(180deg,var(--e-surface-high),var(--e-surface-low));color:var(--e-ink);border:1px solid var(--e-outline-dim);border-radius:var(--e-r-md);box-shadow:inset 0 1px #ebe2c814}.eldritch button:hover:not(:disabled){transform:none;filter:none;border-color:var(--e-gold-deep);box-shadow:0 0 8px #f2ca5059,inset 0 1px #ebe2c814;color:var(--e-gold)}.eldritch button:active:not(:disabled){transform:translateY(1px);border-color:var(--e-gold)}.eldritch button.primary{background:linear-gradient(180deg,var(--e-gold),var(--e-gold-deep));color:var(--e-gold-ink);border-color:var(--e-gold-dark)}.eldritch button.success{border-color:#3f7a3a}.eldritch button.danger{background:linear-gradient(180deg,#7a1d1d,#4c0f0f);color:var(--e-danger-pale);border-color:#a33}.eldritch button.primary:hover:not(:disabled){color:var(--e-gold-ink)}.eldritch button.success:hover:not(:disabled){color:var(--e-ink)}.eldritch button.danger:hover:not(:disabled){color:var(--e-danger-pale)}.eldritch .inventory-panel,.eldritch .build-palette,.eldritch .help-panel,.eldritch .tower-panel,.eldritch .vendor-panel,.eldritch .upgrades-panel,.eldritch .panel{background:linear-gradient(180deg,#23200ff7,#171305f7);border:1px solid var(--e-outline-dim);outline:1px solid rgba(242,202,80,.25);outline-offset:-4px;border-radius:var(--e-r-lg);box-shadow:0 10px 30px #0009;color:var(--e-ink)}.eldritch .scene-wrap .badge,.eldritch .badge{background:#110e02d9;border:1px solid var(--e-outline-dim);border-radius:var(--e-r);color:var(--e-ink)}.eldritch .badge.gold{color:var(--e-gold);border-color:var(--e-gold-dark)}.eldritch .hud-bar{background:var(--e-surface-lowest);border:1px solid var(--e-outline-dim);border-radius:var(--e-r-sm);box-shadow:inset 0 2px 4px #0009;overflow:hidden}.eldritch .hud-bar .fill{background:linear-gradient(180deg,#66bb6a,#2e7d32);border-radius:0}.eldritch .hud-bar .fill.low,.eldritch .hp-bar .fill,.eldritch .unit-card .hp .fill{background:linear-gradient(180deg,var(--e-hp),var(--e-hp-deep))}.eldritch .resource-bar.mana .fill{background:linear-gradient(180deg,var(--e-mana),var(--e-mana-deep))}.eldritch .resource-bar.energy .fill{background:linear-gradient(180deg,var(--e-energy),var(--e-energy-deep))}.eldritch .hud-top-left{position:absolute;top:16px;left:16px;display:flex;gap:12px;align-items:flex-start;z-index:15}.eldritch .unit-card{display:grid;grid-template-columns:56px 1fr;gap:6px 10px;width:280px;padding:10px;background:linear-gradient(180deg,#23200ff2,#171305f2);border:1px solid var(--e-outline-dim);outline:1px solid rgba(242,202,80,.25);outline-offset:-3px;border-radius:var(--e-r-lg)}.eldritch .unit-portrait{grid-row:span 3;width:56px;height:56px;display:grid;place-items:center;font-size:28px;background:var(--e-surface-lowest);border:2px solid var(--e-gold-deep);border-radius:var(--e-r-md);position:relative}.eldritch .unit-portrait .portrait-img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit}.eldritch .unit-portrait .lvl{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);font-family:Space Grotesk,sans-serif;font-size:10px;font-weight:700;padding:1px 6px;background:var(--e-gold-deep);color:var(--e-gold-ink);border-radius:var(--e-r);white-space:nowrap}.eldritch .unit-card .tower-count{grid-column:1;grid-row:4;justify-self:center;align-self:start;margin-top:10px;font-family:Space Grotesk,sans-serif;font-size:10px;font-weight:700;padding:1px 5px;background:var(--e-surface-lowest);border:1px solid var(--e-gold-deep);color:var(--e-gold);border-radius:var(--e-r);white-space:nowrap}.eldritch .unit-card .tower-count.full{color:#ffb3b3;border-color:#a3444d}.eldritch .unit-card .unit-name{font-family:Libre Caslon Text,serif;font-weight:700;font-size:16px;color:var(--e-gold);align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eldritch .unit-card .hud-bar{position:relative;height:16px;width:100%}.eldritch .unit-card .bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-size:10px;color:#fff;text-shadow:0 1px 2px #000}.eldritch .unit-card .effect-badges{grid-column:2;display:flex;flex-wrap:wrap;gap:4px;min-height:18px}.eldritch .unit-card .effect-badges .badge{font-size:10px;padding:1px 5px}.eldritch .unit-card .buff-row{grid-column:2;display:flex;flex-wrap:wrap;gap:3px;min-height:22px}.eldritch .buff-icon{width:21px;height:21px;display:grid;place-items:center;color:var(--e-gold);background:var(--e-surface-lowest);border:1px solid var(--e-gold-deep);border-radius:4px}.eldritch .buff-icon.debuff{color:#ff7b7b;border-color:#7a2e2e}.eldritch .buff-icon{position:relative}.eldritch .buff-icon .buff-stack{position:absolute;right:-3px;bottom:-4px;font-size:10px;font-weight:700;line-height:1;color:var(--e-gold);background:var(--e-surface-lowest);border:1px solid var(--e-gold-deep);border-radius:3px;padding:0 2px}.eldritch .talent-icon,.talent-icon{flex:0 0 auto;display:inline-grid;place-items:center;width:26px;height:26px;color:var(--e-gold, #f2ca50);margin-right:6px;vertical-align:middle}.eldritch .target-frame{position:static;transform:none;width:300px;background:linear-gradient(180deg,#23200ff2,#171305f2);border:1px solid var(--e-outline-dim);outline:1px solid rgba(242,202,80,.25);outline-offset:-3px;border-radius:var(--e-r-lg)}.eldritch .siege-panel{position:absolute;top:16px;right:16px;width:250px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#23200ff2,#171305f2);border:1px solid var(--e-outline-dim);outline:1px solid rgba(242,202,80,.25);outline-offset:-4px;border-radius:var(--e-r-lg);z-index:15}.eldritch .siege-head{display:flex;align-items:baseline;justify-content:space-between}.eldritch .siege-head h3{margin:0;font-size:17px}.eldritch .siege-timer{font-family:Space Grotesk,sans-serif;font-weight:700;color:var(--e-ink);white-space:nowrap}.eldritch .siege-row{display:flex;flex-direction:column;gap:3px}.eldritch .siege-row .siege-label{display:flex;justify-content:space-between;font-family:Space Grotesk,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--e-ink-muted)}.eldritch .siege-row .hud-bar{position:relative;height:10px;width:100%}.eldritch .siege-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--e-outline-dim);padding-top:8px;font-family:Space Grotesk,sans-serif;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--e-ink-muted)}.eldritch .siege-foot .roman{font-family:Libre Caslon Text,serif;font-size:20px;color:var(--e-gold);text-transform:none;letter-spacing:.04em}.eldritch .siege-foot .wave-num{font-family:Libre Caslon Text,serif;font-size:20px;color:var(--e-ink)}.eldritch .last-wave{color:var(--e-gold);font-weight:700}.eldritch .hud-bottom-left{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;z-index:15}.eldritch .hud-bottom-left button{min-width:150px;text-align:left}.eldritch .quickbelt-bar{position:relative;display:flex;gap:6px;justify-content:center}.eldritch .quickbelt-slot{position:relative;width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:18px;background:var(--e-surface-lowest);border:1px solid var(--e-outline-dim);border-radius:var(--e-r-md);box-shadow:inset 0 0 0 1px #f2ca502e}.eldritch .quickbelt-slot.empty{opacity:.55;cursor:default}.eldritch .quickbelt-slot .hotbar-key{position:absolute;top:2px;left:4px;font-size:9px;color:var(--e-ink-muted)}.eldritch .quickbelt-slot .belt-count{position:absolute;bottom:1px;right:3px;font-family:Space Grotesk,sans-serif;font-size:10px;font-weight:700;color:var(--e-ink);text-shadow:0 1px 2px #000}.eldritch .hotbar{align-items:center;justify-content:center}.eldritch .hotbar-slot{width:62px;height:62px;padding:0;border-radius:50%;border:2px solid var(--e-gold-dark);background:radial-gradient(circle at 35% 30%,var(--e-surface-high),var(--e-surface-lowest));overflow:hidden;display:grid;place-items:center}.eldritch .hotbar-slot:hover:not(.locked){border-color:var(--e-gold);box-shadow:0 0 12px #f2ca5073}.eldritch .hotbar-slot.active{border-color:var(--e-gold);box-shadow:0 0 16px #f2ca50b3}.eldritch .hotbar-slot.ultimate{border-color:#a33}.eldritch .hotbar-slot .hotbar-icon{font-size:24px;line-height:1;text-shadow:0 2px 4px #000}.eldritch .hotbar-slot .hotbar-icon svg{display:block;width:30px;height:30px;color:var(--e-gold);filter:drop-shadow(0 2px 3px rgba(0,0,0,.8))}.eldritch .mount-slot .hotbar-icon{position:absolute;top:0;right:0;bottom:13px;left:0;display:grid;place-items:center;pointer-events:none}.eldritch .hotbar-slot .hotbar-key{position:absolute;bottom:5px;left:50%;transform:translate(-50%);font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:700;color:var(--e-gold);text-shadow:0 1px 3px #000}.eldritch .hotbar-slot .hotbar-name{display:none}.eldritch .hotbar-slot .hotbar-cost{position:absolute;top:6px;right:8px;font-family:Space Grotesk,sans-serif;font-size:9px;color:var(--e-mana);background:none}.eldritch .hotbar-slot .hotbar-cost.missing{color:var(--e-hp)}.eldritch .hotbar-slot .hotbar-cooldown{border-radius:0;background:#110e02c7}.eldritch .hotbar-tooltip{background:#110e02f5;border:1px solid var(--e-gold-dark);border-radius:var(--e-r-md);box-shadow:0 8px 24px #000000b3}.eldritch .hotbar-tooltip b{font-family:Libre Caslon Text,serif;color:var(--e-gold)}.eldritch .ability-numbers{font-size:12px;color:var(--e-gold);margin-top:2px}.eldritch .minimap-wrap{position:absolute;right:16px;bottom:16px;width:176px;height:176px;border-radius:50%;border:3px double var(--e-gold-deep);background:#110e02cc;overflow:hidden;z-index:12;box-shadow:0 6px 20px #0000008c}.eldritch .minimap-wrap canvas.minimap{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.eldritch .boss-banner{background:linear-gradient(180deg,#23200ff2,#171305f2);border:1px solid var(--e-danger);border-radius:var(--e-r-md)}.eldritch .hero-window{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;width:min(1150px,96vw);max-height:90vh;background:linear-gradient(180deg,#23200ffa,#110e02fa);border:1px solid var(--e-outline-dim);outline:1px solid rgba(242,202,80,.3);outline-offset:-5px;border-radius:var(--e-r-xl);box-shadow:0 18px 50px #000000bf;z-index:40;overflow:hidden}.eldritch .codex-chapters{margin:0 0 10px;padding:0;list-style:none}.eldritch .codex-chapter{display:flex;flex-direction:column;gap:1px;padding:6px 0;border-bottom:1px dashed rgba(90,70,30,.35)}.eldritch .codex-chapter.restored b{color:#a5811d;text-shadow:0 0 6px rgba(212,175,55,.35)}.eldritch .codex-chapter.glowing b{color:#6d5a2a}.eldritch .codex-chapter.asleep{opacity:.55}.eldritch.story-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 20%,#3c3214f5,#080703fc);overflow:auto}.eldritch .story-page{position:relative;width:min(760px,96vw);max-height:88vh;overflow:auto;padding:34px 40px 22px;background:linear-gradient(180deg,#302916fa,#181408fa);border:1px solid var(--e-outline-dim);outline:1px solid rgba(242,202,80,.28);outline-offset:-7px;border-radius:var(--e-r-xl);box-shadow:0 22px 60px #000c}.eldritch .story-close{position:absolute;top:12px;right:14px}.eldritch .story-numeral{font-family:Libre Caslon Text,serif;font-size:34px;color:#f2ca508c}.eldritch .story-page h1{margin:2px 0 16px;font-family:Libre Caslon Text,serif}.eldritch .story-page p{margin:0 0 12px;line-height:1.62;text-align:justify}.eldritch .story-figure{margin:0 0 18px}.eldritch .story-figure img{display:block;width:100%;height:auto;filter:sepia(.25) contrast(1.04) drop-shadow(0 8px 18px rgba(0,0,0,.65))}.eldritch .story-nav{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--e-outline-dim)}.eldritch .story-dots{display:flex;gap:7px;margin:0 auto}.eldritch .story-dot{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid rgba(242,202,80,.5);background:transparent;cursor:pointer}.eldritch .story-dot.active{background:#f2ca50d9}.eldritch .story-section{margin:0 0 10px!important;padding-bottom:8px;border-bottom:1px solid var(--e-outline-dim);text-align:center!important;font-style:italic;font-size:13px;color:#f2ca509e}.eldritch .story-dot-break{margin-left:16px;position:relative}.eldritch .story-dot-break:before{content:"";position:absolute;left:-9px;top:-2px;height:14px;border-left:1px solid rgba(242,202,80,.4)}.eldritch.cinematic-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#06050a;overflow:hidden}.eldritch.cinematic-root.hide-cursor{cursor:none}.eldritch.cinematic .cine-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:12px 0 0;font-size:22px}.eldritch.cinematic .cine-plate{flex:1 1 auto;min-height:0;margin:0;opacity:0;transition:opacity 1.5s ease}.eldritch.cinematic .cine-plate.shown{opacity:1}.eldritch.cinematic .cine-plate img{width:100%;height:100%;object-fit:contain}.eldritch.cinematic .cine-plate.shown img{animation:cine-ken-burns 70s ease-out forwards}@keyframes cine-ken-burns{0%{transform:scale(1)}to{transform:scale(1.06)}}.eldritch.cinematic .cine-text{position:relative;flex:0 0 31vh;margin-top:10px}.eldritch.cinematic .cine-text p{position:absolute;left:7vw;right:7vw;top:0;bottom:2vh;margin:0;display:flex;align-items:center;justify-content:center;font-size:clamp(17px,1.4vw,28px);text-align:center;line-height:1.5;color:#f8e8be;opacity:0;transition:opacity .4s ease}.eldritch.cinematic .cine-text p.reading{opacity:1;transition:opacity .5s ease .42s}.eldritch.cinematic .cine-no-audio{position:absolute;bottom:10px;left:14px;font-size:12px;opacity:.5}.eldritch.cinematic .cine-parade{position:absolute;top:0;right:0;bottom:0;left:0}.eldritch.cinematic .cine-canvas{display:block;width:100%;height:100%}.eldritch.cinematic .cine-closing{position:absolute;left:0;right:0;bottom:0;height:34vh;text-align:center;text-shadow:0 2px 14px rgba(0,0,0,.95);pointer-events:none}.eldritch.cinematic .cine-closing p{position:absolute;left:8vw;right:8vw;bottom:6vh;margin:0;font-family:Libre Caslon Text,serif;font-size:clamp(20px,1.7vw,34px);line-height:1.45;color:#fff0cd;opacity:0;transition:opacity .32s ease}.eldritch.cinematic .cine-closing p.reading{opacity:1;transition:opacity .38s ease .34s}.eldritch.cinematic .cine-fade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#000;opacity:0;pointer-events:none;transition:opacity 2s ease}.eldritch.cinematic .cine-fade.on{opacity:1}.eldritch.cinematic .cine-endcard{position:relative;z-index:3;margin:auto;text-align:center;animation:cine-endcard-in 1.2s ease both}@keyframes cine-endcard-in{0%{opacity:0}to{opacity:1}}.eldritch.cinematic .cine-endcard h1{margin:0 0 26px;font-size:clamp(40px,5vw,92px);letter-spacing:4px}.eldritch.cinematic .cine-endcard button{opacity:.6}.eldritch.cinematic .cine-controls{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:center;gap:18px;padding:8px 18px;background:linear-gradient(180deg,#000000b8,#0000);font-size:13px;transition:opacity .8s ease}.eldritch.cinematic .cine-controls.faded{opacity:0}.eldritch.cinematic .cine-acts{display:flex;gap:7px}.eldritch.cinematic .cine-act-dot{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid rgba(242,202,80,.5);background:transparent;cursor:pointer}.eldritch.cinematic .cine-act-dot.active{background:#f2ca50d9}.eldritch.cinematic .cine-hint{margin-left:auto;opacity:.6}.eldritch .ceremony-block{border-color:#f2ca5073}.eldritch .ceremony-missing{margin:0 0 10px;padding:7px 12px;border-left:3px solid rgba(212,130,55,.8);background:#7846142e;font-size:13px}.eldritch .ceremony-override{display:inline-block;margin-top:8px;font-size:13px;cursor:pointer}.eldritch.waiting-screen .story-page{text-align:center}.eldritch.waiting-screen .story-page h1{margin-bottom:6px;transition:color .6s ease}.eldritch.waiting-screen .waiting-open{color:#f2ca50f2;text-shadow:0 0 18px rgba(242,202,80,.45)}.eldritch.waiting-screen .waiting-lead{text-align:center!important;font-style:italic;color:#f2ca50b3}.eldritch.waiting-screen .waiting-hero{display:flex;align-items:center;justify-content:center;gap:18px;margin:14px 0 18px}.eldritch.waiting-screen .waiting-hero .char-preview-canvas{width:170px;height:220px;border:1px solid var(--e-outline-dim);border-radius:var(--e-r-md, 6px);background:#0a080473}.eldritch.waiting-screen .waiting-hero-id{display:flex;flex-direction:column;gap:4px;text-align:left}.eldritch.waiting-screen .waiting-roster-head{margin-bottom:8px!important;text-align:center!important;color:#f2ca50b3}.eldritch.waiting-screen .waiting-roster{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin:0 0 16px;padding:0;list-style:none;font-size:14px}.eldritch.waiting-screen .waiting-roster .ready{color:#f2ca50eb}.eldritch.waiting-screen .waiting-roster .pending{color:#e6dcc86b}.eldritch.waiting-screen .waiting-status{text-align:center!important;font-size:18px;letter-spacing:1px}.eldritch.waiting-screen .waiting-logout{position:absolute;bottom:12px;right:14px;font-size:12px;opacity:.65}.eldritch .vow-box{margin:10px 0;padding:8px 14px;text-align:left;background:#785a1e2e;border:1px solid rgba(212,175,55,.4);border-radius:var(--e-r-md)}.eldritch .vow-box p{margin:2px 0}.eldritch .pillage-box{margin:10px 0;padding:10px 14px;text-align:left;background:#781e1438;border:1px solid rgba(210,90,60,.45);border-radius:var(--e-r-md)}.eldritch .pillage-box h4{margin:0 0 6px}.eldritch .pillage-box ul{margin:0;padding-left:18px}.eldritch .pillage-box p{margin:6px 0 0}.eldritch .unit-menu-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44}.eldritch .unit-menu{position:fixed;z-index:45;min-width:150px;padding:4px;background:linear-gradient(180deg,#23200ffa,#110e02fa);border:1px solid var(--e-outline-dim);border-radius:var(--e-r-md);box-shadow:0 10px 26px #000000b3}.eldritch .unit-menu button{display:block;width:100%;padding:6px 10px;text-align:left;background:transparent;border:0;color:var(--e-ink);cursor:pointer}.eldritch .unit-menu button:hover{background:#f2ca5029}.eldritch .hero-rail{display:flex;flex-direction:column;gap:8px;width:150px;padding:14px 10px;background:#110e02d9;border-right:1px solid var(--e-outline-dim)}.eldritch .hero-rail-head{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px;text-align:center}.eldritch .hero-rail-head b{font-family:Libre Caslon Text,serif;color:var(--e-gold)}.eldritch .hero-rail button{text-align:left}.eldritch .hero-rail button.active{background:linear-gradient(180deg,var(--e-gold),var(--e-gold-deep));color:var(--e-gold-ink);border-color:var(--e-gold-dark)}.eldritch .hero-content{flex:1;min-width:0;padding:16px 20px;overflow-y:auto;overflow-x:hidden}.eldritch .hero-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--e-outline-dim);padding-bottom:10px;margin-bottom:14px}.eldritch .hero-head h2{margin:0;flex:1}.eldritch .hero-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 280px;gap:14px;align-items:start}@media(max-width:900px){.eldritch .hero-grid,.eldritch .talent-columns{grid-template-columns:minmax(0,1fr)}}.eldritch .hero-card{background:#110e0299;border:1px solid var(--e-outline-dim);border-radius:var(--e-r-lg);padding:12px}.eldritch .hero-card h4{margin:0 0 8px;font-size:14px}.eldritch .stat-num{font-family:Space Grotesk,sans-serif;font-weight:700;text-align:right;color:var(--e-gold)}.eldritch .paper-doll{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eldritch .doll-slot{display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:44px;background:var(--e-surface-lowest);border:1px solid var(--e-outline-dim);border-radius:var(--e-r-md);text-align:left}.eldritch .doll-slot.empty{opacity:.55;cursor:default}.eldritch .doll-slot .doll-icon{font-size:20px}.eldritch .doll-slot .doll-slot-label{flex:1;font-family:Space Grotesk,sans-serif;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--e-ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eldritch .bag-grid{display:grid;grid-template-columns:repeat(5,44px);gap:6px;margin-bottom:10px}.eldritch .bag-grid.belt-grid{grid-template-columns:repeat(4,44px)}.eldritch .bag-cell{position:relative;width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:18px;background:var(--e-surface-lowest);border:1px solid var(--e-outline-dim);border-radius:var(--e-r-md);box-shadow:inset 0 0 0 1px #f2ca502e}.eldritch .bag-cell.empty{opacity:.4}.eldritch .bag-cell.selected{box-shadow:inset 0 0 0 2px var(--e-gold, #f2ca50);border-color:var(--e-gold, #f2ca50)}.eldritch .vendor-bag{cursor:pointer}.eldritch .vendor-sell-detail{gap:8px}.eldritch .bag-cell .bag-action{position:absolute;bottom:1px;left:0;right:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px;font-family:Space Grotesk,sans-serif;font-size:7px;text-transform:uppercase;color:var(--e-ink-muted)}.eldritch .bag-cell .bag-drop{position:absolute;top:-1px;right:1px;font-size:10px;line-height:1.4;padding:0 2px;color:var(--e-ink-muted);cursor:pointer}.eldritch .bag-cell .bag-drop:hover{color:var(--e-hp)}.eldritch .bag-cell .bag-drop.armed{color:#fff;background:var(--e-danger, #93000a);border-radius:3px}.eldritch .bag-cell .bag-key{position:absolute;top:1px;left:4px;font-family:Space Grotesk,sans-serif;font-size:9px;color:var(--e-ink-muted)}.eldritch .bag-cell .belt-count{position:absolute;bottom:1px;right:3px;font-family:Space Grotesk,sans-serif;font-size:10px;font-weight:700;text-shadow:0 1px 2px #000}.eldritch .bag-cell[class*=rarity-],.eldritch .doll-slot[class*=rarity-]{border-width:2px}.eldritch .ruhatar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media(max-width:900px){.eldritch .ruhatar-layout{grid-template-columns:minmax(0,1fr)}}.eldritch .ruhatar-items{min-width:0}.eldritch .ruhatar-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.eldritch .ruhatar-chip{padding:5px 12px;font-size:12px;border-radius:var(--e-r-md);border:1px solid var(--e-outline-dim);background:var(--e-surface-lowest);color:var(--e-ink, #e9dfc4);cursor:pointer}.eldritch .ruhatar-chip.active{border-color:var(--e-gold, #f2ca50);color:var(--e-gold, #f2ca50);box-shadow:inset 0 0 0 1px #f2ca5066}.eldritch .ruhatar-shelf{margin-bottom:14px}.eldritch .ruhatar-shelf h4{margin:0 0 8px;font-size:14px}.eldritch .ruhatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}.eldritch .bag-cell.ruhatar-cell{width:100%;height:58px;cursor:pointer}.eldritch .bag-cell.ruhatar-cell.equipped{border-color:var(--e-gold, #f2ca50);box-shadow:0 0 0 2px var(--e-gold, #f2ca50),0 0 10px #f2ca5099}.eldritch .ruhatar-doll{position:sticky;top:0;background:#110e0299;border:1px solid var(--e-outline-dim);border-radius:var(--e-r-lg);padding:12px;text-align:center}.eldritch .ruhatar-doll h4{margin:0 0 8px;font-size:14px}.eldritch .hero-doll-view{margin:0 auto;border-radius:var(--e-r-md);background:radial-gradient(circle at 50% 35%,#3c34188c,#0a0802d9);box-shadow:inset 0 0 0 1px #f2ca502e;overflow:hidden;-webkit-user-select:none;user-select:none}.eldritch .item-tooltip{position:fixed;width:260px;padding:10px 12px;background:#110e02f7;border:1px solid var(--e-gold-dark);border-radius:var(--e-r-md);box-shadow:0 10px 30px #000c;font-size:12px;line-height:1.45;pointer-events:none;z-index:60}.eldritch .item-tooltip b{font-family:Libre Caslon Text,serif;font-size:14px;display:block}.eldritch .item-tooltip p{margin:6px 0 0}.eldritch .talent-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.eldritch .talent-column{background:#110e0299;border:1px solid var(--e-outline-dim);border-radius:var(--e-r-lg);padding:12px}.eldritch .talent-column h4{margin:0 0 2px;text-align:center}.eldritch .talent-column>.muted{text-align:center;margin:0 0 10px}.eldritch .talent-node{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;margin-bottom:6px;font-size:12px;background:var(--e-surface-lowest);border:1px solid var(--e-outline-dim);border-radius:var(--e-r-md)}.eldritch .talent-node.ranked{border-color:var(--e-gold-deep);box-shadow:0 0 6px #f2ca5040}.eldritch .talent-node.locked{opacity:.45}.eldritch .talent-rank{font-family:Space Grotesk,sans-serif;font-weight:700;color:var(--e-gold)}.eldritch .talent-add{padding:0 7px;font-size:13px;line-height:1.3;background:var(--e-gold-deep, #8a6d1a);color:#fff;border:1px solid var(--e-gold, #f2ca50);border-radius:var(--e-r-md);cursor:pointer}.eldritch .talent-add:hover{background:var(--e-gold, #f2ca50);color:#221a02}.eldritch .notice-pop{position:fixed;top:84px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 20px;background:#110e02f5;border:2px solid var(--e-gold, #f2ca50);border-radius:var(--e-r-md, 8px);box-shadow:0 12px 40px #000000bf,0 0 24px #f2ca5040;color:var(--e-ink, #efe6c8);z-index:90;cursor:pointer;text-align:left;animation:notice-in .5s cubic-bezier(.2,1.6,.4,1),notice-glow 1.4s ease-in-out .5s infinite alternate}.eldritch .notice-pop:hover:not(:disabled),.eldritch .notice-pop:active:not(:disabled){transform:translate(-50%)}.eldritch .notice-pop:before{content:"";position:absolute;top:-34px;right:-34px;bottom:-34px;left:-34px;z-index:-1;pointer-events:none;background:conic-gradient(from 0deg,rgba(242,202,80,.22) 0deg 14deg,transparent 14deg 40deg,rgba(242,202,80,.22) 40deg 54deg,transparent 54deg 80deg,rgba(242,202,80,.22) 80deg 94deg,transparent 94deg 120deg,rgba(242,202,80,.22) 120deg 134deg,transparent 134deg 160deg,rgba(242,202,80,.22) 160deg 174deg,transparent 174deg 200deg,rgba(242,202,80,.22) 200deg 214deg,transparent 214deg 240deg,rgba(242,202,80,.22) 240deg 254deg,transparent 254deg 280deg,rgba(242,202,80,.22) 280deg 294deg,transparent 294deg 320deg,rgba(242,202,80,.22) 320deg 334deg,transparent 334deg 360deg);border-radius:50%;filter:blur(2px);animation:notice-rays 7s linear infinite}@keyframes notice-rays{to{transform:rotate(360deg)}}@keyframes notice-glow{0%{box-shadow:0 12px 40px #000000bf,0 0 20px #f2ca5040}to{box-shadow:0 12px 40px #000000bf,0 0 42px #f2ca508c}}.eldritch .notice-pop.achievement{border-color:#b061e0;box-shadow:0 12px 40px #000000bf,0 0 24px #b061e04d}.eldritch .notice-pop .notice-icon{font-size:30px;animation:notice-icon-pop .7s cubic-bezier(.2,1.8,.4,1)}@keyframes notice-icon-pop{0%{transform:scale(.2) rotate(-25deg)}to{transform:scale(1) rotate(0)}}.eldritch .notice-pop .notice-body{display:flex;flex-direction:column;gap:2px}.eldritch .notice-pop .notice-kind{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--e-ink-muted, #a99e7f)}.eldritch .notice-pop b{font-family:Libre Caslon Text,serif;font-size:16px}.eldritch .notice-pop .notice-text{font-size:12px;color:var(--e-ink-muted, #a99e7f);max-width:340px}@keyframes notice-in{0%{transform:translate(-50%) translateY(-14px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.eldritch .system-menu{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:12px;width:min(560px,92vw);max-height:86vh;overflow-y:auto;padding:22px 26px;background:linear-gradient(180deg,#23200ffa,#110e02fa);border:1px solid var(--e-outline-dim);outline:1px solid rgba(242,202,80,.3);outline-offset:-5px;border-radius:var(--e-r-xl);box-shadow:0 18px 50px #000000bf;z-index:45}.eldritch .menu-title{text-align:center}.eldritch .menu-title h2{margin:0}.eldritch .menu-card{background:#110e0299;border:1px solid var(--e-outline-dim);border-radius:var(--e-r-lg);padding:14px}.eldritch .menu-card h4{margin:0 0 10px}
