@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400i-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400i-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700i-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700i-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/nunito-400i-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/nunito-400i-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/nunito-700i-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/nunito-700i-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-800-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-800-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fredoka-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fredoka-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fredoka-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fredoka-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-music-400-music.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-music-400-music.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/noto-music-400-music.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/noto-music-400-music.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-music-400-music.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-music-400-music.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-music-400-music.woff2)format("woff2");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-966b6899.woff2)format("woff2");unicode-range:U+2042,U+2080-2089,U+2153}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-966b6899.woff2)format("woff2");unicode-range:U+2042,U+2080-2089,U+2153}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-966b6899.woff2)format("woff2");unicode-range:U+2042,U+2080-2089,U+2153}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-966b6899.woff2)format("woff2");unicode-range:U+2042,U+2080-2089,U+2153}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-966b6899.woff2)format("woff2");unicode-range:U+2042,U+2080-2089,U+2153}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sym-noto-sans-966b6899.woff2)format("woff2");unicode-range:U+2042,U+2080-2089,U+2153}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-966b6899.woff2)format("woff2");unicode-range:U+2042,U+2080-2089,U+2153}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-math-39915e1a.woff2)format("woff2");unicode-range:U+2190-2192,U+21BA-21BB,U+2205,U+223F,U+2264-2265,U+2299,U+22D4,U+25A0,U+25B2-25B4,U+25B8,U+25BA,U+25BC,U+25BE,U+25C4,U+25C6-25C8,U+25CD-25CE,U+25D1,U+25D4,U+2605,U+263E,U+2680-2685,U+2713,U+2736,U+27F3,U+2B21}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-math-39915e1a.woff2)format("woff2");unicode-range:U+2190-2192,U+21BA-21BB,U+2205,U+223F,U+2264-2265,U+2299,U+22D4,U+25A0,U+25B2-25B4,U+25B8,U+25BA,U+25BC,U+25BE,U+25C4,U+25C6-25C8,U+25CD-25CE,U+25D1,U+25D4,U+2605,U+263E,U+2680-2685,U+2713,U+2736,U+27F3,U+2B21}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-math-39915e1a.woff2)format("woff2");unicode-range:U+2190-2192,U+21BA-21BB,U+2205,U+223F,U+2264-2265,U+2299,U+22D4,U+25A0,U+25B2-25B4,U+25B8,U+25BA,U+25BC,U+25BE,U+25C4,U+25C6-25C8,U+25CD-25CE,U+25D1,U+25D4,U+2605,U+263E,U+2680-2685,U+2713,U+2736,U+27F3,U+2B21}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-math-39915e1a.woff2)format("woff2");unicode-range:U+2190-2192,U+21BA-21BB,U+2205,U+223F,U+2264-2265,U+2299,U+22D4,U+25A0,U+25B2-25B4,U+25B8,U+25BA,U+25BC,U+25BE,U+25C4,U+25C6-25C8,U+25CD-25CE,U+25D1,U+25D4,U+2605,U+263E,U+2680-2685,U+2713,U+2736,U+27F3,U+2B21}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-math-39915e1a.woff2)format("woff2");unicode-range:U+2190,U+2192,U+21BA-21BB,U+2205,U+223F,U+2264-2265,U+2299,U+22D4,U+25A0,U+25B2-25B4,U+25B8,U+25BA,U+25BC,U+25BE,U+25C4,U+25C6-25C8,U+25CD-25CE,U+25D1,U+25D4,U+2605,U+263E,U+2680-2685,U+2713,U+2736,U+27F3,U+2B21}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sym-noto-sans-math-39915e1a.woff2)format("woff2");unicode-range:U+2190,U+2192,U+21BA-21BB,U+2205,U+223F,U+2264-2265,U+2299,U+22D4,U+25A0,U+25B2-25B4,U+25B8,U+25BA,U+25BC,U+25BE,U+25C4,U+25C6-25C8,U+25CD-25CE,U+25D1,U+25D4,U+2605,U+263E,U+2680-2685,U+2713,U+2736,U+27F3,U+2B21}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-math-39915e1a.woff2)format("woff2");unicode-range:U+2190,U+2192,U+21BA-21BB,U+2205,U+223F,U+2264-2265,U+2299,U+22D4,U+25A0,U+25B2-25B4,U+25B8,U+25BA,U+25BC,U+25BE,U+25C4,U+25C6-25C8,U+25CD-25CE,U+25D1,U+25D4,U+2605,U+263E,U+2680-2685,U+2713,U+2736,U+27F3,U+2B21}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-2-a4726231.woff2)format("woff2");unicode-range:U+2630,U+265B,U+270E,U+2715,U+2717-2718,U+271A,U+2724,U+2726-2727,U+2735,U+2737-2738,U+273A,U+2756}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-2-a4726231.woff2)format("woff2");unicode-range:U+2630,U+265B,U+270E,U+2715,U+2717-2718,U+271A,U+2724,U+2726-2727,U+2735,U+2737-2738,U+273A,U+2756}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-2-a4726231.woff2)format("woff2");unicode-range:U+2630,U+265B,U+270E,U+2715,U+2717-2718,U+271A,U+2724,U+2726-2727,U+2735,U+2737-2738,U+273A,U+2756}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-2-a4726231.woff2)format("woff2");unicode-range:U+2630,U+265B,U+270E,U+2715,U+2717-2718,U+271A,U+2724,U+2726-2727,U+2735,U+2737-2738,U+273A,U+2756}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-2-a4726231.woff2)format("woff2");unicode-range:U+2630,U+265B,U+270E,U+2715,U+2717-2718,U+271A,U+2724,U+2726-2727,U+2735,U+2737-2738,U+273A,U+2756}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-2-a4726231.woff2)format("woff2");unicode-range:U+2630,U+265B,U+270E,U+2715,U+2717-2718,U+271A,U+2724,U+2726-2727,U+2735,U+2737-2738,U+273A,U+2756}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-2-a4726231.woff2)format("woff2");unicode-range:U+2630,U+265B,U+270E,U+2715,U+2717-2718,U+271A,U+2724,U+2726-2727,U+2735,U+2737-2738,U+273A,U+2756}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-17009d66.woff2)format("woff2");unicode-range:U+2398,U+2670,U+26F6,U+1F702,U+1F70D}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-17009d66.woff2)format("woff2");unicode-range:U+2398,U+2670,U+26F6,U+1F702,U+1F70D}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-17009d66.woff2)format("woff2");unicode-range:U+2398,U+2670,U+26F6,U+1F702,U+1F70D}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-17009d66.woff2)format("woff2");unicode-range:U+2398,U+2670,U+26F6,U+1F702,U+1F70D}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-17009d66.woff2)format("woff2");unicode-range:U+2398,U+2670,U+26F6,U+1F702,U+1F70D}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-17009d66.woff2)format("woff2");unicode-range:U+2398,U+2670,U+26F6,U+1F702,U+1F70D}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-symbols-17009d66.woff2)format("woff2");unicode-range:U+2398,U+2670,U+26F6,U+1F702,U+1F70D}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-jp-916c1f93.woff2)format("woff2");unicode-range:U+6B7B}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-jp-916c1f93.woff2)format("woff2");unicode-range:U+6B7B}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-jp-916c1f93.woff2)format("woff2");unicode-range:U+6B7B}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-jp-916c1f93.woff2)format("woff2");unicode-range:U+6B7B}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sym-noto-sans-jp-916c1f93.woff2)format("woff2");unicode-range:U+6B7B}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sym-noto-sans-jp-916c1f93.woff2)format("woff2");unicode-range:U+6B7B}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sym-noto-sans-jp-916c1f93.woff2)format("woff2");unicode-range:U+6B7B}@font-face{font-family:Pulse Emoji;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/emoji-noto-color-d1455fcd.woff2)format("woff2");unicode-range:U+1F7E2,U+1F7E7,U+1F7E9,U+1F9A4,U+1F9CA,U+1FA78,U+1FA84,U+1FA93,U+1FA99,U+1FA9C,U+1FA9E,U+1FAA1,U+1FAA6,U+1FAA8,U+1FAB1-1FAB2,U+1FAB5-1FAB6}@font-face{font-family:Pulse Emoji;font-style:normal;font-weight:400;font-display:swap;src:local(Apple Color Emoji),local(Segoe UI Emoji),local(Noto Color Emoji);unicode-range:U+1F7E2,U+1F7E7,U+1F7E9,U+1F9A4,U+1F9CA,U+1FA78,U+1FA84,U+1FA93,U+1FA99,U+1FA9C,U+1FA9E,U+1FAA1,U+1FAA6,U+1FAA8,U+1FAB1-1FAB2,U+1FAB5-1FAB6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-voice:"Nunito", "Atkinson Hyperlegible", system-ui, sans-serif, "Pulse Emoji";--font-system:"Nunito", "Atkinson Hyperlegible", "JetBrains Mono", monospace, "Pulse Emoji";--font-logo:"Fredoka", "Nunito", sans-serif;--ex-answers-w:560px;--ex-q-fs:1.15rem;--ui-sans:var(--font-voice);--bg:#2a2340;--bg2:#342b4d;--card:#342b4d;--card2:#40365c;--border:#a98bc4;--border2:#ffd978;--surface-rgb:42, 35, 64;--plate-fill:linear-gradient(180deg, rgba(var(--surface-rgb), .86), rgba(var(--surface-rgb), .94));--plate-rim:#fdf2f747;--plate-bevel:inset 0 1px 0 #fdf2f729;--rim-w:2px;--text:#fdf2f7;--text2:#f5e6f0;--muted:#d8c6ea;--gold:#ffd978;--gold2:#ffe08a;--gold-rgb:255, 217, 120;--gold2-rgb:255, 224, 138;--purple:#b67cff;--purple2:#cfa1ff;--ember:#d9432b;--ember2:#f0603f;--forest:#36d9b8;--forest2:#8af5dc;--purple-rgb:182, 124, 255;--purple2-rgb:207, 161, 255;--ember-rgb:217, 67, 43;--ember2-rgb:240, 96, 63;--forest-rgb:54, 217, 184;--forest2-rgb:138, 245, 220;--pitch-rgb:79, 195, 247;--card2-rgb:64, 54, 92;--rarity-bronze:#b07a3a;--rarity-silver:#c3cad4;--ember-ink:#ff9478;--purple-ink:#d6b4ff;--pitch-ink:#9fdcff;--forest-ink:#8af5dc;--gold-ink:var(--gold);--yarn:#d65a96;--yarn-ink:#ff8cc6;--pitch:#4fc3f7;--pitch-bg:rgba(var(--pitch-rgb),.12);--rhythm:var(--gold);--rhythm-bg:rgba(var(--gold-rgb),.12);--sight:#27ae60;--sight-bg:rgba(var(--forest-rgb),.12);--note-progress:#ff9a4d;--radius:14px;--radius-sm:8px;--radius-lg:22px;--silhouette-stroke:drop-shadow(1px 0 0 #000000e6) drop-shadow(-1px 0 0 #000000e6) drop-shadow(0 1px 0 #000000e6) drop-shadow(0 -1px 0 #000000e6);--ex-utils-inset:10px;--z-sticky:20;--z-banner:30;--z-bubble:40;--z-cheats:50;--z-hud-actions:80;--z-toast:99;--z-confirm:100;--z-sheet-scrim:110;--z-tray-scrim:113;--z-tray-toggle:115;--z-tray:116;--z-sheet:120;--z-scrim:200;--z-scrim-top:210;--z-modal-close:320;--z-modal:400;--z-achievement:450;--z-curtain:500;--z-tooltip:9000;--z-gate:10000;--z-clip-bg:8000;--z-clip:9000;--z-clip-hero:9100;--z-clip-cursor:9500;--z-clip-sync:99999;--plate-clip:inset(0 round var(--radius));--plate-clip-lg:inset(0 round var(--radius-lg))}.plate{border:var(--rim-w) solid transparent;background:var(--plate-fill) padding-box, var(--plate-rim) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 #00000080}.plate-hero{box-shadow:var(--plate-bevel), 5px 5px 0 #0000008c}.plate-lit{background:var(--plate-fill) padding-box, var(--gold2) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 rgba(var(--gold-rgb), .35)}html,body,#root{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;width:100%;height:100%;overflow-x:clip}@media (width>=1100px) and (height>=700px){html{font-size:clamp(100%,min(6.15px + 1.282vh,11.43px + .446vw),137.5%)}}:root[data-pinned=app] body,:root[data-pinned=app] #root{height:max(var(--app-h,0px), 100dvh);min-height:max(var(--app-h,0px), 100dvh);max-height:max(var(--app-h,0px), 100dvh)}:root[data-pinned=app] body{position:fixed;top:0;left:0;right:0}:root[data-pinned=app] .dash-stage,:root[data-pinned=app] .clip-hint,:root[data-pinned=app] .hub-screen:not(.menu-stage){min-height:max(var(--app-h,0px), 100dvh);max-height:max(var(--app-h,0px), 100dvh);overscroll-behavior:contain;overflow-y:auto}:root[data-pinned=app] .survey-stage,:root[data-pinned=app] .offer-screen,:root[data-pinned=app] .combat-layout,:root[data-pinned=app] .gmenu-scrim,:root[data-pinned=app] .victory-screen,:root[data-pinned=app] .victory-scrim,:root[data-pinned=app] .choice-panel,:root[data-pinned=app] .exercise-fullscreen,:root[data-pinned=app] .fs-how,:root[data-pinned=app] .node-stage__scrim,:root[data-pinned=app] .spoils-scrim,:root[data-pinned=app] .cmd-tray-backdrop,:root[data-pinned=app] .viewport-gate,:root[data-pinned=app] .dash-modal-scrim,:root[data-pinned=app] .wshop-scanlines,:root[data-pinned=app] .wshop-confirm-scrim,:root[data-pinned=app] .duel-screen,:root[data-pinned=app] .scn-curtain,:root[data-pinned=app] .title-stage,:root[data-pinned=app] .map-screen,:root[data-pinned=app] .exercise-card,:root[data-pinned=app] .wshop-stage,:root[data-pinned=app] .duel-arena{height:max(var(--app-h,0px), 100dvh)}:root[data-pinned=app] .prac-screen,:root[data-pinned=app] .non-combat-layout{min-height:max(var(--app-h,0px), 100dvh);max-height:max(var(--app-h,0px), 100dvh)}body{font-family:var(--font-voice);background-color:rgb(var(--surface-rgb));color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100dvh;image-rendering:pixelated;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:8px 8px;line-height:1.55}#root{flex-direction:column;min-height:100dvh;display:flex}.app-loading{background-color:rgb(var(--surface-rgb));min-height:100dvh}button{cursor:pointer;font-family:var(--font-voice);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;outline:none;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.88)}65%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes glow-gold{0%,to{text-shadow:2px 2px 0 #000, 0 0 8px rgba(var(--gold-rgb),.4)}50%{text-shadow:2px 2px 0 #000, 0 0 22px rgba(var(--gold-rgb),.9)}}@keyframes glow-purple{0%,to{box-shadow:3px 3px #00000080}50%{box-shadow:3px 3px 0 #00000080, 0 0 14px rgba(var(--purple-rgb),.6)}}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.animate-fade-in{animation:.34s cubic-bezier(.16,1,.3,1) both fadeIn}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg);border-left:2px solid var(--border)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}.btn{border-radius:var(--radius);letter-spacing:.02em;border:2px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:9px 20px;font-size:.875rem;font-weight:700;transition:transform 60ms,box-shadow 60ms;display:inline-flex;box-shadow:3px 3px #00000059}.btn:disabled{opacity:.35;cursor:not-allowed}@media (hover:hover){.btn:not(:disabled):hover{opacity:.92}}.btn:not(:disabled):active{transform:translate(2px,2px);box-shadow:1px 1px #00000059}.btn-gold{background:var(--gold);color:rgb(var(--surface-rgb));border-width:2px;border-color:#8a6a10}@media (hover:hover){.btn-gold:not(:disabled):hover{background:var(--gold2)}}.btn-purple{background:var(--purple);color:var(--text);border-width:2px;border-color:#4a1a60}@media (hover:hover){.btn-purple:not(:disabled):hover{background:var(--purple2)}}.btn-dim{background:var(--card2);color:var(--text2);border-color:var(--border)}.btn-ember{background:var(--ember);color:var(--text);border-width:2px;border-color:#6a1a10}.btn-lg{border-radius:var(--radius-lg);padding:13px 32px;font-size:1rem}.plate-btn{--plate-btn-rim:var(--border);--plate-btn-ink:var(--text2);--plate-btn-fill:rgba(var(--surface-rgb), .9);appearance:none;border-radius:var(--radius);background:var(--plate-btn-fill);min-height:44px;color:var(--plate-btn-ink);font-family:var(--font-voice);letter-spacing:.04em;text-align:center;white-space:nowrap;cursor:pointer;box-shadow:inset 0 0 0 var(--rim-w) var(--plate-btn-rim), var(--plate-bevel), 2px 2px 0 #00000080;border:none;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:.86rem;font-weight:800;line-height:1.15;text-decoration:none;transition:transform 60ms,box-shadow 60ms;display:inline-flex}@media (hover:hover){.plate-btn:hover:not(:disabled){--plate-btn-rim:var(--gold2)}}.plate-btn:active:not(:disabled){box-shadow:inset 0 0 0 var(--rim-w) var(--plate-btn-rim), var(--plate-bevel), 1px 1px 0 #00000080;transform:translate(1px,1px)}.plate-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.plate-btn:disabled{opacity:.45;cursor:default}.plate-btn-danger{--plate-btn-rim:var(--ember);--plate-btn-ink:var(--ember-ink);--plate-btn-fill:color-mix(in srgb, var(--ember) 14%, rgba(var(--surface-rgb), .92))}@media (hover:hover){.plate-btn-danger:hover:not(:disabled){--plate-btn-rim:var(--ember-ink)}}.plate-btn-sm{padding:0 12px;font-size:.8rem}.app-header,.title-status,.lb-head{border-bottom:1px solid var(--border);min-height:48px;font-family:var(--font-system);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;background:rgba(var(--surface-rgb), .65);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:12px 24px;font-size:.7rem;display:flex}.app-header .status-tag,.title-status .status-tag,.lb-head .status-tag{color:var(--gold2);font-weight:700}.app-header .status-sep,.title-status .status-sep,.lb-head .status-sep{opacity:.35}.app-header .status-state,.title-status .status-state,.lb-head .status-state{color:var(--text2)}.app-header-back,.subview-back{appearance:none;border:var(--rim-w) solid var(--border);color:var(--text2);font-family:var(--font-system);letter-spacing:.06em;text-transform:lowercase;cursor:pointer;background:0 0;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-size:.78rem;display:inline-flex;box-shadow:2px 2px #0006}@media (hover:hover){.app-header-back:hover,.subview-back:hover{border-color:var(--gold);color:var(--text)}}.app-header-back:active,.subview-back:active{transform:translate(1px,1px);box-shadow:1px 1px #0006}@media (width<=480px){.app-header,.title-status,.lb-head{gap:8px;padding:10px 14px}}.status-cheats-wrap{position:relative}.status-cheats{border:1px solid var(--border);color:color-mix(in oklab, var(--gold), var(--muted) 55%);font-family:var(--font-system);letter-spacing:.1em;cursor:pointer;text-transform:lowercase;background:0 0;padding:5px 12px;font-size:.68rem;transition:color .15s,border-color .15s}@media (hover:hover){.status-cheats:hover{color:var(--gold-ink);border-color:var(--gold)}}.status-cheats-panel{z-index:var(--z-cheats);background:var(--bg2,#1a1612);border:1px solid var(--border);min-width:220px;font-family:var(--font-system);flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:4px 4px #00000080}.cheats-section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:.58rem}.cheats-floor-row{gap:6px;display:flex}.cheats-floor-btn{border:1px solid var(--border);color:var(--text2);font-family:var(--font-voice);cursor:pointer;background:0 0;flex:1;min-height:44px;padding:8px 0;font-size:.7rem;transition:color .15s,border-color .15s,background .15s}.cheats-floor-btn:active{color:var(--gold-ink);border-color:var(--gold);background:color-mix(in oklab, var(--gold) 10%, transparent)}@media (hover:hover){.cheats-floor-btn:hover{color:var(--gold-ink);border-color:var(--gold);background:color-mix(in oklab, var(--gold) 10%, transparent)}}.cheats-nuke-btn{border:1px solid var(--border);color:color-mix(in oklab, var(--ember,#c84a3a), var(--muted) 30%);font-family:var(--font-system);letter-spacing:.1em;text-transform:lowercase;cursor:pointer;background:0 0;min-height:44px;padding:8px 10px;font-size:.68rem;transition:color .15s,border-color .15s}@media (hover:hover){.cheats-nuke-btn:hover:not(:disabled){color:var(--ember-ink);border-color:var(--ember)}}.cheats-nuke-btn:disabled{opacity:.4;cursor:not-allowed}.status-confirm{align-items:center;gap:6px;display:flex}.status-confirm-text{color:var(--ember-ink);text-transform:lowercase;letter-spacing:.06em;font-weight:600}.title-stage{-webkit-overflow-scrolling:touch;height:100dvh;max-height:100dvh;color:var(--text);background-color:rgb(var(--surface-rgb));background-image:radial-gradient(ellipse 70% 55% at 12% 32%, rgba(var(--gold-rgb),.07), transparent 65%), radial-gradient(ellipse 60% 75% at 98% 105%, rgba(var(--purple-rgb),.08), transparent 60%), linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px);background-size:auto,auto,8px 8px,8px 8px;flex-direction:column;display:flex;position:relative;overflow:hidden auto}.title-stage>*{z-index:2;position:relative}.status-pulse{background:var(--gold);width:7px;height:7px;box-shadow:0 0 10px var(--gold);border-radius:50%;margin-left:auto;animation:1.6s ease-in-out infinite pulse-dot}.title-main{flex-direction:column;align-items:stretch;gap:18px;width:100%;min-width:0;max-width:720px;margin:0 auto;padding:28px 20px 32px;display:flex}.title-identity{flex-direction:column;gap:22px;min-width:0;display:flex}.title-mark{font-family:var(--font-logo);flex-direction:column;align-items:flex-start;margin-top:4px;line-height:.96;display:flex}.mark-line{letter-spacing:-.01em;color:var(--gold2);text-shadow:3px 3px 0 #000, 6px 6px 0 #0000008c, 0 0 28px rgba(var(--gold-rgb),.32);font-size:clamp(2rem,5vw,3.6rem);font-weight:400}.mark-line-2{color:var(--gold-ink);animation:5s ease-in-out infinite glow-gold}.mark-line-3{color:var(--purple-ink);text-shadow:3px 3px 0 #000, 6px 6px 0 #0000008c, 0 0 28px rgba(var(--purple-rgb),.42);margin-top:6px}.mark-rule{background:var(--gold);width:96px;height:3px;box-shadow:0 0 12px rgba(var(--gold-rgb),.55);margin:16px 0 4px;display:block}.title-tagline{font-family:var(--font-system);color:var(--text2);letter-spacing:.04em;max-width:38ch;margin:0;font-size:.95rem;line-height:1.6}.title-tagline em{color:var(--gold2);text-shadow:0 0 12px rgba(var(--gold-rgb),.25);font-style:normal;font-weight:500}.title-pillars{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0;padding:0;list-style:none;display:flex}.title-pillars li{border-left:1px solid var(--border);flex:1;align-items:center;gap:10px;padding:14px 16px;display:flex}.title-pillars li:first-child{border-left:none}@keyframes secret-pulse{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:.9;transform:translateY(-1px)}}.btn-descend:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}@media (height<=760px){.title-identity{gap:16px;padding:24px 36px}.title-mark{margin-top:0}.mark-line{font-size:clamp(1.7rem,4vw,2.6rem)}.mark-rule{width:72px;margin:10px 0 2px}.title-tagline{font-size:.85rem}}@media (height<=560px){.title-main{grid-template-columns:1.2fr .8fr}.title-identity{gap:12px;padding:18px 24px}.mark-line{font-size:1.5rem}.mark-line-2,.mark-line-3{margin-top:0}.mark-rule{margin:6px 0 2px}.title-tagline{font-size:.78rem}}.title-cta{flex-direction:column;align-items:stretch;gap:10px;min-width:0;display:flex}.title-cta>*{max-width:100%}.setting-row{border-top:1px solid #85623666;align-items:stretch;gap:0;min-height:48px;display:flex}.setting-row:nth-of-type(2n){background:#f2e8d009}.setting-row>.setting-cap{border-right:1px solid #85623666;flex:0 0 38%;align-items:center;max-width:200px;padding:6px 12px 6px 10px;display:flex}.setting-row>.setting-controls,.setting-row>.setting-volume{flex:auto;align-items:center;gap:10px;min-width:0;padding:6px 4px 6px 12px;display:flex}.setting-cap{font-family:var(--font-voice);letter-spacing:.02em;color:var(--text2);flex:none;min-width:96px;font-size:clamp(.78rem,1.05vw,.95rem);font-weight:700}.setting-controls{border:var(--rim-w) solid var(--border);flex:auto;gap:0;min-width:0;display:flex}.setting-btn{appearance:none;border:none;border-right:1px solid var(--border);min-height:44px;color:var(--text2);font-family:var(--font-system);letter-spacing:.05em;cursor:pointer;background:0 0;flex:1 1 0;padding:8px 14px;font-size:.86rem;font-weight:700;transition:background .12s ease-out,color .12s ease-out}.setting-btn:last-child{border-right:none}@media (hover:hover){.setting-btn:hover{background:rgba(var(--gold-rgb), .08);color:var(--text)}}.setting-btn-active{background:color-mix(in oklab, var(--gold) 14%, transparent);color:var(--gold2)}@media (hover:hover){.setting-btn-active:hover{background:color-mix(in oklab, var(--gold) 20%, transparent)}}.setting-btn-stacked{flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1.1;display:flex}.setting-btn-mult{font-family:var(--font-system);letter-spacing:.06em;color:var(--muted);font-size:.64rem;font-weight:700}.setting-btn-mult-bonus,.setting-btn-active .setting-btn-mult{color:var(--gold2)}.gmenu:has(.scope-pick){height:min(820px,100%)}.pick-scope-body:has(.scope-pick){grid-template-rows:minmax(0,1fr);height:100%}.scope-pick{grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-width:0;height:100%;min-height:0;display:grid}.scope-panel{min-height:0}.scope-browse{grid-template-columns:minmax(10.5rem,34%) minmax(0,1fr);gap:12px;height:100%;min-height:0;display:grid}.scope-browse--solo{grid-template-columns:minmax(0,1fr)}.scope-rail{--tab:clamp(56px, 6.4vw, 84px);grid-template-columns:repeat(auto-fill, minmax(var(--tab), 1fr));filter:drop-shadow(2px 2px #00000080);grid-auto-rows:max-content;align-content:start;gap:10px 8px;min-height:0;padding:3px 6px 6px 2px;display:grid;overflow-y:auto}.scope-rail>.scope-cat{width:auto;min-height:44px;padding:4px 3px 6px}.scope-rail>.scope-cat>*{flex:none}.scope-rail>.scope-cat>.forge-tab-art{width:min(100%,64px)}.scope-cat-name{-webkit-line-clamp:2;max-width:100%;font-family:var(--font-voice);text-align:center;overflow-wrap:anywhere;color:var(--text2);-webkit-box-orient:vertical;font-size:.72rem;font-weight:700;line-height:1.12;display:-webkit-box;overflow:hidden}.scope-cat.is-open .scope-cat-name{color:var(--gold-ink)}.scope-cat .scope-cat-n{border-radius:var(--radius-sm);font-family:var(--font-system);color:var(--muted);background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 var(--rim-w) var(--border);align-items:center;gap:4px;padding:0 5px;font-size:.66rem;line-height:1.5;display:inline-flex;position:absolute;top:3px;right:3px}.scope-cat .scope-cat-n.is-picked{color:var(--gold-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2)}.scope-cat-pip{background:var(--gold);width:6px;height:6px;transform:rotate(45deg)}.scope-cat>.key-badge{margin:0;position:absolute;top:2px;left:2px}.scope-detail{border-radius:var(--radius-sm);min-height:0;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000047;padding:12px 12px 12px 14px;overflow-y:auto}.scope-chip--all{box-shadow:none;border:1px dashed var(--border2);color:var(--text2);background:0 0}.scope-cat:focus-visible,.scope-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.scope-empty{color:var(--muted);margin:0;padding:10px 6px;font-size:.76rem}.scope-sum{font-family:var(--font-system);letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin:0;padding:0 8px;font-size:.72rem;display:flex}.scope-sum-state{color:var(--text2)}.scope-clear{appearance:none;border:var(--rim-w) solid var(--border);min-height:44px;color:var(--muted);font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:4px 10px;font-size:.68rem;font-weight:700}@media (hover:hover){.scope-clear:hover{color:var(--gold2);border-color:var(--gold)}}.scope-clear:active{background:rgba(var(--gold-rgb), .12)}.scope-families{flex-wrap:wrap;gap:10px;padding:2px 4px 4px 0;display:flex}.scope-chip{appearance:none;border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .88);min-height:44px;box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 2px 2px 0 #00000080;color:var(--text2);font-family:var(--font-voice);cursor:pointer;border:0;align-items:center;gap:7px;padding:6px 14px;font-size:.84rem;font-weight:700;display:inline-flex}@media (hover:hover){.scope-chip:hover{color:var(--text);background:rgba(var(--surface-rgb), 1)}}.scope-chip-active{background:color-mix(in srgb, var(--gold) 16%, rgb(var(--surface-rgb)));box-shadow:inset 0 0 0 2px var(--gold2), inset 0 1px 0 #f2e8d029, 2px 2px 0 #00000080;color:var(--text)}.scope-chip-active:not(.scope-chip--all):before{content:"✓";color:var(--gold-ink);font-weight:800}.scope-chip:active{translate:1px 1px}.scope-chip-n{color:var(--muted);font-size:.68rem}.scope-chip-active .scope-chip-n{color:var(--gold2)}.setting-volume{flex:auto;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.setting-slider{min-width:80px;max-width:220px;min-height:44px;accent-color:var(--gold);cursor:pointer;flex:auto}.setting-slider:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.setting-slider:disabled{opacity:.4;cursor:not-allowed}@media (width<=480px){.setting-slider{min-width:56px}.setting-volume{gap:7px}}.setting-volume-pct{font-family:var(--font-system);color:var(--muted);text-align:right;min-width:38px;font-size:.72rem}.setting-preview{flex:none}.setting-input{background:var(--bg);border:var(--rim-w) solid var(--border);min-width:0;min-height:44px;color:var(--text);font-family:var(--font-system);font-variant-numeric:tabular-nums;letter-spacing:.04em;outline:none;flex:auto;padding:8px 12px;font-size:.92rem}.setting-input::placeholder{color:var(--muted);opacity:.7}.setting-input:focus-visible{border-color:var(--gold)}.title-foot{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.title-foot .btn-tertiary{min-height:44px;padding:10px 16px}.title-home{flex-direction:column;gap:18px;display:flex}.title-tagline{font-family:var(--font-voice);color:var(--text2);letter-spacing:.01em;margin:0;font-size:1.05rem;line-height:1.4}.menu-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.menu-item{border:var(--rim-w) solid transparent;background:var(--plate-fill) padding-box, var(--plate-rim) border-box;width:100%;min-height:64px;box-shadow:var(--plate-bevel), 3px 3px 0 #00000080;color:var(--text);text-align:left;cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:16px 18px;transition:transform 90ms cubic-bezier(.16,1,.3,1),box-shadow 90ms cubic-bezier(.16,1,.3,1),border-color .12s ease-out,background .12s ease-out;display:grid;box-shadow:3px 3px #0006}@media (hover:hover){.menu-item:hover{background:color-mix(in oklab, var(--gold) 6%, var(--bg2));border-color:var(--gold)}}.menu-item:active{transform:translate(2px,2px);box-shadow:1px 1px #0006}.menu-item:disabled{opacity:.45;cursor:not-allowed}.menu-item:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.menu-item-primary{border-color:var(--gold);background:color-mix(in oklab, var(--gold) 8%, var(--bg2))}@media (hover:hover){.menu-item-primary:hover{background:color-mix(in oklab, var(--gold) 16%, var(--bg2))}}.menu-item-arrow{font-family:var(--font-system);color:var(--gold-ink);text-align:center;width:1.6rem;font-size:1.25rem}.menu-item-label{font-family:var(--font-voice);color:var(--text);letter-spacing:.04em;text-shadow:1px 1px #00000080;font-size:.92rem;line-height:1.5;display:block}.menu-item-sub{font-family:var(--font-system);color:var(--muted);letter-spacing:.04em;margin-top:4px;font-size:.74rem;display:block}.menu-item-primary .menu-item-label{color:var(--gold2)}.menu-item{grid-template-columns:56px 1fr auto;gap:16px}.menu-item-icon{background:repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 5px), color-mix(in oklab, var(--gold) 12%, var(--bg));border:var(--rim-w) solid var(--border);width:56px;height:56px;color:var(--gold2);text-shadow:2px 2px #0009;flex-shrink:0;justify-content:center;align-items:center;font-size:1.9rem;line-height:1;display:inline-flex}@media (hover:hover){.menu-item:hover .menu-item-icon{background:color-mix(in oklab, var(--gold) 22%, var(--bg));border-color:var(--gold)}}.menu-item-primary .menu-item-icon{background:color-mix(in oklab, var(--gold) 28%, var(--bg));border-color:var(--gold)}.menu-item-body{flex-direction:column;min-width:0;display:flex}.menu-item-chev{font-family:var(--font-system);color:var(--gold-ink);opacity:.6;align-self:center;padding-left:6px;font-size:1.2rem;transition:transform .12s cubic-bezier(.16,1,.3,1),opacity .12s ease-out}@media (hover:hover){.menu-item:hover .menu-item-chev{opacity:1;transform:translate(4px)}}.menu-item-daily{background:var(--plate-fill) padding-box, var(--gold2) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 rgba(var(--gold-rgb), .35)}.menu-item-daily .menu-item-icon{background:rgba(var(--gold-rgb), .16);border-color:rgba(var(--gold-rgb), .55);color:var(--gold2)}.menu-item-daily-done{background:var(--plate-fill) padding-box, var(--plate-rim) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 #00000080;opacity:.8}.menu-item-daily-done .menu-item-sub{color:var(--muted)}.menu-item-daily-mark{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);flex:none;align-items:center;gap:6px;margin-left:auto;font-size:.62rem;font-weight:700;display:inline-flex}.menu-item-daily-done .menu-item-daily-mark{color:var(--muted)}.home-showcase{--class-tone:var(--gold);background:radial-gradient(ellipse at 0% 100%, color-mix(in oklab, var(--class-tone) 18%, transparent) 0%, transparent 60%), repeating-linear-gradient(0deg, #ffffff04 0 1px, transparent 1px 4px), var(--bg2);border:var(--rim-w) solid color-mix(in oklab, var(--class-tone) 50%, var(--border));grid-template-columns:96px 1fr;align-items:center;gap:16px;padding:14px 16px;display:grid;box-shadow:3px 3px #00000073}.home-showcase-portrait{background:rgba(var(--surface-rgb), .55);border:var(--rim-w) solid color-mix(in oklab, var(--class-tone) 50%, var(--border));width:96px;height:96px;box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--class-tone) 55%, transparent);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.home-showcase-body{flex-direction:column;gap:4px;min-width:0;display:flex}.home-showcase-eyebrow{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--class-tone);font-size:.68rem}.home-showcase-name{font-family:var(--font-voice);color:var(--text);letter-spacing:.02em;text-shadow:2px 2px #0000008c;font-size:.95rem}.home-showcase-quote{font-family:var(--font-voice);color:var(--text2);font-size:.92rem;font-style:italic;line-height:1.35}@media (width<=480px){.title-main{gap:12px;padding:14px 12px 22px}.title-mark-home .mark-line{font-size:clamp(1.6rem,9vw,2.4rem)}.title-mark .mark-rule{width:64px;margin:6px 0 2px}.title-tagline{font-size:.9rem}.home-showcase{grid-template-columns:64px 1fr;gap:10px;padding:10px 12px}.home-showcase-portrait{width:64px;height:64px}.home-showcase-eyebrow{font-size:.6rem}.home-showcase-name{font-size:.78rem}.home-showcase-quote{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;display:-webkit-box;overflow:hidden}.menu-list{gap:8px}.menu-item{grid-template-columns:40px 1fr auto;gap:10px;min-height:56px;padding:10px 12px;box-shadow:2px 2px #0006}.menu-item-icon{width:40px;height:40px;font-size:1.25rem}.menu-item-label{letter-spacing:.03em;font-size:.74rem}.menu-item-sub{-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:2px;font-size:.66rem;display:-webkit-box;overflow:hidden}.menu-item-chev{padding-left:0;font-size:1rem}.title-foot{gap:8px;margin-top:4px}.title-foot .btn-tertiary{min-height:44px;padding:8px 12px;font-size:.78rem}.app-header,.title-status,.lb-head{gap:6px;min-height:42px;padding:8px 12px;font-size:.62rem}}.menu-link{align-self:center}.menu-link-warn{--plate-btn-rim:var(--gold2);--plate-btn-ink:var(--gold2);animation:1.2s ease-in-out infinite menu-link-pulse}@keyframes menu-link-pulse{0%,to{opacity:.85}50%{opacity:1}}.settings-panel{flex-direction:column;min-height:0;padding-bottom:10px;display:flex}.gmenu:has(.settings-sheet){height:min(560px,100%)}.settings-sheet{grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;height:100%;min-height:0;display:grid;container-type:inline-size}.settings-sheet>.plate-tabs--rail{--plate-tab-ico:30px;min-width:9.5rem}.settings-sheet .plate-tab{font-family:var(--font-voice);letter-spacing:.02em;text-transform:none;padding:4px 12px 4px 8px;font-size:clamp(.78rem,1vw,.9rem);font-weight:800}.settings-sheet .plate-tab:not(.plate-tab--on){color:var(--text2)}.settings-section{min-width:0;min-height:0;box-shadow:inset 0 0 0 var(--rim-w) var(--border);border-radius:var(--radius);background:#00000038;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 10px;column-gap:4px;padding:2px 6px 2px 0;display:grid}.settings-section>.gmenu-rail{margin:8px 0}.settings-section>.gmenu-rail:empty{box-shadow:none;background:0 0}.settings-tabpanel{overscroll-behavior:contain;scrollbar-width:none;min-width:0;min-height:0;padding:2px 0 8px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 14px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 14px),#0000 100%)}.settings-tabpanel::-webkit-scrollbar{display:none}.settings-group-head{grid-column:1/-1;align-self:flex-start;margin:10px 12px 4px}@container (width>=700px){.settings-section>.settings-panel.settings-tabpanel--general,.settings-section>.settings-panel.settings-tabpanel--sound{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:max-content;align-content:start;column-gap:12px;display:grid}}.settings-tabpanel .setting-answer .menu-choice{width:100%}.settings-tabpanel .menu-choice .setting-btn{white-space:nowrap;flex:1 1 0;min-width:0;padding-inline:8px}.settings-tabpanel .setting-row:not(.setting-row-wide)>.setting-cap{align-self:start;min-height:44px}.settings-tabpanel .setting-row:has(.menu-choice>.setting-btn:nth-child(5)){grid-template-columns:minmax(0,1fr)}.settings-tabpanel .setting-row:has(.menu-choice>.setting-btn:nth-child(5))>.setting-cap{min-height:0}.settings-tabpanel .menu-choice:has(>.setting-btn:nth-child(5)){gap:6px}.settings-tabpanel .menu-choice:has(>.setting-btn:nth-child(5))>.setting-btn{padding-inline:2px}.settings-panel.settings-tabpanel .setting-row>.setting-answer>.setting-volume{padding:3px 4px 3px 10px}.settings-panel .setting-row{flex:none;grid-template-columns:minmax(96px,30%) minmax(0,1fr);align-items:center;gap:5px 16px;min-height:52px;padding:9px clamp(14px,5%,56px);display:grid}.settings-panel .setting-row:first-child{border-top:none}.settings-panel .setting-row>.setting-cap{border-right:none;flex:none;min-width:0;max-width:none;padding:0}.settings-panel .setting-row>.setting-answer>.setting-controls,.settings-panel .setting-row>.setting-answer>.setting-volume,.settings-panel .setting-row>.settings-name-row{justify-self:end;padding:0}.settings-panel .setting-row>.setting-answer>.setting-volume{width:100%}.settings-panel .setting-controls,.menu-choice{width:max-content;max-width:100%;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;border:none;flex:none;justify-content:flex-start;gap:10px;padding:5px}.settings-panel .setting-btn,.menu-choice .setting-btn{min-width:clamp(104px,11vw,168px);font-family:var(--font-voice);letter-spacing:.02em;min-height:44px;color:var(--text2);background:rgba(var(--surface-rgb), .86);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 2px 2px 0 #00000073;border:none;flex:none;padding:7px 14px;font-size:clamp(.82rem,1.05vw,.95rem);transition:background .12s ease-out,color .12s ease-out,box-shadow .12s ease-out}.settings-panel .setting-btn:last-child,.menu-choice .setting-btn:last-child{border-right:none}.menu-choice .setting-btn:disabled{cursor:not-allowed}.menu-choice .setting-btn:disabled:not(.setting-btn-active){opacity:.45}.settings-panel .setting-btn-active,.menu-choice .setting-btn-active{color:var(--gold2);background:rgba(var(--gold-rgb), .16);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d024, 2px 2px 0 #00000073}.settings-panel .setting-btn,.menu-choice .setting-btn{position:relative}.settings-panel .setting-btn-active:before,.menu-choice .setting-btn-active:before{content:"✓";width:13px;height:13px;font-family:var(--font-system);color:var(--gold-ink);background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 1.5px var(--gold2);pointer-events:none;border-radius:50%;place-items:center;font-size:.56rem;font-weight:900;line-height:1;display:grid;position:absolute;top:3px;right:4px}.settings-panel .setting-btn-stacked.setting-btn-active:before,.menu-choice .setting-btn-stacked.setting-btn-active:before{content:none}.menu-choice .setting-btn-stacked.setting-btn-active .setting-btn-mult:before{content:"✓ ";font-weight:900}.settings-panel .setting-btn:active,.menu-choice .setting-btn:active{box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 1px 1px 0 #00000073;transform:translate(1px,1px)}.settings-panel .setting-btn-active:active,.menu-choice .setting-btn-active:active{box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d024, 1px 1px 0 #00000073}.settings-panel .setting-btn:focus-visible,.menu-choice .setting-btn:focus-visible,.settings-panel .btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (hover:hover){.settings-panel .setting-btn:hover,.menu-choice .setting-btn:hover{color:var(--text);background:rgba(var(--surface-rgb), .96);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d024, 2px 2px 0 #00000073}.settings-panel .setting-btn-active:hover,.menu-choice .setting-btn-active:hover{background:rgba(var(--gold-rgb), .24)}}.settings-panel .setting-preview{flex:none;max-width:none}.settings-panel .setting-volume{box-shadow:inset 0 0 0 var(--rim-w) var(--border);border-radius:var(--radius);background:#0000004d;gap:10px;padding:5px 10px}.settings-panel .setting-row>.setting-answer{justify-content:flex-end;min-width:0;display:flex}.settings-panel .setting-row>.settings-hint{text-align:left;width:100%;line-height:1.3;font-family:var(--font-voice);letter-spacing:.01em;grid-column:1/-1;font-size:clamp(.68rem,.85vw,.8rem)}.settings-panel .setting-row.setting-row-wide{grid-template-columns:minmax(0,1fr);align-items:start;row-gap:8px}.settings-panel .setting-row.setting-row-wide>.setting-cap,.settings-panel .setting-row.setting-row-wide>.settings-name-row,.settings-panel .setting-row.setting-row-wide>.settings-hint{grid-column:1;justify-self:stretch;width:auto}.settings-name-row{align-items:stretch;gap:10px;display:flex}.settings-name-row .setting-input{flex:auto;min-width:0}.settings-save{white-space:nowrap;flex:none;min-height:44px;padding:0 18px;font-size:clamp(.78rem,1vw,.9rem)}.settings-hint{font-family:var(--font-system);letter-spacing:.04em;color:var(--muted,#c9b99a);font-size:.72rem}.settings-hint-error{color:var(--ember-ink)}@media (width<=600px){.settings-name-row{flex-direction:column}.settings-save{min-height:44px;padding:10px 16px}}.subview-head{padding-inline:4px 14px;border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding-bottom:10px;display:grid}.subview-head>.subview-meta{overflow-wrap:anywhere;min-width:0}.subview-back{appearance:none;border:var(--rim-w) solid var(--border);color:var(--text2);font-family:var(--font-system);letter-spacing:.04em;cursor:pointer;background:0 0;min-height:44px;padding:8px 12px;font-size:.82rem;box-shadow:2px 2px #0006}@media (hover:hover){.subview-back:hover{border-color:var(--gold);color:var(--text)}}.subview-back:active{transform:translate(1px,1px);box-shadow:1px 1px #0006}.subview-title{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.04em;text-shadow:2px 2px #0000008c;margin:0;font-size:1rem}.subview-meta{font-family:var(--font-voice);color:var(--muted);letter-spacing:.01em;text-transform:none;text-align:right;font-size:.82rem;font-style:italic}.title-mark-home .mark-line{font-size:clamp(2.4rem,7vw,3.6rem)}.title-mark-start .mark-line,.title-mark-lore .mark-line{font-size:clamp(1.6rem,5vw,2.2rem)}.title-mark-start,.title-mark-lore{margin-bottom:4px}@media (width<=480px){.subview-head{grid-template-columns:auto 1fr;gap:8px}.subview-meta{text-align:left;grid-column:1/-1;padding-top:4px}.menu-item{min-height:60px;padding:14px}.menu-item-label{font-size:.82rem}.menu-item-sub{font-size:.68rem}.setting-row{flex-direction:column;align-items:stretch;gap:6px}.setting-cap{min-width:0}.title-main{gap:14px;padding:18px 14px 28px}}.btn-descend{background:var(--gold);color:rgb(var(--surface-rgb));font-family:var(--font-voice);letter-spacing:.04em;cursor:pointer;border:2px solid #8a6a10;align-items:baseline;gap:14px;padding:17px 28px;font-size:.92rem;transition:transform 60ms,box-shadow 60ms,background .15s;display:inline-flex;box-shadow:4px 4px #0000008c}@media (hover:hover){.btn-descend:hover{background:var(--gold2)}}.btn-descend:active{transform:translate(3px,3px);box-shadow:1px 1px #0000008c}.btn-resume{background:var(--gold);color:rgb(var(--surface-rgb));font-family:var(--font-voice);letter-spacing:.06em;cursor:pointer;border:4px solid #0d0b09;align-items:baseline;gap:14px;padding:16px 28px;font-size:.88rem;transition:background .1s;display:inline-flex;box-shadow:4px 4px #0d0b09}@media (hover:hover){.btn-resume:hover{background:var(--gold2)}}.btn-resume:active{transform:translate(3px,3px);box-shadow:1px 1px #0000008c}.btn-descend-secondary{background:var(--bg2);color:var(--text2);border-color:var(--border2);box-shadow:3px 3px 0 var(--border2)}@media (hover:hover){.btn-descend-secondary:hover{background:var(--bg3);color:var(--text)}}.cta-arrow{font-family:var(--font-voice);font-size:.95rem}.cta-label{font-weight:400}.cta-sub{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;opacity:.68;font-size:.66rem;font-weight:500}.btn-link{min-height:44px;color:var(--purple-ink);font-family:var(--font-system);letter-spacing:.06em;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #0000;padding:4px 0;font-size:.82rem;transition:color .15s,border-color .15s}@media (hover:hover){.btn-link:hover{color:var(--gold2);border-bottom-color:var(--gold)}}.btn-discard{color:var(--ember-ink);letter-spacing:.03em}@media (hover:hover){.btn-discard:hover{color:var(--ember-bright,var(--ember2));border-bottom-color:var(--ember)}}.btn-discard-confirm{color:var(--ember-bright,var(--ember2));border-bottom-color:var(--ember);animation:.6s steps(2,end) infinite btn-discard-arm}@keyframes btn-discard-arm{0%,49%{opacity:1}50%,to{opacity:.55}}.seed-row{border:var(--rim-w) solid var(--border);align-items:stretch;gap:0;display:flex;box-shadow:2px 2px #00000073}.seed-input{appearance:none;background:var(--bg);min-width:0;color:var(--text);font-family:var(--font-system);font-variant-numeric:tabular-nums;letter-spacing:.04em;border:none;outline:none;flex:auto;padding:6px 10px;font-size:.86rem}.seed-input::placeholder{color:var(--muted);opacity:.7}.seed-input:focus-visible{background:color-mix(in oklab, var(--gold) 6%, var(--bg))}.title-manifest{background:linear-gradient(#0000 0%,#00000059 100%),repeating-linear-gradient(#0000 0 3px,#ffffff03 3px 4px);flex-direction:column;gap:18px;min-width:0;padding:44px 36px 28px;display:flex;overflow:hidden}.floor{border-bottom:1px dashed #6b4c2a73;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:14px 6px;transition:background .2s ease-out,padding-left .2s ease-out;display:grid}.floor:last-child{border-bottom:none}@media (hover:hover){.floor:hover{background:rgba(var(--gold-rgb),.05);padding-left:14px}}.floor-name{font-family:var(--font-voice);color:var(--text);letter-spacing:.01em;font-size:1rem;font-weight:700}.floor-desc{font-family:var(--font-system);color:var(--muted);font-size:.72rem;font-style:italic}.floor-2 .floor-name{color:var(--text2)}.floor-3 .floor-name{color:#d6c79a}.floor-4 .floor-name{color:#b8a373}.floor-5 .floor-name{color:var(--purple-ink);animation:5s ease-in-out infinite glow-purple-text}@keyframes glow-purple-text{0%,to{text-shadow:0 0 0 rgba(var(--purple2-rgb),0)}50%{text-shadow:0 0 12px rgba(var(--purple2-rgb),.6)}}.btn-tertiary{min-height:44px;color:var(--muted);font-family:var(--font-system);letter-spacing:.1em;cursor:pointer;background:0 0;border:none;padding:4px 2px;font-size:.7rem;transition:color .15s}@media (hover:hover){.btn-tertiary:hover{color:var(--text2)}}.btn-reset{margin-right:auto}@media (hover:hover){.btn-reset:hover{color:var(--ember-ink)}.btn-lb:hover{color:var(--gold2)}}.btn-cheat{color:color-mix(in oklab, var(--gold), var(--muted) 55%)}@media (hover:hover){.btn-cheat:hover{color:var(--gold-ink)}}.survey-stage{overscroll-behavior:contain;background-color:rgb(var(--surface-rgb));background-image:radial-gradient(ellipse at top left, color-mix(in oklab, var(--gold) 6%, transparent), transparent 55%), radial-gradient(ellipse at bottom right, color-mix(in oklab, var(--purple) 6%, transparent), transparent 60%),  linear-gradient(#f2e8d006 1px, transparent 1px), linear-gradient(90deg, #f2e8d006 1px, transparent 1px);color:var(--text);background-size:auto,auto,8px 8px,8px 8px;position:fixed;inset:0;overflow-y:auto}.survey-shell{flex-direction:column;gap:28px;max-width:920px;margin:0 auto;padding:56px 28px 140px;display:flex}.survey-head{flex-direction:column;gap:14px;padding:0 4px;display:flex}.survey-tag{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);align-items:center;gap:8px;font-size:.68rem;font-weight:700;display:inline-flex}.survey-tag:before{content:"";background:var(--gold);width:18px;height:1px}.survey-title{font-family:var(--font-voice);color:var(--text);letter-spacing:-.01em;text-shadow:3px 3px #000;margin:0;font-size:clamp(1.4rem,3.4vw,2rem);line-height:1.1}.survey-sub{max-width:65ch;color:var(--text2);font-family:var(--font-voice);margin:0;font-size:.95rem;line-height:1.5}.survey-anon{border:var(--rim-w) solid var(--border);color:var(--text2);font-family:var(--font-voice);letter-spacing:.01em;background:repeating-linear-gradient(0deg,#f2e8d003 0 1px,#0000 1px 4px),#00000042;align-items:flex-start;gap:12px;margin:4px 0 0;padding:12px 16px;font-size:.88rem;line-height:1.5;display:flex;box-shadow:3px 3px #00000059}.survey-anon:before{content:"✦";color:var(--gold2);margin-top:2px;font-size:1.1rem;line-height:1}.survey-anon strong{color:var(--gold-ink);font-weight:700}.survey-stepper{grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 2px;padding:0;list-style:none;display:grid}.survey-stepper-step{border:var(--rim-w) solid var(--border);background:color-mix(in oklab, var(--bg) 80%, transparent);color:var(--text2);font-family:var(--font-system);align-items:center;gap:10px;padding:10px 12px;font-size:.82rem;display:flex;box-shadow:2px 2px #0000004d}.survey-stepper-step.is-done{color:var(--forest2);border-color:color-mix(in oklab, var(--forest) 55%, var(--border))}.survey-stepper-step.is-current{color:var(--gold-ink);border-color:var(--gold);background:color-mix(in oklab, var(--gold) 8%, var(--bg))}.survey-stepper-num{font-family:var(--font-voice);letter-spacing:.06em;color:inherit;font-size:.7rem}.survey-stepper-label{letter-spacing:.02em;text-transform:lowercase}.survey-progress-overall{color:var(--muted);margin-left:6px;font-size:.85em}.survey-back{appearance:none;border:var(--rim-w) solid var(--border);color:var(--text2);font-family:var(--font-system);cursor:pointer;background:0 0;padding:9px 14px;font-size:.85rem;box-shadow:2px 2px #0000004d}@media (hover:hover){.survey-back:hover{color:var(--text);border-color:var(--gold)}}.survey-back:active{transform:translate(1px,1px);box-shadow:1px 1px #0000004d}.survey-back:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.survey-panel{border:var(--rim-w) solid transparent;background:var(--plate-fill) padding-box, var(--plate-rim) border-box;box-shadow:var(--plate-bevel), 5px 5px 0 #0000008c;flex-direction:column;gap:18px;padding:26px 26px 22px;display:flex;position:relative}.survey-panel:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 4px);position:absolute;inset:0}.survey-panel>*{position:relative}.survey-panel-header{border-bottom:1px dashed #6b4c2a8c;flex-direction:column;gap:6px;padding-bottom:12px;display:flex}.survey-panel-eyebrow{font-family:var(--font-system);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;align-items:center;gap:10px;font-size:.62rem;font-weight:700;display:inline-flex}.survey-panel-eyebrow .step-of{color:var(--gold-ink)}.survey-panel-title{font-family:var(--font-voice);letter-spacing:.02em;color:var(--text);margin:0;font-size:1.25rem;font-weight:700;line-height:1.15}.survey-panel-intro{color:var(--text2);font-family:var(--font-voice);max-width:60ch;margin:0;font-size:.9rem;line-height:1.5}.survey-scale{background:color-mix(in oklab, var(--bg) 70%, transparent);font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid #6b4c2a73;justify-content:space-between;gap:16px;padding:8px 10px;font-size:.66rem;display:flex}.survey-scale span:first-child{color:var(--text2)}.survey-scale span:last-child{color:var(--gold-ink);text-align:right}.survey-field{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.survey-label{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:inline-flex}.survey-label .req{color:var(--gold-ink);font-size:.8em}.survey-label .opt{color:var(--muted);letter-spacing:.1em;border:var(--rim-w) solid var(--border);text-transform:uppercase;padding:2px 6px;font-size:.62rem;font-weight:700}.survey-input{background:var(--bg);border:var(--rim-w) solid var(--border);color:var(--text);font-family:var(--font-voice);outline:none;min-height:44px;padding:12px 14px;font-size:1rem;line-height:1.4;transition:border-color .12s ease-out,box-shadow .12s ease-out}.survey-input::placeholder{color:var(--muted);opacity:.7}@media (hover:hover){.survey-input:hover{border-color:rgba(var(--gold-rgb),.55)}}.survey-input:focus-visible{border-color:var(--purple);box-shadow:3px 3px #00000059}.survey-input.is-invalid{border-color:var(--ember)}.survey-input-narrow{max-width:140px}.survey-hint{font-family:var(--font-system);letter-spacing:.06em;color:var(--ember-ink);font-size:.68rem}.survey-chip-row{flex-wrap:wrap;gap:8px;display:flex}.survey-chip{border:var(--rim-w) solid var(--border);min-height:44px;color:var(--text2);font-family:var(--font-voice);cursor:pointer;background:0 0;padding:10px 16px;font-size:.92rem;font-weight:500;transition:color .12s ease-out,border-color .12s ease-out,background .12s ease-out,transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:2px 2px #00000040}@media (hover:hover){.survey-chip:hover{color:var(--text);border-color:rgba(var(--gold-rgb),.65)}}.survey-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.survey-chip:active{transform:translate(1px,1px);box-shadow:1px 1px #00000040}.survey-chip.is-active{color:rgb(var(--surface-rgb));background:var(--gold);border-color:var(--gold);font-weight:700}@media (hover:hover){.survey-chip.is-active:hover{background:var(--gold2);border-color:var(--gold2)}}.survey-points{color:var(--text);font-family:var(--font-voice);flex-direction:column;gap:8px;max-width:70ch;margin:0;padding-left:1.2em;font-size:.95rem;line-height:1.5;display:flex}.survey-points li::marker{color:var(--gold2)}.survey-links{flex-wrap:wrap;gap:8px 10px;margin-top:6px;display:flex}.survey-check{border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb), .55);color:var(--text);font-family:var(--font-voice);cursor:pointer;align-items:flex-start;gap:12px;margin-top:10px;padding:12px 14px;font-size:.95rem;line-height:1.45;display:flex}.survey-check input{width:22px;height:22px;accent-color:var(--gold);cursor:pointer;flex:none;margin:1px 0 0}.survey-check:has(input:checked){border-color:var(--gold)}.survey-check:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}.survey-answer-row{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.survey-answer{border:var(--rim-w) solid var(--gold);min-height:52px;color:var(--text);font-family:var(--font-voice);cursor:pointer;background:0 0;padding:12px 18px;font-size:1rem;font-weight:700;transition:background .12s ease-out,transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:3px 3px #00000073}@media (hover:hover){.survey-answer:hover:not(:disabled){background:rgba(var(--gold-rgb), .16)}}.survey-answer:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #00000073}.survey-answer:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}.survey-answer:disabled{border-color:var(--border);color:var(--muted);cursor:not-allowed;box-shadow:none}.survey-actionbar-end{justify-content:flex-end}.survey-pw-form{flex-direction:column;gap:14px;max-width:420px;display:flex}.legal-shell{gap:22px;padding-bottom:56px}.legal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.legal-home{min-height:44px;text-decoration:none}.legal-title{margin-bottom:4px}.legal-doc{flex-direction:column;gap:14px;max-width:72ch;display:flex}.legal-updated{font-family:var(--font-system);letter-spacing:.08em;color:var(--muted);margin:0;font-size:.72rem}.legal-section h2{font-family:var(--font-voice);color:var(--gold-ink);margin:10px 0 6px;font-size:1.08rem}.legal-section p,.legal-section li{color:var(--text);font-family:var(--font-voice);margin:0 0 8px;font-size:.95rem;line-height:1.6}.legal-section ul{margin:0;padding-left:1.2em}.legal-section li::marker{color:var(--gold2)}.legal-index{border-top:1px solid var(--border);padding-top:14px}.legal-index ul{flex-wrap:wrap;gap:2px 18px;margin:8px 0 0;padding:0;list-style:none;display:flex}.legal-index a,.legal-index-all,.legal-footer a{min-height:44px;color:var(--text2);font-family:var(--font-voice);text-underline-offset:3px;align-items:center;font-size:.9rem;text-decoration:underline;display:inline-flex}.legal-index a[aria-current=page]{color:var(--gold-ink);font-weight:700;text-decoration:none}.legal-index a:focus-visible,.legal-footer a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.legal-footer{flex-direction:column;gap:4px;display:flex}.legal-footer nav{flex-wrap:wrap;gap:0 18px;display:flex}.legal-copyright{font-family:var(--font-system);letter-spacing:.04em;color:var(--muted);margin:0;font-size:.72rem}.landing-legal{text-align:center;align-items:center;margin-top:18px}.landing-legal nav{justify-content:center}.legal-sheet-body{flex-direction:column;gap:16px;padding:4px 2px 8px;display:flex}.legal-sheet-close{align-self:flex-start}.settings-privacy-research{flex-direction:column;gap:8px;display:flex}.settings-check{margin-top:0;font-size:.86rem}.settings-links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-erase{box-shadow:inset 0 0 0 var(--rim-w) var(--ember);border-radius:var(--radius);background:#0000004d;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.settings-erase strong{color:var(--ember-ink);font-family:var(--font-voice);align-items:center;gap:8px;display:inline-flex}.settings-erase-mark{background:var(--ember);width:1.4em;height:1.4em;color:var(--text);border-radius:50%;place-items:center;font-weight:900;display:inline-grid}.settings-erase p{color:var(--text);font-family:var(--font-voice);margin:0;font-size:.9rem;line-height:1.5}.settings-erase-field{color:var(--text2);font-family:var(--font-voice);flex-direction:column;gap:4px;font-size:.86rem;display:flex}.course-delete{align-self:flex-start;margin-top:18px}.survey-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.survey-row{border-top:1px dashed #6b4c2a66;grid-template-columns:22px 1fr;align-items:start;gap:8px 14px;padding:14px 0;display:grid}.survey-row:first-child{border-top:0;padding-top:4px}.survey-row-marker{font-family:var(--font-system);color:var(--muted);text-align:center;-webkit-user-select:none;user-select:none;margin-top:2px;font-size:.9rem;font-weight:700}.survey-row.is-answered .survey-row-marker{color:var(--gold-ink)}.survey-row.is-invalid .survey-row-marker{color:var(--ember-ink)}.survey-row-text{font-family:var(--font-voice);color:var(--text);grid-column:2;font-size:.98rem;line-height:1.4}.survey-likert-dots{flex-wrap:wrap;grid-column:2;gap:6px;display:flex}.survey-likert-dot{background:var(--bg);border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text2);font-family:var(--font-system);cursor:pointer;padding:0 10px;font-size:.9rem;font-weight:700;transition:color .12s ease-out,border-color .12s ease-out,background .12s ease-out,transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:2px 2px #00000040}@media (hover:hover){.survey-likert-dot:hover{color:var(--text);border-color:rgba(var(--gold-rgb),.55)}}.survey-likert-dot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.survey-likert-dot:active{transform:translate(1px,1px);box-shadow:1px 1px #00000040}.survey-likert-dot.is-active{color:rgb(var(--surface-rgb));background:var(--gold);border-color:var(--gold);box-shadow:1px 1px #00000073}@media (hover:hover){.survey-likert-dot.is-active:hover{background:var(--gold2);border-color:var(--gold2)}}.survey-row-open{border-top:1px dashed #6b4c2a66;flex-direction:column;gap:8px;padding:16px 0;display:flex}.survey-row-open:first-child{border-top:0;padding-top:4px}.survey-error{border:var(--rim-w) solid var(--ember);color:var(--ember-ink);background:color-mix(in oklab, var(--ember) 12%, transparent);font-family:var(--font-voice);padding:12px 16px;font-size:.9rem;box-shadow:3px 3px #00000059}.survey-actionbar{z-index:var(--z-sticky);background:var(--card);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:18px;padding:14px 24px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px #00000059}.survey-actionbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;width:100%;max-width:920px;display:flex}.survey-progress{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);align-items:center;gap:12px;font-size:.72rem;font-weight:700;display:flex}.survey-progress-num{color:var(--gold-ink)}.survey-progress-total{color:var(--muted)}.survey-progress-bar{background:var(--bg);border:1px solid var(--border);width:160px;height:8px;position:relative;overflow:hidden}.survey-progress-bar-fill{background:var(--gold);width:0;transition:width .28s cubic-bezier(.16,1,.3,1);position:absolute;inset:0 auto 0 0}.survey-actions{align-items:center;gap:14px;display:flex}.survey-submit{background:var(--gold);color:rgb(var(--surface-rgb));border:var(--rim-w) solid var(--gold);font-family:var(--font-voice);letter-spacing:.04em;cursor:pointer;min-height:48px;padding:13px 28px;font-size:1rem;font-weight:700;transition:background .12s ease-out,transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:3px 3px #00000073}@media (hover:hover){.survey-submit:hover:not(:disabled){background:var(--gold2);border-color:var(--gold2)}}.survey-submit:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #00000073}.survey-submit:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}.survey-submit:disabled{background:var(--card2);border-color:var(--border);color:var(--muted);cursor:not-allowed;box-shadow:2px 2px #00000040}.survey-jump{border:var(--rim-w) solid var(--ember);color:var(--ember-ink);font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;min-height:44px;padding:10px 14px;font-size:.72rem;font-weight:700;transition:background .12s ease-out,color .12s ease-out}@media (hover:hover){.survey-jump:hover{background:color-mix(in oklab, var(--ember) 18%, transparent);color:var(--text)}}.survey-jump:focus-visible{outline:2px solid var(--ember2);outline-offset:2px}@media (width<=720px) and (orientation:portrait){.survey-shell{gap:22px;padding:36px 16px 200px}.survey-panel{padding:20px 18px 18px}.survey-panel-title{font-size:1.1rem}.survey-row{grid-template-columns:18px 1fr;column-gap:10px}.survey-actionbar-inner{flex-direction:column;align-items:stretch;gap:12px}.survey-progress{justify-content:space-between}.survey-progress-bar{flex:1;width:auto}.survey-actions{flex-wrap:wrap;justify-content:space-between}.survey-submit{flex:1}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .survey-progress-bar-fill,:root:not([data-motion=full]) .survey-input,:root:not([data-motion=full]) .survey-chip,:root:not([data-motion=full]) .survey-likert-dot,:root:not([data-motion=full]) .survey-submit{transition:none}}.survey-section-intro{color:var(--muted);letter-spacing:.04em;margin:0 0 4px;font-size:.78rem}.survey-item{border:var(--rim-w) solid var(--border);background:color-mix(in oklab, var(--bg,#16110d) 60%, transparent);flex-direction:column;gap:8px;padding:10px 12px;transition:border-color .15s;display:flex}.survey-item.is-missing{border-color:color-mix(in oklab, var(--ember,#c84a3a) 50%, var(--border))}.survey-likert-dot{border:1px solid var(--border);min-width:40px;min-height:40px;color:var(--muted);font-family:var(--font-system);cursor:pointer;background:0 0;flex:none;padding:0 12px;font-size:.85rem;transition:color .15s,border-color .15s,background .15s}@media (hover:hover){.survey-likert-dot:hover{color:var(--text2);border-color:var(--border2)}}.survey-likert-dot.is-active{color:var(--gold-ink);border-color:var(--gold);background:color-mix(in oklab, var(--gold) 14%, transparent)}.survey-textarea{resize:vertical;min-height:80px;font-family:var(--font-system)}.cheat-toast{border:1px solid var(--gold);background:rgba(var(--surface-rgb),.92);color:var(--gold-ink);font-family:var(--font-voice);letter-spacing:.18em;text-transform:uppercase;z-index:var(--z-toast);pointer-events:none;padding:10px 22px;font-size:.65rem;animation:.32s cubic-bezier(.22,1,.36,1) cheat-toast-in;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:4px 4px #0000008c}@keyframes cheat-toast-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}.title-scanlines{pointer-events:none;z-index:1;mix-blend-mode:multiply;opacity:.55;background:repeating-linear-gradient(#0000 0 2px,#00000014 2px 3px);position:absolute;inset:0}.map-screen{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.map-body{flex:1;display:flex;overflow:hidden}.map-main{flex-direction:column;flex:1;gap:18px;padding:22px 24px 24px;display:flex;overflow-y:auto}.map-svg-wrap .map-floor-badge{top:calc(8px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));z-index:5;text-align:right;background:rgba(var(--surface-rgb), .82);border:var(--rim-w) solid var(--gold);pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;margin:0;padding:5px 9px 4px;display:flex;position:absolute;box-shadow:2px 2px #0009}.map-svg-wrap .map-floor-badge-roman{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.04em;text-shadow:2px 2px #0d0b09;font-size:.95rem;font-weight:900;line-height:1}.map-svg-wrap .map-floor-badge-name{font-family:var(--font-system);letter-spacing:.06em;text-transform:uppercase;color:var(--text2);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:16ch;font-size:.56rem;line-height:1.1;display:-webkit-box;overflow:hidden}.map-svg-wrap{min-height:0;box-shadow:none;background:0 0;border:none;flex:1;padding:0;position:relative;overflow:hidden}.dmap{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:relative;overflow:hidden}.dmap-viewport{overscroll-behavior:contain;justify-content:center;align-items:stretch;width:100%;height:100%;display:flex;position:relative}.dmap-board{transform-origin:0 0;position:absolute;top:0;left:0}.dmap-terrain{image-rendering:auto;position:absolute;top:0;left:0}.dmap-tiles{z-index:0;position:absolute;top:0;left:0}.dmap-keys{z-index:1;pointer-events:none;position:absolute;top:0;left:0}.dmap-key{width:64px;height:80px;position:absolute}.dmap-tile{width:64px;height:80px;font:inherit;color:inherit;cursor:default;pointer-events:none;background:0 0;border:0;margin:0;padding:0;position:absolute}.dmap-tile__hit{clip-path:polygon(50% 0,100% 40%,100% 60%,50% 100%,0 60%,0 40%);pointer-events:auto;width:64px;height:40px;position:absolute;top:34px;left:0}.dmap-tile--reach .dmap-tile__hit{cursor:pointer}.dmap-tile__step{z-index:5;background:#f2e8d04d;width:8px;height:8px;position:absolute;top:46px;left:28px;transform:rotate(45deg);box-shadow:0 0 0 1px #000000b3}.dmap-tile--reach .dmap-tile__step{background:var(--gold2);box-shadow:0 0 8px rgba(var(--gold-rgb), .95), 0 0 0 1px #000c;animation:1.8s ease-in-out infinite dmap-rim-pulse}.dmap-tile__foe{object-fit:contain;object-position:center bottom;width:32px;height:32px;image-rendering:pixelated;filter:var(--painted-outline,) drop-shadow(0 2px 0 #0000008c);z-index:4;animation:2.4s ease-in-out infinite dmap-bob;position:absolute;bottom:30px;left:16px}.dmap-tile__foe[src^="/sprites/"],.dmap-hero--painted{--painted-outline:var(--silhouette-stroke)}.dmap-tile__foe--boss{width:64px;height:64px;animation-duration:3.2s;bottom:30px;left:0}.dmap-tile__foe--superboss{width:64px;height:48px;animation-duration:2.8s;bottom:30px;left:0}@keyframes dmap-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.dmap-hero{width:32px;height:32px;image-rendering:pixelated;filter:var(--painted-outline,) drop-shadow(0 2px 0 #0009) drop-shadow(0 0 5px rgba(var(--gold-rgb), .5));z-index:7;animation:2.1s ease-in-out infinite dmap-bob;position:absolute;bottom:30px;left:16px}.dmap-hero--back{opacity:.92;z-index:6;width:24px;height:24px}.dmap-hero:before{animation:.5s steps(4,end) infinite dmap-hero-walk;animation-delay:var(--walk-delay,0s)}.dmap-party{z-index:7;pointer-events:none;position:absolute;inset:0}.dmap-party--right{transform:scaleX(-1)}.dmap-walker,.dmap-veil{pointer-events:none;width:64px;height:80px;position:absolute}.dmap-walker .dmap-hero:before{animation-duration:.34s}@keyframes dmap-hero-walk{0%{background-position-x:0%}to{background-position-x:133.333%}}.dmap-tile__threat{pointer-events:none;z-index:3;border-radius:50%;width:64px;height:32px;position:absolute;top:34px;left:0}.dmap-t-easy .dmap-tile__threat{background:radial-gradient(ellipse 33% 44% at 50% 50%, rgba(var(--forest-rgb), .95), rgba(var(--forest-rgb), 0) 70%), radial-gradient(ellipse 50% 50% at 50% 50%, rgba(var(--forest-rgb), .4), rgba(var(--forest-rgb), 0) 74%)}.dmap-t-even .dmap-tile__threat{background:radial-gradient(ellipse 50% 50% at 50% 50%, transparent 80%, rgba(var(--gold-rgb), .95) 84%, rgba(var(--gold-rgb), .95) 90%, transparent 94%), radial-gradient(ellipse 33% 44% at 50% 50%, rgba(var(--gold-rgb), 1), rgba(var(--gold-rgb), 0) 70%), radial-gradient(ellipse 50% 50% at 50% 50%, rgba(var(--gold-rgb), .45), rgba(var(--gold-rgb), 0) 74%)}.dmap-t-deadly .dmap-tile__threat{background:radial-gradient(ellipse 50% 50% at 50% 50%, transparent 62%, rgba(var(--ember-rgb), 1) 66%, rgba(var(--ember-rgb), 1) 72%, transparent 76%, transparent 82%, rgba(var(--ember-rgb), 1) 86%, rgba(var(--ember-rgb), 1) 92%, transparent 96%), radial-gradient(ellipse 36% 46% at 50% 50%, rgba(var(--ember-rgb), 1), rgba(var(--ember-rgb), 0) 70%), radial-gradient(ellipse 52% 52% at 50% 50%, rgba(var(--ember-rgb), .6), rgba(var(--ember-rgb), 0) 76%);animation:1.5s ease-in-out infinite dmap-threat-throb}@keyframes dmap-threat-throb{0%,to{opacity:.72;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.dmap-t-easy .dmap-tile__foe{filter:var(--painted-outline,) drop-shadow(0 2px 0 #0000008c) drop-shadow(0 0 3px rgba(var(--forest-rgb), 1)) drop-shadow(0 0 10px rgba(var(--forest-rgb), .9))}.dmap-t-even .dmap-tile__foe{filter:var(--painted-outline,) drop-shadow(0 2px 0 #0000008c) drop-shadow(0 0 3px rgba(var(--gold-rgb), 1)) drop-shadow(0 0 10px rgba(var(--gold-rgb), .9))}.dmap-t-deadly .dmap-tile__foe{filter:var(--painted-outline,) drop-shadow(0 2px 0 #0000008c) drop-shadow(0 0 4px rgba(var(--ember-rgb), 1)) drop-shadow(0 0 13px rgba(var(--ember-rgb), 1))}.dmap-tile__mark{width:32px;height:32px;image-rendering:pixelated;filter:drop-shadow(1px 1px #000000f2)drop-shadow(-1px -1px #000000d9)drop-shadow(0 0 5px #000000e6);z-index:8;animation:3s ease-in-out infinite dmap-hover-mark;position:absolute;top:-8px;left:16px}.dmap-tile__foe--superboss~.dmap-tile__mark{top:-32px}@keyframes dmap-hover-mark{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.dmap-tile__mark.dmap-tile__mark--painted{image-rendering:auto;filter:drop-shadow(1px 0 #000c)drop-shadow(-1px 0 #000c)drop-shadow(0 1px #000c)drop-shadow(0 -1px #000c)drop-shadow(2px 2px #00000080);width:44px;height:44px;top:-6px;left:10px}.dmap-tile__mark.dmap-tile__mark--painted.dmap-tile__mark--elite{z-index:9;width:22px;height:22px;animation:none;top:30px;left:40px}.dmap-tile__mark.dmap-tile__mark--painted.dmap-tile__mark--stands{width:48px;height:48px;top:8px;left:8px}.dmap-tile__mark.dmap-tile__mark--painted.dmap-tile__mark--stands-major{width:58px;height:58px;top:-2px;left:3px}.dmap-tile__pip{z-index:8;width:8px;height:8px;position:absolute;top:20px;left:28px;transform:rotate(45deg);box-shadow:0 0 7px,0 0 0 1px #000000d9}.dmap-terrain-lit{pointer-events:none;animation:1.8s ease-in-out infinite dmap-tile-lit}@keyframes dmap-tile-lit{0%,to{opacity:.6}50%{opacity:1}}@keyframes dmap-rim-pulse{0%,to{opacity:.5}50%{opacity:1}}.dmap-tile__here{background:var(--gold2);width:10px;height:10px;box-shadow:0 0 8px rgba(var(--gold-rgb), .9);z-index:9;animation:1.4s ease-in-out infinite dmap-here-drop;position:absolute;top:-8px;left:27px;transform:rotate(45deg)}@keyframes dmap-here-drop{0%,to{transform:rotate(45deg)translateY(0)}50%{transform:rotate(45deg)translateY(3px)}}@media (hover:hover){.dmap-tile--reach:hover .dmap-tile__step{transform:rotate(45deg)scale(1.3)}}.dmap-tile:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.map-svg-wrap .descend-bar{left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));background:rgba(var(--surface-rgb), .88);border:var(--rim-w) solid var(--border);z-index:3;flex-wrap:nowrap;gap:14px;width:auto;max-width:min(520px,100% - 32px);padding:8px 14px;position:absolute;transform:translate(-50%);box-shadow:3px 3px #00000073}.map-svg-wrap .descend-bar:after{content:none}.map-svg-wrap .descend-text{white-space:nowrap;margin:0}.descend-bar{box-shadow:none;background:linear-gradient(90deg,#0000 0%,#6b4c2a73 8% 92%,#0000 100%) 0 0/100% 1px no-repeat;border:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:18px 4px 10px;display:flex;position:relative}.descend-bar:after{content:"";border:var(--rim-w) solid var(--gold);opacity:.55;pointer-events:none;border-bottom:none;border-left:none;width:10px;height:10px;position:absolute;top:14px;right:0}.descend-text{font-family:var(--font-voice);color:var(--text2);letter-spacing:.02em;max-width:48ch;margin:0;font-size:.92rem;font-style:italic}.descend-bar .btn-descend{border-width:1px;border-color:var(--gold);color:var(--gold2);background:0 0;gap:12px;padding:11px 22px;font-size:.78rem;box-shadow:3px 3px #00000080}@media (hover:hover){.descend-bar .btn-descend:hover{background:var(--gold);color:rgb(var(--surface-rgb))}}.descend-bar .btn-descend:active{transform:translate(2px,2px);box-shadow:1px 1px #00000080}.descend-bar .cta-arrow{color:var(--gold2);font-size:.85rem}@media (hover:hover){.descend-bar .btn-descend:hover .cta-arrow{color:rgb(var(--surface-rgb))}}.descend-bar .cta-sub{opacity:.8;font-size:.58rem}.combat-layout{flex-direction:column;width:100%;display:flex;position:relative;overflow:hidden}.combat-body{flex:1;display:flex;overflow:hidden}.combat-tray{flex-direction:column;justify-content:flex-end;display:flex}@media (width>=1024px){.combat-tray{min-height:258px}}.hud-hp-row{align-items:center;gap:8px;display:flex}.hud-label{color:var(--muted);font-size:.66rem;font-family:var(--font-system);text-transform:uppercase;letter-spacing:.14em;min-width:18px;font-weight:700}.hud-bar-bg{background:var(--bg2);border:1px solid var(--border);border-radius:0;flex:1;height:13px;overflow:hidden}.hud-bar-fill{border-radius:0;height:100%;transition:width .35s cubic-bezier(.2,.7,.2,1),background .3s}.hud-bar-fill.tier-hi{background:var(--forest)}.hud-bar-fill.tier-mid{background:var(--gold)}.hud-bar-fill.tier-lo{background:var(--ember2);animation:1.2s ease-in-out infinite hp-low-pulse}.hud-hp-text{color:var(--text);font-size:.72rem;font-family:var(--font-system);white-space:nowrap;text-align:right;min-width:58px;font-weight:700}.hud-stat-xp{color:var(--gold2)}.hud-section{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.hud-section:last-child{border-bottom:none}.hud-section-head{text-align:left;cursor:default;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:0;display:flex}.hud-section-icon{font-size:.95rem;line-height:1}.hud-section-title{font-family:var(--font-voice);color:var(--text);letter-spacing:.04em;flex:0 auto;font-size:.82rem;font-weight:700}.hud-section-count{font-family:var(--font-system);color:var(--muted);letter-spacing:.08em;margin-left:auto;font-size:.66rem}.hud-section-chevron{font-family:var(--font-system);color:var(--muted);margin-left:6px;font-size:.78rem;transition:color .15s}.hud-section-toggle{cursor:pointer;transition:color .15s}@media (hover:hover){.hud-section-toggle:hover .hud-section-title,.hud-section-toggle:hover .hud-section-chevron{color:var(--gold2)}}.hud-section-toggle.open .hud-section-chevron{color:var(--gold2)}.hud-inv-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.hud-relic-grid{flex-wrap:wrap;gap:5px;min-width:0;max-width:100%;padding-top:2px;display:flex}.hud-relic-grid>.dungeon-tooltip-trigger{flex:calc(50% - 5px);min-width:0;max-width:100%}.hud-relic-slot{background:rgba(var(--surface-rgb),.55);border:var(--rim-w) solid var(--border);cursor:help;box-sizing:border-box;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 8px 5px 6px;transition:border-color .15s,background .15s;display:flex;position:relative}@media (hover:hover){.hud-relic-slot:hover{border-color:var(--gold);background:rgba(var(--gold-rgb),.08)}}.hud-relic-slot-starter{border-color:var(--gold);background:repeating-linear-gradient(0deg, #f2e8d005 0 1px, transparent 1px 4px), rgba(var(--gold-rgb),.1);box-shadow:2px 2px #00000059}.hud-relic-glyph{color:var(--gold2);text-shadow:1px 1px #0d0b09;flex-shrink:0;font-size:1.3rem;line-height:1}.hud-relic-name{font-family:var(--font-voice);color:var(--text);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.78rem;font-weight:700;line-height:1.35;overflow:hidden}.hud-relic-pips{flex:none;margin:0 0 0 auto}.hud-inv-slot{aspect-ratio:1;background:radial-gradient(circle at 50% 60%, rgba(var(--gold-rgb),.06) 0%, transparent 70%), rgba(var(--surface-rgb),.45);border:var(--rim-w) solid var(--border);justify-content:center;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.hud-inv-slot-filled{cursor:pointer}@media (hover:hover){.hud-inv-slot-filled:hover{border-color:var(--gold);box-shadow:inset 0 0 12px rgba(var(--gold-rgb),.18)}}.hud-inv-slot-filled.open{border-color:var(--gold2);box-shadow:inset 0 0 16px rgba(var(--gold2-rgb),.25)}.hud-inv-slot-empty{background:rgba(var(--surface-rgb),.25);cursor:default;border-style:dashed;border-color:#6b4c2a6b}.hud-inv-slot-empty:before{content:"";background:#6b4c2a99;width:4px;height:4px}.hud-inv-glyph{filter:drop-shadow(1px 1px #0000008c);font-size:1.55rem;line-height:1}.hud-inv-name{display:none}.hud-inv-menu{background:var(--card2);border:var(--rim-w) solid var(--gold);z-index:10;flex-direction:column;min-width:144px;display:flex;position:absolute;top:calc(100% + 5px);left:-1px;box-shadow:4px 4px #0000008c}.hud-inv-menu button{font-size:.78rem;font-family:var(--font-voice);text-align:left;color:var(--text);border:none;border-bottom:1px solid var(--border);cursor:pointer;letter-spacing:.04em;background:0 0;padding:9px 12px;font-weight:700}.hud-inv-menu button:last-child{border-bottom:none}@media (hover:hover){.hud-inv-menu button:hover{background:var(--card);color:var(--gold2)}}.hud-inv-passive-note{font-size:.72rem;font-family:var(--font-voice);text-align:left;color:var(--muted);border-bottom:1px solid var(--border);letter-spacing:.04em;padding:9px 12px;font-weight:700}.hud-commands{flex-direction:column;gap:6px;margin-top:2px;display:flex}.command-card{background:var(--bg2);border:1.5px solid var(--border);border-radius:0;flex-direction:column;gap:4px;padding:9px 10px;display:flex}.command-card .cmd-name{color:var(--text);font-size:.8rem;font-weight:800;line-height:1.2}.command-card-compact{padding:6px 8px}.combat-screen{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 12px 12px;display:flex;overflow:hidden}.battle-stage{background:radial-gradient(120% 60% at 50% 100%, rgba(var(--surface-rgb),.85) 40%, rgba(var(--surface-rgb),0) 100%), repeating-linear-gradient(transparent 0 3px, #ffffff05 3px 4px), linear-gradient(180deg, #0d0b09 0%, #1a1614 65%, #231e1b 100%);border:1px solid var(--border);border-bottom:1px solid var(--border2);flex:auto;grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:end;gap:16px;min-height:260px;padding:26px 28px 92px;display:grid;position:relative;overflow:hidden}@media (width>=1024px) and (height>=720px){.battle-stage{align-items:center}.battle-stage>.enemy-row,.battle-stage>.stage-side,.battle-stage>.stage-side-player,.battle-stage .enemy-column{height:auto}}.battle-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.battle-bg__scene{image-rendering:pixelated;filter:brightness(.58)saturate(.82)sepia(.15)contrast(1.04);background-position:bottom;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-8%}.battle-bg__scene--painted{image-rendering:auto}.battle-bg__torch{pointer-events:none;mix-blend-mode:screen;background:radial-gradient(78% 58% at 50% 30%,#e8c84a1a,#c9a22708 45%,#0000 72%);animation:4.4s ease-in-out infinite bg-torch;position:absolute;inset:0}@keyframes bg-torch{0%,to{opacity:.35}50%{opacity:.7}}.battle-bg--violet .battle-bg__scene{filter:brightness(.5)saturate(.62)sepia(.1)contrast(1.05)}.battle-bg--violet .battle-bg__torch{background:radial-gradient(82% 60% at 50% 32%,#8844aa38,#5a28780f 45%,#0000 72%)}.battle-bg--cave .battle-bg__scene{filter:brightness(.54)saturate(.78)hue-rotate(-6deg)contrast(1.06)}.battle-bg--cave .battle-bg__torch{background:radial-gradient(80% 58% at 50% 30%,#47bfff29,#286e960d 45%,#0000 72%)}.battle-bg--sky .battle-bg__scene{filter:brightness(.62)saturate(.86)contrast(1.02)}.battle-bg--sky .battle-bg__torch{background:radial-gradient(84% 60% at 50% 28%,#a0cdeb29,#78a0c80d 45%,#0000 72%)}.battle-bg--bog .battle-bg__scene{filter:brightness(.5)saturate(.9)hue-rotate(14deg)sepia(.12)contrast(1.06)}.battle-bg--bog .battle-bg__torch{background:radial-gradient(80% 58% at 50% 30%,#78be4629,#4678280d 45%,#0000 72%)}.battle-bg--war .battle-bg__scene{filter:brightness(.56)saturate(.7)sepia(.22)contrast(1.08)}.battle-bg--war .battle-bg__torch{background:radial-gradient(80% 58% at 50% 30%,#d68a3a2e,#965a280d 45%,#0000 72%)}.battle-bg--boss .battle-bg__scene{filter:brightness(.42)saturate(.72)contrast(1.12)}.battle-bg--boss .battle-bg__torch{opacity:.8;animation-duration:3s}.battle-bg:after{content:"";pointer-events:none;background:radial-gradient(135% 85% at 50% 32%,#0000 50%,#0d0b09d6 100%),repeating-linear-gradient(#0000 0 3px,#ffffff05 3px 4px),linear-gradient(#0d0b0966 0%,#0d0b0900 24%,#1a1614b8 100%);position:absolute;inset:0}.battle-stage>:not(.battle-bg):not(.turnstrip):not(.vitals):not(.battle-log):not(.stage-danger){z-index:1;position:relative}.battle-stage>.battle-bg{filter:blur(.4vmin)}.battle-stage>.battle-bg:has(.battle-bg__scene--painted){filter:blur(.6vmin)}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .battle-bg__torch{opacity:.7;animation:none}}.enemy-row{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;place-items:end center;gap:14px;min-width:0;height:100%;display:grid}.enemy-row-n1{grid-template-columns:1fr}.enemy-row-n2{grid-template-columns:1fr 1fr}.enemy-row-n3{grid-template-columns:1fr 1fr 1fr}.enemy-row:not(.enemy-row-n1):not(.enemy-row-n2):not(.enemy-row-n3):not(.enemy-row-elgar) .enemy-glyph-wrap{aspect-ratio:1;width:100%;max-width:96px;height:auto}.enemy-row:not(.enemy-row-n1):not(.enemy-row-n2):not(.enemy-row-n3):not(.enemy-row-elgar) .enemy-aura{width:100%;height:100%;top:0}.enemy-row:not(.enemy-row-n1):not(.enemy-row-n2):not(.enemy-row-n3):not(.enemy-row-elgar) .enemy-glyph{font-size:2.6rem}.enemy-boss-vanishing{pointer-events:none;animation:1.1s cubic-bezier(.16,1,.3,1) forwards elgar-vanish}@keyframes elgar-vanish{0%{opacity:1;filter:brightness()blur();transform:translateY(0)scale(1)}35%{opacity:.9;filter:brightness(1.3)blur(.3px);transform:translateY(-6px)scale(1.04)}60%{opacity:.55;filter:brightness(1.1)blur(1.5px);transform:translateY(-14px)scale(.92)}to{opacity:0;filter:brightness(.7)blur(4px);transform:translateY(-34px)scale(.55)}}.enemy-boss-vanishing:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 70%, rgba(var(--gold-rgb),.45) 0%, rgba(var(--gold-rgb),0) 60%), radial-gradient(circle at 30% 80%, rgba(var(--purple2-rgb),.35) 0%, transparent 55%), radial-gradient(circle at 70% 80%, rgba(var(--pitch-rgb),.3) 0%, transparent 55%);animation:1.1s ease-out forwards elgar-vanish-mist;position:absolute;inset:0}@keyframes elgar-vanish-mist{0%{opacity:0;transform:scale(.6)}40%{opacity:.9;transform:scale(1.1)}to{opacity:0;transform:scale(1.6)}}.enemy-row-elgar{justify-content:space-between;align-items:end;gap:18px;width:100%;min-width:0;display:flex}.enemy-zone-boss{flex:50%;justify-content:center;align-items:end;min-width:0;display:flex}.enemy-zone-minions{flex:50%;grid-template-columns:repeat(4,1fr);place-items:end center;gap:8px;min-width:0;display:grid}.enemy-zone-minions .enemy-glyph-wrap{width:64px;height:64px}.enemy-zone-minions .enemy-aura{width:76px;height:76px}.enemy-zone-minions .enemy-sprite-img{width:64px;height:64px}.enemy-zone-minions .enemy-column{transform-origin:bottom;transform:scale(.72)}.enemy-zone-minions .enemy-dialogue-bubble{max-width:110px;font-size:.66rem}@media (width<=720px){.enemy-row-elgar{flex-direction:column;align-items:stretch;gap:10px}.enemy-zone-boss{justify-content:center}.enemy-zone-minions .enemy-column{transform:scale(.62)}}.battle-stage:has(.enemy-row-elgar){grid-template-columns:minmax(0,5fr) minmax(0,1fr);gap:12px;padding-right:16px}.battle-stage:has(.enemy-row-elgar) .hero-stage-mount{transform-origin:bottom;transform:scale(.78)}@media (width<=720px){.battle-stage:has(.enemy-row-elgar){grid-template-columns:minmax(0,4fr) minmax(0,1fr);padding-right:10px}.battle-stage:has(.enemy-row-elgar) .hero-stage-mount{transform:scale(.62)}.enemy-row-elgar .enemy-zone-minions{gap:4px}}.battle-stage:before{content:"";background:linear-gradient(90deg,#0000 0%,#6b4c2a00 6%,#6b4c2a8c 50%,#6b4c2a00 94%,#0000 100%);height:1px;position:absolute;bottom:38px;left:0;right:0}.battle-stage:after{content:"";background:repeating-linear-gradient(90deg, #ffffff06 0 1px, transparent 1px 4px), linear-gradient(180deg, rgba(var(--surface-rgb),0) 0%, rgba(var(--surface-rgb),.55) 100%);height:38px;position:absolute;bottom:0;left:0;right:0}.stage-side{z-index:1;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex;position:relative}.stage-side-player{align-items:center}.enemy-column{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;min-width:0;height:100%;padding:6px 4px;transition:transform .18s,filter .18s;display:flex;position:relative}.enemy-column-defeated{opacity:.45;pointer-events:none}.enemy-column-defeated.enemy-column-pickable{pointer-events:auto;opacity:.7}.enemy-column-pickable{cursor:pointer}@media (hover:hover){.enemy-column-pickable:hover{filter:brightness(1.14)}}.enemy-column-pickable:focus-visible{outline:none}.enemy-column-pickable:focus-visible .enemy-fx-mount{filter:brightness(1.15)}.enemy-readout{width:min(100%,210px);box-shadow:none;background:0 0;border:0;flex-direction:column;order:2;align-items:center;gap:3px;margin-top:6px;padding:0;display:flex}.enemy-fx-mount{order:1}.enemy-readout .enemy-nameplate-row{justify-content:center}.enemy-readout .enemy-name-rule{display:none}.splate{--splate-cut:var(--plate-clip);position:relative}.splate-lean{--lean:6%;--splate-cut:polygon(var(--lean) 0, 100% 0, calc(100% - var(--lean)) 100%, 0 100%)}.splate-lean-mirror{--splate-cut:polygon(0 0, calc(100% - var(--lean)) 0, 100% 100%, var(--lean) 100%)}.splate-left{--splate-cut:var(--plate-clip)}.splate:before{content:"";clip-path:var(--splate-cut);pointer-events:none;background:#00000080;position:absolute;inset:0;transform:translate(4px,4px)}.splate-face{background:linear-gradient(180deg, rgba(var(--surface-rgb), .62), rgba(var(--surface-rgb), .8));box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 0 0 2px rgba(var(--surface-rgb), .55), inset 0 1px 0 #f2e8d01a;clip-path:var(--splate-cut);position:relative}.lean-rim{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lean-rim polygon{fill:none;stroke:var(--lean-rim-color,var(--border));stroke-width:1px}.lean-rim-lead{stroke:var(--lean-lead-color,transparent);stroke-width:3px}.splate-lean>.splate-face{z-index:1}.vitals{z-index:3;pointer-events:none;flex-direction:column;gap:12px;width:min(250px,46%);display:flex;position:absolute;top:10px;right:10px}.vitals .splate-face{background:linear-gradient(180deg, rgba(var(--surface-rgb), .12), rgba(var(--surface-rgb), .32))}.vitals .vital-acting>.splate-face{background:linear-gradient(180deg, rgba(var(--surface-rgb), .26), rgba(var(--surface-rgb), .46))}.vital>.splate-face{padding:11px 32px 11px 34px}.vital-acting>.lean-rim{--lean-rim-color:var(--gold2);--lean-lead-color:var(--gold2)}.vital-acting>.splate-face{background:linear-gradient(180deg, rgba(var(--surface-rgb), .7), rgba(var(--surface-rgb), .86));box-shadow:inset 0 1px #f2e8d029}.vital-fallen{opacity:.5}.vital-top{grid-template-columns:minmax(0,max-content) minmax(0,1fr) auto;grid-template-areas:"name pills pool";align-items:center;gap:2px 8px;min-width:0;display:grid}.vital-top>.vital-name{grid-area:name}.vital-top>.vital-pills{grid-area:pills;margin-top:0}.vital-top>.vital-pool{grid-area:pool;justify-self:end}.vital-top :is(.hero-status-pill,.enemy-status-pill){--spill:30px}.vital-top>.vital-pills{height:36px}.vital-name{letter-spacing:.02em;color:var(--text);text-shadow:1px 1px #000;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;font-weight:700;overflow:hidden}.vital-acting .vital-name{color:var(--gold2);text-shadow:1px 1px 0 #000, 0 0 10px rgba(var(--gold-rgb), .5)}.vital-stat{align-items:center;gap:6px;margin-top:3px;display:flex}.vital-k{font-family:var(--font-system);letter-spacing:.12em;color:var(--muted);min-width:14px;font-size:.56rem;font-weight:700}.vital-bar{background:rgba(var(--surface-rgb), .9);border:1px solid #856236e6;flex:auto;min-width:0;height:9px;position:relative;box-shadow:2px 2px #00000073}.vital-fill{background:var(--forest);background-image:repeating-linear-gradient(90deg,#00000029 0 1px,#0000 1px 4px);height:100%;transition:width .28s;box-shadow:inset 0 1px #f2e8d01f}.vital-fill.tier-hi{background-color:var(--forest)}.vital-fill.tier-mid{background-color:var(--gold)}.vital-fill.tier-lo{background-color:var(--ember)}.vitals-fill-note{background-color:var(--pitch)}.vital-num{font-family:var(--font-system);font-variant-numeric:tabular-nums;color:var(--text2);white-space:nowrap;font-size:.66rem}.vital-num b{color:var(--text);font-size:.8rem;font-weight:700}.vital-slash{color:var(--muted);padding:0 1px}.vital-pills{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.fseat{align-items:center;gap:10px;min-width:0;display:flex}.fseat-mount{background:radial-gradient(closest-side at 50% 94%,#00000080,#0000 72%);flex:none;justify-content:center;align-items:flex-end;padding-bottom:3px;display:flex}.fseat-mount .hero-sprite{image-rendering:pixelated}.fseat-body{flex-direction:column;gap:1px;min-width:0;display:flex}.fseat-label{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.56rem;font-weight:700}.fseat-name{font-family:var(--font-voice);letter-spacing:.02em;color:var(--fc,var(--text));text-shadow:2px 2px #000000b3;overflow-wrap:anywhere;font-size:1rem;font-weight:700}.fseat-meta{font-family:var(--font-system);color:var(--text2);font-size:.68rem}.fseat-mirror{flex-direction:row-reverse}.fseat-mirror .fseat-body{text-align:right;align-items:flex-end}.enemy-aura-low{background:radial-gradient(closest-side, rgba(var(--ember2-rgb), .3), transparent 72%);box-shadow:none;border:0}.enemy-aura-crit{background:radial-gradient(closest-side, rgba(var(--ember2-rgb), .45), transparent 74%);box-shadow:none;border:0}.target-reticle{display:none}.stage-targeting .enemy-column-targeted .target-reticle{display:block}.enemy-column-targeted .enemy-name{color:var(--gold2)}.combat-layout .enemy-readout .enemy-hp-label,.combat-layout .enemy-readout .enemy-hp-text{display:none}.combat-layout .enemy-readout .enemy-hp-row{gap:0;max-width:none}.combat-layout .enemy-readout .enemy-hp-bar{height:9px}.combat-layout .enemy-readout .enemy-name{letter-spacing:.08em;text-transform:uppercase;text-shadow:1px 1px #000,0 0 6px #000000e6;font-size:.82rem;font-weight:700}.vitals .tooltip-help-dot{display:none}.vitals .dungeon-tooltip-trigger{pointer-events:auto;position:relative}.vitals .dungeon-tooltip-trigger:after{content:"";position:absolute;inset:-8px -5px}.vitals .pill-track .dungeon-tooltip-trigger{align-self:stretch;align-items:center;display:inline-flex}.vitals .pill-track .dungeon-tooltip-trigger:after{inset:0 -5px}.battle-log{left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:3;pointer-events:none;flex-direction:column;gap:2px;width:min(42%,420px);display:flex;position:absolute}.battle-log-line{font-family:var(--font-voice);color:var(--muted);text-shadow:1px 1px #000,0 0 6px #000000e6;overflow-wrap:anywhere;margin:0;font-size:.76rem;line-height:1.35}.battle-log-line-now{color:var(--text2);animation:.22s ease-out both battle-log-in}@keyframes battle-log-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .battle-log-line-now{animation:none}}.turnstrip{top:calc(16px + env(safe-area-inset-top,0px));left:calc(var(--run-chrome-w) + 8px + env(safe-area-inset-left,0px));z-index:3;pointer-events:none;align-items:center;max-width:58%;display:flex;position:absolute}.turnstrip-cell{align-items:center;min-width:0;display:flex}.turnstrip-rail{background:linear-gradient(90deg,#856236e6,#85623659);flex:none;width:10px;height:1px}.turnstrip-slot{--turnstrip-px:36;background:rgba(var(--card2-rgb), .78);border:1px solid var(--border);flex:none;width:36px;height:36px;margin:0 3px;position:relative;overflow:hidden;transform:rotate(45deg);box-shadow:2px 2px #00000080}.turnstrip-slot.is-foe{border-color:var(--ember)}.turnstrip-slot.is-now{--turnstrip-px:50;border-color:var(--gold2);width:50px;height:50px;box-shadow:2px 2px 0 #00000080, 0 0 10px rgba(var(--gold-rgb), .5)}.turnstrip-face{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:rotate(-45deg)scale(1.34)}.turnstrip-slot{--turnstrip-face:.64}.turnstrip-img{width:calc(var(--turnstrip-px) * var(--turnstrip-face) * 1px);height:calc(var(--turnstrip-px) * var(--turnstrip-face) * 1px);object-fit:contain;flex:none}.turnstrip-face img,.turnstrip-face .hero-sprite{image-rendering:pixelated}.turnstrip-face img{max-width:100%;max-height:100%}.turnstrip-face .hero-sprite{scale:calc(var(--turnstrip-px) * var(--turnstrip-face) / var(--sprite-size,32));flex:none}.turnstrip-fade-tail .turnstrip-cell:nth-last-child(2) .turnstrip-slot{opacity:.78}.turnstrip-fade-tail .turnstrip-cell:last-child .turnstrip-slot{opacity:.58}.turnstrip-letter{font-family:var(--font-system);color:var(--text);background:rgba(var(--surface-rgb), .92);padding:1px 2px;font-size:.5rem;font-weight:700;line-height:1;position:absolute;bottom:-1px;right:-1px;transform:rotate(-45deg)}.turnstrip-next{flex-direction:column;align-items:center;gap:1px;margin:0 4px;display:flex}.turnstrip-chev{color:var(--muted);letter-spacing:-.18em;font-size:.9rem;line-height:1}.turnstrip-cap{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.58rem}@media (width>=1280px) and (height>=700px){.turnstrip{top:calc(24px + env(safe-area-inset-top,0px));left:calc(var(--run-chrome-w) + 22px + env(safe-area-inset-left,0px))}.turnstrip-slot{--turnstrip-px:52;width:52px;height:52px;margin:0 5px}.turnstrip-slot.is-now{--turnstrip-px:72;width:72px;height:72px}.turnstrip-rail{width:14px}.turnstrip-next{gap:3px;margin:0 8px}.turnstrip-chev{font-size:1.15rem}.turnstrip-cap{font-size:.74rem}.turnstrip-letter{padding:2px 3px;font-size:.68rem}}@media (width>=1600px) and (height>=900px){.turnstrip{top:calc(28px + env(safe-area-inset-top,0px));left:calc(var(--run-chrome-w) + 26px + env(safe-area-inset-left,0px))}.turnstrip-slot{--turnstrip-px:64;width:64px;height:64px;margin:0 6px}.turnstrip-slot.is-now{--turnstrip-px:88;width:88px;height:88px}.turnstrip-rail{width:18px}.turnstrip-chev{font-size:1.35rem}.turnstrip-cap{font-size:.86rem}.turnstrip-letter{font-size:.8rem}}@media (width<=480px){.turnstrip-slot{--turnstrip-px:24;width:24px;height:24px;margin:0 2px}.turnstrip-slot.is-now{--turnstrip-px:32;width:32px;height:32px}.turnstrip-rail{width:6px}.vitals{width:min(190px,52%);top:8px;right:8px}.vitals .splate-face{padding:6px 8px 7px 11px}.vital-name{font-size:.76rem}}@media (width>=900px),(aspect-ratio>=3/2){.combat-screen{gap:0;padding:0;position:relative}.combat-layout .combat-body .combat-screen{gap:0}.move-banner{top:22%}.combat-tray{min-height:0}.combat-layout .combat-body .battle-stage,.fan-combat .battle-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:is(.combat-tray:has(.command-box),.combat-tray:has(.fan-tray),.combat-tray:has(.targeting-panel),.combat-tray:has(.phase-panel)){z-index:4;width:25%;min-height:0;padding:12px 10px max(12px, env(safe-area-inset-bottom));background:linear-gradient(90deg, rgba(var(--surface-rgb), .1) 0%, rgba(var(--surface-rgb), .48) 14%, rgba(var(--surface-rgb), .54) 50%, rgba(var(--surface-rgb), .48) 86%, rgba(var(--surface-rgb), .1) 100%);pointer-events:none;border-left:1px solid #8562368c;border-right:1px solid #8562368c;flex-direction:column;justify-content:stretch;display:flex;position:absolute;top:0;bottom:0;left:50%}.combat-tray .command-box,.combat-tray .command-box-status,.combat-tray .command-box-actions,.combat-tray .commands-grid,.combat-tray .fan-tray,.combat-tray .pool-pips,.combat-tray .cmd-actor,.combat-tray .phase-panel,.combat-tray .targeting-panel{pointer-events:none}.combat-tray button,.combat-tray a,.combat-tray input,.combat-tray [role=button],.combat-tray .dungeon-tooltip-trigger,.combat-tray .commands-grid.is-scrollable{pointer-events:auto}.command-box-actions .cmd-btn-hand .cmd-btn-name,.fan-tray .cmd-btn-hand .cmd-btn-name{flex:auto;min-width:0}.combat-tray:has(.phase-panel){background:0 0;border-left:0;border-right:0;justify-content:flex-end;min-height:0;padding:0 10px;top:auto;bottom:7%}:is(.combat-tray:has(.command-box) .command-box,.combat-tray:has(.fan-tray) .fan-tray){box-shadow:none;background:0 0;border:0;flex:auto;min-height:0}.combat-tray:has(.command-box) .command-box:before{display:none}.command-box-status{background:0 0;border-bottom:1px solid #85623680;padding:6px 4px 8px}.command-box-actions{flex:auto;min-height:0;padding:8px 2px 0}:is(.combat-tray:has(.phase-panel) .phase-panel,.combat-tray:has(.targeting-panel) .targeting-panel){box-shadow:none;background:0 0;border:0;margin:0;position:static;inset:auto}.combat-tray:has(.phase-panel) .phase-panel:has(.phase-title){background:rgba(var(--surface-rgb), .86);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 3px 3px 0 #0000008c;padding:12px 14px}.command-box-actions .commands-grid,.fan-tray .commands-grid{scrollbar-gutter:stable;grid-template-columns:minmax(0,1fr);grid-auto-rows:72px;align-content:start;gap:5px}.fan-tray .fan-cmd-bar{grid-auto-rows:minmax(48px,72px)}.command-box-actions .cmd-row,.fan-tray .cmd-row{align-self:stretch;max-height:none}.command-box-actions .cmd-btn-hand,.fan-tray .cmd-btn-hand{background:linear-gradient(90deg, rgba(var(--surface-rgb), .82), rgba(var(--surface-rgb), .5));--cut:9px;min-height:44px;clip-path:polygon(0 var(--cut), var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));flex-direction:row;align-items:center;gap:8px;padding:6px 20px 6px 16px}.command-box-actions .cmd-btn-hand .cmd-btn-name,.fan-tray .cmd-btn-hand .cmd-btn-name{text-align:left;flex:auto;order:1;justify-content:flex-start;min-width:0}.command-box-actions .cmd-btn-hand .cmd-btn-meta,.fan-tray .cmd-btn-hand .cmd-btn-meta{flex:none;order:2;min-height:0;padding-right:0}.command-box-actions .cmd-btn-hand .cmd-btn-head,.fan-tray .cmd-btn-hand .cmd-btn-head{flex:none;order:3;min-height:0;margin-left:auto}.command-box-actions .cmd-btn-hand .cmd-btn-desc-hand,.fan-tray .cmd-btn-hand .cmd-btn-desc-hand{display:none}@media (hover:hover){.command-box-actions .cmd-btn:not(.cmd-btn-disabled):hover,.fan-tray .cmd-btn:not(.cmd-btn-disabled):hover{background:linear-gradient(90deg, rgba(var(--gold-rgb), .24), rgba(var(--surface-rgb), .4));transform:none;box-shadow:inset 0 1px #f2e8d01a}}.command-box-status .energy-gems{flex-wrap:nowrap;gap:3px;min-width:0;max-width:none}.command-box-status .energy-gem{background:rgba(var(--surface-rgb), .9);width:12px;height:12px;font-size:0;transform:rotate(45deg)}:is(.command-box-actions .dungeon-tooltip-trigger:has(.cmd-btn-hand)>.tooltip-help-dot,.fan-tray .dungeon-tooltip-trigger:has(.cmd-btn-hand)>.tooltip-help-dot){top:50%;bottom:auto;right:14px;transform:translateY(-50%)}.command-box-actions .dungeon-tooltip-trigger,.fan-tray .dungeon-tooltip-trigger{width:100%;height:100%;display:block}.command-box-actions .dungeon-tooltip-trigger>.cmd-row,.fan-tray .dungeon-tooltip-trigger>.cmd-row{height:100%}.cmd-actor{flex:none;grid-template-columns:minmax(min-content,1fr) minmax(0,auto) minmax(0,1fr);align-items:center;padding-bottom:2px;display:grid;position:relative}.cmd-actor-mount{background:radial-gradient(closest-side at 50% 94%,#00000080,#0000 72%);grid-column:1;justify-content:center;justify-self:start;align-items:flex-end;display:flex}.cmd-actor-name{text-align:center;font-family:var(--font-voice);letter-spacing:.03em;color:var(--gold2);text-shadow:1px 1px #000;text-overflow:ellipsis;white-space:nowrap;grid-column:2;min-width:0;font-size:.82rem;font-weight:700;overflow:hidden}.cmd-row .energy-cost{background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700}.cmd-row .energy-cost--surged{background:0 0;border:0}.combat-layout .battle-stage,.fan-combat .battle-stage{align-items:end}.combat-layout .battle-stage>.stage-side-player{padding-left:14%}.combat-layout .battle-stage .enemy-row>:nth-child(4n+1){margin-bottom:0}.combat-layout .battle-stage .enemy-row>:nth-child(4n+2){margin-bottom:calc(var(--stage-stagger) * 2.2)}.combat-layout .battle-stage .enemy-row>:nth-child(4n+3){margin-bottom:calc(var(--stage-stagger) * .9)}.combat-layout .battle-stage .enemy-row>:nth-child(4n+4){margin-bottom:calc(var(--stage-stagger) * 3.1)}.combat-layout .battle-stage .enemy-row{padding-bottom:3%}.combat-layout .battle-stage .enemy-row-n1{--foe-px:min(30vw, 46vh)}.combat-layout .battle-stage .enemy-row-n2{--foe-px:min(19vw, 36vh)}.combat-layout .battle-stage .enemy-row-n3{--foe-px:min(13.5vw, 28vh)}.combat-layout .battle-stage .enemy-row:is(.enemy-row-n1,.enemy-row-n2,.enemy-row-n3) .enemy-glyph-wrap{width:var(--foe-px);height:var(--foe-px)}.combat-layout .battle-stage .enemy-row:is(.enemy-row-n1,.enemy-row-n2,.enemy-row-n3) .enemy-sprite-img{width:calc(var(--foe-px) - 4px);height:calc(var(--foe-px) - 4px)}.combat-layout .battle-stage .enemy-row:is(.enemy-row-n1,.enemy-row-n2,.enemy-row-n3) .enemy-glyph{font-size:calc(var(--foe-px) * .74)}.combat-layout .battle-stage .enemy-row:is(.enemy-row-n1,.enemy-row-n2,.enemy-row-n3) .enemy-aura{width:calc(var(--foe-px) * 1.1);height:calc(var(--foe-px) * 1.1)}.combat-layout .battle-stage .enemy-row:is(.enemy-row-n1,.enemy-row-n2,.enemy-row-n3) .enemy-ground-shadow{width:calc(var(--foe-px) * .9)}.fan-combat .battle-stage .fan-party-row{grid-template-columns:none;grid-auto-columns:minmax(0,auto);grid-auto-flow:column;place-content:end center;align-items:end;gap:5%;padding-bottom:0}.fan-combat .battle-stage .enemy-row.fan-party-row>*{margin-right:0}.fan-combat .battle-stage .enemy-row.fan-party-row{--party-step:30px;position:relative;top:26px;left:-30px}.fan-combat .battle-stage .enemy-row.fan-party-row>:first-child{margin-bottom:calc(var(--party-step) * 2)}.fan-combat .battle-stage .enemy-row.fan-party-row>:nth-child(2){margin-bottom:var(--party-step)}.fan-combat .battle-stage .enemy-row.fan-party-row>:nth-child(3){margin-bottom:0}.vitals{width:calc(25% - 8px);max-width:none;top:10px;right:2px}}.stage-side-player{justify-content:flex-end;gap:10px;padding-bottom:8px}.minion-panel{background:var(--bg2);border:var(--rim-w) solid var(--border);align-items:center;gap:10px;width:100%;max-width:248px;padding:6px 10px;display:flex;box-shadow:3px 3px #00000073}.minion-fx-mount{flex:none;position:relative}.minion-sprite{width:52px;height:52px;image-rendering:pixelated;filter:drop-shadow(2px 2px #00000080);display:block;transform:scaleX(-1)}.minion-ground-shadow{background:#0006;width:38px;height:6px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.minion-readout{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.minion-nameplate-row{align-items:center;gap:8px;min-width:0;display:flex}.minion-name{font-family:var(--font-voice);letter-spacing:.04em;color:var(--gold2);text-shadow:1px 1px #000000b3;white-space:nowrap;font-size:.78rem;font-weight:900}.minion-name:before{content:"✶ ";color:var(--gold-ink)}.minion-name-rule{background:var(--gold);flex:1;min-width:6px;height:2px}.minion-str-pill{font-family:var(--font-system);color:var(--ember-ink);background:color-mix(in oklab, var(--ember) 14%, var(--bg));border:var(--rim-w) solid var(--border);white-space:nowrap;padding:0 4px;font-size:.64rem;font-weight:700}.minion-nova-pill{font-family:var(--font-system);color:#87cf6a;background:color-mix(in oklab, #87cf6a 14%, var(--bg));border:var(--rim-w) solid var(--border);white-space:nowrap;padding:0 4px;font-size:.64rem;font-weight:700}.minion-hp-row{align-items:center;gap:6px;display:flex}.minion-hp-label{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.54rem;font-weight:700}.minion-hp-bar{background:var(--bg);border:1px solid var(--border);flex:1;min-width:0;height:7px;position:relative;overflow:hidden}.minion-hp-fill{height:100%;transition:width .4s cubic-bezier(.2,.7,.2,1)}.minion-hp-fill.tier-hi{background:var(--forest)}.minion-hp-fill.tier-mid{background:var(--gold)}.minion-hp-fill.tier-lo{background:var(--ember2);animation:1.2s ease-in-out infinite hp-low-pulse}.minion-hp-text{font-family:var(--font-system);color:var(--text);white-space:nowrap;font-size:.62rem;font-weight:700}.minion-intent{max-width:100%;font-family:var(--font-system);letter-spacing:.04em;color:var(--text2);border:1px dashed var(--border);cursor:help;align-self:flex-start;align-items:center;gap:5px;padding:1px 6px;font-size:.6rem;display:inline-flex}.minion-intent-glyph{color:var(--gold2)}.minion-intent-dmg{color:var(--gold2);font-weight:700}.minion-intent-label{overflow-wrap:break-word;color:var(--muted)}.minion-sprite.minion-fx-hit{animation:.78s ease-out minion-hit}.minion-sprite.minion-fx-heal{animation:.95s ease-in-out minion-heal}.minion-sprite.minion-fx-attack{animation:.9s cubic-bezier(.16,1,.3,1) minion-attack}@keyframes minion-hit{0%{filter:drop-shadow(2px 2px #00000080);transform:scaleX(-1)}15%{filter:brightness(2.2)sepia()saturate(5)hue-rotate(-25deg);transform:scaleX(-1)translate(4px)}45%{transform:scaleX(-1)translate(-3px)}75%{transform:scaleX(-1)translate(2px)}to{filter:drop-shadow(2px 2px #00000080);transform:scaleX(-1)}}@keyframes minion-heal{0%,to{filter:drop-shadow(2px 2px #00000080)}40%{filter:drop-shadow(0 0 7px var(--forest)) drop-shadow(2px 2px 0 #00000080);transform:scaleX(-1)translateY(-3px)}}@keyframes minion-attack{0%{transform:scaleX(-1)}40%{transform:scaleX(-1)translateY(-9px)scale(1.1)}to{transform:scaleX(-1)}}@media (width<=900px){.minion-panel{gap:8px;max-width:210px;padding:5px 8px}.minion-sprite{width:42px;height:42px}.minion-name{font-size:.72rem}}.hero-status-pill{--spill:24px;width:var(--spill);height:var(--spill);box-shadow:none;font-family:var(--font-system);white-space:nowrap;background:0 0;border:0;flex:none;padding:0;font-size:.66rem;font-weight:700;line-height:1;display:inline-block;position:relative}.hero-status-pill.pill-str{color:var(--gold-ink);border-color:rgba(var(--gold-rgb),.45)}.hero-status-pill.pill-blk{color:var(--pitch-ink);border-color:rgba(var(--pitch-rgb),.45)}.hero-status-pill.pill-dex{color:var(--forest2);border-color:rgba(var(--forest2-rgb),.5)}.hero-status-pill.pill-poison{color:#87cf6a;border-color:#87cf6a80}.hero-status-pill.pill-weak{color:var(--purple-ink);border-color:rgba(var(--purple2-rgb),.55)}.hero-status-pill.pill-regen{color:var(--forest2);border-color:rgba(var(--forest2-rgb),.55)}.hero-status-pill.pill-perfection{color:#e8d49a;border-color:#e8d49a8c}.hero-status-pill.pill-forcefield{color:#7fd8e8;border-color:#7fd8e88c}.game-icon{image-rendering:pixelated;vertical-align:-.18em;flex-shrink:0;display:inline-block}.inline-icon{vertical-align:-.2em;margin:0 1px}.kw{color:var(--gold2);font-weight:800}.cmd-legend-kw{color:var(--gold2)}.energy-gem:not(.full) .game-icon{opacity:.25;filter:grayscale(.8)}.hero-status-pill.pill-crescendo{color:#e8985a;border-color:#e8985a8c}.hero-status-pill.pill-corcheas{color:var(--gold-ink);border-color:rgba(var(--gold-rgb),.55)}.orb-swatch{vertical-align:-1px;border:1px solid #0000008c;width:11px;height:11px;display:inline-block;box-shadow:1px 1px #00000080,inset 1px 1px #fff6}.orb-swatch--red{background:var(--ember2)}.orb-swatch--yellow{background:#e2b23e}.orb-swatch--blue{background:var(--pitch)}.orb-grant-pips{align-items:center;gap:3px;margin-left:1px;display:inline-flex}.orb-grant-pip{border:1px solid #0000008c;width:12px;height:12px;display:inline-block;box-shadow:1px 1px #00000080,inset 1px 1px #fff6}.orb-grant-pip--red{background:var(--ember2)}.orb-grant-pip--yellow{background:#e2b23e}.orb-grant-pip--blue{background:var(--pitch)}.orb-grant-pip--random{background:linear-gradient(90deg, var(--ember2) 0 33.333%, #e2b23e 33.333% 66.666%, var(--pitch) 66.666% 100%)}.enemy-status-pill.pill-silencio{color:#9aa0aa;border-color:#9aa0aa8c}.hero-status-pill[class*=pill-],.enemy-status-pill[class*=pill-]{box-shadow:none;background:0 0}.spill-rhomb{border:1px solid;border-color:inherit;background:rgba(var(--surface-rgb), .9);width:70.71%;height:70.71%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:1px 1px #00000080}.spill-icon{font-size:calc(var(--spill) * .34);color:inherit;pointer-events:none;place-items:center;line-height:1;display:grid;position:absolute;inset:0}.spill-icon .game-icon{width:calc(var(--spill) * .42);height:calc(var(--spill) * .42);vertical-align:0}:is([class*=status-pill],.vic-stat-pill):has(>.spill-icon>.painted-art)>.spill-rhomb{display:none}.spill-icon>.painted-art{width:100%;height:100%}.spill-icon .orb-swatch{width:calc(var(--spill) * .38);height:calc(var(--spill) * .38);vertical-align:0}.vital-pills{align-items:center;gap:2px;height:30px;margin-top:5px;display:flex}.pill-track{scrollbar-width:none;scroll-behavior:smooth;pointer-events:auto;flex:auto;align-items:center;gap:4px;min-width:0;height:100%;display:flex;overflow:auto hidden}.pill-track::-webkit-scrollbar{display:none}.pill-page{width:14px;height:22px;color:var(--gold2);font-family:var(--font-system);cursor:pointer;pointer-events:auto;background:0 0;border:0;flex:none;place-items:center;padding:0;font-size:.86rem;line-height:1;display:grid;position:relative}.pill-page:before{content:"";position:absolute;inset:-11px -8px}.pill-page-off{visibility:hidden;pointer-events:none}@media (hover:hover){.pill-page:hover{color:var(--text)}}.pool-pips{flex:none;align-items:center;gap:5px;min-width:0;display:inline-flex}.pool-pips-spark{color:var(--gold2);line-height:1;display:inline-flex}.pool-pips-row{align-items:center;gap:3px;display:inline-flex}.pool-pip{background:rgba(var(--surface-rgb), .9);border:1px solid var(--border);flex:none;width:7px;height:7px;transform:rotate(45deg)}.pool-pip-lit{background:var(--gold);border-color:var(--gold2);box-shadow:0 0 5px rgba(var(--gold-rgb), .6)}.pool-pip-clean{background:var(--forest);border-color:var(--forest-ink);box-shadow:0 0 5px rgba(var(--forest2-rgb), .5)}.pool-pip-sloppy{border:2px solid var(--gold);box-shadow:0 0 5px rgba(var(--gold-rgb), .5);background:0 0}.pool-pip-flub{background:var(--ember);border-color:var(--ember-ink);box-shadow:0 0 5px rgba(var(--ember2-rgb), .5);position:relative;transform:none}.pool-pip-flub:after{content:"";background:linear-gradient(135deg, transparent 42%, var(--text) 42%, var(--text) 58%, transparent 58%);position:absolute;inset:-1px}.pool-pips-num{font-family:var(--font-system);color:var(--gold2);white-space:nowrap;font-size:.72rem;font-weight:700}.vital-pool{align-self:center}.pool-coin{border:2px solid var(--gold);background:rgba(var(--surface-rgb), .94);width:34px;height:34px;font-family:var(--font-system);font-variant-numeric:tabular-nums;color:var(--gold2);border-radius:50%;flex:none;justify-content:center;align-items:baseline;padding-top:8px;line-height:1;display:inline-flex;box-shadow:1px 1px #0000008c}.pool-coin>.pool-coin-n{font-size:.92rem;font-weight:800}.pool-coin>.pool-coin-max{color:var(--muted);font-size:.58rem;font-weight:700}.vital-top:has(>.pool-coin){flex-wrap:nowrap;align-items:center}.vital-top:has(>.pool-coin)>.vital-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width>=1024px) and (height>=600px){.pool-coin{width:40px;height:40px;padding-top:10px}.pool-coin>.pool-coin-n{font-size:1.08rem}.pool-coin>.pool-coin-max{font-size:.66rem}}.vital-pool .pool-pips-num{font-size:.68rem}.vital-pool .pool-pip{width:6px;height:6px}.spill-count{min-width:calc(var(--spill) * .48);height:calc(var(--spill) * .48);border:1px solid;border-color:inherit;background:var(--bg);color:var(--text);font-family:var(--font-system);font-size:calc(var(--spill) * .34);font-variant-numeric:tabular-nums;letter-spacing:0;border-radius:50%;place-items:center;padding:0 2px;font-weight:800;line-height:1;display:grid;position:absolute;bottom:-3px;right:-3px;box-shadow:1px 1px #00000080}.enemy-status-row{gap:4px}.enemy-stage-mount{flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:8px;display:flex;position:relative}.enemy-glyph-wrap{justify-content:center;align-items:center;width:140px;height:140px;animation:3.6s ease-in-out infinite enemy-float;display:flex;position:relative}.enemy-row-n2 .enemy-glyph-wrap{width:120px;height:120px}.enemy-row-n3 .enemy-glyph-wrap{width:104px;height:104px}.enemy-row-n2 .enemy-aura{width:138px;height:138px}.enemy-row-n3 .enemy-aura{width:120px;height:120px}.enemy-row-n2 .enemy-sprite-img{width:116px;height:116px}.enemy-row-n3 .enemy-sprite-img{width:96px;height:96px}.enemy-row-n2 .enemy-glyph{font-size:5.5rem}.enemy-row-n3 .enemy-glyph{font-size:4.5rem}.enemy-glyph{filter:drop-shadow(3px 3px 0 #0000008c) drop-shadow(0 0 18px color-mix(in oklab, var(--glyph-tone), transparent 65%));-webkit-user-select:none;user-select:none;font-size:7rem;line-height:1;transition:filter .25s}.enemy-glyph-low{filter:drop-shadow(3px 3px 0 #0000008c) drop-shadow(0 0 18px rgba(var(--ember2-rgb),.55)) saturate(.55)}.enemy-glyph-loading{animation:.7s steps(2,end) infinite sprite-load-flicker}.enemy-sprite-preloading{opacity:0;pointer-events:none;position:absolute}.enemy-sprite-img{object-fit:contain;object-position:center bottom;width:144px;max-width:100%;height:144px;max-height:100%;image-rendering:pixelated;filter:drop-shadow(3px 3px 0 #0000008c) drop-shadow(0 0 14px color-mix(in oklab, var(--glyph-tone), transparent 70%));-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:filter .25s}img:is([src^="/sprites/"],[src^="/command-art/"]):not([src="/sprites/rivals/elgar-boss.png"],[src="/sprites/rivals/elgar-herald-a.png"],[src="/sprites/rivals/elgar-herald-b.png"],[src="/sprites/rivals/vacaplatillo.png"]){image-rendering:auto!important}.enemy-sprite-low{filter:drop-shadow(3px 3px 0 #0000008c) drop-shadow(0 0 16px rgba(var(--ember2-rgb),.55)) saturate(.55) brightness(.92)}.enemy-sprite-poisoned{filter:drop-shadow(3px 3px #0000008c)drop-shadow(0 0 18px #87cf6aa6)hue-rotate(-12deg)saturate(1.15);animation:1.6s ease-in-out infinite poison-pulse}.enemy-sprite-weak{filter:drop-shadow(3px 3px 0 #0000008c) drop-shadow(0 0 16px rgba(var(--purple2-rgb),.6)) saturate(.45) brightness(.85)}.enemy-sprite-poisoned.enemy-sprite-weak{filter:drop-shadow(3px 3px 0 #0000008c) drop-shadow(0 0 18px #87cf6a8c) drop-shadow(0 0 14px rgba(var(--purple2-rgb),.45)) saturate(.65) brightness(.88)}@keyframes poison-pulse{0%,to{opacity:1}50%{opacity:.78}}.enemy-flash{mix-blend-mode:screen;pointer-events:none;background:#f2e8d000;border-radius:0;transition:background 80ms linear;position:absolute;inset:0}.enemy-aura{pointer-events:none;z-index:0;width:158px;height:158px;position:absolute;top:14px}.enemy-ground-shadow{background:radial-gradient(50% 100%,#000000a6 0%,#0000 100%);width:142px;height:10px;margin-top:-8px}.fx-hit .enemy-glyph-wrap{animation:.78s steps(6,end) enemy-hit-shake}.fx-hit .enemy-flash{background:#f2e8d0d9;animation:.8s ease-out forwards enemy-flash-fade}.fx-graze .enemy-glyph-wrap{animation:.66s enemy-graze}.fx-graze .enemy-flash{background:rgba(var(--gold-rgb),.55);animation:.66s ease-out forwards enemy-flash-fade}.fx-hit .enemy-sprite-img{animation:.8s ease-out enemy-sprite-hit}.fx-graze .enemy-sprite-img{animation:.66s ease-out enemy-sprite-graze}.fx-attack .enemy-glyph-wrap{animation:.85s both enemy-lunge}.fx-defeated .enemy-stage-mount{animation:1.5s both enemy-defeat}.fx-defeated .enemy-aura{opacity:0;transition:opacity .9s;animation:none}@keyframes enemy-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes enemy-hit-shake{0%{transform:translate(0)}20%{transform:translate(-10px,-2px)}40%{transform:translate(8px,3px)}60%{transform:translate(-6px,-2px)}80%{transform:translate(4px,2px)}to{transform:translate(0)}}@keyframes enemy-flash-fade{0%{opacity:1}to{opacity:0;background:#f2e8d000}}@keyframes enemy-sprite-hit{0%{filter:drop-shadow(3px 3px #0000008c)brightness()}10%{filter:brightness(0)invert()}32%{filter:brightness(0)invert()}to{filter:drop-shadow(3px 3px #0000008c)brightness()}}@keyframes enemy-sprite-graze{0%,to{filter:drop-shadow(3px 3px #0000008c)brightness()saturate()}22%{filter:brightness(1.7) saturate(1.4) drop-shadow(0 0 10px rgba(var(--gold-rgb),.85))}}@keyframes enemy-graze{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)translate(-2px)}}@keyframes enemy-lunge{0%{transform:translate(0)}45%{transform:translate(46px)scale(1.04)}to{transform:translate(0)}}@keyframes enemy-defeat{0%{opacity:1;filter:saturate()brightness();transform:translateY(0)scale(1)}40%{opacity:.9;filter:saturate(.4)brightness(.85);transform:translateY(6px)scale(.96)}to{opacity:0;filter:saturate(0)brightness(.5);transform:translateY(30px)scale(.78)}}@keyframes aura-pulse-low{0%,to{box-shadow:0 0 22px rgba(var(--ember2-rgb),.3) inset, 3px 3px 0 #00000040}50%{box-shadow:0 0 36px rgba(var(--ember2-rgb),.55) inset, 3px 3px 0 #00000040}}@keyframes aura-pulse-crit{0%,to{box-shadow:0 0 28px rgba(var(--ember2-rgb),.5) inset, 3px 3px 0 #00000040}50%{box-shadow:0 0 48px rgba(var(--ember2-rgb),.85) inset, 3px 3px 0 #00000040}}.char-portrait{background:rgba(var(--surface-rgb), .55);width:100%;height:100%;display:block;position:relative;overflow:hidden}.char-portrait-img{object-fit:cover;object-position:50% var(--portrait-focus,40%);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.hero-sheet:before{content:"";left:calc(var(--bleed-x,0) * -100%);top:calc(var(--bleed-top,0) * -100%);width:calc((1 + 2 * var(--bleed-x,0)) * 100%);height:calc((1 + var(--bleed-top,0)) * 100%);background-image:var(--sheet);background-repeat:no-repeat;background-size:calc(var(--sheet-cols,4) * 100%) calc(var(--sheet-rows,8) * 100%);background-position:var(--sheet-x,0%) var(--sheet-y,0%);pointer-events:none;position:absolute}.hero-sprite{image-rendering:pixelated;background-repeat:no-repeat;position:relative}.hero-stage-mount{flex-direction:column;align-items:center;padding-bottom:4px;display:flex;position:relative}.hero-float{justify-content:center;animation:3.6s ease-in-out infinite enemy-float;display:flex}.hero-float,.enemy-glyph-wrap,.minion-fx-mount{--rim:#080604f2;filter:drop-shadow(0 0 1.5px var(--rim)) drop-shadow(0 0 4px var(--rim)) drop-shadow(0 0 9px #08060499);transition:filter .32s ease-out}.enemy-glyph-wrap{--rim-turn:var(--ember2)}.hero-float{--rim-turn:var(--fc,var(--gold2))}:is(.body-turn,.fan-card-active,.duel-fighter-col.is-active,.duel-fighter-col.is-striking) :is(.hero-float,.enemy-glyph-wrap){filter:drop-shadow(0 0 1.5px var(--rim-turn)) drop-shadow(0 0 6px var(--rim-turn)) drop-shadow(0 0 14px color-mix(in srgb, var(--rim-turn) 60%, transparent))}.hero-ground-shadow{background:radial-gradient(50% 100%,#0009 0%,#0000 100%);width:96px;height:8px;margin-top:-6px}.hero-stage-mount.hero-hurt .hero-sprite{animation:.78s steps(5,end) hero-hurt}.hero-stage-mount.hero-attacking .hero-sprite{animation:.55s cubic-bezier(.2,.8,.2,1) both hero-attack}.hero-stage-mount.hero-casting .hero-sprite{animation:.6s cubic-bezier(.2,.8,.2,1) both hero-cast-pulse}.hero-stage-mount.hero-dejected .hero-sprite{animation:.7s cubic-bezier(.3,.7,.4,1) both hero-dejected}@keyframes hero-attack{0%{transform:translate(0)}30%{transform:translate(-8px)}55%{filter:drop-shadow(0 0 10px rgba(var(--gold-rgb), .55));transform:translate(34px)}to{filter:none;transform:translate(0)}}@keyframes hero-cast-pulse{0%{transform:translateY(0)scale(1)}45%{filter:drop-shadow(0 0 12px rgba(var(--gold-rgb), .5));transform:translateY(-10px)scale(1.06)}to{filter:none;transform:translateY(0)scale(1)}}@keyframes hero-dejected{0%{filter:none;transform:translate(0)}25%{filter:brightness(.68)saturate(.5);transform:translate(-3px,6px)}55%{filter:brightness(.72)saturate(.55);transform:translate(2px,5px)}80%{filter:brightness(.86)saturate(.8);transform:translate(-1px,3px)}to{filter:none;transform:translate(0)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .hero-stage-mount.hero-attacking .hero-sprite,:root:not([data-motion=full]) .hero-stage-mount.hero-casting .hero-sprite,:root:not([data-motion=full]) .hero-stage-mount.hero-dejected .hero-sprite{animation:none}}@keyframes hero-hurt{0%,to{filter:none;transform:translate(0)}25%{filter:drop-shadow(0 0 8px rgba(var(--ember2-rgb),.7)) brightness(1.5) saturate(.4);transform:translate(-6px)}50%{filter:drop-shadow(0 0 8px rgba(var(--ember2-rgb),.7)) brightness(1.5) saturate(.4);transform:translate(5px)}75%{filter:drop-shadow(0 0 8px rgba(var(--ember2-rgb),.5)) brightness(1.2);transform:translate(-3px)}}.hero-sprite-fallback{filter:drop-shadow(3px 3px #0000008c);justify-content:center;align-items:center;font-size:4.5rem;display:flex}.hero-sprite-loading{background:var(--card2);border:1px solid var(--border);animation:.7s steps(2,end) infinite sprite-load-flicker}@keyframes sprite-load-flicker{0%{opacity:.45}50%{opacity:.18}to{opacity:.45}}.block-burst{pointer-events:none;z-index:3;--burst-tone:var(--pitch);--burst-tone-bright:#6fb0e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.block-burst-shield{--burst-tone:var(--gold);--burst-tone-bright:var(--gold2)}.block-burst-ring{border:3px solid var(--burst-tone);width:64px;height:64px;box-shadow:0 0 14px color-mix(in oklab, var(--burst-tone), transparent 50%), inset 0 0 10px color-mix(in oklab, var(--burst-tone), transparent 60%);animation:1.1s cubic-bezier(.16,.84,.28,1) forwards block-ring-expand;position:absolute}.block-burst-ring-2{border-color:var(--burst-tone-bright);animation-duration:1.15s;animation-delay:.14s}.block-burst-flash{background:radial-gradient(closest-side, color-mix(in oklab, var(--burst-tone-bright), transparent 30%) 0%, color-mix(in oklab, var(--burst-tone), transparent 70%) 40%, transparent 70%);mix-blend-mode:screen;width:130px;height:130px;animation:.85s ease-out forwards block-flash;position:absolute}.block-burst-shards{width:0;height:0;position:relative}.block-burst-shards span{background:var(--burst-tone-bright);width:4px;height:14px;box-shadow:0 0 8px var(--burst-tone-bright);opacity:0;transform-origin:50%;animation:1s cubic-bezier(.2,.7,.2,1) forwards block-shard;position:absolute;top:-7px;left:-2px}.block-burst-shards span:first-child{--shard-angle:0deg;animation-delay:70ms}.block-burst-shards span:nth-child(2){--shard-angle:60deg;animation-delay:.1s}.block-burst-shards span:nth-child(3){--shard-angle:120deg;animation-delay:.135s}.block-burst-shards span:nth-child(4){--shard-angle:180deg;animation-delay:.17s}.block-burst-shards span:nth-child(5){--shard-angle:240deg;animation-delay:.205s}.block-burst-shards span:nth-child(6){--shard-angle:300deg;animation-delay:.24s}@keyframes block-ring-expand{0%{opacity:0;transform:scale(.2)}18%{opacity:1}to{opacity:0;transform:scale(2.6)}}@keyframes block-flash{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes block-shard{0%{opacity:0;transform:rotate(var(--shard-angle,0deg)) translateY(-26px)}30%{opacity:1}to{opacity:0;transform:rotate(var(--shard-angle,0deg)) translateY(-90px)}}.buff-burst{pointer-events:none;z-index:3;--burst-tone:var(--pitch);--burst-tone-bright:#6fb0e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.buff-burst-str{--burst-tone:var(--gold);--burst-tone-bright:var(--gold2)}.buff-burst-ring{border:2px solid var(--burst-tone);width:56px;height:56px;box-shadow:0 0 10px color-mix(in oklab, var(--burst-tone), transparent 55%), inset 0 0 8px color-mix(in oklab, var(--burst-tone), transparent 65%);animation:1s cubic-bezier(.16,.84,.28,1) forwards buff-ring-rise;position:absolute}.buff-burst-flash{background:radial-gradient(closest-side, color-mix(in oklab, var(--burst-tone-bright), transparent 45%) 0%, color-mix(in oklab, var(--burst-tone), transparent 75%) 45%, transparent 72%);mix-blend-mode:screen;width:96px;height:96px;animation:.85s ease-out forwards buff-flash-soft;position:absolute}.buff-burst-glyph{color:var(--burst-tone-bright);text-shadow:1px 1px 0 #0d0b09, 0 0 10px color-mix(in oklab, var(--burst-tone-bright), transparent 40%);font-size:1.3rem;font-family:var(--font-system);letter-spacing:0;font-weight:700;animation:1s cubic-bezier(.16,.84,.28,1) forwards buff-glyph-rise;position:absolute}@keyframes buff-ring-rise{0%{opacity:0;transform:scale(.55)}20%{opacity:.95}to{opacity:0;transform:scale(1.85)}}@keyframes buff-flash-soft{0%{opacity:0;transform:scale(.45)}25%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}@keyframes buff-glyph-rise{0%{opacity:0;transform:translateY(6px)scale(.7)}25%{opacity:1;transform:translateY(-2px)scale(1.05)}to{opacity:0;transform:translateY(-22px)scale(.95)}}.enemy-fx-mount{flex-direction:column;align-items:center;display:flex;position:relative}.hero-buff-burst{pointer-events:none;z-index:3;--buff-tone:var(--gold);--buff-tone-bright:var(--gold2);position:absolute;inset:0}.hero-buff-burst-block{--buff-tone:var(--pitch);--buff-tone-bright:#6fb0e0}.hero-buff-burst-mixed{--buff-tone:var(--gold);--buff-tone-bright:var(--gold2)}.hero-buff-aura{background:radial-gradient(ellipse 50% 70% at 50% 100%, color-mix(in oklab, var(--buff-tone), transparent 25%) 0%, color-mix(in oklab, var(--buff-tone), transparent 65%) 35%, transparent 80%);mix-blend-mode:screen;width:96px;height:140px;animation:.9s cubic-bezier(.16,.84,.28,1) forwards hero-buff-aura;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-buff-halo{border:2px solid var(--buff-tone-bright);width:64px;height:12px;box-shadow:0 0 10px color-mix(in oklab, var(--buff-tone-bright), transparent 40%), inset 0 0 6px color-mix(in oklab, var(--buff-tone), transparent 50%);transform-origin:50%;animation:.7s cubic-bezier(.16,.84,.28,1) forwards hero-buff-halo;position:absolute;top:6px;left:50%;transform:translate(-50%)}.hero-buff-motes{width:0;height:0;position:absolute;bottom:0;left:50%}.hero-buff-motes span{background:var(--buff-tone-bright);width:4px;height:4px;box-shadow:0 0 6px var(--buff-tone-bright);opacity:0;animation:.9s cubic-bezier(.2,.7,.2,1) forwards hero-buff-mote;position:absolute}.hero-buff-burst-mixed .hero-buff-motes span:nth-child(2n){background:#6fb0e0;box-shadow:0 0 6px #6fb0e0}.hero-buff-motes span:first-child{animation-delay:20ms;bottom:-2px;left:-36px}.hero-buff-motes span:nth-child(2){animation-delay:.12s;bottom:-2px;left:-16px}.hero-buff-motes span:nth-child(3){animation-delay:60ms;bottom:-2px;left:4px}.hero-buff-motes span:nth-child(4){animation-delay:.16s;bottom:-2px;left:24px}.hero-buff-motes span:nth-child(5){animation-delay:.22s;bottom:12px;left:-24px}.hero-buff-motes span:nth-child(6){animation-delay:.26s;bottom:12px;left:16px}@keyframes hero-buff-aura{0%{opacity:0;transform:translate(-50%)scaleY(.5)}25%{opacity:1;transform:translate(-50%)scaleY(1)}to{opacity:0;transform:translate(-50%)scaleY(1.1)}}@keyframes hero-buff-halo{0%{opacity:0;transform:translate(-50%)scale(.4)}30%{opacity:1;transform:translate(-50%)scale(1.05)}to{opacity:0;transform:translate(-50%)scale(1.5)}}@keyframes hero-buff-mote{0%{opacity:0;transform:translateY(0)scale(.6)}30%{opacity:1;transform:translateY(-26px)scale(1)}to{opacity:0;transform:translateY(-72px)scale(.85)}}.enemy-nameplate-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.enemy-nameplate-id{flex-wrap:nowrap;align-items:baseline;gap:5px;min-width:0;display:inline-flex}.enemy-name{font-family:var(--font-voice);letter-spacing:.04em;text-shadow:2px 2px #000000b3,0 0 5px #0d0b09d9;overflow-wrap:anywhere;min-width:0;padding-top:2px;font-size:1rem;font-weight:900;line-height:1.35}.enemy-name-rule{background:var(--enemy-tone,var(--border2));width:64px;height:2px;box-shadow:2px 2px #0006}.enemy-status-row{flex-wrap:wrap;gap:6px;display:flex}.enemy-status-row-overlay{display:none}.enemy-status-pill{--spill:24px;width:var(--spill);height:var(--spill);box-shadow:none;font-family:var(--font-system);background:0 0;border:0;flex:none;padding:0;font-size:.62rem;font-weight:700;line-height:1;display:inline-block;position:relative}@media (width>=1024px) and (height>=600px){.hero-status-pill,.enemy-status-pill{--spill:38px}.vital-pills{height:44px}.vital-top :is(.hero-status-pill,.enemy-status-pill){--spill:40px}.vital-top>.vital-pills{height:46px}}@media (width>=1600px) and (height>=900px){.hero-status-pill,.enemy-status-pill{--spill:46px}.vital-pills{height:52px}.vital-top :is(.hero-status-pill,.enemy-status-pill){--spill:46px}.vital-top>.vital-pills{height:52px}}.enemy-status-pill.pill-str{color:var(--gold-ink);border-color:rgba(var(--gold-rgb),.45)}.enemy-status-pill.pill-blk{color:var(--pitch-ink);border-color:rgba(var(--pitch-rgb),.45)}.enemy-status-pill.pill-poison{color:#87cf6a;border-color:#87cf6a8c}.enemy-status-pill.pill-weak{color:var(--purple-ink);border-color:rgba(var(--purple2-rgb),.55)}.enemy-status-pill.pill-requiem{color:var(--ember-ink);border-color:rgba(var(--ember2-rgb),.55)}.enemy-status-pill.pill-regen,.hero-status-pill.pill-regen{color:var(--forest2);border-color:rgba(var(--forest2-rgb),.55)}.hero-status-pill.pill-kuota,.hero-status-pill.pill-groggy{color:var(--gold2);border-color:rgba(var(--gold2-rgb),.55)}.hero-status-pill.pill-torpe{color:var(--ember-ink);border-color:rgba(var(--ember-rgb),.55)}.hero-status-pill.pill-distorsion{color:var(--purple-ink);border-color:rgba(var(--purple2-rgb),.55)}.hero-status-pill.pill-tristeza{color:var(--pitch-ink);border-color:rgba(var(--pitch-rgb),.55);animation:1.6s ease-in-out infinite tristeza-pulse}.hero-status-pill.pill-burn,.enemy-status-pill.pill-burn{color:var(--ember-ink);border-color:rgba(var(--ember-rgb),.55)}@keyframes tristeza-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes distorsion-roll{0%{background-position:0 -110%}to{background-position:0 110%}}.enemy-hp-row{align-items:center;gap:8px;width:100%;max-width:320px;display:flex}.enemy-hp-label{font-family:var(--font-system);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:700}.enemy-hp-bar{background:var(--bg2);border:1px solid var(--border);flex:1;height:12px;position:relative;overflow:hidden}.enemy-hp-fill{height:100%;transition:width .5s cubic-bezier(.2,.7,.2,1)}.enemy-hp-fill.tier-hi{background:var(--forest);box-shadow:inset 0 -2px #00000059}.enemy-hp-fill.tier-mid{background:var(--gold);box-shadow:inset 0 -2px #00000059}.enemy-hp-fill.tier-lo{background:var(--ember2);animation:1.2s ease-in-out infinite hp-low-pulse;box-shadow:inset 0 -2px #00000059}@keyframes hp-low-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.35)}}.enemy-hp-text{font-family:var(--font-system);color:var(--text);text-shadow:1px 1px #0d0b09d9,0 0 3px #0d0b09b3;text-align:right;min-width:76px;font-size:.7rem;font-weight:700}.target-reticle{pointer-events:none;z-index:2;animation:1.4s ease-in-out infinite reticle-pulse;position:absolute;inset:-4px}.target-reticle-corner{border:2px solid var(--gold2);width:18px;height:18px;position:absolute;box-shadow:1px 1px #0009}.target-reticle-corner.tr-tl{border-bottom:none;border-right:none;top:0;left:0}.target-reticle-corner.tr-tr{border-bottom:none;border-left:none;top:0;right:0}.target-reticle-corner.tr-bl{border-top:none;border-right:none;bottom:0;left:0}.target-reticle-corner.tr-br{border-top:none;border-left:none;bottom:0;right:0}@keyframes reticle-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.enemy-column-targeted .enemy-fx-mount{filter:drop-shadow(0 0 12px rgba(var(--gold2-rgb),.45))}.battle-stage.stage-targeting .stage-side-player{opacity:.55}.targeting-panel{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:2px;animation:.2s both pop-in;display:flex;container-type:inline-size}@container (width<=165px){.targeting-panel .cmd-row-icon{display:none}.targeting-panel .cmd-menu-head{flex-wrap:wrap}.targeting-panel .cmd-menu-title{letter-spacing:.04em;flex-basis:100%;font-size:.82rem}.targeting-panel .cmd-menu-back{flex:auto;justify-content:center}}.targeting-hint{font-family:var(--font-voice);color:var(--muted);margin:0;font-size:.78rem}.targeting-panel .targeting-list{grid-template-columns:minmax(0,1fr);grid-auto-rows:72px;align-content:start;gap:5px}.targeting-panel .targeting-list .cmd-row{align-self:stretch;min-height:0;max-height:none}.cmd-row-icon{flex:none;justify-content:center;align-items:center;width:34px;height:34px;margin-left:-6px;display:inline-flex}.cmd-row-icon img{max-width:100%;max-height:100%;image-rendering:pixelated;filter:drop-shadow(1px 1px #000000b3)}.targeting-hp{color:var(--text2);align-items:baseline;gap:1px;display:inline-flex}.targeting-hp-k{letter-spacing:.12em;color:var(--muted);margin-right:5px;font-size:.58rem}.cmd-btn-aoe{border-color:rgba(var(--purple2-rgb),.55)}.cmd-btn-aoe-tag{font-family:var(--font-system);letter-spacing:.12em;color:var(--purple-ink);background:rgba(var(--surface-rgb),.65);border:1px solid rgba(var(--purple2-rgb),.55);text-shadow:1px 1px #000;padding:1px 5px;font-size:.58rem;font-weight:700;position:absolute;bottom:2px;right:4px}.cmd-btn-aoe .cmd-btn-aoe-tag{color:var(--purple-ink)}.cmd-row{--cut:9px;--row-cut:polygon(0 var(--cut), var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));text-align:left;cursor:pointer;width:100%;min-height:58px;max-height:128px;color:var(--text);font-family:var(--font-voice);clip-path:var(--row-cut);background:#f2e8d038;border:0;flex:auto;align-items:center;gap:9px;padding:16px 18px 16px 16px;transition:background .12s;display:flex;position:relative}.cmd-row-fill{z-index:0;clip-path:var(--row-cut);background:linear-gradient(180deg, rgba(var(--surface-rgb), .62), rgba(var(--surface-rgb), .76));pointer-events:none;position:absolute;inset:1px;box-shadow:inset 0 0 0 1px #0000008c,inset 0 1px #f2e8d014}.cmd-row>:not(.cmd-row-fill){z-index:1;position:relative}.cmd-row>.cmd-row-band,.cmd-row>.cmd-row-cost{z-index:1;position:absolute}.cmd-row-band{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:rgba(var(--surface-rgb), .92);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);white-space:nowrap;text-overflow:ellipsis;max-width:62%;padding:2px 15px 2px 11px;font-size:.54rem;font-weight:700;line-height:1.2;position:absolute;top:0;left:0;overflow:hidden;box-shadow:inset 0 1px #f2e8d01a,inset 0 -1px #00000080}.cmd-row-caret{color:#0000;text-align:center;flex:none;width:12px;font-size:.7rem;line-height:1}.cmd-row-name{letter-spacing:.01em;overflow-wrap:anywhere;flex:auto;min-width:0;font-weight:700;display:block}.cmd-row-cost{font-family:var(--font-system);color:var(--gold2);background:rgba(var(--surface-rgb), .92);clip-path:polygon(9px 0,100% 0,100% 100%,0 100%);white-space:nowrap;align-items:center;gap:5px;padding:2px 11px 2px 15px;font-size:.74rem;display:inline-flex;position:absolute;bottom:0;right:0;box-shadow:inset 0 -1px #f2e8d014,inset 0 1px #00000080}.cmd-row-more{color:var(--muted);flex:none;font-size:.72rem}.cmd-row-on{background:linear-gradient(90deg, rgba(var(--gold-rgb), .34), rgba(var(--surface-rgb), .4));box-shadow:inset 0 1px #f2e8d01f}.cmd-row-on>.lean-rim{--lean-rim-color:var(--gold2);--lean-lead-color:var(--gold2)}.cmd-row-on .cmd-row-caret{color:var(--gold2)}.cmd-row:not(.cmd-row-on)>.cmd-row-caret{display:none}.cmd-row-off{color:rgba(var(--text-rgb,242, 232, 208), .45);cursor:not-allowed}.cmd-row-off .cmd-row-cost{color:var(--ember-ink)}@media (hover:hover){.cmd-row:not(.cmd-row-off):hover>.cmd-row-fill{background:linear-gradient(90deg, rgba(var(--gold-rgb), .14), rgba(var(--surface-rgb), .88))}}.cmd-row:not(.cmd-row-off):active{transform:translate(1px,1px)}.cmd-row:focus-visible{outline:2px solid var(--gold2);outline-offset:-2px}.cmd-row-bronze{--cmd-tier:var(--rarity-bronze)}.cmd-row-silver{--cmd-tier:var(--rarity-silver)}.cmd-row-gold{--cmd-tier:var(--gold)}.cmd-row-bronze:after,.cmd-row-silver:after,.cmd-row-gold:after{content:"";background:var(--cmd-tier);z-index:1;width:2px;height:14px;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.cmd-row-on:after{display:none}:is(.command-box-actions .dungeon-tooltip-trigger:has(.cmd-row)>.tooltip-help-dot,.fan-tray .dungeon-tooltip-trigger:has(.cmd-row)>.tooltip-help-dot){top:1px;bottom:auto;right:12px;transform:none}.fan-cmd-row{font-size:.98rem}.fan-skill-row{font-size:.92rem}.cmd-row.cmd-row--art{--tile-stroke:drop-shadow(2px 0 0 var(--gold2)) drop-shadow(-2px 0 0 var(--gold2)) drop-shadow(0 2px 0 var(--gold2)) drop-shadow(0 -2px 0 var(--gold2));--tile-halo:drop-shadow(1.5px 0 0 #000000c7) drop-shadow(-1.5px 0 0 #000000c7) drop-shadow(0 1.5px 0 #000000c7) drop-shadow(0 -1.5px 0 #000000c7);text-align:center;clip-path:none;min-height:0;max-height:none;box-shadow:none;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px 2px}.cmd-row--art>.cmd-row-fill,.cmd-row--art>.cmd-row-caret,.cmd-row--art>.cmd-row-band{display:none}.cmd-row-art{aspect-ratio:1;flex:0 auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.cmd-row-art img{object-fit:contain;image-rendering:auto;width:100%;height:100%;filter:var(--tile-halo) drop-shadow(2px 2px 0 #00000073);transition:filter .12s ease-out;display:block}.cmd-row-art img.cmd-row-art--pixel{image-rendering:pixelated}.cmd-row--art>.cmd-row-name{overflow-wrap:normal;word-break:normal;text-shadow:1px 1px #000000d9,-1px 0 #0009,0 -1px #0009;flex:none;align-self:stretch;min-width:0;line-height:1.15}.cmd-row--art>.cmd-row-cost{box-shadow:none;clip-path:none;background:0 0;padding:0;inset:0 auto auto 0}.cmd-row--art .energy-cost,.cmd-row--art .cmd-tile-count,.shop-tile .shop-tile-cost{width:26px;height:26px;color:var(--gold2);background:rgba(var(--surface-rgb), .94);border:2px solid var(--gold);border-radius:50%;justify-content:center;padding:0;font-size:.86rem;font-weight:800;position:relative;box-shadow:1px 1px #0000008c}.cmd-row--art .energy-cost-spark{filter:drop-shadow(1px 1px #000000b3);margin:0;display:none;position:absolute;bottom:-5px;right:-6px}.cmd-row--art.cmd-row-off .energy-cost{color:var(--ember-ink);border-color:var(--ember)}.energy-cost-icon{object-fit:contain;width:1.1em;height:1.1em}.pool-coin--icon{position:relative}.pool-coin.pool-coin--icon,.cmd-row--art:not(.cmd-row-off) .energy-cost.energy-cost--icon{border-color:var(--yarn);color:var(--yarn-ink)}:is(.cmd-row--art .energy-cost,.pool-coin)>:is(.energy-cost-icon,.pool-coin-icon){object-fit:contain;filter:drop-shadow(1px 1px #000000b3);pointer-events:none;width:20px;height:20px;position:absolute;bottom:-7px;right:-9px}@media (width>=1024px) and (height>=600px){.cmd-row--art :is(.energy-cost,.cmd-tile-count){width:34px;height:34px;font-size:1.05rem}}.fan-item-tile .cmd-tile-count{font-size:.74rem}.fan-belt-tiles{padding-top:2px}.painted-art{object-fit:contain;image-rendering:auto;vertical-align:middle;filter:drop-shadow(1px 0 #000000b3)drop-shadow(-1px 0 #000000b3)drop-shadow(0 1px #000000b3)drop-shadow(0 -1px #000000b3);display:inline-block}.cmd-row--art>.cmd-row-more{position:absolute;top:5px;left:7px}.cmd-row--art.cmd-row-on .cmd-row-art img,.cmd-row--art:focus-visible .cmd-row-art img{filter:var(--tile-stroke) drop-shadow(2px 2px 0 #00000073)}.cmd-row--art:focus-visible{outline:none}.cmd-row--art.cmd-row-on>.cmd-row-name,.cmd-row--art:focus-visible>.cmd-row-name{color:var(--gold2)}@media (hover:hover){.cmd-row--art:not(.cmd-row-off):hover .cmd-row-art img{filter:var(--tile-stroke) drop-shadow(2px 2px 0 #00000073)}.cmd-row--art:not(.cmd-row-off):hover>.cmd-row-name{color:var(--gold2)}}.cmd-row--art.cmd-row-off .cmd-row-art img{filter:grayscale(1) brightness(.6) var(--tile-halo) drop-shadow(2px 2px 0 #00000073);opacity:.7}.cmd-tip{min-height:52px;font-family:var(--font-voice);color:var(--text2);overflow-wrap:anywhere;border-top:1px solid #8562368c;flex:none;margin:6px 0 0;padding:7px 2px 0;font-size:.78rem;line-height:1.4}.cmd-tip-idle{color:var(--muted);font-style:italic}.intent-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;width:100%;margin-top:1px;display:flex}.intent-sigil{background:rgba(var(--surface-rgb), .9);border:var(--rim-w) solid var(--intent-tone,var(--border));flex:none;place-items:center;width:20px;height:20px;display:grid;transform:rotate(45deg);box-shadow:2px 2px #00000080}.intent-sigil>*{line-height:1;transform:rotate(-45deg)}.intent-figure{font-family:var(--font-system);color:var(--ember-ink);text-shadow:1px 1px #000;font-size:.86rem;font-weight:700}.intent-label{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere;min-width:0;font-size:.58rem}.intent-note{font-family:var(--font-voice);color:var(--text2);text-align:center;flex:100%;font-size:.62rem;line-height:1.3}.dmg-popup-layer{pointer-events:none;z-index:4;width:1px;height:1px;position:absolute}.dmg-popup-enemy{top:38%;left:25%}.dmg-popup-player{top:38%;left:75%}.dmg-popup{font-family:var(--font-system);font-variant-numeric:tabular-nums;white-space:nowrap;transform-origin:50% 100%;text-shadow:0 2px 0 rgba(var(--surface-rgb), 1), 2px 0 0 rgba(var(--surface-rgb), 1), -2px 0 0 rgba(var(--surface-rgb), 1), 0 -2px 0 rgba(var(--surface-rgb), 1), 4px 5px 0 #000000bf;--drift-x:0px;--drift-r:0deg;font-size:2.5rem;font-weight:800;line-height:1;animation:1.5s cubic-bezier(.18,1.4,.4,1) forwards dmg-pop;position:absolute;top:0;left:0}.dmg-popup-damage{color:var(--text)}.dmg-popup-crit{color:var(--ember-ink);text-shadow:0 2px 0 rgba(var(--surface-rgb), 1), 2px 0 0 rgba(var(--surface-rgb), 1), -2px 0 0 rgba(var(--surface-rgb), 1), 0 -2px 0 rgba(var(--surface-rgb), 1), 4px 5px 0 #000000bf, 0 0 18px rgba(var(--ember-rgb), .55);font-size:3.4rem;animation:1.6s cubic-bezier(.18,1.4,.4,1) forwards dmg-pop-crit}.dmg-popup-heal{color:var(--forest2);text-shadow:0 2px 0 rgba(var(--surface-rgb), 1), 2px 0 0 rgba(var(--surface-rgb), 1), -2px 0 0 rgba(var(--surface-rgb), 1), 0 -2px 0 rgba(var(--surface-rgb), 1), 4px 5px 0 #000000bf, 0 0 16px rgba(var(--forest2-rgb), .45)}.dmg-popup-block,.dmg-popup-miss{letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .86);box-shadow:inset 0 0 0 var(--rim-w) var(--chip-rim,var(--border)), 2px 2px 0 #00000080;text-shadow:none;padding:3px 9px;font-size:1.05rem;font-weight:800}.dmg-popup-block{color:var(--pitch-ink);--chip-rim:var(--pitch)}.dmg-popup-miss{color:var(--text2);--chip-rim:var(--border)}.dmg-popup-miss:before{content:"✗ ";color:var(--text2)}.dmg-popup-buff{color:var(--gold2);font-size:1.5rem}@keyframes dmg-pop{0%{opacity:0;transform:translate(-50%, 20px) scale(.5) rotate(var(--drift-r))}14%{opacity:1;transform:translate(calc(-50% + var(--drift-x) * .4), -30px) scale(1.35) rotate(var(--drift-r))}26%{transform:translate(calc(-50% + var(--drift-x) * .5), -36px) scale(.98) rotate(var(--drift-r))}42%{transform:translate(calc(-50% + var(--drift-x) * .7), -46px) scale(1.06) rotate(var(--drift-r))}to{opacity:0;transform:translate(calc(-50% + var(--drift-x)), -78px) scale(.92) rotate(var(--drift-r))}}@keyframes dmg-pop-crit{0%{opacity:0;transform:translate(-50%, 24px) scale(.4) rotate(calc(var(--drift-r) * -1))}12%{opacity:1;transform:translate(calc(-50% + var(--drift-x) * .3), -34px) scale(1.55) rotate(var(--drift-r))}24%{transform:translate(calc(-50% + var(--drift-x) * .5), -40px) scale(1.02) rotate(var(--drift-r))}38%{transform:translate(calc(-50% + var(--drift-x) * .7), -50px) scale(1.14) rotate(var(--drift-r))}to{opacity:0;transform:translate(calc(-50% + var(--drift-x)), -92px) scale(.95) rotate(var(--drift-r))}}.battle-log-strip{background:var(--card);border:var(--rim-w) solid var(--border);border-top:1px solid var(--border2);font-family:var(--font-system);color:var(--text2);letter-spacing:.02em;flex-direction:column;justify-content:flex-end;gap:2px;min-height:30px;max-height:56px;padding:6px 14px;font-size:.72rem;display:flex;overflow:hidden}.move-banner{--mb-tone:var(--gold);--mb-tone-rgb:var(--gold-rgb);--mb-tone2:var(--gold2);z-index:var(--z-banner);pointer-events:none;background:linear-gradient(180deg, rgba(var(--surface-rgb), .9), rgba(var(--surface-rgb), .96));border:var(--rim-w) solid var(--mb-tone);text-align:left;flex-direction:row;justify-content:center;align-items:baseline;gap:10px;min-height:0;padding:5px 16px 6px;animation:.26s cubic-bezier(.2,.8,.2,1) both move-banner-in;display:flex;position:fixed;top:84px;left:50%;box-shadow:inset 0 1px #f2e8d01f,3px 3px #0000008c}.move-banner-actor{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--mb-tone2);white-space:nowrap;font-size:.6rem;font-weight:700}.move-banner-skill{font-family:var(--font-voice);letter-spacing:.02em;color:var(--text);text-shadow:1px 1px #0d0b09;font-size:1.02rem;font-weight:800;line-height:1.1}.move-banner-player{--mb-tone:var(--gold);--mb-tone-rgb:var(--gold-rgb);--mb-tone2:var(--gold2)}.move-banner-enemy{--mb-tone:var(--ember);--mb-tone-rgb:var(--ember-rgb);--mb-tone2:var(--ember2)}.move-banner{border-radius:var(--radius);align-items:center}.move-banner-mark{--mk:var(--mb-tone);--mk-ink:var(--mb-tone2);width:26px;height:26px;font-family:var(--font-system);color:var(--mk-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--mk);background:#0000005c;border-radius:50%;flex:none;place-items:center;font-size:1rem;font-weight:900;line-height:1;display:inline-grid}.move-banner-mark>:is(img,svg,span){place-items:center;width:18px;height:18px;display:grid}.move-banner--crit .move-banner-mark{--mk:var(--ember);--mk-ink:var(--ember-ink)}.move-banner--miss .move-banner-mark,.move-banner--flee .move-banner-mark{--mk:var(--border);--mk-ink:var(--text2)}.move-banner--guard .move-banner-mark{--mk:var(--pitch);--mk-ink:var(--pitch-ink)}.move-banner--down .move-banner-mark{--mk:var(--ember);--mk-ink:var(--ember-ink)}.move-banner--back .move-banner-mark{--mk:var(--forest);--mk-ink:var(--forest-ink)}.move-banner--level .move-banner-mark,.move-banner--xp .move-banner-mark,.move-banner--learn .move-banner-mark{--mk:var(--gold2);--mk-ink:var(--gold-ink)}.move-banner--expire .move-banner-mark{position:relative}.move-banner--expire .move-banner-mark>*{opacity:.45}.move-banner--expire .move-banner-mark:after{content:"";border-top:var(--rim-w) solid var(--mk-ink);position:absolute;top:50%;left:4px;right:4px;transform:rotate(-40deg)}@keyframes move-banner-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (width<=900px){.move-banner{top:calc(128px + env(safe-area-inset-top));min-width:176px;padding:8px 22px 10px}.move-banner-skill{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .move-banner{animation:none}}.pfx{image-rendering:pixelated;pointer-events:none;z-index:5;background-repeat:no-repeat;position:absolute}@keyframes pfx-x{0%{background-position-x:0}to{background-position-x:calc(-1 * var(--pfx-cols) * var(--pfx-w))}}@keyframes pfx-y{0%{background-position-y:0}to{background-position-y:calc(-1 * var(--pfx-rows) * var(--pfx-h))}}@keyframes pfx-cut{0%{opacity:1}to{opacity:0}}@keyframes pfx-fall{0%{translate:var(--pfx-fall-x) var(--pfx-fall-y);animation-timing-function:steps(4,end)}25%{translate:calc(var(--pfx-fall-x) * .88) calc(var(--pfx-fall-y) * .88);animation-timing-function:steps(4,end)}50%{translate:calc(var(--pfx-fall-x) * .68) calc(var(--pfx-fall-y) * .68);animation-timing-function:steps(4,end)}75%{translate:calc(var(--pfx-fall-x) * .4) calc(var(--pfx-fall-y) * .4);animation-timing-function:steps(4,end)}to{translate:0}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .pfx{background-position:var(--pfx-hold-x) var(--pfx-hold-y);opacity:1;animation:none}}.gmenu-scrim{z-index:var(--z-scrim);-webkit-backdrop-filter:blur(3px)saturate(.72)brightness(.62);backdrop-filter:blur(3px)saturate(.72)brightness(.62);background:radial-gradient(130% 100%,#00000075,#000000d1 100%);justify-content:center;align-items:center;padding:10px;display:flex;position:fixed;inset:0}.gmenu-scene{pointer-events:none;position:absolute;inset:0;overflow:hidden}.gmenu-scrim:has(>.gmenu-scene){-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000004d}.gmenu-scene .menu-stage__veil{position:absolute;inset:0}.gmenu{--gmenu-rail:68px;--gmenu-plinth:104px;--gmenu-tile-portrait:54px;background:radial-gradient(128% 58% at 50% -8%, rgba(var(--gold-rgb), .11), transparent 64%), repeating-linear-gradient(0deg, #f2e8d004 0 1px, transparent 1px 4px), linear-gradient(180deg, rgba(var(--card2-rgb), 1) 0%, rgba(var(--card2-rgb), .94) 42%, rgba(var(--surface-rgb), .95) 92%, rgba(var(--surface-rgb), 1) 100%);border:var(--rim-w) solid var(--border);width:100%;max-width:1100px;min-height:0;max-height:100%;box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb), .2), inset 0 1px 0 #f2e8d024;--gmenu-cut:var(--plate-clip);clip-path:var(--gmenu-cut);border-radius:var(--radius);flex-direction:column;display:flex;position:relative}.gmenu:before{content:"";z-index:-1;clip-path:var(--gmenu-cut);pointer-events:none;background:#00000080;position:absolute;inset:0;transform:translate(8px,8px)}.gmenu:focus-visible{outline:none}.gmenu-head{border-bottom:1px solid rgba(var(--gold-rgb), .42);background:linear-gradient(180deg, rgba(var(--card2-rgb), .92), rgba(var(--surface-rgb), .62));flex-wrap:wrap;flex:none;align-items:center;gap:4px 10px;padding:7px 10px 7px 14px;display:flex;box-shadow:0 1px #0000008c,inset 0 1px #f2e8d012}.gmenu-title{min-width:0;font-family:var(--font-voice);letter-spacing:.12em;color:var(--gold2);text-shadow:2px 2px #000000b3;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin:0;font-size:1.02rem;font-weight:900;overflow:hidden}.gmenu-sub{min-width:0;font-family:var(--font-voice);letter-spacing:.01em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:.74rem;font-style:italic;overflow:hidden}.gmenu-purse{font-family:var(--font-system);color:var(--gold-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000052;align-items:center;gap:4px;margin-left:auto;padding:3px 9px;font-size:.8rem;font-weight:700;display:inline-flex}.gmenu-close{min-height:44px;font-family:var(--font-voice);letter-spacing:.1em;color:var(--text2);background:rgba(var(--surface-rgb), .85);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01f, 2px 2px 0 #00000080;border:none;align-items:center;gap:7px;padding:0 12px;font-size:.7rem;font-weight:900;display:inline-flex}.gmenu-close-x{color:var(--gold-ink);font-size:.86rem;line-height:1}.gmenu-close:active{box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01f, 1px 1px 0 #00000080;transform:translate(1px,1px)}.gmenu-close:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:hover){.gmenu-close:hover{color:var(--gold-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d01f, 2px 2px 0 #00000080}}.gmenu-body{grid-template-columns:var(--gmenu-rail) minmax(0, 1fr) minmax(0, 1.04fr);flex:auto;min-height:0;display:grid}.gmenu-body-single{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 10px;padding:0 11px 0 0}.gmenu-tiles{border-right:1px solid rgba(var(--gold-rgb), .22);scrollbar-width:none;background:repeating-linear-gradient(90deg,#f2e8d006 0 1px,#0000 1px 5px),#0000004d;flex-direction:column;gap:7px;min-height:0;padding:8px 7px;display:flex;overflow-y:auto}.gmenu-tiles::-webkit-scrollbar{display:none}.gmenu-tile{background:0 0;border:none;width:100%;min-height:44px;padding:0;display:block}.gmenu-tile-face{border-top:2px solid var(--class-tone,var(--border));justify-items:center;gap:3px;padding:5px 3px 6px;display:grid}.gmenu-tile-portrait{width:100%;height:var(--gmenu-tile-portrait);box-shadow:inset 0 0 0 var(--rim-w) var(--border);display:block}.gmenu-tile-gauge{width:100%;height:4px;box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb), .2);background:#0009}.gmenu-tile-gauge-fill{background:var(--forest);height:100%;display:block}.gmenu-tile-gauge-fill.tier-mid{background:var(--gold)}.gmenu-tile-gauge-fill.tier-lo{background:var(--ember)}.gmenu-tile .cmd-level-chip{padding:1px 4px;font-size:.54rem}.gmenu-tile-on{position:relative}.gmenu-tile-on>.splate-face{background:linear-gradient(180deg, rgba(var(--card2-rgb), .92), rgba(var(--surface-rgb), .9));box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 0 0 2px rgba(var(--surface-rgb), .6), inset 0 1px 0 #f2e8d02e, 0 0 9px rgba(var(--gold-rgb), .3)}.gmenu-tile-on:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:6px solid var(--gold2);pointer-events:none;z-index:2;width:0;height:0;position:absolute;top:50%;right:-7px;transform:translateY(-50%)}.gmenu-tile-down{opacity:.5;filter:grayscale(.7)}.gmenu-tile:active{transform:translate(1px,1px)}.gmenu-tile:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:hover){.gmenu-tile:not(.gmenu-tile-on):hover>.splate-face{box-shadow:inset 0 0 0 var(--rim-w) var(--border2), inset 0 1px 0 #f2e8d024}}.gmenu-sheet{border-right:1px solid rgba(var(--gold-rgb), .22);scrollbar-width:none;min-height:0;padding:9px 11px 10px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 12px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 12px),#0000 100%)}.gmenu-sheet::-webkit-scrollbar{display:none}.gmenu-hero{flex-direction:column;gap:9px;display:flex}.gmenu-hero-down{opacity:.62;filter:grayscale(.55)}.gmenu-hero-top{align-items:flex-start;gap:10px;display:flex}.gmenu-plinth{width:var(--gmenu-plinth);height:var(--gmenu-plinth);box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000005c;flex:none;position:relative;overflow:hidden}.gmenu-plinth .char-portrait{position:absolute;inset:0}.gmenu-plinth:after{content:"";background:var(--class-tone,var(--gold));opacity:.8;height:2px;position:absolute;bottom:0;left:0;right:0}.gmenu-hero-id{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.gmenu-hero-name{font-family:var(--font-voice);letter-spacing:.03em;color:var(--text);text-shadow:1px 1px #0009;overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:900}.gmenu-hero-sub{align-items:center;gap:7px;min-width:0;margin-bottom:2px;display:flex}.gmenu-hero-epithet{min-width:0;font-family:var(--font-voice);color:var(--muted);flex:auto;font-size:.68rem;font-style:italic;line-height:1.25}.gmenu-gauge-row{align-items:center;gap:6px;min-width:0;display:flex}.gmenu-gauge-k{flex:none;display:inline-flex}.gmenu-gauge{min-width:0;height:9px;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000008c;flex:auto}.gmenu-gauge-fill{background:var(--forest);height:100%;display:block;box-shadow:inset 0 1px #f2e8d038}.gmenu-gauge-fill.tier-mid{background:var(--gold)}.gmenu-gauge-fill.tier-lo{background:var(--ember)}.gmenu-gauge-xp{height:6px}.gmenu-gauge-fill-xp{background:var(--pitch)}.gmenu-gauge-v{font-family:var(--font-system);color:var(--text2);flex:none;font-size:.7rem;font-weight:700}.gmenu-hero-tally{flex-wrap:wrap;gap:8px;margin-top:1px;display:flex}.gmenu-tally-item{font-family:var(--font-system);color:var(--gold-ink);align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:inline-flex}.gmenu-kit-scroll .fan-stat-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:0;display:grid}.gmenu-kit-scroll .fan-stat-row{padding:2px 0}.gmenu-kit-scroll .fan-stat-row:last-child{border-bottom:1px dashed rgba(var(--gold-rgb), .16)}.gmenu-kit-scroll .fan-stat-row:nth-last-child(-n+2){border-bottom:0}.gmenu-kit{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 10px;gap:6px;min-height:0;padding:9px 8px 10px 10px;display:grid}.gmenu-tabs{flex:none;grid-column:1/3;gap:5px;min-width:0;display:flex;container:gmenu-tabs/inline-size}@container gmenu-tabs (width<=767px){.gmenu-tabs[data-count="6"]>.gmenu-tab{flex:none;min-width:44px;padding:0 10px}.gmenu-tabs[data-count="6"]>.gmenu-tab:not(.gmenu-tab-on) :is(.gmenu-tab-word,.gmenu-tab-count){display:none}.gmenu-tabs[data-count="6"]>.gmenu-tab-on{flex:auto;min-width:0}}@container gmenu-tabs (width<=639px){.gmenu-tabs[data-count="5"]>.gmenu-tab{flex:none;min-width:44px;padding:0 10px}.gmenu-tabs[data-count="5"]>.gmenu-tab:not(.gmenu-tab-on) :is(.gmenu-tab-word,.gmenu-tab-count){display:none}.gmenu-tabs[data-count="5"]>.gmenu-tab-on{flex:auto;min-width:0}}@container gmenu-tabs (width<=511px){.gmenu-tabs[data-count="4"]>.gmenu-tab{flex:none;min-width:44px;padding:0 10px}.gmenu-tabs[data-count="4"]>.gmenu-tab:not(.gmenu-tab-on) :is(.gmenu-tab-word,.gmenu-tab-count){display:none}.gmenu-tabs[data-count="4"]>.gmenu-tab-on{flex:auto;min-width:0}}@container gmenu-tabs (width<=383px){.gmenu-tabs[data-count="3"]>.gmenu-tab{flex:none;min-width:44px;padding:0 10px}.gmenu-tabs[data-count="3"]>.gmenu-tab:not(.gmenu-tab-on) :is(.gmenu-tab-word,.gmenu-tab-count){display:none}.gmenu-tabs[data-count="3"]>.gmenu-tab-on{flex:auto;min-width:0}}.gmenu-tab{cursor:pointer;min-width:0;min-height:44px;font-family:var(--font-voice);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:rgba(var(--surface-rgb), .85);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01f, 2px 2px 0 #00000080;border:none;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:.64rem;font-weight:900;display:inline-flex;position:relative}.gmenu-tab-ico{flex:none;line-height:1;display:inline-flex}.gmenu-tab-word{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.gmenu-tab-count{font-family:var(--font-system);letter-spacing:.04em;color:var(--muted);flex:none;font-size:.9em}.gmenu-tab-on{color:var(--gold2);background:linear-gradient(180deg, rgba(var(--card2-rgb), .95), rgba(var(--gold-rgb), .14));box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d02e, 2px 2px 0 #00000080}.gmenu-tab-on .gmenu-tab-count{color:var(--gold-ink)}.gmenu-tab-on:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid var(--gold2);pointer-events:none;width:0;height:0;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.gmenu-tab:active{box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01f, 1px 1px 0 #00000080;transform:translate(1px,1px)}.gmenu-tab:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:hover){.gmenu-tab:not(.gmenu-tab-on):hover{color:var(--text2);box-shadow:inset 0 0 0 var(--rim-w) var(--border2), inset 0 1px 0 #f2e8d024, 2px 2px 0 #00000080}}.gmenu-kit-scroll{scrollbar-width:none;flex-direction:column;grid-row:2;gap:9px;min-width:0;min-height:0;padding:12px 12px 0;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 14px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 14px),#0000 100%)}.gmenu-kit-scroll::-webkit-scrollbar{display:none}.gmenu-kit-rail{grid-row:2;margin:0}.gmenu-bag{gap:6px}.gmenu-bag .hud-inv-slot{aspect-ratio:auto;max-width:96px;height:54px}.gmenu-kit-scroll .fan-gear,.gmenu-kit-scroll .fan-hud-hand{gap:8px;padding:0}.gmenu-empty{font-family:var(--font-voice);color:var(--muted);margin:0;font-size:.74rem;font-style:italic}.gmenu-foot{padding:6px 12px max(6px, env(safe-area-inset-bottom));border-top:1px solid rgba(var(--gold-rgb), .3);background:linear-gradient(180deg, rgba(var(--surface-rgb), .5), #0000006b);flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex;box-shadow:inset 0 1px #00000080}.fan-pmenu-bag{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.fan-pmenu-outfits{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fan-pmenu-outfit{border:1px solid rgba(var(--gold-rgb), .25);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .6);font-family:var(--font-system);align-items:center;gap:6px;padding:2px 8px 2px 2px;font-size:12px;display:flex}.fan-pmenu-outfit img{object-fit:contain;width:32px;height:32px}.fan-pmenu-outfit.is-worn{border-color:var(--gold)}.gmenu-actions{flex:none;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.gmenu-actions .plate-btn{padding-inline:13px}.gmenu-actions .status-confirm{flex-wrap:wrap;gap:6px}.gmenu-actions .status-confirm-text{font-size:.72rem}.gmenu-dialog{--gmenu-cut:var(--plate-clip-lg);border-radius:var(--radius-lg);max-width:720px;max-height:min(88dvh,780px);box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb), .5), inset 0 0 0 4px rgba(var(--surface-rgb), .9), inset 0 0 0 5px rgba(var(--gold-rgb), .22), inset 0 5px 0 #f2e8d012}.gmenu-dialog .gmenu-head{box-shadow:none;background:0 0;border-bottom:none;flex-direction:column;align-items:center;gap:1px;padding:16px 26px 0}.gmenu-dialog .gmenu-title{letter-spacing:.06em;text-align:center;flex:none;font-size:1.24rem}.gmenu-dialog .gmenu-sub{white-space:normal;text-align:center;max-width:100%}.gmenu-body-fill{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding:10px 16px 16px}.gmenu-fill{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.gmenu-fill>.pick-scope-body{grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.gmenu-scroll{scrollbar-width:none;min-width:0;min-height:0;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 18px),#0000 100%)}.gmenu-scroll::-webkit-scrollbar{display:none}.gmenu-rail{pointer-events:none;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000080;align-self:stretch;margin:2px 0;position:relative}.gmenu-rail-thumb{background:rgba(var(--surface-rgb), .95);min-height:22px;box-shadow:inset 0 0 0 var(--rim-w) var(--border2), inset 0 1px 0 #f2e8d038;position:absolute;left:0;right:0}.gmenu-rule{background:linear-gradient(90deg, transparent, rgba(var(--gold-rgb), .5) 14%, rgba(var(--gold-rgb), .5) 86%, transparent);flex:none;height:1px;margin:13px 34px 4px;position:relative}.gmenu-rule:before,.gmenu-rule:after{content:"";background:var(--gold2);width:5px;height:5px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.gmenu-rule:before{left:-9px}.gmenu-rule:after{right:-9px}.gmenu-dialog:has(.confirm-sheet-body){max-width:460px}.confirm-sheet-body{font-family:var(--font-voice);color:var(--text2);text-align:center;margin:0;padding:6px 22px 14px;line-height:1.45}.gmenu-dialog .gmenu-foot{border-top:1px solid rgba(var(--gold-rgb), .22);box-shadow:none;padding:10px 14px max(12px, env(safe-area-inset-bottom));background:0 0;justify-content:center}.gmenu-close-wide{min-width:min(260px,70%);min-height:44px;font-family:var(--font-voice);letter-spacing:.12em;color:var(--gold2);background:rgba(var(--surface-rgb), .92);box-shadow:inset 0 0 0 var(--rim-w) var(--border2), inset 0 1px 0 #f2e8d029, 3px 3px 0 #00000080;border:none;padding:0 28px;font-size:.82rem;font-weight:900}.gmenu-close-wide:active{box-shadow:inset 0 0 0 var(--rim-w) var(--border2), inset 0 1px 0 #f2e8d029, 1px 1px 0 #00000080;transform:translate(2px,2px)}@media (hover:hover){.gmenu-close-wide:hover{background:rgba(var(--gold-rgb), .14);color:var(--text)}}@media (width>=1000px) and (height>=640px){.gmenu{--gmenu-rail:88px;--gmenu-plinth:200px;--gmenu-tile-portrait:76px;max-height:min(100%,620px)}.gmenu-head{padding:10px 14px 10px 20px}.gmenu-title{font-size:1.2rem}.gmenu-hero-name{font-size:1.24rem}.gmenu-hero-epithet{font-size:.78rem}.gmenu-sheet,.gmenu-kit{padding-top:14px}.gmenu-kit-scroll .fan-stat-row{padding:4px 0}}@media (height<=345px){.gmenu{--gmenu-plinth:72px}.gmenu-head{padding:4px 8px 4px 12px}.gmenu-title{font-size:.92rem}.gmenu-close{padding:0 10px}.gmenu-sheet,.gmenu-kit{padding-top:7px;padding-bottom:5px}.gmenu-hero{gap:6px}.gmenu-hero-top{gap:8px}.gmenu-hero-name{font-size:.9rem}.gmenu-hero-epithet{font-size:.64rem}.gmenu-bag .hud-inv-slot{height:44px}.gmenu{--gmenu-tile-portrait:32px}.gmenu-tiles{gap:5px;padding:6px}.gmenu-tile-face{gap:2px;padding:3px 3px 4px}.gmenu-foot{padding:4px 10px max(4px, env(safe-area-inset-bottom))}}@media (orientation:portrait) and (width<=1000px){.gmenu-body{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.gmenu-body-single{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 10px}.gmenu-body-fill{grid-template-columns:minmax(0,1fr)}.gmenu-tiles{border-right:none;border-bottom:1px solid rgba(var(--gold-rgb), .22);flex-direction:row;overflow-y:visible}.gmenu-tile{width:88px}.gmenu-tile-on:after{border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--gold2);border-bottom:0;top:auto;bottom:-7px;right:50%;transform:translate(50%)}.gmenu-sheet{border-right:none;border-bottom:1px solid rgba(var(--gold-rgb), .22);overflow-y:visible}.gmenu-kit-scroll .fan-stat-table{grid-template-columns:repeat(3,minmax(0,1fr))}.gmenu-kit-scroll .fan-stat-row:nth-last-child(-n+2){border-bottom:1px dashed rgba(var(--gold-rgb), .16)}.gmenu-kit-scroll .fan-stat-row:nth-last-child(-n+3){border-bottom:0}}.app-header,.title-status,.lb-head{padding-top:max(12px, env(safe-area-inset-top));padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right))}.combat-tray:has(*){padding-bottom:max(0px, env(safe-area-inset-bottom))}:root{--stage-stagger:16px}.battle-stage .enemy-row:not(.enemy-row-elgar)>:nth-child(2n){margin-bottom:var(--stage-stagger)}.battle-stage .fan-party-row>:nth-child(2n){margin-bottom:0;margin-right:calc(var(--stage-stagger) * 2)}.battle-stage.stage-spotlight .battle-bg{filter:saturate(.12)brightness(.26)blur(1vmin)}.stage-danger{z-index:2;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(var(--ember-rgb), .55), inset 0 0 58px 10px rgba(var(--ember-rgb), .3);animation:.26s ease-out both stage-danger-in,2.2s ease-in-out .26s infinite stage-danger-pulse;position:absolute;inset:0}@keyframes stage-danger-in{0%{opacity:0}to{opacity:1}}@keyframes stage-danger-pulse{0%,to{opacity:1}50%{opacity:.45}}.stage-spotlight .enemy-column:not(.spot-actor):not(.spot-struck) .enemy-fx-mount,.stage-spotlight .enemy-column:not(.spot-actor):not(.spot-struck) .enemy-readout,.stage-spotlight .stage-side-player:not(.spot-actor):not(.spot-struck) .hero-stage-mount{filter:saturate(.15)brightness(.3)blur(1.5px)}.stage-spotlight .spot-actor .enemy-fx-mount,.stage-spotlight .spot-actor .hero-stage-mount{transform-origin:50% 88%;filter:drop-shadow(1px 0 0 var(--spot-rim)) drop-shadow(-1px 0 0 var(--spot-rim)) drop-shadow(0 1px 0 var(--spot-rim)) drop-shadow(0 -1px 0 var(--spot-rim)) drop-shadow(0 0 10px var(--spot-rim)) brightness(1.12);transform:scale(1.1)}.enemy-column{--spot-rim:var(--ember2)}.fan-hero-card,.stage-side-player{--spot-rim:var(--gold2)}.stage-spotlight .spot-struck .enemy-fx-mount,.stage-spotlight .spot-struck .hero-stage-mount{transform-origin:50% 88%;filter:brightness(1.08);transform:scale(1.06)}.enemy-fx-mount,.hero-stage-mount{transition:transform .17s,filter .17s}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .enemy-fx-mount,:root:not([data-motion=full]) .hero-stage-mount{transition:none}:root:not([data-motion=full]) .stage-spotlight .spot-actor .enemy-fx-mount,:root:not([data-motion=full]) .stage-spotlight .spot-actor .hero-stage-mount,:root:not([data-motion=full]) .stage-spotlight .spot-struck .enemy-fx-mount,:root:not([data-motion=full]) .stage-spotlight .spot-struck .hero-stage-mount{transform:none}}.command-box{border:2px solid var(--border2);box-shadow:6px 6px 0 #00000073, inset 0 0 0 1px rgba(var(--surface-rgb),.6);background:linear-gradient(#231e1b 0%,#1a1614 100%);flex-direction:column;display:flex;position:relative}.command-box:before{content:"";pointer-events:none;border:1px solid #6b4c2a8c;position:absolute;inset:4px}.command-box-status{border-bottom:1px solid var(--border);background:rgba(var(--surface-rgb),.35);flex-flow:wrap;align-items:center;gap:8px 16px;padding:10px 16px;display:flex}.status-energy-row{align-items:center;gap:10px;display:flex}.status-energy-label{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:700}.energy-gems{flex-wrap:wrap;gap:4px;max-width:232px;display:flex}.energy-gem{background:rgba(var(--surface-rgb),.65);border:1px solid var(--border);width:22px;height:22px;color:rgba(var(--gold2-rgb),.2);text-shadow:1px 1px #000000b3;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s,box-shadow .12s,border-color .12s;display:inline-flex}.energy-gem.full{background:rgba(var(--gold-rgb),.18);border-color:var(--gold2);color:var(--gold2);box-shadow:inset 0 -3px 0 #00000059, 0 0 6px rgba(var(--gold2-rgb),.55)}.status-energy-count{font-family:var(--font-system);color:var(--gold2);align-items:baseline;gap:1px;font-size:.78rem;font-weight:700;display:inline-flex}.status-energy-count-sep{color:var(--muted);margin:0 1px}.status-strip-row{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.status-chip{font-family:var(--font-system);letter-spacing:.1em;border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb),.5);color:var(--text2);text-transform:uppercase;padding:2px 7px;font-size:.6rem;font-weight:700}.status-chip.chip-block{color:var(--pitch-ink);border-color:rgba(var(--pitch-rgb),.45)}.status-chip.chip-str{color:var(--gold-ink);border-color:rgba(var(--gold-rgb),.45)}.status-chip.chip-curse{color:var(--purple-ink);border-color:rgba(var(--purple2-rgb),.55)}.status-items{gap:4px;margin-left:auto;display:flex}.status-item-btn{background:var(--bg2);border:var(--rim-w) solid var(--border);border-radius:0;padding:4px 8px;font-size:1.05rem;transition:border-color .12s,transform 80ms,box-shadow .12s;box-shadow:2px 2px #00000073}@media (hover:hover){.status-item-btn:hover{border-color:var(--gold2);box-shadow:3px 3px #0000008c}}.command-box-actions{flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex}.commands-grid{scrollbar-gutter:stable;flex:1;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:minmax(88px,1fr);gap:6px;min-height:0;display:grid;overflow-y:auto}.commands-grid-upgrade{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));grid-auto-rows:auto;gap:16px;width:100%}.commands-grid-upgrade .cmd-btn{padding-bottom:26px}@media (width<=720px){.commands-grid.commands-grid-upgrade{gap:12px;grid-template-columns:1fr!important}}.cmd-upgrade-cost{font-family:var(--font-system);color:var(--gold2);font-size:.74rem;font-weight:700;position:absolute;bottom:6px;right:8px}.cmd-upgrade-cost-locked{color:var(--muted)}.cmd-upgrade-cost-maxed{color:var(--gold-ink);letter-spacing:.08em}.cmd-btn{background:rgba(var(--surface-rgb),.55);border:var(--rim-w) solid var(--border);font-family:var(--font-voice);cursor:pointer;text-align:left;box-sizing:border-box;border-left:3px solid;border-radius:0;grid-template:"corner rarity cost""name name name""desc desc desc"1fr/auto 1fr auto;gap:6px 8px;width:100%;height:100%;min-height:92px;padding:10px 10px 18px;transition:transform 80ms,box-shadow .12s,background .12s;display:grid;position:relative;overflow:hidden;box-shadow:2px 2px #00000073}@media (hover:hover){.cmd-btn:not(.cmd-btn-disabled):hover{background:rgba(var(--gold-rgb),.1);box-shadow:3px 3px #0009}}.cmd-btn:not(.cmd-btn-disabled):active{transform:translate(1px,1px);box-shadow:1px 1px #00000073}.cmd-btn-disabled{opacity:.32;cursor:not-allowed}.cmd-btn-name{min-width:0;color:var(--text);letter-spacing:.02em;text-shadow:1px 1px #0009;flex-wrap:wrap;grid-area:name;align-items:baseline;gap:4px 6px;font-size:.82rem;font-weight:800;line-height:1.2;display:flex}.cmd-btn-name-text{text-overflow:clip;white-space:normal;word-break:break-word;min-width:0;overflow:visible}.cmd-btn-name-lvl{color:var(--forest2);letter-spacing:0;text-shadow:1px 1px #000000b3;flex:none;font-weight:800}.energy-cost{font-family:var(--font-system);color:var(--gold2);background:rgba(var(--surface-rgb), .65);border:1px solid rgba(var(--gold-rgb), .55);text-shadow:1px 1px #0009;flex-shrink:0;align-items:center;gap:3px;padding:2px 7px 2px 6px;font-size:.74rem;font-weight:800;line-height:1;display:inline-flex}.energy-cost-spark{margin-left:1px;display:inline-flex}.energy-cost--surged{color:var(--purple-ink);border-color:rgba(var(--purple2-rgb), .6);background:rgba(var(--purple2-rgb), .12)}.energy-cost--sm{gap:2px;padding:1px 5px 1px 4px;font-size:.62rem}.cmd-orbs-slot{grid-area:cost;place-self:start end;align-items:center;display:inline-flex}.cmd-orbs-slot:empty{display:none}.note-cost{color:var(--gold2);background:rgba(var(--surface-rgb),.82);border:1px solid rgba(var(--gold-rgb),.5);text-shadow:1px 1px #0009;align-items:center;gap:2px;padding:1px 5px;font-size:.7rem;font-weight:800;display:inline-flex;box-shadow:1px 1px #00000073}.note-cost-blocked{color:var(--ember-ink);border-color:rgba(var(--ember-rgb),.6);background:rgba(var(--ember-rgb),.12)}.cmd-btn-desc{color:var(--text2);opacity:.9;-webkit-line-clamp:3;-webkit-box-orient:vertical;grid-area:desc;font-size:.62rem;line-height:1.3;display:-webkit-box;overflow:hidden}.cmd-btn-hand{flex-direction:column;grid-template-areas:none;gap:5px;min-height:120px;padding:7px 8px 6px;display:flex;overflow:hidden}.cmd-btn-head{align-items:flex-start;gap:5px;min-height:22px;display:flex}.cmd-head-notes{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;display:flex}.cmd-head-orbs{align-items:center;margin-left:auto;display:flex}.cmd-head-orbs .orb-grant-pips{margin:0}.cmd-head-orbs:empty{display:none}.cmd-btn-hand .cmd-btn-name{text-align:center;min-height:0;color:var(--text);letter-spacing:.01em;text-shadow:1px 1px #0009;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex}.cmd-btn-hand .cmd-btn-name>span{width:100%}.cmd-btn-hand .cmd-btn-desc-hand{text-align:center;-webkit-line-clamp:none;flex:auto;-webkit-box-orient:initial;min-height:0;color:var(--text2);opacity:.92;grid-area:auto;justify-content:center;align-items:center;line-height:1.16;display:flex;overflow:hidden}.cmd-btn-hand .cmd-btn-desc-hand>span{width:100%}.cmd-btn-hand .cmd-btn-meta{flex:none;align-items:center;gap:5px;min-height:20px;padding-right:24px;display:flex}.cmd-btn-hand .cmd-btn-meta .tier-pips,.cmd-btn-hand .cmd-btn-meta .cmd-btn-surge-tag,.cmd-btn-hand .cmd-btn-meta .cmd-btn-aoe-tag{margin:0;position:static;inset:auto;transform:none}.cmd-btn-hand .cmd-btn-meta .tier-pips{margin-right:auto;display:inline-flex}@media (hover:none){.dungeon-tooltip-trigger:has(.cmd-btn-hand)>.tooltip-help-dot{width:23px;height:23px;font-family:var(--font-system);color:var(--gold2);background:rgba(var(--surface-rgb), .94);border:1px solid rgba(var(--gold-rgb), .7);z-index:8;cursor:help;justify-content:center;align-items:center;padding:0;font-size:.8rem;font-weight:800;line-height:1;transition:background .12s ease-out,transform 90ms ease-out;display:flex;position:absolute;top:auto;bottom:5px;right:5px;box-shadow:1px 1px #00000080}}.dungeon-tooltip-trigger:has(.cmd-btn-hand)>.tooltip-help-dot:before{content:"";position:absolute;inset:-11px}.dungeon-tooltip-trigger:has(.cmd-btn-hand)>.tooltip-help-dot:active{background:var(--gold2);color:var(--cassette-black,#0d0b09);transform:scale(.92)}@media (hover:hover){.dungeon-tooltip-trigger:has(.cmd-btn-hand)>.tooltip-help-dot:hover{background:rgba(var(--gold-rgb), .22);color:var(--text)}}.cmd-btn-forget{border-left-color:var(--ember)!important}@media (hover:hover){.cmd-btn-forget:hover{background:rgba(var(--ember-rgb),.12)}}.cmd-btn-choice{cursor:pointer}.rarity-bronze,.rarity-silver,.rarity-gold{isolation:isolate;border-style:solid}.rarity-bronze{border-width:2px;border-color:#b07a3a;border-image:;box-shadow:2px 2px #00000080}.rarity-silver{border-width:3px;border-image-source:linear-gradient(135deg,#eef2f7 0%,#c3cad4 38%,#8a929e 72%,#eef2f7 100%);border-image-slice:1;box-shadow:2px 2px #00000080,inset 0 0 0 1px #0d0b098c,inset 0 0 0 2px #eef2f780}.rarity-gold{border-width:4px;border-image-source:linear-gradient(135deg,#fff0a6 0%,#e8c84a 40%,#a8842a 76%,#fff0a6 100%);border-image-slice:1;animation:2.4s ease-in-out infinite rarity-gold-glow}@keyframes rarity-gold-glow{0%,to{box-shadow:2px 2px #00000080,0 0 5px #e8c84a4d,inset 0 0 0 1px #0d0b0980,inset 0 0 0 3px #fff0a673}50%{box-shadow:2px 2px #00000080,0 0 18px #e8c84aa6,inset 0 0 0 1px #0d0b0980,inset 0 0 0 3px #fff0a6b3}}.rarity-silver:before,.rarity-gold:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(115deg,#0000 34%,#ffffff1a 47%,#ffffff38 50%,#ffffff1a 53%,#0000 66%) 160% 0/260% 100%;position:absolute;inset:0}.rarity-silver:before{animation:5s ease-in-out infinite rarity-sheen}.rarity-gold:before{animation:3s ease-in-out infinite rarity-sheen}@keyframes rarity-sheen{0%{background-position:160% 0}55%,to{background-position:-60% 0}}.rarity-gold:not(.cmd-btn-chained):after{content:"";pointer-events:none;z-index:4;background:linear-gradient(#fff0a6eb,#fff0a6eb) 0 0/13px 2px no-repeat,linear-gradient(#fff0a6eb,#fff0a6eb) 0 0/2px 13px no-repeat,linear-gradient(#fff0a6eb,#fff0a6eb) 100% 0/13px 2px no-repeat,linear-gradient(#fff0a6eb,#fff0a6eb) 100% 0/2px 13px no-repeat,linear-gradient(#fff0a6eb,#fff0a6eb) 0 100%/13px 2px no-repeat,linear-gradient(#fff0a6eb,#fff0a6eb) 0 100%/2px 13px no-repeat,linear-gradient(#fff0a6eb,#fff0a6eb) 100% 100%/13px 2px no-repeat,linear-gradient(#fff0a6eb,#fff0a6eb) 100% 100%/2px 13px no-repeat;animation:2.4s ease-in-out infinite rarity-gold-corners;position:absolute;inset:3px}@keyframes rarity-gold-corners{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .rarity-gold{animation:none;box-shadow:2px 2px #00000080,0 0 10px #e8c84a73,inset 0 0 0 1px #0d0b0980,inset 0 0 0 3px #fff0a699}:root:not([data-motion=full]) .rarity-silver:before,:root:not([data-motion=full]) .rarity-gold:before{background-position:-60% 0;animation:none}:root:not([data-motion=full]) .rarity-gold:not(.cmd-btn-chained):after{opacity:.9;animation:none}}.tier-pips{z-index:6;pointer-events:none;gap:3px;display:flex;position:absolute;bottom:5px;right:5px}.tier-pip{background:rgba(var(--forest-rgb), .16);border:1px solid #0000008c;width:6px;height:6px;transform:rotate(45deg)}.tier-pip--lit{background:var(--forest2);border-color:rgba(var(--forest-rgb), .5);box-shadow:0 0 5px var(--forest2)}.tier-pips--gold .tier-pip{background:rgba(var(--gold-rgb), .16)}.tier-pips--gold .tier-pip--lit{background:var(--gold2);border-color:rgba(var(--gold-rgb), .5);box-shadow:0 0 5px var(--gold2)}.tier-pips--violet .tier-pip{background:rgba(var(--purple2-rgb), .16)}.tier-pips--violet .tier-pip--lit{background:var(--purple2);border-color:rgba(var(--purple2-rgb), .5);box-shadow:0 0 5px var(--purple2)}.tier-pips.tier-pips--inline{margin-top:2px;display:inline-flex;position:static}.cmd-btn .tier-pips{bottom:4px;left:5px;right:auto}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .tier-pip--lit{box-shadow:0 0 3px var(--forest2)}:root:not([data-motion=full]) .tier-pips--gold .tier-pip--lit{box-shadow:0 0 3px var(--gold2)}:root:not([data-motion=full]) .tier-pips--violet .tier-pip--lit{box-shadow:0 0 3px var(--purple2)}}.cmd-btn-chained{cursor:not-allowed;filter:saturate(.55)}.cmd-btn-chained:after{content:"";pointer-events:none;z-index:4;background:repeating-linear-gradient(-45deg, #00000080 0 9px, rgba(var(--purple2-rgb),.14) 9px 18px);position:absolute;inset:0}.cmd-btn-chain-tag{z-index:5;pointer-events:none;text-shadow:2px 2px #000;font-size:1.5rem;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cmd-btn-sealed{background:rgba(var(--ember-rgb),.1);border-color:rgba(var(--ember-rgb),.5);filter:saturate(.6)}.cmd-btn-seal-tag{font-family:var(--font-system);letter-spacing:.14em;color:var(--ember-ink);background:rgba(var(--surface-rgb),.7);border:1px solid rgba(var(--ember-rgb),.55);text-shadow:1px 1px #000;padding:1px 6px;font-size:.58rem;font-weight:700;position:absolute;bottom:2px;right:4px}.cmd-btn-overridden{box-shadow:2px 2px 0 #00000073, 0 0 8px rgba(var(--purple2-rgb),.35)}.cmd-btn-surged{background:rgba(var(--purple2-rgb),.1);border-color:rgba(var(--purple2-rgb),.45);animation:1.4s ease-in-out infinite cmd-surge-pulse}.cmd-btn-surge-tag{font-family:var(--font-system);color:var(--purple-ink);background:rgba(var(--surface-rgb),.55);border:1px solid rgba(var(--purple2-rgb),.55);letter-spacing:.04em;text-shadow:1px 1px #000;padding:1px 4px;font-size:.6rem;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}@keyframes cmd-surge-pulse{0%,to{box-shadow:2px 2px #00000073}50%{box-shadow:2px 2px 0 #00000073, 0 0 10px rgba(var(--purple2-rgb),.45)}}.btn-end-turn{background:rgba(var(--surface-rgb), .78);color:var(--text);font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:44px;box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 2px 2px 0 #00000080;border:0;align-self:flex-end;padding:8px 16px;font-size:.72rem;font-weight:700;transition:box-shadow .12s,color .12s}@media (hover:hover){.btn-end-turn:hover{color:var(--gold-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d01a, 2px 2px 0 #00000080}}.btn-end-turn:active{box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 1px 1px 0 #00000080;transform:translate(1px,1px)}.btn-end-turn:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.result-panel{background:linear-gradient(180deg, rgba(var(--surface-rgb),.55) 0%, rgba(var(--surface-rgb),.3) 100%);text-align:center;border:2px solid;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;animation:.25s both pop-in;display:flex;box-shadow:4px 4px #00000080}.result-success{border-color:rgba(var(--forest2-rgb),.55)}.result-partial{border-color:rgba(var(--gold2-rgb),.55)}.result-fail{border-color:rgba(var(--ember2-rgb),.55)}.result-grade{font-family:var(--font-voice);letter-spacing:.04em;text-shadow:2px 2px #000000bf;font-size:1.2rem}.result-success .result-grade{color:var(--forest2)}.result-partial .result-grade{color:var(--gold2)}.result-fail .result-grade{color:var(--ember-ink)}.result-pct{font-family:var(--font-system);color:var(--muted);letter-spacing:.06em;font-size:.82rem}.result-explanation{font-family:var(--font-voice);color:var(--text2);max-width:520px;font-size:.82rem;line-height:1.4}.phase-panel{border:2px solid var(--border2);text-align:center;background:linear-gradient(#231e1b 0%,#1a1614 100%);flex-direction:column;align-items:center;gap:12px;padding:18px 22px;display:flex;box-shadow:6px 6px #00000073}.phase-title{font-family:var(--font-voice);letter-spacing:.04em;color:var(--gold2);text-shadow:2px 2px #000000bf;font-size:1rem}.phase-panel p{font-family:var(--font-voice);color:var(--text2);font-size:.88rem}.victory-screen{z-index:var(--z-tray);justify-content:center;align-items:stretch;animation:.36s ease-out both vic-screen-in;display:flex;position:fixed;inset:0}@keyframes vic-screen-in{0%{opacity:0}to{opacity:1}}.victory-scrim{background:rgba(var(--surface-rgb), .52);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:fixed;inset:0}.vic{width:min(1100px,100%);padding:max(26px, env(safe-area-inset-top,0px)) max(34px, env(safe-area-inset-right,0px)) max(22px, env(safe-area-inset-bottom,0px)) max(34px, env(safe-area-inset-left,0px));flex-direction:column;gap:14px;display:flex;position:relative}.vic-top{align-items:baseline;gap:16px;min-width:0;display:flex}.vic-title{font-family:var(--font-voice);letter-spacing:.06em;color:var(--text);text-shadow:3px 3px #000000d9,6px 6px #00000080;margin:0;font-size:clamp(1.9rem,4.4vh,3rem);font-weight:900;line-height:1;animation:.45s cubic-bezier(.2,1,.3,1) both vic-title-in}@keyframes vic-title-in{0%{opacity:0;transform:translate(-22px)}to{opacity:1}}.vic-where{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.68rem;overflow:hidden}.vic-rule{background:linear-gradient(90deg,#f2e8d057,#f2e8d00a);flex:auto;height:1px}.vic-grid{flex:none;grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr) minmax(0,1fr);align-items:start;gap:0 26px;display:grid}.vic-tallies{flex-direction:column;gap:12px;display:flex}.vic-tally{background:linear-gradient(90deg, rgba(var(--surface-rgb), .92), rgba(var(--surface-rgb), .42));clip-path:polygon(22px 0,100% 0,calc(100% - 22px) 100%,0 100%);align-items:center;gap:16px;padding:18px 30px 18px 40px;display:flex;box-shadow:inset 0 1px #f2e8d01f}.vic-tally-k{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex:none;width:5.2em;font-size:1.06rem;font-weight:700}.vic-tally-n{font-family:var(--font-system);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text);text-shadow:2px 2px #000000d9;font-size:4.4rem;font-weight:700}.vic-tally-gold .vic-tally-n{color:var(--gold2)}.vic-bonuses{flex-direction:column;gap:12px;padding-top:2px;display:flex}.vic-bonus{text-align:right}.vic-bonus i{letter-spacing:.02em;color:var(--text);text-shadow:2px 2px #000000d9;font-size:1.35rem;font-style:italic;font-weight:800;line-height:1.05;display:block}.vic-bonus span{font-family:var(--font-system);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-top:1px solid #f2e8d042;margin-top:3px;padding-top:3px;font-size:.56rem;display:block}.vic-spoils{grid-column:3;justify-self:end;width:100%;max-width:30rem}.vic-spoils .splate-face{padding:15px 22px 17px 28px}.vic-spoils-title{font-family:var(--font-voice);letter-spacing:.04em;text-shadow:2px 2px #000c;margin:0 0 7px;font-size:1.3rem;font-weight:800}.vic-spoils-rule{align-items:center;gap:6px;margin-bottom:8px;display:flex}.vic-spoils-rule:before,.vic-spoils-rule:after{content:"";border:1px solid #f2e8d057;flex:none;width:7px;height:7px;transform:rotate(45deg)}.vic-spoils-rule i{background:#f2e8d042;flex:auto;height:1px}.vic-cards{flex-direction:column;justify-content:flex-end;gap:18px;min-height:0;margin-top:auto;padding-top:14px;padding-bottom:20px;display:flex;overflow-y:auto}:is(.combat-screen:has(.victory-screen) .turnstrip,.combat-screen:has(.victory-screen) .vitals,.combat-screen:has(.victory-screen) .battle-log){opacity:0;pointer-events:none;transition:opacity .28s ease-out}.vic-card{border:var(--rim-w) solid transparent;background:linear-gradient(180deg, rgba(var(--surface-rgb), .86), rgba(var(--surface-rgb), .94)) padding-box, #f2e8d038 border-box;clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));grid-template-columns:minmax(0,15rem) minmax(8rem,.9fr) minmax(0,1.5fr);align-items:center;gap:4px 20px;padding:16px 20px;display:grid}.vic-card-top{grid-column:1;align-items:center;gap:10px;min-width:0;display:flex}.vic-card-top .fseat{flex:auto;min-width:0}.vic-card-lv{white-space:nowrap;font-family:var(--font-system);letter-spacing:.08em;color:var(--gold2);border:1px solid rgba(var(--gold-rgb), .6);background:rgba(var(--gold-rgb), .1);flex:none;padding:1px 6px;font-size:.64rem;font-weight:700}.vic-card-levelup{white-space:nowrap;font-family:var(--font-system);letter-spacing:.04em;color:var(--gold2);flex:none;align-items:center;gap:3px;margin-left:auto;font-size:.78rem;font-weight:700;animation:1.4s ease-in-out infinite lvpulse;display:inline-flex}.vic-card-levelup b{color:var(--ember-ink);font-size:.8rem}@keyframes lvpulse{0%,to{opacity:.72;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.vic-card-gains{min-width:0;font-family:var(--font-system);color:var(--forest2);flex-direction:column;grid-column:3;gap:3px;font-size:.72rem;display:flex}.vic-card-note{color:var(--muted);grid-column:3;margin:0;font-size:.76rem}.vic-felled{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.vic-felled li{color:var(--text2);align-items:center;gap:9px;font-size:.82rem;display:flex}.vic-felled-ico{flex:none;place-items:center;width:24px;height:24px;display:grid}.vic-felled-ico img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.vic-felled-nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vic-foot{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.vic-hint{color:var(--muted);max-width:52ch;font-size:.78rem}.vic-cta{min-height:46px;margin-left:auto;padding-inline:30px}@media (width<=860px){.vic-grid{grid-template-columns:minmax(0,1fr);gap:10px}.vic-bonuses{flex-flow:wrap;gap:14px}.vic-bonus{text-align:left}.vic{gap:10px;padding:16px 20px 14px}}@keyframes victory-banner-in{0%{opacity:0;transform:translate(-50%,calc(14px - 50%))scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.vic-card-xp{grid-column:2;width:100%}.vic-card-xp .xp-rail-bar{height:11px}.vic-card-xp .xp-rail-text{font-size:.86rem}.vic-loot{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.vic-loot:has(>:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;display:grid}.vic-loot:has(>:nth-child(3)) .vic-loot-pill:has(.painted-art){--spill:40px}.vic-loot:has(>:nth-child(3)) .vic-loot-row{gap:8px;font-size:.96rem}.vic-spoils:has(.vic-loot>:nth-child(3)){max-width:40rem}.vic-grid:has(.vic-loot>:nth-child(3)){grid-template-columns:minmax(0,1fr) minmax(0,.4fr) minmax(0,1.6fr)}.vic-spoils .splate-face{max-height:min(30vh,17rem);overflow-y:auto}.vic-loot-none{color:var(--muted);margin:0;font-size:.92rem;font-style:italic}.vic-loot-row{color:var(--text2);align-items:center;gap:12px;font-size:1.08rem;display:flex}.vic-loot-pill{--spill:28px;width:var(--spill);height:var(--spill);border-color:var(--border);color:var(--text2);flex:none;line-height:1;display:inline-block;position:relative}.vic-loot-nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vic-loot-n{font-family:var(--font-system);font-variant-numeric:tabular-nums;color:var(--text2);flex:none;margin-left:auto;font-size:1.04rem;font-weight:700}.choice-panel{z-index:var(--z-scrim);padding:max(26px, env(safe-area-inset-top,0px)) max(34px, env(safe-area-inset-right,0px)) max(22px, env(safe-area-inset-bottom,0px)) max(34px, env(safe-area-inset-left,0px));box-sizing:border-box;text-align:left;background:rgba(var(--surface-rgb), .84);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);flex-direction:column;justify-content:safe center;align-items:center;gap:18px;display:flex;position:fixed;inset:0;overflow-y:auto}.choice-panel>*{flex:none;width:min(1100px,100%)}.choice-panel .commands-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-auto-rows:min-content;align-content:start;align-items:stretch;gap:16px;overflow:visible}.choice-panel .cmd-btn{min-height:150px;overflow:visible}.choice-panel .cmd-btn-name{font-size:.95rem}.choice-panel .cmd-btn-desc{-webkit-line-clamp:unset;-webkit-box-orient:unset;max-height:none;color:var(--text);opacity:1;font-size:.72rem;line-height:1.4;display:block;overflow:visible}.choice-foot{justify-content:flex-end;display:flex;position:sticky;bottom:0}.choice-foot .btn-end-turn{min-width:180px}.cmd-btn.cmd-btn-upgrade{border-color:rgba(var(--gold-rgb), .55);border-left-color:var(--gold);background:rgba(var(--gold-rgb), .08);box-shadow:inset 0 1px #f2e8d01a,2px 2px #00000080}@media (hover:hover){.cmd-btn.cmd-btn-upgrade:not(.cmd-btn-disabled):hover{border-color:var(--gold2);background:rgba(var(--gold-rgb), .14)}}.cmd-desc-now{opacity:.85}.cmd-desc-next{color:var(--gold-ink);font-weight:700}.offer-screen{z-index:var(--z-scrim);padding:max(26px, env(safe-area-inset-top,0px)) max(34px, env(safe-area-inset-right,0px)) max(22px, env(safe-area-inset-bottom,0px)) max(34px, env(safe-area-inset-left,0px));box-sizing:border-box;background:rgba(var(--surface-rgb), .84);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);flex-direction:column;justify-content:safe center;align-items:center;gap:18px;display:flex;position:fixed;inset:0;overflow-y:auto}.offer-screen .choice-panel.choice-panel-embedded{height:auto}.choice-panel.choice-panel-embedded{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;width:min(1100px,100%);padding:0;position:static;inset:auto;overflow:visible}.offer-header{text-align:center;flex-direction:column;align-items:center;gap:5px;width:100%;max-width:640px;display:flex}.offer-eyebrow{font-family:var(--font-system);letter-spacing:.1em;color:var(--text2);text-transform:uppercase;font-size:.72rem}.offer-title{font-family:var(--font-voice);color:var(--text);text-shadow:2px 2px #0009;margin:0;font-size:1.6rem;font-weight:800}.offer-sigil{color:var(--offer-accent,var(--gold2));font-size:1.1em}.offer-message{font-family:var(--font-voice);color:var(--gold-ink);text-wrap:balance;max-width:46ch;margin:6px auto 2px;font-size:1.05rem;font-style:italic;line-height:1.5}.offer-sub{font-family:var(--font-voice);color:var(--text2);letter-spacing:.02em;margin:0;font-size:.85rem}@media (width<=900px) and (orientation:portrait){.choice-panel{padding:18px 14px max(18px, env(safe-area-inset-bottom));gap:12px}.choice-panel .commands-grid{gap:10px;grid-template-columns:1fr!important}.choice-panel .cmd-btn{height:auto;min-height:116px;padding:10px 12px}.choice-foot .btn-end-turn{flex:1;min-height:52px}}.exercise-fullscreen{background:rgba(var(--surface-rgb), .88);z-index:var(--z-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:stretch;padding:0;display:flex;position:fixed;inset:0}.exercise-card{background:linear-gradient(90deg, rgba(var(--surface-rgb), .3) 0%, rgba(var(--surface-rgb), .9) 10%, rgba(var(--surface-rgb), .94) 50%, rgba(var(--surface-rgb), .9) 90%, rgba(var(--surface-rgb), .3) 100%);border-radius:var(--radius-lg);width:min(1100px,100%);height:100%;max-height:none;box-shadow:none;border:0;border-left:1px solid #f2e8d02e;border-right:1px solid #f2e8d02e;flex-direction:column;padding:18px 30px;animation:.25s both pop-in;display:flex;overflow:hidden auto}.exercise-card:focus{outline:none}@media (aspect-ratio>=3/2){.exercise-card{width:min(1040px,100%)}:is(.exercise-wrap:has(>.mc-stage):has(.mc-choices),.exercise-wrap:has(>.exercise-staff):has(.notation-choices)){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-content:start;align-items:center;column-gap:22px;display:grid}:is(.exercise-wrap:has(>.mc-stage):has(.mc-choices)>.exercise-header,.exercise-wrap:has(>.exercise-staff):has(.notation-choices)>.exercise-header,.exercise-wrap:has(>.mc-stage):has(.mc-choices)>.mc-pip-row,.exercise-wrap:has(>.mc-stage):has(.mc-choices)>.exercise-instruction,.exercise-wrap:has(>.exercise-staff):has(.notation-choices)>.notation-prompt,.exercise-wrap:has(>.mc-stage):has(.mc-choices)>.mc-result,.exercise-wrap:has(>.exercise-staff):has(.notation-choices)>.mc-result){grid-column:1/-1}:is(.exercise-wrap:has(>.mc-stage):has(.mc-choices)>.mc-stage,.exercise-wrap:has(>.exercise-staff):has(.notation-choices)>.exercise-staff){grid-column:1}:is(.exercise-wrap:has(>.mc-stage):has(.mc-choices)>.mc-choices,.exercise-wrap:has(>.mc-stage):has(.mc-choices)>.mc-replay-btn,.exercise-wrap:has(>.exercise-staff):has(.notation-choices)>.notation-choices){grid-column:2}.exercise-wrap:has(>.mc-stage)>.mc-choices{max-width:none;padding-top:0}}.exercise-wrap{flex-direction:column;flex:1 0 auto;justify-content:center;gap:12px;min-height:min-content;display:flex;position:relative}.exercise-wrap>.exercise-staff,.exercise-wrap>.mc-stage{margin-block:auto}.exercise-wrap>.exercise-utils{top:4px;right:var(--ex-utils-inset);z-index:3;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;width:auto;max-width:64%;height:44px;margin:0;padding:0;display:flex;position:absolute;left:auto}.exercise-wrap:has(>.exercise-utils)>.exercise-header{min-height:44px;padding-right:150px}.exercise-wrap:has(>.exercise-utils>:nth-child(2))>.exercise-header{padding-right:272px}.exercise-wrap:has(>.exercise-utils>:nth-child(3))>.exercise-header{padding-right:394px}.exercise-wrap:has(>.exercise-utils>:nth-child(4))>.exercise-header>.exercise-meta{display:none}.exercise-wrap:has(>.exercise-utils>:nth-child(4))>.exercise-header{padding-right:0}.exercise-wrap:has(>.exercise-utils>:nth-child(4))>.exercise-utils{gap:4px;max-width:82%}.exercise-wrap:has(>.exercise-utils>:nth-child(4))>.exercise-utils>button{padding:4px 8px;font-size:.66rem}.exercise-utils>button,.exercise-utils>.btn{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;min-height:44px;margin:0;padding:4px 12px;font-size:.8rem;overflow:hidden}.exercise-utils>.exercise-meta{white-space:nowrap;font-size:.68rem}.exercise-wrap{justify-content:flex-start}.exercise-wrap>.exercise-header{order:-2}.exercise-wrap>:is(.exercise-instruction,.history-prompt){order:-1}.exercise-wrap:has(>.exercise-utils)>.exercise-header{min-height:60px;padding-top:4px}.exercise-wrap:has(>.exercise-utils){padding-top:0}.exercise-header{border-bottom:1px solid #f2e8d029;justify-content:space-between;align-items:center;margin-bottom:2px;padding-bottom:12px;display:flex}.exercise-title{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.02em;align-items:baseline;gap:12px;font-size:1rem;font-weight:700;display:inline-flex}.exercise-title-glyph{font-family:var(--font-system);color:var(--gold-ink);font-size:1.1rem;line-height:1}.exercise-title-glyph>.painted-art{width:1.6em;height:1.6em;margin-block:-.3em}.exercise-stream-tag{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--forest-ink);background:rgba(var(--forest-rgb),.12);border:1px solid rgba(var(--forest-rgb),.4);padding:3px 8px;font-size:.62rem;font-weight:700}.exercise-meta{color:var(--muted);font-size:.72rem;font-family:var(--font-system);letter-spacing:.1em;text-transform:lowercase}.exercise-header-right{align-items:center;gap:8px;display:flex}.ex-timer{font-family:var(--font-system);color:var(--gold2);text-align:right;min-width:42px;font-size:1.1rem;font-weight:700}.ex-timer-urgent{color:var(--ember-ink);animation:.5s ease-in-out infinite glow-gold}.exercise-instruction,.notation-prompt,.history-prompt,.sing-prompt{--cut:9px;color:var(--text2);text-align:center;background:linear-gradient(180deg, rgba(var(--surface-rgb), .74), rgba(var(--surface-rgb), .88));clip-path:polygon(0 var(--cut), var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));border:0;border-radius:0;box-shadow:inset 0 1px #f2e8d014}.exercise-instruction{padding:10px 22px}.exercise-instruction,.history-prompt{font-family:var(--font-voice);font-size:var(--ex-q-fs);color:var(--text);font-weight:600;line-height:1.3}@media (width>=1100px) and (height>=700px){.exercise-card{width:min(68rem,100%);padding:22px 36px}.exercise-title{font-size:1.3rem}.exercise-title-glyph{font-size:1.4rem}.exercise-instruction{padding:12px 24px}.exercise-card{--ex-answers-w:46rem}.exercise-card .notation-stage{height:11rem}.exercise-card .notation-prompt{min-height:11rem}.exercise-card .notation-choice-btn{min-height:4rem}.exercise-card .exercise-staff-wrap>.exercise-staff{--staff-fit:1;height:clamp(10rem,28vh,20rem)}.exercise-card .notation-choice-glyph{height:6rem}.exercise-card .exercise-staff-wrap>.exercise-staff svg,.exercise-card .notation-prompt .notation-stage svg,.exercise-card .notation-choice-glyph svg{width:100%!important;height:100%!important}}.exercise-dots-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;display:flex}.staff-measure-indicator{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#c9b99a);white-space:nowrap;font-size:.8rem;font-weight:700}.staff-measure-cur{color:var(--gold2,var(--gold2));font-variant-numeric:tabular-nums}.exercise-staff{background:rgba(var(--surface-rgb), .72);border-radius:var(--radius);clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px));border:0;flex:0 auto;align-items:center;min-height:110px;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #f2e8d012}.exercise-staff.staff-shake{animation:.4s shake}.exercise-staff>div{margin:0 auto}.exercise-staff svg{display:block}.exercise-status{color:var(--text2);text-align:center;min-height:1.5em;font-size:.88rem;font-style:italic;font-weight:500}.exercise-dots{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.ex-dot{background:rgba(var(--surface-rgb), .8);border:2px solid #f2e8d04d;border-radius:0;width:15px;height:15px;transition:background .2s,border-color .2s,transform .2s}.ex-dot-correct{background:rgba(var(--forest-rgb),.22);border-color:var(--forest);animation:.34s cubic-bezier(.22,1,.36,1) ex-dot-pop;transform:rotate(45deg)}@keyframes ex-dot-pop{0%{transform:rotate(45deg)scale(1)}40%{box-shadow:0 0 14px rgba(var(--forest2-rgb),.7);transform:rotate(45deg)scale(1.5)}to{box-shadow:0 0 0 rgba(var(--forest2-rgb),0);transform:rotate(45deg)scale(1)}}.ex-dot-wrong{background:rgba(var(--ember-rgb),.22);border-color:var(--ember);position:relative}.ex-dot-wrong:after{content:"";background:linear-gradient(to top right, transparent calc(50% - 1px), var(--ember-ink) calc(50% - 1px), var(--ember-ink) calc(50% + 1px), transparent calc(50% + 1px));position:absolute;inset:-2px}.ex-dot-active{background:rgba(var(--gold-rgb),.2);border-color:var(--gold);animation:.8s ease-in-out infinite pulse-dot}.exercise-piano-wrap{scroll-behavior:smooth;scrollbar-width:none;justify-content:flex-start;padding:8px 0 4px;display:flex;overflow-x:auto}.exercise-piano-wrap .piano-keyboard{flex:none;margin-inline:auto}.exercise-piano-wrap::-webkit-scrollbar{display:none}.piano-rail{align-items:stretch;gap:6px;width:100%;min-width:0;max-width:100%;padding:8px 0 4px;display:flex}.piano-stage{flex:auto;justify-content:center;min-width:0;display:flex;position:relative}.piano-rail .exercise-piano-wrap{flex:100%;width:100%;min-width:0;padding:0}.piano-rail-single .exercise-piano-wrap{overflow:hidden}.piano-rail-continuous .exercise-piano-wrap{overflow-x:auto}.piano-arrow{--piano-arrow-w:44px;--piano-arrow-gap:10px;height:46px;width:var(--piano-arrow-w);z-index:5;background:rgba(var(--surface-rgb), .9);border:var(--rim-w) solid var(--gold2,var(--gold2));color:var(--gold2,var(--gold2));font-family:var(--font-voice);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;font-size:.72rem;transition:color .12s ease-out,border-color .12s ease-out,background .12s ease-out,transform 60ms ease-out,box-shadow 60ms ease-out;display:flex;position:absolute;top:38%;transform:translateY(-50%);box-shadow:2px 2px #0000008c}.piano-arrow span{font-size:1.1rem;line-height:1}.piano-arrow-left{left:0}.piano-arrow-right{right:0}.piano-rail-single .piano-arrow-left{left:auto;right:min(calc(100% - var(--piano-arrow-w)), calc(50% + var(--piano-kb-w,100%) / 2 + var(--piano-arrow-gap)))}.piano-rail-single .piano-arrow-right{right:auto;left:min(calc(100% - var(--piano-arrow-w)), calc(50% + var(--piano-kb-w,100%) / 2 + var(--piano-arrow-gap)))}@media (hover:hover){.piano-arrow:hover:not(:disabled){color:var(--gold,var(--gold));border-color:var(--gold,var(--gold));background:color-mix(in oklab, var(--gold,var(--gold)) 16%, rgba(var(--surface-rgb), .9))}}.piano-arrow:focus-visible{outline:2px solid var(--gold,var(--gold));outline-offset:2px}.piano-arrow:active:not(:disabled){transform:translateY(-50%)translate(1px,1px);box-shadow:1px 1px #0000008c}.piano-arrow:disabled{opacity:.25;cursor:not-allowed}.piano-console{flex-direction:column;flex:none;align-items:stretch;gap:4px;width:clamp(52px,6vw,66px);min-width:0;display:flex}.piano-mode-toggle{background:var(--bg2,#231e1b);border:1px solid #f2e8d033;flex-direction:column;flex:auto;display:flex;box-shadow:2px 2px #00000059}.piano-mode-btn{color:var(--muted,#c9b99a);font-family:var(--font-system);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:5px 3px;font-size:.56rem;font-weight:700;transition:color .12s ease-out,background .12s ease-out;display:flex}.piano-mode-glyph{flex:none;display:block}.piano-mode-btn-label{line-height:1}.piano-mode-btn+.piano-mode-btn{border-top:1px solid var(--border,#6b4c2a)}@media (hover:hover){.piano-mode-btn:hover{color:var(--text2,#e8ddc0)}}.piano-mode-btn:focus-visible{outline:2px solid var(--gold,var(--gold));outline-offset:2px}.piano-mode-btn.is-active{color:var(--cassette-black,#0d0b09);background:var(--gold,var(--gold));text-shadow:none}@media (hover:hover){.piano-mode-btn.is-active:hover{background:var(--gold2,var(--gold2));color:var(--cassette-black,#0d0b09)}}.piano-mode-hint{min-height:0;font-family:var(--font-system);letter-spacing:.08em;color:var(--muted,#c9b99a);flex-direction:column;flex:0 auto;order:-1;align-items:center;gap:0;font-weight:700;line-height:1.1;display:flex;overflow:hidden}.piano-mode-hint-num{color:var(--gold,var(--gold));font-variant-numeric:tabular-nums;font-size:.88rem}.piano-mode-hint-page{opacity:.55;font-variant-numeric:tabular-nums;font-size:.52rem}.piano-wrong-feedback{border:var(--rim-w) solid transparent;min-height:36px;box-shadow:none;font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;visibility:hidden;opacity:0;background:0 0;align-items:center;gap:10px;margin:2px 0 0;padding:6px 12px;font-size:.78rem;font-weight:700;transition:opacity .16s cubic-bezier(.16,1,.3,1);display:flex}.piano-wrong-feedback.is-visible{visibility:visible;opacity:1;border-color:color-mix(in oklab, var(--ember,var(--ember)) 60%, var(--border));background:color-mix(in oklab, var(--ember,var(--ember)) 8%, var(--bg2,#231e1b));animation:.22s cubic-bezier(.16,1,.3,1) piano-wrong-pulse;box-shadow:3px 3px #00000073}@keyframes piano-wrong-pulse{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.piano-wrong-label{color:var(--muted,#c9b99a);letter-spacing:.14em;font-size:.66rem}.piano-wrong-played{color:var(--ember-ink);text-decoration:line-through;-webkit-text-decoration-color:var(--ember2);text-decoration-color:var(--ember2);font-variant-numeric:tabular-nums;text-decoration-thickness:2px}.piano-wrong-arrow{color:var(--muted,#c9b99a);opacity:.6}.piano-wrong-expected{color:var(--forest2,var(--forest2));font-variant-numeric:tabular-nums}.piano-wrong-placeholder{width:1px;height:1em;display:inline-block}.exercise-footer{justify-content:flex-end;align-items:center;gap:10px;padding-top:2px;display:flex}.ex-skip-btn{border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:1px solid #f2e8d033;padding:5px 14px;font-size:.72rem;font-weight:700;transition:color .15s,border-color .15s}@media (hover:hover){.ex-skip-btn:hover{color:var(--text2);border-color:var(--border2)}}.ex-replay-btn,.sing-replay-btn{padding:6px 16px;font-size:.72rem}.piano-key{cursor:pointer;border:none;border-radius:0;padding:0;transition:background 60ms,transform 50ms;position:absolute}.piano-keyboard{box-sizing:content-box;background:#15110d;border:1px solid #0a0806}.piano-key{padding:0}.piano-white{border:1px solid #2a241e;border-top:none;border-bottom:9px solid var(--key-tone,#6b4c2a);box-sizing:border-box;background:linear-gradient(#f6efdc 0%,#f2e8d0 60%,#e0d4b6 100%)}@media (hover:hover){.piano-white:not(:disabled):hover{background:linear-gradient(#fffbf0 0%,#fff4d8 60%,#f0e6c8 100%)}}.piano-white:not(:disabled):active{filter:brightness(.96);transform:translateY(1px)}.piano-white:disabled,.piano-white.piano-disabled{border-color:#2a241e;border-bottom-color:color-mix(in oklab, var(--key-tone,#6b4c2a) 55%, #5a5246);cursor:not-allowed;background:#8c8270}.piano-white.piano-key-correct{background:var(--forest2)!important}.piano-white.piano-key-wrong{background:var(--ember2)!important}.piano-white.piano-key-expected{background:var(--purple2)!important}.piano-black{border:1px solid #0a0806;border-top:3px solid var(--key-tone,#6b4c2a);box-sizing:border-box;z-index:2;background:linear-gradient(#2a2521 0%,#100d0a 72%)}@media (hover:hover){.piano-black:not(:disabled):hover{background:linear-gradient(#3a342d 0%,#1a1612 72%)}}.piano-black:not(:disabled):active{transform:translateY(1px)}.piano-black:disabled,.piano-black.piano-disabled{border-top-color:color-mix(in oklab, var(--key-tone,#6b4c2a) 50%, #34302a);cursor:not-allowed;background:#34302a}.piano-black.piano-key-correct{background:var(--forest)!important}.piano-black.piano-key-wrong{background:var(--ember)!important}.piano-black.piano-key-expected{background:var(--purple)!important}.piano-key-correct,.piano-key-wrong,.piano-key-expected{position:relative}.piano-key-correct:after,.piano-key-wrong:after,.piano-key-expected:after{text-align:center;font-family:var(--font-system);pointer-events:none;font-size:.85rem;font-weight:700;line-height:1;position:absolute;top:5px;left:0;right:0}.piano-key-correct:after{content:"✓"}.piano-key-wrong:after{content:"✗"}.piano-key-expected:after{content:"◎"}.piano-white.piano-key-correct:after,.piano-white.piano-key-wrong:after,.piano-white.piano-key-expected:after{color:#14100ce6}.piano-black.piano-key-correct:after,.piano-black.piano-key-wrong:after,.piano-black.piano-key-expected:after{color:#f2e8d0f2}.piano-disabled{cursor:not-allowed}.piano-label{text-align:center;font-size:.72rem;font-family:var(--font-system);color:#17120e;pointer-events:none;white-space:nowrap;margin:0 auto;font-weight:700;position:absolute;bottom:8px;left:0;right:0}.piano-white:disabled .piano-label,.piano-white.piano-disabled .piano-label{color:#14100c80}.exercise-phase-row{justify-content:center;align-items:center;gap:10px;display:flex}.re-staff{width:100%}.re-feedback{text-align:center;font-family:var(--font-voice);color:var(--gold2);min-height:1.7em;font-size:1.1rem;font-weight:700;animation:.1s fadeIn}.re-result{background:rgba(var(--forest-rgb),.1);border:1px solid rgba(var(--forest-rgb),.35);border-radius:var(--radius);justify-content:center;align-items:center;gap:20px;padding:12px 24px;display:flex}.re-result-pct{font-family:var(--font-voice);color:var(--gold2);font-size:1.7rem;font-weight:900}.re-result-detail{font-family:var(--font-system);color:var(--text2);font-size:.78rem}.re-hit-area{justify-content:center;padding:6px 0;display:flex}.re-hit-btn{background:var(--bg2);width:130px;height:130px;color:var(--muted);-webkit-user-select:none;user-select:none;touch-action:none;border:1px solid #f2e8d033;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:background 80ms,border-color 80ms,color 80ms,transform 60ms,box-shadow .15s;display:flex}.re-hit-btn-ready{border-color:var(--purple);color:var(--purple-ink);background:rgba(var(--purple-rgb),.08);cursor:pointer;animation:2s ease-in-out infinite glow-purple}.re-hit-btn-ready:active{background:rgba(var(--purple-rgb),.18);transform:scale(.88)}.re-hit-btn:disabled{opacity:.25;cursor:not-allowed}.re-hit-label{font-family:var(--font-voice);letter-spacing:.1em;font-size:.85rem;font-weight:700}.re-hit-hint{font-size:.58rem;font-family:var(--font-system);opacity:.55}.non-combat-layout{flex-direction:column;min-height:100vh;display:flex}.non-combat-body{flex:1;display:flex}.non-combat-content{flex:1;justify-content:center;align-items:flex-start;padding:20px;display:flex;overflow-y:auto}.screen{width:100%;max-width:580px}.screen-card{border:var(--rim-w) solid var(--plate-rim);isolation:isolate;box-shadow:var(--plate-bevel), 6px 6px 0 #0000008c;background:0 0;flex-direction:column;gap:18px;padding:30px 28px 28px;display:flex;position:relative}.screen-card:before{content:"";pointer-events:none;border:1px solid #f2e8d021;position:absolute;inset:0;transform:translate(-7px,-7px)}.screen-card:after{content:"";z-index:-1;background:radial-gradient(120% 55% at 50% 100%, rgba(var(--surface-rgb),.55) 35%, rgba(var(--surface-rgb),0) 100%), repeating-linear-gradient(180deg, transparent 0 3px, #0000000b 3px 4px), var(--plate-fill);position:absolute;inset:0}.screen-ico{border:var(--rim-w) solid var(--border);background:radial-gradient(circle at 50% 65%, rgba(var(--gold-rgb),.18) 0%, transparent 70%), rgba(var(--surface-rgb),.55);justify-content:center;align-self:flex-start;align-items:center;width:56px;height:56px;font-size:2rem;line-height:1;display:flex;box-shadow:3px 3px #00000073}.screen-title{font-family:var(--font-voice);color:var(--gold2);text-align:left;letter-spacing:.03em;text-shadow:2px 2px #000000a6;background:linear-gradient(90deg,#6b4c2ad9 0%,#6b4c2a4d 55%,#0000 100%) 0 100%/100% 1px no-repeat;align-self:stretch;padding-bottom:14px;font-size:1.35rem;font-weight:900;line-height:1.15}.plate-rule{background:linear-gradient(90deg,#0000,#6b4c2ae6 16% 84%,#0000);flex:none;height:1px;position:relative}.plate-rule:after{content:"";background:var(--gold);width:6px;height:6px;box-shadow:0 0 0 3px rgba(var(--surface-rgb), .95);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.plate-rule--left{background:linear-gradient(90deg,#6b4c2ae6 0 78%,#0000)}.plate-rule--left:after{left:3px}.screen-text{color:var(--text2);text-align:center;max-width:52ch;margin:0 auto;font-size:.92rem;line-height:1.65}.gold-display{text-align:center;font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);text-shadow:1px 1px #0009;font-size:.78rem;font-weight:700}.warning-banner{background:rgba(var(--ember-rgb),.1);border:1px solid rgba(var(--ember-rgb),.55);letter-spacing:.08em;text-transform:uppercase;color:var(--ember-ink);text-align:center;font-size:.74rem;font-weight:700;font-family:var(--font-system);padding:9px 14px}.menu-stage.hub-screen{justify-content:stretch;align-items:stretch;padding:0;display:grid}.menu-stage{isolation:isolate;grid-template-rows:auto minmax(0,1fr) auto;min-height:100dvh;display:grid;position:relative;overflow:hidden}.menu-stage>.battle-bg,.menu-stage>.menu-stage__veil,.menu-stage>.menu-stage__cast{z-index:0}.menu-stage>.menu-topbar,.menu-stage>.menu-purse,.menu-stage>.menu-stage__middle,.menu-stage>.menu-foot{z-index:1;position:relative}.menu-scene-host .battle-bg--door .battle-bg__scene{filter:brightness(.3)saturate(.5)blur(4.5px)contrast(1.02);transform:scale(1.06)}.menu-stage__veil{z-index:0;pointer-events:none;background:radial-gradient(70% 60% at 50% 44%,#4a90c41f,#0000 70%),radial-gradient(120% 90% at 50% 40%,#0000001a 0%,#0a0806cc 100%);position:absolute;inset:0}.menu-topbar{grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;padding:clamp(12px,3.2vh,34px) clamp(10px,2.5vw,30px) 0;display:grid}.menu-topbar>.menu-purse{grid-column:2;padding:0}.menu-topbar-chrome{grid-column:3;justify-self:end;align-items:center;gap:6px;display:flex}.menu-topbar-chrome>.fs-toggle:not(:last-child){margin-right:0}.menu-purse{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.menu-coin{font-family:var(--font-system);color:var(--text2);background:rgba(var(--surface-rgb), .82);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(2px 2px #00000080);align-items:center;gap:clamp(7px,.9vw,12px);padding:clamp(6px,.9vh,11px) clamp(16px,2vw,28px);font-size:clamp(.88rem,1.5vw,1.15rem);font-weight:700;display:inline-flex}.menu-coin-ico{font-size:1em}.menu-coin-val{font-variant-numeric:tabular-nums;font-size:1.28em}.menu-coin-unit{letter-spacing:.12em;color:var(--muted);font-size:.72em}.menu-coin--cp{color:var(--purple-ink);box-shadow:inset 0 0 0 1px rgba(var(--purple-rgb), .55), inset 0 1px 0 #f2e8d01a}.menu-coin--cp .menu-coin-ico{color:var(--purple-ink)}.menu-coin--game{color:var(--gold-ink);box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb), .55), inset 0 1px 0 #f2e8d01a}.menu-coin--game .menu-coin-ico{color:var(--gold2)}.menu-stage__middle{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:0;padding:4px 16px;display:flex}.menu-word{font-family:var(--font-logo);letter-spacing:.02em;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.04em;margin:0;font-size:clamp(1.1rem,5vw,4.4rem);line-height:1;display:flex}.menu-word-main{color:var(--gold2);text-shadow:3px 3px #000c}.menu-word--dungeon .menu-word-main{color:var(--muted)}.menu-word--dungeon .menu-word-game,.menu-word--fantasy .menu-word-main{color:var(--gold2)}.menu-word--fantasy .menu-word-game{color:var(--purple-ink)}.menu-word--keybound .menu-word-main{color:var(--gold2)}.menu-word--keybound .menu-word-game{color:var(--pitch-ink)}.menu-word-game{color:var(--purple-ink);text-shadow:3px 3px #000c}.menu-stage__cast{z-index:0;pointer-events:none;position:absolute;inset:0}.menu-cast{--frame:clamp(76px, 20vh + 1vw, 280px);width:var(--frame);height:var(--frame);image-rendering:pixelated;filter:blur(calc(var(--frame) * .008)) brightness(.62) saturate(.7) drop-shadow(0 calc(var(--frame) * .08) calc(var(--frame) * .13) #00000080);animation:3.4s ease-in-out infinite menu-cast-idle;position:absolute}.menu-cast--foe1{animation-delay:-.6s;bottom:28%;left:14%}.menu-cast--foe2{opacity:.9;animation-delay:-1.9s;bottom:25%;left:28%}.menu-cast--hero1{bottom:27%;right:15%}.menu-cast--hero2{animation-delay:-1.1s;bottom:25%;right:28%}.menu-cast--foe{width:auto;height:calc(var(--frame) * .82)}@keyframes menu-cast-idle{0%,to{translate:0}50%{translate:0 -5px}}.menu-foot{padding:6px clamp(8px, 2vw, 24px) max(14px, env(safe-area-inset-bottom));background:linear-gradient(180deg, rgba(var(--surface-rgb), 0), rgba(var(--surface-rgb), .72) 60%);justify-content:center;align-items:flex-start;gap:clamp(2px,1.4vw,26px);display:flex}.menu-verb{appearance:none;cursor:pointer;min-width:56px;min-height:44px;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:2px 4px 0;transition:color .12s ease-out;display:flex}.menu-verb-plate{background:rgba(var(--surface-rgb), .78);width:clamp(38px,7vw,78px);height:clamp(38px,7vw,78px);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(2px 2px #00000080);justify-content:center;align-items:center;transition:box-shadow .12s ease-out,background .12s ease-out;display:flex}@media (width>=1024px){.menu-foot{gap:clamp(18px,2.4vw,44px);padding-bottom:clamp(28px,6vh,76px)}.menu-verb{gap:11px;min-width:104px}.menu-verb-plate{width:clamp(80px,7vw,136px);height:clamp(80px,7vw,136px)}.menu-verb-plate .game-icon{width:60%;height:60%}.menu-verb-label{max-width:12ch;font-size:clamp(1.08rem,1.4vw,1.6rem)}.menu-verb-badge{padding:3px 8px;font-size:.74rem;top:-7px;right:-9px}.menu-coin{padding:clamp(9px,1.2vh,14px) clamp(20px,2.4vw,34px);font-size:clamp(1.1rem,1.45vw,1.55rem)}.menu-coin-unit{font-size:.82em}}.menu-verb-badge{z-index:1;font-family:var(--font-system);letter-spacing:.08em;white-space:nowrap;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(1px 1px #0009);padding:1px 5px;font-size:.5rem;font-weight:800;position:absolute;top:-4px;right:-6px}.menu-verb-badge--live{color:rgb(var(--surface-rgb));background:var(--gold2)}.menu-verb-badge--locked{color:var(--text);background:var(--ember)}.menu-verb{position:relative}.menu-verb-label{font-family:var(--font-voice);letter-spacing:.02em;text-align:center;overflow-wrap:anywhere;max-width:9ch;min-height:2.3em;font-size:clamp(.6rem,1.2vw,1rem);font-weight:700;line-height:1.15}.menu-verb-sub{font-family:var(--font-system);letter-spacing:.04em;text-align:center;color:var(--gold2);overflow-wrap:anywhere;max-width:12ch;margin-top:-2px;font-size:clamp(.48rem,.85vw,.7rem);line-height:1.1}.menu-verb[style*=--verb-tone] .menu-verb-plate{box-shadow:inset 0 0 0 var(--rim-w) var(--verb-tone), inset 0 1px 0 #f2e8d01a}.menu-verb--primary{color:var(--text)}.menu-verb--primary .menu-verb-plate{background:rgba(var(--gold-rgb), .14);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), 0 0 8px rgba(var(--gold-rgb), .35)}@media (hover:hover){.menu-verb:hover{color:var(--text)}.menu-verb:hover .menu-verb-plate{box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d01a}}.menu-verb:active .menu-verb-plate{translate:1px 1px}.menu-verb:focus-visible{outline:none}.menu-verb:focus-visible .menu-verb-plate{outline:2px solid var(--gold);outline-offset:2px}.menu-verb:disabled{opacity:.4;cursor:not-allowed}.fs-toggle{appearance:none;cursor:pointer;width:44px;height:44px;color:var(--muted);background:0 0;border:0;flex:none;justify-content:center;align-items:flex-start;margin:0 -7px -20px -5px;padding:2px 0 0;transition:color .1s linear;display:inline-flex}.fs-toggle-mark{background:rgba(var(--surface-rgb), .6);width:30px;height:24px;box-shadow:inset 0 0 0 var(--rim-w) var(--border);clip-path:var(--plate-clip);border-radius:var(--radius);justify-content:center;align-items:center;font-size:.82rem;line-height:1;transition:box-shadow .1s linear,background .1s linear;display:flex}.fs-toggle.is-on{color:var(--gold2)}.fs-toggle.is-on .fs-toggle-mark{box-shadow:inset 0 0 0 var(--rim-w) var(--gold), 0 0 6px rgba(var(--gold-rgb), .35)}@media (hover:hover){.fs-toggle:hover{color:var(--text)}.fs-toggle:hover .fs-toggle-mark{box-shadow:inset 0 0 0 var(--rim-w) var(--gold2)}}.fs-toggle:active .fs-toggle-mark{transform:translate(1px,1px)}.fs-toggle:focus-visible{outline:none}.fs-toggle:focus-visible .fs-toggle-mark{outline:2px solid var(--gold);outline-offset:2px}.fs-how{z-index:var(--z-modal);-webkit-backdrop-filter:blur(3px);background:#0a0806b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.fs-how-card{border:var(--rim-w) solid var(--plate-rim);background:var(--plate-fill);width:min(460px,100%);max-height:100%;box-shadow:var(--plate-bevel), 6px 6px 0 #0000008c;flex-direction:column;gap:10px;padding:18px 20px 16px;display:flex;overflow-y:auto}.fs-how-title{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.02em;margin:0;font-size:1.05rem;font-weight:900}.fs-how-body{color:var(--text2);margin:0;font-size:.9rem;line-height:1.55}.fs-how-steps{font-family:var(--font-system);color:var(--muted);flex-direction:column;gap:6px;margin:0;padding-left:1.2em;font-size:.8rem;display:flex}.fs-how-steps li::marker{color:var(--gold)}.fs-push-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.fs-push-actions .btn{flex:auto;min-height:44px}.hub-fs{position:absolute;top:4px;right:4px}.hub-head{position:relative}.dmap-viewport>.dmap{z-index:1;position:relative}.dmap-stage .battle-bg__scene{filter:brightness(.52)saturate(.7)contrast(1.04);transform:scale(1.06)}.battle-bg.dmap-stage{filter:blur(clamp(1.5px,.4vmin,2.5px))}.battle-bg.dmap-stage:has(.battle-bg__scene--painted){filter:blur(clamp(2px,.6vmin,3.5px))}.dmap-stage .battle-bg__torch{opacity:.5}.dmap-stage__scrim{z-index:0;pointer-events:none;background:radial-gradient(130% 95% at 50% 44%,#0000001a 0%,#0a080675 100%),linear-gradient(#1a161424,#0a080638);position:absolute;inset:0}:root{--run-chrome-w:96px}.run-chrome{top:calc(4px + env(safe-area-inset-top,0px));left:calc(4px + env(safe-area-inset-left,0px));z-index:var(--z-hud-actions);align-items:flex-start;gap:4px;display:flex;position:fixed}.run-door{appearance:none;cursor:pointer;min-height:44px;color:var(--text);background:0 0;border:0;padding:0}.run-door-face{justify-content:center;align-items:center;width:44px;min-height:44px;transition:box-shadow .1s linear;display:flex}.run-door-ico{color:var(--gold2);font-size:1.05rem;line-height:1}.run-door:focus-visible{outline:none}.run-door:focus-visible .run-door-face,.run-door:active .run-door-face{box-shadow:inset 0 0 0 var(--rim-w) var(--gold), inset 0 0 0 2px rgba(var(--surface-rgb), .55), inset 0 1px 0 #f2e8d029}@media (hover:hover){.run-door:hover .run-door-face{box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 0 0 2px rgba(var(--surface-rgb), .55), inset 0 1px 0 #f2e8d024}}.run-door:active{transform:translate(1px,1px)}.run-chrome-fs{margin:0}.run-chrome-fs .fs-toggle-mark{width:34px;height:30px}.node-stage{isolation:isolate;position:relative}.node-stage .non-combat-content,.shop-detail-desc,.ep-terms-in,.commands-grid,.plate-scroll{scrollbar-gutter:stable;overscroll-behavior:contain}.node-stage .non-combat-content::-webkit-scrollbar{width:9px}.shop-detail-desc::-webkit-scrollbar{width:9px}.ep-terms-in::-webkit-scrollbar{width:9px}.commands-grid::-webkit-scrollbar{width:9px}.plate-scroll::-webkit-scrollbar{width:9px}.node-stage .non-combat-content::-webkit-scrollbar-track{background:#0000006b;box-shadow:inset 1px 0 #8562368c}.shop-detail-desc::-webkit-scrollbar-track{background:#0000006b;box-shadow:inset 1px 0 #8562368c}.ep-terms-in::-webkit-scrollbar-track{background:#0000006b;box-shadow:inset 1px 0 #8562368c}.commands-grid::-webkit-scrollbar-track{background:#0000006b;box-shadow:inset 1px 0 #8562368c}.plate-scroll::-webkit-scrollbar-track{background:#0000006b;box-shadow:inset 1px 0 #8562368c}.node-stage .non-combat-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:0;box-shadow:inset 0 1px #f2e8d02e}.shop-detail-desc::-webkit-scrollbar-thumb{background:var(--border);border-radius:0;box-shadow:inset 0 1px #f2e8d02e}.ep-terms-in::-webkit-scrollbar-thumb{background:var(--border);border-radius:0;box-shadow:inset 0 1px #f2e8d02e}.commands-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:0;box-shadow:inset 0 1px #f2e8d02e}.plate-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:0;box-shadow:inset 0 1px #f2e8d02e}@media (hover:hover){.node-stage .non-combat-content::-webkit-scrollbar-thumb:hover{background:var(--gold)}.commands-grid::-webkit-scrollbar-thumb:hover{background:var(--gold)}.plate-scroll::-webkit-scrollbar-thumb:hover{background:var(--gold)}}.node-stage>.battle-bg,.node-stage>.node-stage__scrim{z-index:0}.node-stage>:not(.battle-bg):not(.node-stage__scrim):not(.run-chrome):not(.gmenu-scrim){z-index:1;position:relative}.node-stage .battle-bg__scene{filter:brightness(.52)saturate(.8)sepia(.14)contrast(1.04)}.node-stage .battle-bg__torch{opacity:.6}.node-stage__scrim{z-index:0;pointer-events:none;-webkit-backdrop-filter:blur(3px);background:radial-gradient(130% 95% at 50% 44%,#0000 0%,#0a080685 100%),linear-gradient(#1a161429,#0a080657);position:fixed;inset:0}.node-stage .screen-card:after{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 9% 91%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 9% 91%,#0000 100%)}.node-stage .screen-card .btn,.node-stage .screen-card button.btn{clip-path:var(--plate-clip);border-radius:var(--radius);box-shadow:none;filter:drop-shadow(3px 3px #00000073)}.node-stage .screen-card .btn:active{box-shadow:none;filter:drop-shadow(1px 1px #00000073)}.node-stage .screen-card .btn-gold~.btn-gold{background:rgba(var(--surface-rgb), .82);border-color:var(--border);color:var(--text2)}.node-stage .screen-card .btn-gold:has(~.btn-gold){background:rgba(var(--surface-rgb), .82);border-color:var(--border);color:var(--text2)}@media (hover:hover){.node-stage .screen-card .btn-gold~.btn-gold:hover{background:rgba(var(--gold-rgb), .16);border-color:var(--gold);color:var(--text)}.node-stage .screen-card .btn-gold:has(~.btn-gold):hover{background:rgba(var(--gold-rgb), .16);border-color:var(--gold);color:var(--text)}}.node-stage .screen-card .btn-gold~.btn-gold:focus-visible{border-color:var(--gold2);color:var(--text)}.node-stage .screen-card .btn-gold:has(~.btn-gold):focus-visible{border-color:var(--gold2);color:var(--text)}.node-stage .screen-card .btn-dim{background:rgba(var(--surface-rgb), .82);border-color:var(--border);color:var(--text2)}.plate-ledger{font-family:var(--font-system);gap:5px;font-size:.78rem;display:grid}.plate-lg{grid-template-columns:auto 1fr auto;align-items:baseline;gap:9px;display:grid}.plate-lg-k{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.86em}.plate-lg-lead{border-bottom:1px dotted #856236a6;align-self:center;height:1px}.plate-lg-v{color:var(--text2);font-variant-numeric:tabular-nums;font-weight:700}.plate-lg-v--gain{color:var(--forest-ink)}.plate-lg-v--cost{color:var(--ember-ink)}.plate-lg-v--gold{color:var(--gold-ink)}.plate-lg-v--cp{color:var(--purple-ink)}.plate-lg-was{color:var(--muted)}.plate-lg-arrow{color:var(--muted);padding:0 5px}.event-plate{--ep-rgb:var(--gold-rgb);--ep-ink:var(--gold-ink)}.event-plate--ember{--ep-rgb:var(--ember-rgb);--ep-ink:var(--ember-ink)}.event-plate--violet{--ep-rgb:var(--purple-rgb);--ep-ink:var(--purple-ink)}.event-plate--forest{--ep-rgb:var(--forest-rgb);--ep-ink:var(--forest-ink)}.non-combat-content:has(>.event-plate-screen){align-items:safe center}.node-stage .non-combat-content{align-items:safe center}.event-plate-screen{max-width:620px}:is(.event-plate-screen:has(.ep-terms),.event-plate-screen:has(.ep-body--wide)){max-width:880px}.event-plate{gap:12px;padding:18px 20px 16px}.ep-head{align-items:center;gap:12px;min-width:0;display:flex}.ep-crest{background:radial-gradient(circle at 50% 65%, rgba(var(--ep-rgb), .2) 0%, transparent 72%), rgba(var(--surface-rgb), .78);width:42px;height:42px;box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(2px 2px #00000080);flex:none;place-items:center;font-size:1.45rem;line-height:1;display:grid}.ep-titles{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.ep-eyebrow{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;color:var(--ep-ink);font-size:.6rem;font-weight:700}.ep-head .ep-title{background:0 0;align-self:auto;padding-bottom:0;font-size:1.22rem}.ep-meta{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right;flex:none;font-size:.68rem}.ep-body{scrollbar-gutter:stable;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px 18px;min-width:0;min-height:0;display:grid}.ep-body:not(.ep-body--wide):has(>.ep-terms){grid-template-columns:minmax(0,1fr) minmax(12rem,18rem)}.ep-body--lead-terms:not(.ep-body--wide):has(>.ep-terms){grid-template-columns:minmax(0,13rem) minmax(0,1fr)}.ep-body--lead-terms>.ep-terms,.ep-body--lead-terms .ep-prose .screen-text{max-width:none}.ep-prose{min-width:0}.ep-prose>*+*{margin-top:8px}.ep-prose .screen-text{text-align:left;max-width:48ch;margin:0}.ep-terms{min-width:0;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d}.ep-terms-label{font-family:var(--font-system);letter-spacing:.2em;text-transform:uppercase;color:var(--ep-ink);background:rgba(var(--ep-rgb), .1);box-shadow:inset 0 -1px 0 rgba(var(--ep-rgb), .38);padding:6px 12px;font-size:.58rem;font-weight:700;display:block}.ep-terms--ember{--ep-rgb:var(--ember-rgb);--ep-ink:var(--ember-ink)}.ep-terms--violet{--ep-rgb:var(--purple-rgb);--ep-ink:var(--purple-ink)}.ep-terms--forest{--ep-rgb:var(--forest-rgb);--ep-ink:var(--forest-ink)}.ep-terms--gold{--ep-rgb:var(--gold-rgb);--ep-ink:var(--gold-ink)}.ep-terms-in{flex-direction:column;gap:9px;padding:11px 12px 12px;display:flex}.ep-term-line{color:var(--text2);margin:0;font-size:.82rem;line-height:1.5}.ep-term-cap{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:.56rem;font-weight:700;display:block}.ep-term-cap--gain{color:var(--forest-ink)}.ep-term-cap--cost{color:var(--ember-ink)}.ep-term-ico{vertical-align:-1px;margin-right:5px}.ep-terms .plate-ledger{font-size:.74rem}.ep-terms .commands-grid{grid-template-columns:minmax(0,1fr);gap:8px}.ep-prose .pact-voice-preview{margin:0;padding:9px 10px}.ep-foot{box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;flex-direction:column;align-items:center;gap:6px;margin-top:auto;padding:9px 12px;display:flex}.ep-choices{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px 14px;width:100%;display:flex}.ep-note{color:var(--muted);text-align:center;margin:0;font-size:.72rem;font-style:italic}@media (width>=1100px) and (height>=700px){.event-plate-screen{max-width:47.5rem}:is(.event-plate-screen:has(.ep-terms),.event-plate-screen:has(.ep-body--wide)){max-width:min(70rem,88vw)}.event-plate{gap:16px;padding:26px 30px 24px}.ep-head{gap:16px}.ep-crest{width:54px;height:54px;font-size:1.9rem}.ep-head .ep-title{font-size:1.5rem}.ep-eyebrow{font-size:.66rem}.ep-meta{font-size:.76rem}.ep-body{gap:18px 26px;min-height:120px}.ep-body:not(.ep-body--wide):has(>.ep-terms){grid-template-columns:minmax(0,1fr) minmax(16rem,23rem)}.ep-body--lead-terms:not(.ep-body--wide):has(>.ep-terms){grid-template-columns:minmax(0,17rem) minmax(0,1fr)}.ep-prose .screen-text{max-width:58ch;font-size:1rem;line-height:1.7}.ep-prose>*+*{margin-top:12px}.ep-terms-label{padding:8px 14px;font-size:.64rem}.ep-terms-in{gap:11px;padding:14px 16px 15px}.ep-term-line{font-size:.92rem}.ep-terms .plate-ledger{font-size:.86rem}.ep-foot{gap:8px;padding:12px 16px}.ep-choices{gap:12px 18px}.ep-note{font-size:.8rem}.spoils-plate{gap:14px;width:min(30rem,100%);padding:20px 22px 18px}.spoils-title{font-size:1.2rem}.spoils-row{font-size:.95rem}}@media (width<=700px) and (height>=501px){.ep-body:not(.ep-body--wide):has(>.ep-terms){grid-template-columns:minmax(0,1fr)}}.shop-card{max-width:560px}.screen:has(>.shop-card){max-width:940px}.spoils-scrim{z-index:var(--z-modal);padding:16px max(16px, env(safe-area-inset-right,0px)) 16px max(16px, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(3px);background:radial-gradient(120% 90%,#0000 0%,#0a080694 100%),linear-gradient(#1a161433,#0a08066b);justify-content:center;align-items:safe center;display:flex;position:fixed;inset:0}.spoils-plate{background:linear-gradient(180deg, rgba(var(--surface-rgb), .94), rgba(var(--surface-rgb), .98));width:min(420px,100%);box-shadow:inset 0 0 0 var(--rim-w) var(--gold), inset 0 0 0 2px rgba(var(--surface-rgb), .6), inset 0 1px 0 #f2e8d01f;clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);filter:drop-shadow(5px 5px #0000008c);flex-direction:column;gap:12px;padding:16px 18px 14px;animation:.18s cubic-bezier(.22,1,.36,1) both spoils-in;display:flex}.spoils-plate--loss{box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d014}@keyframes spoils-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spoils-title{font-family:var(--font-voice);letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);text-align:center;text-shadow:2px 2px #000000a6;margin:0;font-size:1.05rem;font-weight:900}.spoils-plate--loss .spoils-title{color:var(--muted)}.spoils-rows{box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;flex-direction:column;gap:7px;margin:0;padding:10px 12px;list-style:none;display:flex}.spoils-row{color:var(--text2);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;font-size:.86rem;display:grid}.spoils-row-ico{display:flex}.spoils-row-label{min-width:0}.spoils-row-val{font-family:var(--font-system);font-variant-numeric:tabular-nums;font-weight:700}.spoils-foot{box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;justify-content:center;padding:7px 10px;display:flex}.spoils-ok{min-width:10rem}.plate-tabs{box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;gap:6px;padding:4px;display:flex}.plate-tab{min-height:44px;font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:rgba(var(--surface-rgb), .78);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a;border:none;flex:1 1 0;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-size:.66rem;font-weight:700;display:inline-flex}.plate-tab--on{color:var(--gold2);background:rgba(var(--gold-rgb), .14);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d024}@media (hover:hover){.plate-tab:hover{color:var(--text2);box-shadow:inset 0 0 0 var(--rim-w) var(--gold), inset 0 1px 0 #f2e8d01f}.plate-tab--on:hover{color:var(--gold2)}}.plate-tab:active{transform:translate(1px,1px)}.plate-tab:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.shop-stock{min-height:0;overflow-y:auto}.plate-tab-n{color:var(--text2);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.plate-tab--on .plate-tab-n{color:var(--gold2)}.plate-tab-ico{flex:none;line-height:0;display:inline-flex}.plate-tab-ico>img{width:var(--plate-tab-ico,24px);height:var(--plate-tab-ico,24px);object-fit:contain}.plate-tabs--rail{flex-direction:column;align-self:start;padding:5px}.plate-tabs--rail .plate-tab{flex:none;justify-content:flex-start;position:relative}.plate-tabs--rail .plate-tab--on:after{content:"";background:var(--gold2);clip-path:polygon(0 0,100% 50%,0 100%);pointer-events:none;width:7px;height:14px;position:absolute;top:50%;right:-7px;transform:translateY(-50%)}@media (width>=620px){.node-stage .shop-card{grid-template-columns:auto minmax(0, 1fr) auto var(--keeper-col);grid-template-areas:"ico title purse keeper""warn warn warn keeper""tabs tabs tabs keeper""stock stock stock keeper""detail detail detail keeper";grid-template-rows:auto auto auto minmax(0, 1fr) var(--shop-detail-h);gap:12px 16px;max-width:920px;display:grid}.node-stage .shop-card>.screen-ico{grid-area:ico;align-self:center;margin:0}.node-stage .shop-card>.screen-title{text-wrap:balance;background:0 0;grid-area:title;align-self:center;padding-bottom:0;font-size:1.05rem}.node-stage .shop-card>.gold-display{text-align:right;grid-area:purse;align-self:center}@media (width>=1024px) and (height>=600px){.node-stage .shop-card>.gold-display{letter-spacing:.06em;font-size:1.35rem}.node-stage .shop-card>.gold-display .painted-art,.node-stage .shop-card>.gold-display .game-icon{width:26px;height:26px}}.node-stage .shop-card>.warning-banner{grid-area:warn}.node-stage .shop-card>.plate-tabs,.node-stage .shop-card>.shop-section-label{grid-area:tabs}.node-stage .shop-card>.shop-stock{grid-area:stock}.node-stage .shop-card>.shop-leave{height:var(--keeper-leave-h);min-height:var(--keeper-leave-h);grid-area:-2/4/-1;align-self:end;margin-top:0}.node-stage .shop-card>.shop-detail{grid-template:"head ledger""desc ledger"minmax(0,1fr)"desc buy"/minmax(0,1fr) minmax(9.5rem,12.5rem);grid-area:detail;align-self:stretch;gap:6px 16px;min-height:0;margin-top:0;display:grid}.node-stage .shop-card>.shop-detail>.shop-detail-head>.shop-detail-cost{display:none}.node-stage .shop-card>.shop-detail>.shop-detail-desc{grid-area:desc;min-height:0;margin:0;overflow-y:auto}.node-stage .shop-card>.shop-detail>.plate-rule{display:none}.node-stage .shop-card>.shop-detail>.plate-ledger,.node-stage .shop-card>.shop-detail>.shop-price{grid-area:ledger;align-self:end}.node-stage .shop-card>.shop-detail>.shop-detail-buy,.node-stage .shop-card>.shop-detail>.shop-detail-sold{grid-area:buy;align-self:end}.node-stage .shop-card>.shop-detail:not(.shop-detail--idle){grid-template:"art.ledger"minmax(0,1fr)"art head ledger""art desc ledger"minmax(0,auto)"art.ledger"minmax(0,1fr)"art.buy"/auto minmax(0,1fr) minmax(9.5rem,12.5rem);row-gap:4px}.node-stage .shop-card>.shop-detail:not(.shop-detail--idle) .shop-detail-name{font-size:1.3rem}.node-stage .shop-card>.shop-detail:not(.shop-detail--idle)>.shop-detail-desc{font-size:1.05rem;line-height:1.4}.node-stage .shop-card>.shop-detail>.shop-detail-head{display:contents}.node-stage .shop-card>.shop-detail>.shop-detail-head>.shop-detail-ico{background:0 0;border:0;grid-area:art;align-self:center;width:clamp(72px,14vh,128px);height:clamp(72px,14vh,128px)}.node-stage .shop-card>.shop-detail>.shop-detail-head>.shop-detail-titles{grid-area:head}.node-stage .shop-card>.shop-detail>.shop-detail-head>.shop-detail-ico>.game-icon{width:70%;height:70%;image-rendering:pixelated}.node-stage .shop-card>.shop-keeper{padding-bottom:calc(var(--keeper-leave-h) + 8px);min-height:var(--keeper-min-h);flex-direction:column;grid-area:keeper;align-items:stretch;min-width:0;margin:0;display:flex}.node-stage .shop-card>.shop-keeper>.shop-keeper-voice{order:0;flex:0 0 var(--keeper-voice-h);z-index:2;flex-direction:column;min-height:0;margin-bottom:8px;display:flex}.node-stage .shop-card>.shop-keeper>.shop-keeper-voice>.keeper-bubble{flex:auto;min-height:0;overflow:hidden}.node-stage .shop-card>.shop-keeper>.shop-keeper-voice:has(>.keeper-bubble):after{top:auto;bottom:-5px;left:calc(50% - 5px)}.node-stage .shop-card>.shop-keeper>.keeper-figure{height:auto;min-height:0;margin-bottom:calc(0px - var(--keeper-tuck));flex-direction:column;flex:1 1 0;order:1;align-self:center;display:flex;overflow:clip}.node-stage .shop-card>.shop-keeper>.keeper-figure>.keeper-sprite{height:var(--keeper-h);flex:none;margin-top:auto}.node-stage .shop-card>.shop-keeper>.keeper-counter{z-index:1;flex:none;order:2;display:flex;position:relative}.node-stage .shop-card>.shop-detail--idle{justify-content:center;align-items:center;display:flex}}@media (width>=1100px) and (height>=760px){.screen:has(>.shop-card){max-width:min(76rem,92vw)}.node-stage .shop-card{--keeper-col:18rem;--keeper-w:279px;--keeper-h:255px;--keeper-min-h:29rem;--shop-detail-h:10rem;max-width:none}.node-stage .shop-card .shop-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:12px}.node-stage .shop-card .shop-grid-relic{grid-template-columns:repeat(2,1fr)}.node-stage .shop-card .shop-tile{gap:8px;min-height:9rem;padding:12px 10px 10px}.node-stage .shop-card .shop-tile-type{font-size:.62rem}.node-stage .shop-card .shop-tile-name,.node-stage .shop-card .shop-tile-cost{font-size:.9rem}}@media (width>=1600px) and (height>=1000px){.node-stage .shop-card{--keeper-col:20rem;--keeper-w:372px;--keeper-h:340px;--keeper-min-h:34rem}}.shop-section-label{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.16em;color:var(--gold-ink);text-align:left;background:rgba(var(--gold-rgb), .12);box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb), .45), inset 0 1px 0 #f2e8d01a;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);place-self:flex-start start;margin:14px 0 8px;padding:5px 20px 5px 10px;font-size:.6rem;font-weight:700}.shop-section-label:first-of-type{margin-top:4px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px;display:grid}.shop-grid-relic{grid-template-columns:repeat(2,1fr)}.shop-tile{background:rgba(var(--surface-rgb),.28);border:var(--rim-w) solid transparent;min-height:118px;color:inherit;cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:5px;padding:9px 6px 8px;transition:border-color .16s cubic-bezier(.22,1,.36,1),box-shadow .16s cubic-bezier(.22,1,.36,1),transform .16s cubic-bezier(.22,1,.36,1);display:flex;position:relative}@media (hover:hover){.shop-tile:hover{border-color:var(--gold);box-shadow:3px 3px #0000006b}}.shop-tile-active{border-color:var(--gold);background:rgba(var(--gold-rgb),.07);box-shadow:3px 3px #00000080}.shop-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shop-tile-relic{border-color:#0000}.shop-tile-sold{opacity:.34;filter:grayscale(.65)}@media (hover:hover){.shop-tile-sold:hover{border-color:var(--border);box-shadow:none}}.shop-tile-ico,.chest-item-ico{background:0 0;border:0;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.55rem;line-height:1;display:flex;position:relative}.shop-tile-ico:before,.chest-item-ico:before{content:"";border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb),.62);width:41px;height:41px;transition:border-color .16s cubic-bezier(.22,1,.36,1),background .16s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.shop-tile-ico>*,.chest-item-ico>*{position:relative}.chest-item-ico:before{border-color:var(--gold2);background:rgba(var(--gold-rgb),.16);box-shadow:0 0 8px rgba(var(--gold-rgb),.4)}.shop-tile-relic .shop-tile-ico:before{border-color:var(--rarity-bronze)}.shop-tile-active .shop-tile-ico:before{border-color:var(--gold2);background:rgba(var(--gold-rgb),.16);box-shadow:0 0 8px rgba(var(--gold-rgb),.4)}.shop-tile:has(.shop-tile-cost-short) .shop-tile-ico:before{background:0 0;border-color:#85623673}.shop-tile:has(.shop-tile-cost-short) .shop-tile-ico>*{opacity:.4}@media (hover:hover){.shop-tile:hover .shop-tile-ico:before{border-color:var(--gold2)}}.shop-tile-ico:has(>.painted-art):before{display:none}.chest-item-ico:has(>.painted-art):before{display:none}.shop-tile-ico>.painted-art,.chest-item-ico>.painted-art,.shop-detail-ico>.painted-art{width:100%;height:100%}:is(.shop-tile-ico:has(>.painted-art),.shop-detail-ico:has(>.painted-art)){background:0 0;border:0}.shop-tile-active .shop-tile-ico>.painted-art{filter:drop-shadow(2px 0 0 var(--gold2)) drop-shadow(-2px 0 0 var(--gold2)) drop-shadow(0 2px 0 var(--gold2)) drop-shadow(0 -2px 0 var(--gold2))}@media (hover:hover){.shop-tile:hover .shop-tile-ico>.painted-art{filter:drop-shadow(2px 0 0 var(--gold2)) drop-shadow(-2px 0 0 var(--gold2)) drop-shadow(0 2px 0 var(--gold2)) drop-shadow(0 -2px 0 var(--gold2))}}.hud-inv-glyph>.painted-art{width:1.9em;height:1.9em}.hud-relic-glyph>.painted-art{width:34px;height:34px}.fan-gear-slots .hud-inv-glyph>.painted-art{width:52px;height:52px}.fan-belt-ico>.painted-art{width:30px;height:30px}.spoils-finds{flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:4px 0 10px;padding:0;list-style:none;display:flex}.spoils-find{text-align:center;flex-direction:column;align-items:center;gap:4px;width:clamp(96px,22vh,150px);display:flex}.spoils-find-art{aspect-ratio:1;width:100%;display:block}.spoils-find-art>.painted-art{width:100%;height:100%}.spoils-find-name{font-family:var(--font-voice);color:var(--gold2);text-shadow:1px 1px #000000d9,-1px 0 #0009,0 -1px #0009;font-size:.95rem;font-weight:800;line-height:1.15}.spoils-find-val{font-family:var(--font-system);font-variant-numeric:tabular-nums;text-shadow:1px 1px #000000d9;font-size:1.05rem;font-weight:700}.ep-term-ico>.painted-art{vertical-align:middle;width:40px;height:40px}.vic-loot-pill:has(.painted-art){--spill:56px}.vic-loot-pill:has(.painted-art)>.spill-rhomb{display:none}.vic-loot-pill .spill-icon>.painted-art,.status-item-btn>.painted-art{width:100%;height:100%}.shop-tile-name{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.shop-tile-cost{font-family:var(--font-system);color:var(--gold2);letter-spacing:.03em;text-shadow:1px 1px #00000080;margin-top:auto;font-size:.78rem;font-weight:700}.shop-tile-cost-short{color:var(--red,#c0563a)}.shop-tile-soldtag{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:rgba(var(--surface-rgb),.75);border:var(--rim-w) solid var(--border);padding:1px 4px;font-size:.5rem;font-weight:700;position:absolute;top:5px;right:5px}.shop-tile-pop{width:max-content;max-width:220px;z-index:var(--z-sticky);color:var(--text2);background:var(--panel,rgba(var(--surface-rgb),.98));border:var(--rim-w) solid var(--gold);pointer-events:none;padding:7px 9px;font-size:.74rem;line-height:1.4;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:3px 3px #00000080}@media (hover:hover){.shop-tile:hover .shop-tile-pop{display:block}}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px 8px}.shop-tile,.shop-tile-active,.shop-tile-relic{box-shadow:none;background:0 0;border:0}.shop-tile{justify-content:flex-start;gap:2px;min-height:0;padding:6px 4px 4px}.shop-grid>.shop-tile{justify-self:center;width:100%;max-width:160px}@media (hover:hover){.shop-tile:hover{box-shadow:none;border:0}}:is(.shop-tile-ico,.shop-tile-ico:has(>.painted-art)){aspect-ratio:1;width:100%;max-width:128px;height:auto;font-size:3rem}.shop-tile-ico:before{display:none}.shop-tile-ico>.painted-art{width:100%;height:100%}.shop-tile-ico>.game-icon{width:60%;height:60%;image-rendering:pixelated}.shop-tile-ico>*{filter:drop-shadow(1px 0 #000000b3)drop-shadow(-1px 0 #000000b3)drop-shadow(0 1px #000000b3)drop-shadow(0 -1px #000000b3);transition:filter .12s ease-out}.shop-tile-active .shop-tile-ico>*,.shop-tile:focus-visible .shop-tile-ico>*{filter:drop-shadow(2px 0 0 var(--gold2)) drop-shadow(-2px 0 0 var(--gold2)) drop-shadow(0 2px 0 var(--gold2)) drop-shadow(0 -2px 0 var(--gold2))}@media (hover:hover){.shop-tile:not(.shop-tile-sold):hover .shop-tile-ico>*{filter:drop-shadow(2px 0 0 var(--gold2)) drop-shadow(-2px 0 0 var(--gold2)) drop-shadow(0 2px 0 var(--gold2)) drop-shadow(0 -2px 0 var(--gold2))}.shop-tile:not(.shop-tile-sold):hover .shop-tile-name{color:var(--gold2)}}.shop-tile:focus-visible{outline:none}.shop-tile-active .shop-tile-name,.shop-tile:focus-visible .shop-tile-name{color:var(--gold2)}.shop-tile-name{text-shadow:1px 1px #000000d9,-1px 0 #0009,0 -1px #0009;font-size:.86rem}.shop-tile .shop-tile-cost{z-index:1;border-style:double;border-width:4px;border-radius:50%;place-items:center;width:34px;min-width:0;height:34px;margin:0;padding:0;font-size:.84rem;line-height:1;display:grid;position:absolute;top:2px;left:2px}.shop-tile-cost-coin{filter:drop-shadow(1px 1px #000000b3);width:15px;height:15px;position:absolute;bottom:-6px;right:-7px}.shop-tile .shop-tile-cost.shop-tile-cost-short{color:var(--ember-ink);border-color:var(--ember)}.shop-price{align-items:center;gap:12px;min-width:0;display:flex}.shop-price-disc{border:4px double var(--gold);background:rgba(var(--surface-rgb), .94);width:48px;height:48px;font-family:var(--font-system);color:var(--gold2);border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.15rem;font-weight:800;display:grid;position:relative;box-shadow:1px 1px #0000008c}.shop-price-disc--short{border-color:var(--ember);color:var(--ember-ink)}.shop-price-disc>.shop-tile-cost-coin{width:18px;height:18px;bottom:-6px;right:-6px}.shop-price-lines{min-width:0;color:var(--text2);flex-direction:column;gap:2px;font-size:.92rem;display:flex}.shop-price-after b{color:var(--forest-ink)}.shop-price-short{color:var(--ember-ink);font-weight:700}.shop-price-extra{color:var(--muted);font-size:.82rem}.shop-detail-buy:disabled{color:var(--ember-ink);border:1.5px dashed rgba(var(--ember-rgb), .7);box-shadow:none;opacity:1;cursor:not-allowed;background:0 0}:is(.cmd-row--art .energy-cost,.cmd-row--art .cmd-tile-count,.shop-tile .shop-tile-cost,.shop-price-disc) .glyph-num,.cmd-row--art .energy-cost-num{font-variant-numeric:lining-nums tabular-nums;line-height:1;display:block}@media (width>=1024px) and (height>=600px){.shop-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}:is(.shop-tile-ico,.shop-tile-ico:has(>.painted-art)){max-width:150px}.shop-tile .shop-tile-cost{width:40px;height:40px;font-size:.95rem}}.shop-detail{border:var(--rim-w) solid var(--gold);background:repeating-linear-gradient(0deg, #f2e8d005 0 1px, transparent 1px 4px), rgba(var(--gold-rgb),.05);text-align:left;margin-top:14px;padding:12px 14px;box-shadow:3px 3px #0006}.shop-detail-head{align-items:center;gap:11px;display:flex}.shop-detail-ico{border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb),.4);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.5rem;display:flex}.shop-detail-titles{flex:1;min-width:0}.shop-detail-name{color:var(--text);letter-spacing:.01em;font-size:.96rem;font-weight:700}.shop-detail-type{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:2px;font-size:.58rem;font-weight:700}.shop-detail-cost{font-family:var(--font-system);color:var(--gold2);letter-spacing:.03em;text-shadow:1px 1px #00000080;flex-shrink:0;font-size:1rem;font-weight:700}.shop-detail-desc{color:var(--text2);max-width:60ch;margin:9px 0 11px;font-size:.82rem;line-height:1.55}.shop-detail-buy{width:100%}.shop-detail--idle{border-color:var(--border);background:rgba(var(--surface-rgb), .35)}.shop-detail-idle{color:var(--muted);text-align:center;margin:0;font-size:.8rem}.shop-detail-sold{text-align:center;font-family:var(--font-system);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);padding:7px 0;font-size:.66rem;font-weight:700;display:block}.shop-leave{margin-top:14px}.shop-card{--keeper-col:12.5rem;--keeper-w:186px;--keeper-h:170px;--keeper-leave-h:44px;--keeper-counter-h:26px;--keeper-tuck:8px;--shop-detail-h:9rem;--keeper-voice-h:7rem;--keeper-min-h:22rem}.shop-keeper{text-align:left;align-items:flex-end;gap:12px;margin-top:12px;display:flex;position:relative}.shop-keeper-voice{filter:drop-shadow(3px 3px #0000008c);flex:auto;order:2;min-width:0;position:relative}.shop-keeper-voice:has(>.keeper-bubble):after{content:"";background:var(--purple2);width:10px;height:10px;animation:.32s steps(4,end) both keeper-pop;position:absolute;top:calc(50% - 5px);left:-5px;transform:rotate(45deg)}.keeper-bubble{background:linear-gradient(rgba(var(--purple-rgb), .26), rgba(var(--purple-rgb), .26)), rgb(var(--surface-rgb));box-shadow:inset 0 0 0 var(--rim-w) var(--purple2), inset 0 0 0 3px rgba(var(--surface-rgb), .85), inset 0 0 0 4px rgba(var(--purple2-rgb), .45);clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);transform-origin:50% 100%;flex-direction:column;gap:3px;margin:0;padding:9px 14px 11px;animation:.32s steps(4,end) both keeper-pop;display:flex}.keeper-bubble-who{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--purple-ink);font-size:.58rem;font-weight:700}.keeper-bubble-say{color:var(--text);font-size:.84rem;line-height:1.35}.keeper-bubble--hum .keeper-bubble-say{font-style:italic}.keeper-figure{width:var(--keeper-w);height:var(--keeper-h);flex-shrink:0;order:1;animation:1.6s step-end infinite keeper-bob;position:relative}.keeper-sprite{appearance:none;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.keeper-sprite img{width:100%;height:100%;image-rendering:pixelated;-webkit-user-drag:none;display:block}@media (hover:hover){.keeper-sprite:hover img{filter:brightness(1.08)}}.keeper-sprite:active{transform:translate(1px,1px)}.keeper-sprite:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.keeper-notes{pointer-events:none;z-index:3;width:72px;height:56px;position:absolute;top:2%;right:4%}.keeper-notes>img{image-rendering:pixelated;opacity:0;animation:2.4s steps(6,end) infinite keeper-note;position:absolute;bottom:0}.keeper-notes>img:first-child{left:0}.keeper-notes>img:nth-child(2){animation-delay:.8s;left:26px}.keeper-notes>img:nth-child(3){animation-delay:1.6s;left:50px}.keeper-counter{height:var(--keeper-counter-h);background:var(--card2);box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb), .35), inset 0 1px 0 #f2e8d024, 3px 3px 0 #0000008c;font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--purple-ink);justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:none}@keyframes keeper-bob{0%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes keeper-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.shop-keeper-voice:has(>.keeper-bubble):after{animation-name:keeper-pip}@keyframes keeper-pip{0%{opacity:0;transform:rotate(45deg)scale(.6)}to{opacity:1;transform:rotate(45deg)scale(1)}}@keyframes keeper-note{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-28px)}}@media (width<=480px){.shop-grid{grid-template-columns:repeat(3,1fr);gap:6px}.shop-tile{min-height:104px}.shop-tile-ico{width:46px;height:46px;font-size:1.7rem}}.rest-effects{border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb),.35);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.rest-effect{grid-template-columns:24px 1fr;align-items:center;gap:12px;font-size:.92rem;display:grid}.rest-effect-icon{text-align:center;color:var(--gold2);font-size:1.1rem}.rest-effect--named{grid-template-columns:minmax(0,1fr)}.rest-effect-val{color:var(--text2);font-weight:600;font-family:var(--font-system);letter-spacing:.03em}.gain-label{color:var(--forest2);font-weight:800}.ep-terms .rest-effects{background:0 0;border:none;gap:5px;padding:0}.ep-terms .rest-effect{flex:none}.ep-terms .rest-effects{min-height:max-content}.upgrade-section{background:linear-gradient(90deg,#0000 0%,#6b4c2a8c 6% 94%,#0000 100%) top/8px 1px repeat-x;flex-direction:column;gap:12px;padding-top:18px;display:flex}.upgrade-title{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.04em;text-align:center;font-size:1rem;font-weight:800}.upgrade-hint{color:var(--text2);text-align:center;font-size:.78rem}.xp-display{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);text-align:center;border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb),.4);align-self:center;padding:6px 12px;font-size:.74rem;font-weight:700}.arrow{color:var(--gold-ink);font-weight:800}.chest-reveal{background:radial-gradient(70% 90% at 0% 50%, rgba(var(--gold-rgb),.1), transparent 70%), rgba(var(--surface-rgb),.4);border:var(--rim-w) solid var(--border);grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:18px 18px 18px 20px;display:grid;position:relative;box-shadow:inset 0 0 20px #00000073}.chest-reveal:before,.chest-reveal:after{content:"";pointer-events:none;border:var(--rim-w) solid var(--gold);opacity:.75;width:12px;height:12px;position:absolute}.chest-reveal:before{border-bottom:none;border-right:none;top:4px;left:4px}.chest-reveal:after{border-top:none;border-left:none;bottom:4px;right:4px}.chest-item-info{flex-direction:column;gap:4px;min-width:0;display:flex}.chest-item-name{color:var(--gold2);letter-spacing:.02em;font-size:1rem;font-weight:800}.chest-item-type{color:var(--muted);font-size:.6rem;font-family:var(--font-system);text-transform:uppercase;letter-spacing:.14em;font-weight:700}.chest-item-effect{color:var(--text2);font-size:.8rem;line-height:1.5}.chest-choose-hint{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:.72rem;font-weight:700}.chest-relic-offer{flex-direction:column;gap:10px;display:flex}.chest-relic-option{text-align:left;background:rgba(var(--surface-rgb),.4);border:var(--rim-w) solid var(--border);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:16px;width:100%;padding:14px 16px;transition:border-color .12s,background .12s,transform 60ms;display:grid}.chest-relic-offer.is-multi .chest-relic-option{opacity:.72}.chest-relic-option.is-selected{opacity:1;border-color:var(--gold);background:radial-gradient(70% 90% at 0% 50%, rgba(var(--gold-rgb),.14), transparent 70%), rgba(var(--surface-rgb),.5);box-shadow:inset 0 0 20px #0006, 2px 2px 0 rgba(var(--gold-rgb),.5)}@media (hover:hover){.chest-relic-option:not(.is-selected):hover{border-color:var(--gold2);opacity:.9}}.chest-relic-option:active{transform:translate(1px,1px)}.free-label{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--forest2);text-align:center;font-size:.72rem;font-weight:700}.empty-label{color:var(--muted);text-align:center;font-size:.92rem;font-style:italic}.chest-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.mirror-exchange{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:4px 0 8px;display:grid}.mirror-arrow{font-family:var(--font-system);color:var(--muted);align-self:center;padding:0 4px;font-size:1.4rem;line-height:1}.mirror-side{flex-direction:column;gap:8px;display:flex}.mirror-side-label{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;font-size:.6rem;font-weight:700}.mirror-side-lose .mirror-side-label{color:var(--ember-ink)}.mirror-side-gain .mirror-side-label{color:var(--forest2)}.mirror-cmd-card{background:rgba(var(--surface-rgb),.5);cursor:default;border:1px solid;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.mirror-cmd-card-lose{border-color:rgba(var(--ember-rgb),.55);background:repeating-linear-gradient(135deg, rgba(var(--ember-rgb),.03) 0 6px, transparent 6px 12px), rgba(var(--ember-rgb),.07)}.mirror-cmd-card-gain{border-color:rgba(var(--forest-rgb),.55);background:repeating-linear-gradient(135deg, rgba(var(--forest-rgb),.03) 0 6px, transparent 6px 12px), rgba(var(--forest-rgb),.07)}.mirror-cmd-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.mirror-cmd-name{font-family:var(--font-voice);color:var(--text);font-size:.92rem;font-weight:700}.mirror-cmd-type{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;font-size:.58rem;font-weight:700}.mirror-cmd-desc{font-family:var(--font-system);color:var(--text2);font-size:.66rem;line-height:1.45}.end-icon{font-size:4.5rem;animation:3s ease-in-out infinite float}.piano-label{font-size:.64rem!important}.re-staff-wrap{border-radius:var(--radius);background:#1a1614;border:1px solid #f2e8d033;align-items:center;min-height:180px;display:flex;position:relative;overflow:hidden}.re-playhead{pointer-events:none;opacity:.85;border-radius:0;width:2px;height:100%;display:none;position:absolute;top:0;bottom:0}.sing-octave-note{color:var(--muted);font-size:.78em}.sing-prompt{color:var(--purple-ink);letter-spacing:.02em}.sing-target-row{flex-direction:column;align-items:center;gap:10px;padding:6px 0 10px;display:flex}.sing-note-name{font-family:var(--font-voice);color:var(--gold-ink);text-shadow:3px 3px #6b4c2a;letter-spacing:.04em;font-size:3.2rem;font-weight:900;line-height:1}.sing-bars{flex-direction:column;gap:10px;padding:0 4px;display:flex}.sing-bar-row{align-items:center;gap:10px;display:flex}.sing-bar-label{text-align:center;width:22px;color:var(--muted);flex-shrink:0;font-size:1rem}.sing-mic-bar{background:var(--bg2);border:1px solid #f2e8d033;flex:1;height:10px;overflow:hidden}.sing-mic-fill{background:var(--gold);min-width:0;height:100%;transition:width .11s linear}.sing-hold-bar{background:var(--bg2);border:2px solid var(--forest);flex:1;height:20px;overflow:hidden}.sing-hold-fill{background:linear-gradient(90deg, var(--forest) 0%, var(--gold) 80%, var(--gold2) 100%);min-width:0;height:100%;transition:width .11s linear}.sing-detected{font-family:var(--font-system);color:var(--text2);text-align:right;flex-shrink:0;width:38px;font-size:.72rem;font-weight:700}.sing-activate-wrap{align-items:center;gap:12px;padding:4px 0;display:flex}.sing-activate-btn{font-family:var(--font-voice);background:var(--bg2);border:2px solid var(--purple);color:var(--purple-ink);cursor:pointer;letter-spacing:.04em;padding:8px 20px;font-size:.85rem;font-weight:700;transition:background .12s,border-color .12s}@media (hover:hover){.sing-activate-btn:hover{background:rgba(var(--purple-rgb),.15);border-color:var(--purple2)}}.sing-activate-hint{font-family:var(--font-system);color:var(--muted);font-size:.65rem}.sing-mic-error{background:rgba(var(--ember-rgb),.12);border:var(--rim-w) solid var(--ember);color:var(--ember-ink);font-family:var(--font-system);text-align:center;padding:10px 14px;font-size:.78rem}.sing-calib-wrap{flex-direction:column;gap:7px;padding:4px 4px 2px;display:flex}.sing-calib-head{align-items:center;gap:8px;display:flex}.sing-calib-rune{color:var(--purple-ink);font-size:.85rem;animation:.9s steps(2,end) infinite sing-calib-pulse}@keyframes sing-calib-pulse{0%,49%{opacity:1}50%,to{opacity:.25}}.sing-calib-label{font-family:var(--font-system);color:var(--purple-ink);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700}.sing-calib-bar{background:var(--bg2);border:2px solid var(--purple);height:14px;overflow:hidden}.sing-calib-fill{background:repeating-linear-gradient(90deg, var(--purple) 0, var(--purple) 6px, var(--purple2) 6px, var(--purple2) 12px);min-width:0;height:100%;transition:width .1s linear}.sing-calib-mic{opacity:.8}.sing-calib-hint{font-family:var(--font-system);color:var(--muted);letter-spacing:.02em;font-size:.62rem}.sing-recalib-btn{border:var(--rim-w) solid var(--purple);color:var(--purple-ink);cursor:pointer;letter-spacing:.02em;background:0 0;margin-right:auto;padding:5px 14px;font-size:.72rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}@media (hover:hover){.sing-recalib-btn:hover{background:rgba(var(--purple-rgb),.12);border-color:var(--purple2)}}.sing-reactivate-btn{border:var(--rim-w) solid var(--purple);color:var(--purple-ink);cursor:pointer;letter-spacing:.02em;background:0 0;padding:5px 14px;font-size:.72rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}@media (hover:hover){.sing-reactivate-btn:hover{background:rgba(var(--purple-rgb),.12);border-color:var(--purple2)}}@media (orientation:portrait) and (width<=900px){.sing-activate-wrap{flex-direction:column;align-items:stretch;gap:8px;padding:6px 0}.sing-activate-btn{width:100%;min-height:52px;padding:12px 20px;font-size:1.05rem}.sing-activate-hint{text-align:center;font-size:.8rem}.sing-calib-wrap,.sing-bars{gap:12px;padding:6px 6px 4px}.sing-calib-head{gap:10px}.sing-calib-rune{font-size:1rem}.sing-calib-label{letter-spacing:.08em;font-size:.82rem}.sing-calib-hint{font-size:.78rem}.sing-calib-bar{height:20px}.sing-mic-bar{height:18px}.sing-hold-bar{height:28px}.sing-bar-label{width:28px;font-size:1.3rem}.sing-detected{width:48px;font-size:.95rem}.exercise-footer-sing{flex-wrap:wrap;justify-content:center;gap:8px}.exercise-footer-sing .sing-recalib-btn{margin-right:0}.exercise-footer-sing .sing-recalib-btn,.exercise-footer-sing .sing-reactivate-btn{flex:1 1 0;min-width:0}.exercise-footer-sing .ex-skip-btn{flex:100%}}.mc-loading{font-family:var(--font-system);text-align:center;color:var(--muted);letter-spacing:.06em;padding:24px 0;font-size:.78rem}.mc-pip-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:4px 0 10px;display:flex}.mc-pip,.re-pip{width:28px;height:28px;color:var(--text2);font-family:var(--font-voice);letter-spacing:0;font-variant-numeric:tabular-nums;background:0 0;border:1.5px solid #f2e8d06b;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;transition:background .2s,border-color .2s,color .2s;display:flex}.mc-pip-active,.re-pip-active{background:rgba(var(--gold-rgb), .18);border:3px solid var(--gold);color:var(--gold-ink)}.mc-pip-done,.re-pip-done{background:rgba(var(--forest-rgb), .55);border-color:var(--forest);color:var(--text)}.mc-pip-label,.re-pip-label{font-family:var(--font-voice);letter-spacing:.02em;color:var(--text2);padding-right:6px;font-size:.82rem;font-weight:700;transition:color .2s}.mc-pip-label-active,.re-pip-label.active{color:var(--text)}.mc-stage{background:rgba(var(--surface-rgb), .78);clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));border:1px solid #f2e8d033;flex-direction:column;align-items:center;gap:10px;padding:18px 18px 14px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #f2e8d012,4px 4px #00000073}.mc-stage-grain{pointer-events:none;background:repeating-linear-gradient(0deg, #f2e8d006 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, rgba(var(--surface-rgb),.1) 0 1px, transparent 1px 6px);mix-blend-mode:screen;opacity:.7;position:absolute;inset:0}.mc-stage-glyph{color:var(--gold2);text-shadow:3px 3px 0 #0d0b09, 0 0 22px rgba(var(--gold-rgb),.22);padding:2px 0 0;font-size:4.6rem;line-height:1;position:relative}.mc-viz{width:min(100%,480px);height:120px;image-rendering:pixelated;background:var(--bg);box-shadow:inset 0 0 0 1px rgba(var(--surface-rgb),.6);border:1px solid #f2e8d033;position:relative}.mc-stage-foot{justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:2px 4px 0;display:flex;position:relative}.mc-stage-label{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);font-size:.68rem}.mc-stage-countdown{font-family:var(--font-voice);color:var(--gold2);text-shadow:2px 2px #0d0b09;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:900;line-height:1}.mc-phase-bar{background:rgba(var(--surface-rgb),.6);border:1px solid #f2e8d033;width:100%;height:6px;position:relative;overflow:hidden}.mc-phase-bar-fill{background:var(--gold);min-width:0;height:100%;transition:width 80ms linear}.mc-choices{width:100%;max-width:var(--ex-answers-w);flex-wrap:wrap;justify-content:center;gap:8px;margin-inline:auto;padding:14px 4px 6px;display:flex}.mc-choice-btn,.notation-choice-btn,.history-choice-btn,.hl-tag,.rr-option,.rd-fig,.history-tl-card,.history-tl-blank{--cut:9px;--answer-cut:polygon(0 var(--cut), var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));border:var(--rim-w) solid transparent;background:linear-gradient(180deg, rgba(var(--surface-rgb), .78), rgba(var(--surface-rgb), .92)) padding-box, #f2e8d03d border-box;clip-path:var(--answer-cut);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:background .12s,color .12s;position:relative;box-shadow:inset 0 1px #f2e8d00f}.mc-choice-btn{color:var(--text);font-family:var(--font-voice);cursor:pointer;letter-spacing:.02em;min-width:110px;min-height:44px;padding:9px 18px;font-size:.9rem;font-weight:700}@media (hover:hover){.mc-choice-btn:hover,.notation-choice-btn:hover,.history-choice-btn:hover,.hl-tag:hover:not(.is-on),.rr-option:hover:not(:disabled),.rd-fig:hover:not(:disabled),.history-tl-card:hover{background:linear-gradient(180deg, rgba(var(--gold-rgb), .16), rgba(var(--surface-rgb), .9)) padding-box, var(--gold2) border-box;color:var(--text)}}.mc-choice-btn:active,.notation-choice-btn:active,.history-choice-btn:active,.history-tl-card:active,.hl-tag:active,.rr-option:active:not(:disabled),.rd-fig:active:not(:disabled){transform:translate(1px,1px)}.mc-choice-btn:focus-visible,.notation-choice-btn:focus-visible,.history-choice-btn:focus-visible,.hl-tag:focus-visible,.rr-option:focus-visible,.rd-fig:focus-visible,.history-tl-card:focus-visible{outline:2px solid var(--gold2);outline-offset:-3px}.mc-result{z-index:6;background:#0000009e;justify-content:center;align-items:center;padding:10px;animation:.18s ease-out both mc-result-rise;display:flex;position:absolute;inset:0}@keyframes mc-result-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .mc-result{animation:none}}.mc-result-plate{filter:drop-shadow(5px 5px #0000008c);width:100%;max-width:540px;min-height:0;max-height:100%;display:flex}.mc-result-face{--rim:3px;--tone:var(--border2);isolation:isolate;background:var(--tone);width:100%;min-height:0;clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);flex-direction:column;gap:12px;padding:18px 22px;display:flex;position:relative;overflow-y:auto}.mc-result-face:before{content:"";inset:var(--rim);z-index:-1;background:linear-gradient(180deg, color-mix(in srgb, var(--tone) 14%, transparent), transparent 60%), linear-gradient(180deg, rgba(var(--surface-rgb), .97), rgba(var(--surface-rgb), 1));clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);position:absolute;box-shadow:inset 0 1px #f2e8d029}.mc-result-ok .mc-result-face{--tone:var(--forest)}.mc-result-bad .mc-result-face{--tone:var(--ember)}.mc-result-banner{font-family:var(--font-voice);letter-spacing:.06em;text-align:center;text-shadow:2px 2px #000000b3;justify-content:center;align-items:center;gap:10px;font-size:1.36rem;font-weight:800;display:flex}.mc-result-mark{width:1.5em;height:1.5em;text-shadow:none;background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 2px var(--tone), 2px 2px 0 #00000080;border-radius:50%;place-items:center;font-size:.86em;display:inline-grid}.mc-result-ok .mc-result-banner{color:var(--forest-ink)}.mc-result-bad .mc-result-banner{color:var(--ember-ink)}.mc-result-rows{gap:8px;display:grid}.mc-result-row{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 2px 0 #00000059;background:#00000052;gap:2px;padding:8px 14px 9px;display:grid}.mc-result-row--ok{box-shadow:inset 0 0 0 var(--rim-w) var(--forest), inset 0 2px 0 #00000059}.mc-result-row--bad{box-shadow:inset 0 0 0 var(--rim-w) var(--ember), inset 0 2px 0 #00000059}.mc-result-row--key{box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 2px 0 #00000059}.mc-result-lbl{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.mc-result-val{font-family:var(--font-voice);color:var(--text);overflow-wrap:anywhere;font-size:1rem;font-weight:700;line-height:1.3}.mc-result-correct{color:var(--gold-ink)}.mc-result-tip{font-family:var(--font-voice);color:var(--text2);text-align:center;padding:2px 4px 0;font-size:.86rem;line-height:1.42}.mc-result-footer{justify-content:center;gap:10px;padding-top:2px;display:flex}.mc-result-footer>.mc-result-go{flex:auto;max-width:320px}.mc-result-footer>.mc-result-also{flex:0 auto}.mc-result-ask{font-family:var(--font-voice);color:var(--text);text-align:center;padding-top:4px;font-size:.86rem;font-weight:700}.mc-replay-row{justify-content:center;padding:6px 4px 2px;display:flex}.mc-replay-btn{color:var(--text);font-family:var(--font-voice);letter-spacing:.04em;cursor:pointer;opacity:.85;background:0 0;border:1px solid #f2e8d033;min-height:44px;padding:8px 18px;font-size:.82rem;font-weight:700}@media (hover:hover){.mc-replay-btn:hover{opacity:1;border-color:var(--gold);color:var(--gold-ink)}}.mc-choices-glyph{gap:10px}.mc-choice-btn-glyph{flex-direction:column;gap:6px;min-width:120px;min-height:120px;padding:12px 16px}.mc-choice-glyph{flex:auto;justify-content:center;align-items:center;width:100%;min-height:76px;display:flex}.mc-choice-glyph svg{height:100%}.mc-choice-caption{font-family:var(--font-voice);opacity:.82;letter-spacing:.02em;font-size:.74rem;font-weight:700}.notation-prompt{justify-content:center;align-items:center;min-height:132px;margin:8px 0 4px;padding:12px 22px;display:flex}.notation-prompt-text{font-family:var(--font-voice);color:var(--text);text-align:center;font-size:1.3rem;font-weight:700}.notation-stage{width:100%;height:132px}.notation-stage svg{width:100%;height:100%}.notation-choices{width:100%;max-width:var(--ex-answers-w);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-inline:auto;padding:12px 4px 6px;display:grid}.notation-choice-btn{color:var(--text);font-family:var(--font-voice);cursor:pointer;text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;min-width:0;min-height:60px;padding:10px 14px;font-size:.92rem;font-weight:700;display:flex}.notation-choice-glyph{justify-content:center;align-items:center;width:100%;height:72px;display:flex}.notation-choice-glyph svg{height:100%}.history-prompt{text-align:center;justify-content:center;align-items:center;max-width:620px;min-height:calc(2.8em + 16px);margin-inline:auto;padding:12px 10px 4px;display:flex}.history-stage{background:var(--bg2);border:1px solid #f2e8d033;justify-content:center;align-items:center;width:fit-content;max-width:100%;margin:8px auto 4px;padding:10px;display:flex;box-shadow:3px 3px #0000004d}.history-stage-score{width:min(100%,620px)}.history-stage-score svg{width:100%;height:auto;max-height:240px}.history-stage-image img{object-fit:contain;max-width:100%;max-height:220px;display:block}.history-choices{grid-template-columns:minmax(0,1fr);gap:8px;width:100%;max-width:620px;margin-inline:auto;padding:10px 4px 6px;display:grid}.history-choice-btn{color:var(--text);font-family:var(--font-voice);cursor:pointer;text-align:left;min-width:0;min-height:48px;padding:10px 14px;font-size:.92rem;font-weight:700;line-height:1.35}@media (width>=900px) and (height>=600px){:root{--ex-q-fs:1.6rem}.exercise-wrap{--ex-answers-w:60rem}.exercise-wrap>.exercise-instruction{padding:.55em 1.2em}.exercise-wrap .notation-prompt-text{font-size:1.75rem}.exercise-wrap .mc-pip-row,.exercise-wrap .exercise-phase-row{gap:.6rem;padding:.35rem 0 .6rem}.exercise-wrap .mc-pip,.exercise-wrap .re-pip{width:2.4rem;height:2.4rem;font-size:1.2rem}.exercise-wrap .mc-pip-label,.exercise-wrap .re-pip-label{padding-right:.6rem;font-size:1.15rem}.exercise-wrap>.exercise-utils{gap:.6rem;max-width:70%;height:3.25rem}.exercise-wrap>.exercise-utils>button,.exercise-wrap>.exercise-utils>.btn{min-height:3.25rem;padding:0 1.15rem;font-size:1.05rem}.exercise-wrap:has(>.exercise-utils)>.exercise-header{min-height:calc(3.25rem + 16px);padding-right:10rem}.exercise-wrap:has(>.exercise-utils>:nth-child(2))>.exercise-header{padding-right:19rem}.exercise-wrap:has(>.exercise-utils>:nth-child(3))>.exercise-header{padding-right:28rem}.exercise-wrap:has(>.exercise-utils>:nth-child(4))>.exercise-header{padding-right:0}.exercise-wrap:has(>.exercise-utils>:nth-child(4))>.exercise-utils{max-width:82%}.exercise-wrap:has(>.exercise-utils>:nth-child(4))>.exercise-utils>button{padding:0 .8rem;font-size:.95rem}.exercise-wrap .history-prompt{max-width:52rem}.exercise-wrap>.mc-choices{flex:1 1 0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(4.75rem,15rem);align-content:center;gap:1rem;min-height:10rem;padding-top:.75rem;display:grid}:is(.exercise-wrap>.mc-choices:has(>:nth-child(3)):not(:has(>:nth-child(4))),.exercise-wrap>.mc-choices:has(>:nth-child(5))){grid-template-columns:repeat(3,minmax(0,1fr))}.exercise-wrap>.mc-choices:has(>:nth-child(5)){grid-auto-rows:minmax(4.75rem,11rem)}.exercise-wrap>.mc-choices:has(>:nth-child(10)){grid-template-columns:repeat(4,minmax(0,1fr))}.exercise-wrap .mc-choice-btn{min-width:0;min-height:4.75rem;padding:.4em .6em;font-size:clamp(1.45rem,3.3vh,2.1rem);line-height:1.2}.exercise-wrap>.mc-choices-glyph:not(:has(>:nth-child(5))){grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.exercise-wrap>.mc-choices-glyph{grid-auto-rows:minmax(12rem,24rem)}.exercise-wrap .mc-choice-btn-glyph{gap:.6rem;padding:.75rem 1rem}.exercise-wrap .mc-choice-glyph{flex:1 1 0;height:auto;min-height:0}.exercise-wrap .mc-choice-glyph svg{width:100%!important;height:100%!important}.exercise-wrap .mc-choice-caption{font-size:clamp(1.15rem,2.4vh,1.5rem)}.exercise-wrap>.notation-prompt{flex:1 1 0;min-height:clamp(9rem,26vh,18rem)}.exercise-wrap .notation-prompt>.notation-stage{height:100%;min-height:clamp(9rem,26vh,18rem);max-height:26rem}.exercise-wrap .notation-prompt .notation-stage svg{width:100%!important;height:100%!important}.exercise-wrap .notation-choices{gap:1rem}.exercise-wrap .notation-choice-btn{min-height:clamp(5.25rem,13vh,8rem);font-size:clamp(1.45rem,3.3vh,2.1rem);line-height:1.25}.exercise-wrap .notation-choice-glyph{height:clamp(6rem,14vh,9rem)}.exercise-wrap>.history-stage,.exercise-wrap>.history-choices{margin-block:auto}.exercise-wrap .history-stage-image img{max-height:clamp(220px,38vh,30rem)}.exercise-wrap .history-stage-score svg{max-height:clamp(240px,34vh,28rem)}.exercise-wrap .history-choices{gap:.75rem;max-width:52rem}.exercise-wrap .history-choice-btn{min-height:clamp(4rem,8vh,5.5rem);padding:.6em 1.1em;font-size:clamp(1.3rem,2.8vh,1.75rem)}.exercise-wrap>.rr-grid{min-height:16rem;max-width:var(--ex-answers-w);flex:1 1 0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(8rem,20rem);align-content:center;gap:1rem;display:grid}.exercise-wrap>.rr-grid.rr-grid--wide{grid-template-columns:minmax(0,1fr)}.exercise-wrap>.rr-grid>.rr-option{align-items:stretch;gap:1rem;max-width:none;min-height:0;padding:1rem 1.25rem;overflow:hidden}.exercise-wrap>.rr-grid .rr-option-num{align-self:center;width:2.25rem;height:2.25rem;font-size:1.15rem}.exercise-wrap>.rr-grid .rr-option-staff{--rr-staff-h:100%;align-self:stretch;height:100%;min-height:0}.exercise-wrap>.rr-grid .rr-option-staff>div{justify-content:center;align-items:center;height:100%;display:flex}}.hl-instruction{max-width:620px;margin-inline:auto}.hl-tags{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:620px;margin-inline:auto;padding:10px 4px 6px;display:flex}.hl-tag{color:var(--text);font-family:var(--font-voice);letter-spacing:.02em;cursor:pointer;text-align:center;min-width:0;min-height:44px;padding:8px 14px;font-size:.86rem;font-weight:700;line-height:1.25}.hl-tag.is-on{background:linear-gradient(180deg, rgba(var(--gold-rgb), .22), rgba(var(--surface-rgb), .92)) padding-box, var(--gold) border-box;box-shadow:inset 0 1px 0 rgba(var(--gold-rgb), .28)}.hl-commit{justify-content:center;padding:4px 4px 8px;display:flex}.hl-confirm{font-family:var(--font-voice);letter-spacing:.06em;color:var(--gold-ink);background:var(--bg2);border:var(--rim-w) solid var(--gold);cursor:pointer;min-height:46px;padding:11px 30px;font-size:.92rem;font-weight:700;box-shadow:3px 3px #00000059}@media (hover:hover){.hl-confirm:hover{background:color-mix(in oklab, var(--gold) 14%, var(--bg2))}}.hl-confirm:active{transform:translate(1px,1px);box-shadow:1px 1px #00000059}.hl-confirm:focus-visible{outline:2px solid var(--gold2);outline-offset:-3px}.history-tl-line{gap:6px;width:100%;max-width:620px;margin:6px auto 0;padding:0;list-style:none;display:grid}.history-tl-slot{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;display:grid}.history-tl-num{font-family:var(--font-system);color:var(--muted);text-align:right;font-size:.85rem}.history-tl-blank{min-height:44px;color:var(--muted);font-family:var(--font-voice);border:1px dashed #f2e8d033;align-items:center;padding:8px 12px;font-size:.82rem;display:flex}.history-tl-pool{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:620px;margin:14px auto 0;padding:10px 4px;display:flex}.history-tl-card{color:var(--text);font-family:var(--font-voice);text-align:left;cursor:pointer;min-height:44px;padding:8px 12px;font-size:.86rem;font-weight:700;line-height:1.3}.history-tl-card.is-placed{background:linear-gradient(180deg, rgba(var(--surface-rgb), .78), rgba(var(--surface-rgb), .92)) padding-box, var(--gold) border-box;width:100%}.history-tl-actions{justify-content:center;padding:14px 0 6px;display:flex}.history-tl-recap{text-align:left;margin:0;padding:0;list-style:inside decimal}.history-tl-recap li{font-size:.86rem;line-height:1.5}.history-tl-recap li.is-bad{color:var(--ember-ink)}.history-tl-recap--mine li.is-ok:after{content:" ✓";color:var(--forest-ink)}.history-tl-recap--mine li.is-bad:after{content:" ✗"}.history-tl-recap-when{font-family:var(--font-system);color:var(--muted);margin-left:8px}.notation-dyn{color:var(--text);letter-spacing:.02em;font-family:Times New Roman,Georgia,serif;font-size:2.6rem;font-style:italic;font-weight:700}.notation-term{color:var(--text);font-family:Times New Roman,Georgia,serif;font-size:1.8rem;font-style:italic}.notation-hairpin{width:80px;height:28px}.notation-hairpin line{stroke:var(--text);stroke-width:2.5px}.notation-wave{width:96px;height:40px}.notation-wave polyline{fill:none;stroke:var(--text);stroke-width:2.5px;stroke-linejoin:miter}.folk-prompt{flex-direction:column;align-items:stretch;gap:2px}.folk-prompt .notation-stage svg{width:100%!important;height:100%!important}.folk-tempo{font-family:var(--font-system);color:var(--text);align-self:flex-start;font-size:.9rem}.folk-blind{font-family:var(--font-voice);color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:1rem;display:flex}.interval-stage{height:150px}.interval-listen{justify-content:center;margin:2px 0 8px;display:flex}.interval-choice{min-height:64px;font-size:1rem}.chord-stage{height:168px}.scale-stage{height:176px}.scale-tonic{text-align:center;font-family:var(--font-voice);color:var(--gold2);margin:-2px 0 4px;font-size:1.05rem;font-weight:700}.prac-screen{background: repeating-linear-gradient(0deg, #ffffff03 0 1px, transparent 1px 4px), radial-gradient(ellipse at top, color-mix(in oklab, var(--gold) 5%, transparent), transparent 55%), var(--bg);flex-direction:column;min-height:100vh;display:flex}.prac-lab-stage{flex-direction:column;flex:1;gap:28px;width:100%;max-width:1180px;margin:0 auto;padding:36px 28px 56px;display:flex;overflow-y:auto}.prac-lab-head{flex-direction:column;gap:6px;display:flex}.prac-lab-h2{font-family:var(--font-voice);color:var(--text);letter-spacing:.03em;text-shadow:2px 2px #0d0b09;margin:0;font-size:1.15rem}.prac-lab-sub{max-width:60ch;font-family:var(--font-voice);color:var(--text2);margin:0;font-size:.98rem;line-height:1.45}.menu-list-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=760px){.menu-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.menu-item-lab--pitch{--accent:var(--pitch)}.menu-item-lab--rhythm{--accent:var(--ember2)}.menu-item-lab--sight{--accent:var(--forest2)}.menu-item-lab--singing{--accent:var(--purple2)}.menu-item-lab--pink{--accent:#d57aa8}.menu-item-lab--vinyl{--accent:#b07a3a}.menu-item-lab--waveform{--accent:#5fb4d8}.menu-item-lab--processing{--accent:#9e6dc4}.menu-item-lab .menu-item-icon{background:repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 5px), color-mix(in oklab, var(--accent,var(--gold)) 14%, var(--bg));border-color:color-mix(in oklab, var(--accent,var(--gold)) 45%, var(--border));color:var(--accent,var(--gold2))}@media (hover:hover){.menu-item-lab:hover{border-color:var(--accent,var(--gold));background:color-mix(in oklab, var(--accent,var(--gold)) 6%, var(--bg2))}.menu-item-lab:hover .menu-item-icon{background:repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 5px), color-mix(in oklab, var(--accent,var(--gold)) 26%, var(--bg));border-color:var(--accent,var(--gold))}}.menu-item-lab:focus-visible{outline-color:var(--accent,var(--gold))}@media (hover:hover){.menu-item-lab:hover .menu-item-chev{color:var(--accent,var(--gold))}}.prac-lab-nav{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding-bottom:14px;display:flex}.prac-lab-nav-title{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.prac-lab-nav-glyph{font-family:var(--font-system);color:var(--gold2);text-shadow:1px 1px #0d0b09;font-size:1.4rem}.prac-lab-nav-name{font-family:var(--font-voice);letter-spacing:.03em;color:var(--text);text-shadow:1px 1px #0d0b09;font-size:.88rem}.prac-lab-nav-english{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.prac-config{flex-direction:column;gap:16px;display:flex}.prac-lab-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:6px;padding-top:16px;display:flex}.prac-result-placeholder{visibility:hidden;background:0 0;border:none;flex:1;min-height:1px;padding:0}.prac-section{background:var(--card);border:var(--rim-w) solid var(--border);border-top:3px solid var(--accent,var(--gold));border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px 16px 16px;animation:.28s cubic-bezier(.16,1,.3,1) both pop-in;display:flex;box-shadow:4px 4px #0000004d}.prac-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px;font-size:.72rem;font-weight:700}.prac-slider-row{cursor:pointer;align-items:center;gap:12px;display:flex}.prac-slider-label{color:var(--text2);flex-shrink:0;min-width:160px;font-size:.82rem}.prac-slider-label strong,.prac-slider-label .glyph-num{font-family:var(--font-system);font-variant-numeric:tabular-nums;color:var(--gold2);margin-left:4px;font-size:1.05em;font-weight:800}.prac-slider-row input[type=range]{min-height:44px;accent-color:var(--purple);cursor:pointer;flex:1}.prac-toggle-row{cursor:pointer;min-height:44px;color:var(--text2);align-items:center;gap:10px;font-size:.82rem;display:flex}.prac-toggle-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--purple);cursor:pointer}.prac-radio-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.prac-radio-opts{flex-wrap:wrap;gap:6px;display:flex}.prac-radio-btn{border:var(--rim-w) solid var(--border);background:var(--bg2);min-height:44px;color:var(--text2);font-family:var(--font-system);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:0;align-items:center;padding:4px 12px;font-size:.78rem;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.prac-pc-grid{flex-wrap:wrap;gap:6px;display:flex}.prac-pc-chip{font-family:var(--font-system);font-variant-numeric:tabular-nums;letter-spacing:.04em;background:var(--bg2);border:var(--rim-w) solid var(--border);color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:3px 9px 4px;font-size:.74rem;font-weight:700;display:inline-flex}.prac-pc-chip input{display:none}.prac-pc-chip.is-on{background:rgba(var(--purple-rgb),.12);border-color:var(--purple);color:var(--text)}.prac-pc-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.prac-pc-btn{min-height:44px;font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;border:var(--rim-w) solid var(--border);color:var(--text2);cursor:pointer;background:0 0;padding:2px 9px;font-size:.62rem}@media (hover:hover){.prac-pc-btn:hover{border-color:var(--purple);color:var(--text)}}.prac-range-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.prac-range-controls{flex-wrap:wrap;gap:10px;display:flex}.prac-range-cell{flex-direction:column;gap:3px;display:flex}.prac-range-cap{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.prac-radio-btn.active{border-color:var(--purple);background:rgba(var(--purple-rgb),.12);color:var(--purple-ink)}.prac-result{border-radius:var(--radius);border:1px solid;align-items:center;gap:14px;padding:12px 16px;animation:.2s fadeIn;display:flex}.prac-result.good{background:rgba(var(--forest-rgb),.1);border-color:rgba(var(--forest-rgb),.4)}.prac-result.ok{background:rgba(var(--gold-rgb),.1);border-color:rgba(var(--gold-rgb),.4)}.prac-result.miss{background:rgba(var(--ember-rgb),.1);border-color:rgba(var(--ember-rgb),.4)}.prac-result-pct{font-family:var(--font-voice);color:var(--gold2);min-width:52px;font-size:1.5rem;font-weight:900}.prac-result-label{color:var(--text2);font-size:.82rem}.prac-try-btn{flex-shrink:0}.prac-launch-error{border:1px solid rgba(var(--ember-rgb), .5);background:rgba(var(--ember-rgb), .12);color:var(--ember-ink);font-family:var(--font-voice);margin:10px 0 0;padding:8px 12px;font-size:.85rem;line-height:1.45}.cbrowse-controls{flex-direction:column;gap:10px;margin:4px 0 8px;display:flex}.cbrowse-search{border:var(--rim-w) solid var(--border);width:100%;color:var(--text);font:inherit;border-radius:var(--radius-sm);background:#0000004d;min-height:44px;padding:9px 12px;font-size:.95rem}.cbrowse-search:focus-visible,.cbrowse-search:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);outline:none}.cf-row{flex-wrap:wrap;gap:8px;display:flex}.cf-chip.pick-chip--on:before{content:"✓";margin-right:6px;font-weight:800}.cbrowse-cheat{border-color:rgba(var(--ember-rgb), .55);color:var(--ember-ink);margin-left:auto}@media (hover:hover){.cbrowse-cheat:hover{border-color:var(--ember);background:rgba(var(--ember-rgb), .12);color:var(--ember-ink)}}.cbrowse-cheat:active{background:rgba(var(--ember-rgb), .2)}.cgroups{flex-direction:column;gap:8px;display:flex}.cgroup{flex-direction:column;display:flex}.cgroup-head{align-items:center;gap:10px;display:flex}.cgroup-toggle{--plate-btn-ink:var(--text);text-align:left;flex:1;justify-content:flex-start;gap:10px;min-width:0}.cgroup-caret{color:var(--gold-ink);flex:none;font-size:.8rem}.cgroup-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cgroup-meta{font-family:var(--font-system);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:none;margin-left:auto;font-size:.66rem}.cgroup-sel{accent-color:var(--gold);flex:none;width:16px;height:16px}.cgroup-list{flex-direction:column;gap:6px;padding:6px 0 4px;display:flex}.crow{border-bottom:1px solid rgba(var(--gold-rgb), .12);align-items:center;gap:10px;padding:4px 4px 6px;display:flex}.crow.is-off{opacity:.72}.crow-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@media (width<=560px){.crow,.cgroup-head{flex-wrap:wrap}}.cbrowse-search:focus-visible,.cgroup-sel:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:none) and (pointer:coarse){.cgroup-sel{width:22px;height:22px}}.cbrowse-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cbrowse-top .cbrowse-search{flex:200px;min-width:0}.cview-switch{flex:none}.ctape-deck{flex-direction:column;gap:12px;display:flex}.ctape-empty{color:var(--muted);padding:12px 0;font-size:.86rem}.ctape{border-radius:var(--radius);background:rgba(var(--surface-rgb), .9);box-shadow:inset 0 0 0 var(--rim-w) var(--border), var(--plate-bevel), 2px 2px 0 #00000080;overflow:hidden}.ctape.is-open{box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), var(--plate-bevel), 2px 2px 0 #00000080}.ctape-h{text-align:left;width:100%;min-height:44px;color:var(--text);background:0 0;border:0;align-items:center;gap:10px;padding:9px 11px;display:flex}@media (hover:hover){.ctape-h:hover{background:rgba(var(--gold-rgb), .07)}}.ctape-h:active{transform:translateY(1px)}.ctape-h:focus-visible{outline:2px solid var(--gold2);outline-offset:-2px}.ctape-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}.ctape-count{font-family:var(--font-system);color:var(--gold-ink);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:.68rem;font-weight:700}.ctape-slash{color:var(--muted)}.ctape-flag{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--ember-ink);border:1px solid rgba(var(--ember-rgb), .4);background:rgba(var(--ember-rgb), .12);flex:none;padding:2px 6px;font-size:.62rem;font-weight:700}.ctape-reel{border:2px solid var(--border);background:rgba(var(--surface-rgb), .4);border-radius:50%;flex:none;width:15px;height:15px;position:relative}.ctape-reel:after{content:"";background:var(--tape-tone,var(--gold));border-radius:50%;position:absolute;inset:4px}.ctape-span{border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb), .45);background-image:repeating-linear-gradient(90deg, rgba(var(--surface-rgb), .35) 0 1px, transparent 1px 3px);height:26px;margin:0 11px 10px;position:relative;overflow:hidden}.ctape-oxide{background:var(--tape-tone,var(--gold));opacity:.85;position:absolute;top:0;bottom:0;left:0}.ctape-oxide:after{content:"";background-image:repeating-linear-gradient(90deg,#00000029 0 1px,#0000 1px 3px);position:absolute;inset:0}.ctape-head{background:var(--gold2);width:2px;box-shadow:0 0 7px rgba(var(--gold-rgb), .95);position:absolute;top:-2px;bottom:-2px}.ctape-head:after{content:"";background:var(--gold2);width:8px;height:4px;position:absolute;top:0;left:-3px}.ctape-jcard{border-top:1px solid var(--border);margin:0;padding:0 0 4px;list-style:none}.ctape-item{border-bottom:1px dashed rgba(var(--gold-rgb), .14)}.ctape-item:last-child{border-bottom:0}.ctape-trk{text-align:left;width:100%;min-height:44px;color:var(--text2);background:0 0;border:0;grid-template-columns:26px minmax(0,1fr) 54px auto;align-items:center;gap:9px;padding:7px 11px;display:grid}@media (hover:hover){.ctape-trk:hover{background:rgba(var(--gold-rgb), .07)}}.ctape-trk:active{transform:translateY(1px)}.ctape-trk:focus-visible{outline:2px solid var(--gold2);outline-offset:-2px}.ctape-trk[aria-expanded=true]{background:rgba(var(--gold-rgb), .13);box-shadow:inset 2px 0 0 var(--gold)}.ctape-trk.is-muted{opacity:.6}.ctape-n{font-family:var(--font-system);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.62rem}.ctape-t{min-width:0}.ctape-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.3;display:block;overflow:hidden}.ctape-sub{font-family:var(--font-system);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;display:block;overflow:hidden}.ctape-meter{background:rgba(var(--surface-rgb), .5);border:1px solid var(--border);height:7px;position:relative}.ctape-meter>span{background:var(--gold);position:absolute;top:0;bottom:0;left:0}.ctape-st{font-family:var(--font-system);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;color:var(--muted);font-size:.62rem;font-weight:700}.ctape-trk.is-mastered .ctape-st,.ctape-trk.is-open .ctape-st{color:var(--gold-ink)}.ctape-trk.is-flagged .ctape-st{color:var(--ember-ink)}.ctape-trk.is-sealed .ctape-title{color:var(--muted)}.ctape-trk.is-sealed .ctape-meter{background-image:repeating-linear-gradient(45deg, rgba(var(--surface-rgb), .55) 0 2px, transparent 2px 4px)}.ctape-trk.is-open .ctape-meter{border-color:var(--gold)}.cdetail{background:rgba(var(--surface-rgb), .3);border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:12px 11px 14px 46px;display:flex}.cdetail-stats{grid-template-columns:auto minmax(0,1fr);gap:3px 12px;margin:0;display:grid}.cdetail-stats dt{font-family:var(--font-system);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);padding-top:2px;font-size:.62rem;font-weight:700}.cdetail-stats dd{color:var(--text2);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.cdetail-sect{border-top:1px solid rgba(var(--gold-rgb), .16);padding-top:10px}.cdetail-h{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 7px;font-size:.62rem;font-weight:700}.cdetail-note{color:var(--muted);margin:0;font-size:.8rem}.cdetail-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cdetail-link{text-align:left;border:var(--rim-w) solid var(--border);background:rgba(var(--surface-rgb), .3);width:100%;min-height:44px;color:var(--text2);align-items:center;gap:8px;padding:6px 8px;font-size:.8rem;line-height:1.25;display:flex}@media (hover:hover){.cdetail-link:hover{border-color:var(--gold);background:rgba(var(--gold-rgb), .1);color:var(--text)}}.cdetail-link:active{transform:translate(1px,1px)}.cdetail-link:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.cdetail-link-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cdetail-mk{border:var(--rim-w) solid var(--border);flex:none;width:9px;height:9px}.cdetail-mk.is-mastered{background:var(--gold);border-color:var(--gold)}.cdetail-mk.is-progress{background:linear-gradient(to top, var(--gold) 45%, transparent 45%);border-color:rgba(var(--gold-rgb), .6)}.cdetail-mk.is-open{border-color:var(--gold);background:rgba(var(--gold-rgb), .25)}.cdetail-mk.is-sealed{background-image:repeating-linear-gradient(45deg, rgba(var(--surface-rgb), .6) 0 2px, transparent 2px 4px)}.cdetail-gate{color:var(--text2);border:var(--rim-w) solid var(--purple);background:rgba(var(--purple-rgb), .13);align-items:flex-start;gap:7px;margin:8px 0 0;padding:7px 8px;font-size:.8rem;line-height:1.35;display:flex}.cdetail-gate-ico{border:2px solid var(--purple-ink);border-top-width:5px;border-top-left-radius:50%;border-top-right-radius:50%;flex:none;width:10px;height:12px;margin-top:2px}.cdetail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=560px){.ctape-trk{grid-template-columns:24px minmax(0,1fr) auto;row-gap:5px}.ctape-t{grid-column:2/-1}.ctape-meter{grid-column:2;align-self:center}.ctape-st{grid-column:3;place-self:center end}.cdetail{padding-left:12px}}.prac-check-group{flex-direction:column;gap:6px;display:flex}.prac-check-label{color:var(--text2);font-size:.82rem;font-weight:600}.prac-check-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.prac-check-row-muted{opacity:.8}.prac-check-sublabel{color:var(--muted);font-size:.7rem;font-weight:700}.prac-check{color:var(--text2);cursor:pointer;align-items:center;gap:5px;min-height:44px;font-size:.8rem;display:flex}.prac-check input[type=checkbox]{accent-color:var(--purple);cursor:pointer;width:20px;height:20px}.prac-field{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.prac-select{background:var(--bg2);border:var(--rim-w) solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.82rem;font-family:var(--font-system);font-variant-numeric:tabular-nums;cursor:pointer;min-width:180px;min-height:44px;padding:5px 10px;font-weight:600}.prac-select:focus{border-color:var(--purple);outline:none}@media (width<=900px){.title-main{grid-template-columns:1fr}.title-identity{border-right:none;border-bottom:1px solid var(--border);gap:26px;padding:36px 26px}.title-manifest{padding:32px 24px 24px}.mark-line{font-size:clamp(2rem,9vw,3.2rem)}.combat-layout{flex-direction:column;gap:0}.combat-body{flex-direction:column;min-height:0}.combat-screen{flex:auto;min-height:0}.battle-stage{min-height:200px;padding:14px 16px 48px}.enemy-glyph{font-size:5rem}.enemy-glyph-wrap{width:128px;height:128px}.enemy-aura{width:148px;height:148px;top:14px}.enemy-readout{gap:4px}.command-box{grid-template-columns:1fr}.command-box-status{border-right:none;border-bottom:1px solid var(--border)}.status-items{margin-top:0}.exercise-card{padding:8px 8px max(8px, env(safe-area-inset-bottom));box-shadow:none;border:none;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.exercise-wrap{gap:5px;padding:0}.exercise-dots-row{gap:4px 14px;margin:0}.piano-rail{gap:4px;padding:2px 0}.piano-console{width:52px}.exercise-footer{flex-shrink:0;margin-top:4px;padding-top:0}.exercise-staff{flex:0 auto;min-height:0}.exercise-header{border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:6px}.exercise-title{font-size:.85rem}.exercise-instruction{color:var(--text2);background:0 0;border:none;border-radius:0;padding:4px 2px}.exercise-staff{background:0 0;border:none;border-radius:0;align-items:flex-start;min-height:0;padding:0}.exercise-instruction{margin:0;padding:2px}.piano-wrap{gap:2px}.piano-label{font-size:.52rem!important}.prac-lab-stage{gap:20px;padding:20px 14px 36px}.prac-lab-h2{font-size:.95rem}.prac-lab-nav-name{font-size:.72rem}.prac-lab-nav-english{display:none}.prac-config{gap:12px}.prac-slider-row{flex-direction:column;align-items:stretch;gap:4px}.prac-slider-label{min-width:0;font-size:.76rem}.prac-slider-row input[type=range]{width:100%;min-width:0}.prac-radio-row,.prac-range-row,.prac-field{min-width:0}.prac-radio-opts,.prac-range-controls{flex-wrap:wrap}.prac-section{overflow:hidden}.prac-lab-footer{flex-direction:column;align-items:stretch}.prac-try-btn{width:100%}.map-main{gap:8px;padding:2px 2px 8px}.map-svg-wrap{box-shadow:none;background:var(--card);border:none;flex:1}.map-svg-wrap:after{display:none}.map-svg-wrap{padding:6px 4px}.descend-bar{gap:12px;padding:14px 16px}.descend-text{font-size:.85rem}.screen{padding:16px 12px}.non-combat-body,.map-body{flex-direction:column}.non-combat-content{padding:12px}}@media (width<=520px){.title-status{letter-spacing:.08em;gap:8px;padding:9px 14px;font-size:.62rem}.status-state{display:none}.title-identity{gap:22px;padding:26px 18px}.title-manifest{padding:22px 18px 20px}.mark-line{font-size:1.65rem}.mark-rule{width:72px;margin:12px 0 2px}.title-tagline{font-size:.82rem}.title-pillars li{gap:8px;padding:11px 12px}.btn-descend{gap:10px;padding:14px 20px;font-size:.78rem}.cta-sub{display:none}.floor{grid-template-columns:40px 1fr auto;gap:12px;padding:12px 4px}.floor-name{font-size:.9rem}.floor-desc{font-size:.66rem}}@media (width<=480px){.exercise-staff svg{width:100%!important;height:auto!important}.combat-hand{gap:6px}.combat-hand .btn{padding:8px 10px;font-size:.7rem}.status-confirm-text{letter-spacing:.04em;font-size:.72rem}.hud-hp-row{flex:60%;min-width:0}.hud-stat{align-items:center;gap:4px;display:inline-flex}.hud-section{gap:6px;padding:8px 10px}.hud-section-head{font-size:.66rem}.hud-section-title{font-size:.74rem}.hud-relic-name{font-size:.78rem}.hud-inventory-grid{gap:4px}.hud-cmd-row{gap:8px;padding:6px 8px}.map-main{flex:1;gap:10px;min-height:0;padding:10px 10px 16px}.map-svg-wrap{min-height:58vh;box-shadow:none;background:var(--card);border:none;padding:8px 6px}.map-svg-wrap:after{display:none}.descend-bar{gap:10px;padding:10px 12px}.descend-text{font-size:.78rem}}.cmd-tray-toggle,.cmd-tray-backdrop{display:none}@media (width<=900px){.cmd-tray-toggle{padding:12px 18px max(12px, env(safe-area-inset-bottom)) 14px;background:repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 4px), radial-gradient(ellipse 60% 80% at 50% 0%, rgba(var(--gold-rgb),.12) 0%, transparent 70%), linear-gradient(180deg, rgba(var(--surface-rgb),.98) 0%, rgba(var(--surface-rgb),1) 100%);border:none;border-top:2px solid var(--gold);color:var(--text);cursor:pointer;font-family:var(--font-system);text-align:left;box-shadow:0 -6px 0 #0000008c, inset 0 1px 0 color-mix(in oklab, var(--gold) 35%, transparent);z-index:var(--z-tray-toggle);grid-template-columns:40px 1fr auto auto;align-items:center;gap:12px;min-height:64px;transition:background .2s ease-out,border-color .2s ease-out;display:grid;position:fixed;bottom:0;left:0;right:0}.cmd-tray-toggle:not(.open){animation:2.6s ease-in-out infinite cmd-tray-breathe}@keyframes cmd-tray-breathe{0%,to{border-top-color:var(--gold);box-shadow:0 -6px 0 #0000008c, inset 0 1px 0 color-mix(in oklab, var(--gold) 30%, transparent)}50%{border-top-color:var(--gold2);box-shadow:0 -6px 0 #0000008c, inset 0 1px 0 color-mix(in oklab, var(--gold2) 60%, transparent), 0 -10px 18px -10px rgba(var(--gold2-rgb),.55)}}.cmd-tray-toggle.open{border-top-color:var(--gold2);background:repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 4px), linear-gradient(180deg, #281e0ef2 0%, rgba(var(--surface-rgb),1) 100%)}.cmd-tray-toggle:active{transform:translateY(1px)}.cmd-tray-toggle-icon{width:40px;height:40px;font-family:var(--font-system);color:var(--gold2);text-shadow:1px 1px #0d0b09;background:repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 4px), color-mix(in oklab, var(--gold) 22%, var(--bg));border:var(--rim-w) solid var(--gold);justify-content:center;align-items:center;font-size:1.3rem;display:inline-flex;box-shadow:2px 2px #0000008c}.cmd-tray-toggle-body{flex-direction:column;gap:3px;min-width:0;display:flex}.cmd-tray-toggle-label{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.06em;text-transform:uppercase;text-shadow:2px 2px #0d0b09;font-size:.82rem;line-height:1}.cmd-tray-toggle-hint{font-family:var(--font-system);color:var(--muted);letter-spacing:.18em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.cmd-tray-toggle-energy{font-family:var(--font-system);color:var(--gold2);background:repeating-linear-gradient(0deg, #ffffff05 0 1px, transparent 1px 4px), color-mix(in oklab, var(--gold) 10%, rgba(var(--surface-rgb),.8));border:var(--rim-w) solid var(--gold);text-shadow:1px 1px #0009;align-items:center;gap:5px;padding:6px 12px;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:2px 2px #0000008c}.cmd-tray-toggle-energy .glyph-num{color:inherit;font-size:1em}.cmd-tray-toggle-energy-spark{color:var(--gold2)}.cmd-tray-toggle-energy-sep{color:var(--muted);opacity:.65;margin:0 1px}.cmd-tray-toggle-chev{font-family:var(--font-system);color:var(--gold-ink);text-shadow:1px 1px #0d0b09;text-align:center;width:18px;font-size:1.05rem;transition:transform .18s cubic-bezier(.16,1,.3,1)}.cmd-tray-toggle:not(.open) .cmd-tray-toggle-chev{animation:1.6s ease-in-out infinite cmd-tray-chev-bob}@keyframes cmd-tray-chev-bob{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.cmd-tray-backdrop{background:rgba(var(--surface-rgb),.72);cursor:pointer;z-index:var(--z-tray-scrim);opacity:0;pointer-events:none;border:none;transition:opacity .22s ease-out;display:block;position:fixed;inset:0}.command-box.command-box-open~.cmd-tray-backdrop,.cmd-tray-backdrop[aria-hidden=false]{opacity:1;pointer-events:auto}.command-box{scrollbar-gutter:stable;overscroll-behavior:contain;background:var(--bg);border:none;border-top:1px solid var(--gold);height:auto;max-height:calc(100dvh - 56px);z-index:var(--z-tray);padding-bottom:max(12px, env(safe-area-inset-bottom));grid-template-columns:1fr;align-content:start;transition:transform .26s cubic-bezier(.16,1,.3,1);position:fixed;bottom:56px;left:0;right:0;overflow-y:auto;transform:translateY(calc(100% + 72px));box-shadow:0 -6px #0000008c}.command-box .commands-grid{gap:6px}.command-box .cmd-btn{min-height:112px;padding:8px 10px}.command-box .cmd-btn-desc{-webkit-line-clamp:2;max-height:2.6em}.command-box.command-box-open{transform:translateY(0)}.command-box:before{display:none}.combat-body .battle-stage{padding-bottom:88px}.battle-log-strip{border:none;border-top:1px solid var(--border);background:0 0;margin-bottom:56px}}@media (width>=721px){.command-box.command-box-open,.command-box{z-index:auto;max-height:none;position:static;bottom:auto;overflow:visible;transform:none}}@media (width>=701px) and (width<=1024px){.exercise-wrap{padding:16px 14px}}@media (orientation:portrait) and (width>=901px) and (width<=1180px){.combat-body,.non-combat-body,.map-body{flex-direction:column}.hud-section{border-right:1px solid var(--border);border-bottom:none;flex:1;min-width:180px}.hud-section:last-child{border-right:none}.combat-screen{gap:10px;padding:12px 16px 14px}.battle-stage{min-height:320px;max-height:52vh;padding:18px 32px 56px}.map-main{gap:14px;padding:8px 8px 16px}.map-svg-wrap{box-shadow:none;border:none;padding:8px 6px}.map-svg-wrap:after{display:none}}@media (orientation:landscape) and (width>=1000px) and (width<=1400px) and (height<=1100px){.battle-stage{min-height:360px;padding:20px 36px 64px}.map-svg-wrap{padding:22px 24px}}@media (width<=900px){.battle-stage{flex-direction:column;grid-template-rows:none;grid-template-columns:none;align-items:stretch;gap:18px;min-height:280px;padding:10px 14px 36px;display:flex}.stage-side-enemy{flex:none;justify-content:flex-end;min-width:0;height:auto;padding-top:4px}.stage-side-player{flex:none;justify-content:flex-end;align-items:center;gap:6px;width:100%;min-width:0;height:auto;padding-bottom:12px}.battle-stage.stage-targeting .stage-side-player{display:none}.battle-stage.stage-targeting{justify-content:center;padding-top:22px;padding-bottom:18px}.result-panel,.phase-panel{z-index:var(--z-tray);padding:14px 16px max(14px, env(safe-area-inset-bottom));background:linear-gradient(180deg, rgba(var(--surface-rgb),.98) 0%, rgba(var(--surface-rgb),1) 100%);border-width:2px 1px 1px;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px #0000008c}.result-panel .result-grade{font-size:1rem}.phase-panel .phase-title{font-size:.85rem}.combat-body .battle-stage{justify-content:space-between}.stage-side-player .hero-stage-mount{transform-origin:bottom;margin-top:-40px;transform:scale(.78)}.enemy-row{gap:8px;width:100%;min-height:0}.combat-body .battle-stage{min-height:0}.combat-body .combat-screen{gap:8px}.command-box{flex:none}.enemy-row-n3 .enemy-glyph-wrap{width:88px;height:88px}.enemy-row-n3 .enemy-aura{width:104px;height:104px}.enemy-row-n3 .enemy-sprite-img{width:80px;height:80px}.enemy-row-n3 .enemy-glyph{font-size:3.6rem}.btn,.btn-end-turn,.ex-skip-btn,.ex-replay-btn,.mc-choice-btn,.sing-replay-btn,.sing-recalib-btn,.sing-reactivate-btn,.sing-activate-btn{min-height:44px}.commands-grid{grid-template-columns:repeat(2,1fr);gap:8px}.cmd-btn{min-height:96px;padding:10px 11px}.cmd-btn-name{font-size:.92rem}.status-item-btn{min-width:44px;min-height:44px}.exercise-piano-wrap{padding:4px 0}.piano-label{font-size:.74rem!important}.piano-rail{gap:4px;padding:4px 0}.piano-arrow{width:44px;font-size:.72rem}.map-svg-wrap{overflow-x:visible}.dmap{width:100%;height:auto}.title-status{padding-top:max(11px, calc(8px + env(safe-area-inset-top)));padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.command-box,.phase-panel,.choice-panel,.descend-bar{padding-bottom:max(14px, calc(10px + env(safe-area-inset-bottom)))}}.run-end{--run-end-tone:var(--border2);--run-end-ink:var(--text);grid-template-rows:minmax(0,1fr)}.run-end--won{--run-end-tone:var(--gold2);--run-end-ink:var(--gold-ink)}.run-end--lost{--run-end-tone:var(--ember);--run-end-ink:var(--ember-ink)}.run-end .battle-bg__scene{filter:brightness(.66)saturate(.95)blur(1px);transform:scale(1.02)}.run-end>.run-end-topbar{z-index:2;position:absolute;top:clamp(4px,1.6vh,18px);left:clamp(4px,1.4vw,18px)}.run-end>.run-end-body{z-index:1;position:relative}.run-end-body{grid-template-columns:minmax(0,1fr) minmax(0,min(32rem,48%));align-items:stretch;gap:clamp(8px,2vw,32px);width:100%;max-width:84rem;min-height:0;margin:0 auto;padding:clamp(8px,3vh,40px) clamp(10px,2.6vw,40px);display:grid}.run-end-field{justify-content:center;align-items:flex-end;gap:clamp(6px,1.6vw,28px);min-width:0;min-height:0;padding-bottom:clamp(2px,1.6vh,22px);display:flex}.run-end-member{--class-tone:var(--border2);flex-direction:column;flex:0 12.5rem;align-items:center;gap:clamp(2px,1vh,10px);min-width:0;margin:0;animation:.42s cubic-bezier(.16,1,.3,1) both pop-in;display:flex}.run-end-member:nth-child(2){animation-delay:90ms}.run-end-member:nth-child(3){animation-delay:.18s}.run-end-sprite{isolation:isolate;justify-content:center;display:flex;position:relative}.run-end-sprite:before{content:"";z-index:-1;background:radial-gradient(closest-side,#0000008c,#0000);height:14%;position:absolute;bottom:0;left:15%;right:15%}.run-end-tag{border-radius:var(--radius);background:rgba(var(--surface-rgb), .9);width:100%;box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 2px 0 var(--class-tone);filter:drop-shadow(2px 2px #00000080);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px 6px 6px;display:grid;position:relative}.run-end-portrait{aspect-ratio:1;width:clamp(30px,6vh,52px);box-shadow:0 0 0 2px var(--class-tone);background:#0000004d;border-radius:50%;flex:none;display:block;overflow:hidden}.run-end-portrait>*{object-fit:cover;width:100%;height:100%}.run-end-tag-text{grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;display:grid}.run-end-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-voice);color:var(--text);font-size:clamp(.74rem,1.3vw,.98rem);font-weight:800;overflow:hidden}.run-end-tag-foot{justify-content:space-between;align-items:center;gap:4px;min-width:0;display:flex}.run-end-brio{border-radius:var(--radius-sm);height:7px;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0006;display:block;overflow:hidden}.run-end-brio-fill{background:var(--forest);height:100%;display:block}.run-end-brio-fill.tier-mid{background:var(--gold)}.run-end-brio-fill.tier-lo{background:var(--ember)}.run-end .run-end-brio-n{font-family:var(--font-system);color:var(--text2);margin-left:auto;font-size:.66rem;font-weight:800}.run-end-member--down .run-end-portrait>*{filter:grayscale(.75)brightness(.75)}.run-end-down-mark{width:20px;height:20px;font-family:var(--font-system);color:var(--text);background:var(--ember);border-radius:50%;place-items:center;font-size:.7rem;font-weight:900;display:grid;position:absolute;top:-7px;right:-7px;box-shadow:1px 1px #00000080}.run-end-plate{filter:drop-shadow(4px 4px #0000008c);align-self:center;min-width:0;min-height:0;max-height:100%;animation:.36s cubic-bezier(.16,1,.3,1) both pop-in;display:flex}.run-end-plate-face{background:radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--run-end-tone) 16%, transparent), transparent 70%), rgba(var(--surface-rgb), .92);min-height:0;box-shadow:inset 0 0 0 2px var(--run-end-tone), var(--plate-bevel);clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);flex-direction:column;flex:1;gap:clamp(6px,1.5vh,16px);padding:clamp(10px,2.2vh,26px) clamp(12px,1.8vw,28px);display:flex}.run-end-head{flex:none;align-items:center;gap:clamp(8px,1.4vw,18px);display:flex}.run-end-scroll{gap:inherit;flex-direction:column;flex:0 auto;min-height:0;margin-left:-3px;padding-left:3px;display:flex;overflow-y:auto}.run-end-mark{aspect-ratio:1;width:clamp(46px,10vh,92px);box-shadow:inset 0 0 0 2px var(--run-end-tone);background:#00000052;border-radius:50%;flex:none;place-items:center;display:grid}.run-end-mark>*{width:76%;height:76%}.run-end-head-text{min-width:0}.run-end-title{font-family:var(--font-voice);letter-spacing:.04em;color:var(--run-end-ink);text-shadow:2px 2px #00000073;overflow-wrap:anywhere;margin:0;font-size:clamp(1.2rem,3.4vw,2.4rem);font-weight:900;line-height:1}.run-end-where{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);margin:5px 0 0;font-size:clamp(.6rem,1.1vw,.8rem);font-weight:800}.run-end-line{font-family:var(--font-voice);color:var(--text);margin:0;font-size:clamp(.8rem,1.4vw,1.02rem);line-height:1.35}.run-end-floors{align-items:center;margin:0;padding:2px 0;list-style:none;display:flex}.run-end-pip{flex:1 1 0;justify-content:center;display:flex;position:relative}.run-end-pip+.run-end-pip:before{content:"";border-top:2px solid var(--border);width:100%;position:absolute;top:50%;right:50%;transform:translateY(-1px)}.run-end-pip--passed+.run-end-pip:before{border-top-color:var(--gold2)}.run-end .run-end-pip-n{z-index:1;aspect-ratio:1;width:clamp(24px,4.8vh,36px);font-family:var(--font-system);color:var(--muted);background:rgba(var(--surface-rgb), .95);box-shadow:inset 0 0 0 var(--rim-w) var(--border);border-radius:50%;place-items:center;font-size:clamp(.66rem,1.2vw,.86rem);font-weight:900;display:grid;position:relative}.run-end .run-end-pip--passed .run-end-pip-n{color:rgb(var(--surface-rgb));background:var(--gold2);box-shadow:inset 0 0 0 var(--rim-w) var(--gold)}.run-end .run-end-pip--here .run-end-pip-n{color:var(--run-end-ink);box-shadow:inset 0 0 0 2px var(--run-end-tone), 2px 2px 0 #00000073;transform:scale(1.2)}.run-end-facts{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.run-end-fact{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;padding:6px 10px;display:grid}.run-end-fact-ico{grid-row:1/span 2;place-items:center;display:grid}.run-end .run-end-fact-val{font-family:var(--font-system);color:var(--gold-ink);font-size:clamp(1rem,2vw,1.4rem);font-weight:900;line-height:1.1}.run-end-fact-k{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--text2);font-size:.6rem;font-weight:800}.run-end-paid{border-radius:var(--radius);background:color-mix(in srgb, var(--gold) 12%, rgba(var(--surface-rgb), .92));box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), var(--plate-bevel);flex-direction:column;align-items:center;gap:4px;padding:clamp(8px,1.5vh,16px) 12px;display:flex}.run-end-paid-head{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:0;font-size:.62rem;font-weight:800}.run-end-paid-sum{align-items:center;gap:10px;margin:0;display:flex}.run-end-paid-ico{place-items:center;display:grid}.run-end .run-end-paid-n{font-family:var(--font-system);color:var(--gold2);text-shadow:2px 2px #00000073;font-size:clamp(1.6rem,4.2vw,2.8rem);font-weight:900;line-height:1;animation:2.1s ease-in-out .3s 2 glow-gold}.run-end-paid-unit{font-family:var(--font-system);letter-spacing:.14em;color:var(--gold-ink);font-size:.74rem;font-weight:800}.run-end-paid-rows{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:2px 16px;width:100%;margin:0;padding:0;list-style:none;display:grid}.run-end-paid-row{border-bottom:1px dashed rgba(var(--gold-rgb), .22);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:2px;animation:.3s cubic-bezier(.16,1,.3,1) both pop-in;display:flex}.run-end-paid-row:nth-child(2){animation-delay:80ms}.run-end-paid-row:nth-child(3){animation-delay:.16s}.run-end-paid-row:nth-child(4){animation-delay:.24s}.run-end-paid-row:last-child{border-bottom:none}.run-end-paid-row:only-child{grid-column:1/-1;justify-content:center}.run-end-paid-label{font-family:var(--font-voice);color:var(--text2);font-size:.8rem}.run-end .run-end-paid-val{font-family:var(--font-system);color:var(--gold-ink);white-space:nowrap;font-size:.8rem;font-weight:800}.run-end-paid-row--apart{border-top:1px solid var(--border);grid-column:1/-1;margin-top:2px;padding-top:4px}.run-end .run-end-paid-row--apart .run-end-paid-val{color:var(--purple-ink)}.run-end-unlocks{flex-direction:column;align-items:center;gap:6px;display:flex}.run-end-unlock-list{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.run-end-unlock{--class-tone:var(--border2);border-radius:var(--radius);background:rgba(var(--surface-rgb), .9);box-shadow:inset 0 0 0 var(--rim-w) var(--class-tone), var(--plate-bevel), 2px 2px 0 #00000080;align-items:center;gap:8px;padding:5px 12px 5px 5px;display:flex}.run-end-unlock-text{flex-direction:column;display:flex}.run-end-unlock-tag{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-size:.58rem;font-weight:800}.run-end-seed{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.run-end-seed-k{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);font-size:.62rem;font-weight:800}.run-end-seed-v{border-radius:var(--radius-sm);font-family:var(--font-system);letter-spacing:.08em;color:var(--gold-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;padding:6px 10px;font-size:.86rem;font-weight:800}.run-end-hint{text-align:center;font-family:var(--font-voice);color:var(--text2);margin:0;font-size:.78rem}.run-end .run-end-go{flex:none;align-self:stretch;min-height:48px;margin-top:auto}@media (orientation:portrait){.run-end-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.run-end-field{padding-top:clamp(40px,6vh,64px)}}@media (width<=480px){.piano-label{font-size:.5rem!important}.enemy-name-rule{display:none}.battle-log-strip{padding:6px 10px}}@media (height<=500px){.battle-stage{min-height:0;padding:6px 18px 24px}.battle-stage:after{height:22px}.battle-stage:before{bottom:22px}.enemy-glyph-wrap{width:92px;height:92px}.enemy-glyph{font-size:4.2rem}.enemy-aura{width:108px;height:108px}.enemy-sprite-img,.enemy-row-n2 .enemy-glyph-wrap{width:84px;height:84px}.enemy-row-n2 .enemy-aura{width:98px;height:98px}.enemy-row-n2 .enemy-sprite-img{width:76px;height:76px}.enemy-row-n3 .enemy-glyph-wrap{width:72px;height:72px}.enemy-row-n3 .enemy-aura{width:84px;height:84px}.enemy-row-n3 .enemy-sprite-img{width:64px;height:64px}.enemy-hp-bar{height:10px}.command-box-status{gap:6px;padding:8px 12px}.command-box-actions{gap:8px;padding:8px 12px}.commands-grid{gap:6px}.cmd-btn{gap:4px 6px;min-height:72px;padding:8px 10px}.battle-log-strip{gap:2px;padding:4px 12px}.stage-side{padding-top:4px}.stage-side-enemy,.stage-side-player{gap:4px;padding-top:4px}}@media (height<=500px) and (width<=700px){.battle-stage{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}}.login-screen .menu-stage__middle{overscroll-behavior:contain;gap:clamp(8px,2vh,20px);overflow-y:auto}.login-plate{background:linear-gradient(180deg, rgba(var(--card2-rgb), .94) 0%, rgba(var(--card2-rgb), .9) 42%, rgba(var(--surface-rgb), .92) 100%);width:min(100%,760px);max-height:100%;box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 0 0 3px rgba(var(--surface-rgb), .55), inset 0 1px 0 #f2e8d01f;filter:drop-shadow(5px 5px #0000008c);clip-path:var(--plate-clip);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);place-items:start stretch;gap:clamp(12px,2.2vw,28px);padding:clamp(12px,2.4vh,22px) clamp(14px,2.4vw,26px);display:grid}.login-plate__creds{gap:clamp(8px,1.6vh,14px);min-width:0;display:grid}.login-error{font-family:var(--font-system);letter-spacing:.1em;color:var(--ember-ink);text-transform:uppercase;text-align:center;grid-column:1/-1;margin:6px 0 0;font-size:.68rem}.login-error--notice{color:var(--gold-ink)}.login-legal-link{min-height:44px;font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;color:var(--text2);text-underline-offset:3px;align-items:center;padding:0 10px;font-size:.68rem;text-decoration:underline;display:inline-flex}.login-legal-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.login-pw-form{flex-direction:column;gap:12px;width:280px;max-width:100%;display:flex}.login-pw-field{text-align:left;flex-direction:column;gap:4px;min-width:0;display:flex}.login-seat-row{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:clamp(8px,1.6vw,14px);min-width:0;display:grid}.login-pw-field--code input{text-transform:uppercase}.login-staff-toggle{justify-self:start;margin-top:2px}.login-pw-field>span{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.login-pw-field input{border:var(--rim-w) solid var(--border);color:var(--text);font-family:var(--font-system);letter-spacing:.04em;font-variant-numeric:tabular-nums;box-sizing:border-box;background:#0000004d;border-radius:0;width:100%;min-width:0;min-height:44px;padding:10px 12px;font-size:.94rem;box-shadow:inset 0 1px #00000059}.login-pw-field input:focus{border-color:var(--gold);outline:none}.login-pw-field input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.login-pw-field input::placeholder{color:var(--muted)}.login-pw-submit{background:var(--gold);color:var(--bg);font-family:var(--font-voice);letter-spacing:.04em;cursor:pointer;border:none;padding:12px 18px;font-size:1.02rem;font-weight:800;transition:background .15s,transform 50ms;box-shadow:4px 4px #00000073}@media (hover:hover){.login-pw-submit:hover:not(:disabled){background:var(--gold2)}}.login-pw-submit:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #00000073}.login-pw-submit:disabled{opacity:.55;cursor:default}.menu-choice--compact{gap:5px;padding:3px}.menu-choice--compact .setting-btn{letter-spacing:.06em;min-width:0;min-height:44px;padding:4px 11px;font-size:.74rem}.menu-choice--compact .setting-btn-active:before{width:11px;height:11px;font-size:.48rem;top:2px;right:3px}.lb-stage{background-color:rgb(var(--surface-rgb));background-image:radial-gradient(ellipse 70% 55% at 12% 32%, rgba(var(--gold-rgb),.07), transparent 65%), linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px);min-height:100dvh;color:var(--text);background-size:auto,8px 8px,8px 8px;flex-direction:column;display:flex;position:relative;overflow-y:auto}.lb-head{z-index:2;position:relative}.lb-main{z-index:2;flex-direction:column;flex:1;gap:24px;padding:40px 48px;display:flex;position:relative}.lb-title-row{align-items:baseline;gap:24px;display:flex}.lb-title{font-family:var(--font-voice);color:var(--gold-ink);text-shadow:3px 3px #0009;margin:0;font-size:1.1rem}.lb-loading,.lb-empty,.lb-error{font-family:var(--font-system);color:var(--muted);letter-spacing:.08em;font-size:.75rem}.lb-error{color:var(--ember-ink)}.lb-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;max-width:100%;overflow-x:auto}.lb-table-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.lb-table{border-collapse:collapse;width:100%;font-family:var(--font-system);font-size:.72rem}.lb-player-name{align-items:baseline;gap:8px;min-width:0;max-width:100%;display:inline-flex}.lb-player-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:22ch;overflow:hidden}.lb-table thead tr{border-bottom:2px solid var(--border)}.lb-table th{text-align:left;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;font-weight:700}.lb-table td{border-bottom:1px solid color-mix(in oklab, var(--border) 35%, transparent);padding:8px 12px}.lb-row-victory,.lb-row-defeat{animation:.26s cubic-bezier(.16,1,.3,1) both pop-in}.lb-table tbody tr:nth-child(2){animation-delay:35ms}.lb-table tbody tr:nth-child(3){animation-delay:70ms}.lb-table tbody tr:nth-child(4){animation-delay:.105s}.lb-table tbody tr:nth-child(5){animation-delay:.14s}.lb-table tbody tr:nth-child(n+6){animation-delay:.175s}.lb-row-victory td{color:var(--text)}.lb-row-defeat td{color:var(--text2)}.lb-col-rank{width:40px;font-size:.85rem;color:var(--gold-ink)!important}.lb-player-name{color:var(--text)}.lb-class-glyph{font-size:.8rem}.lb-outcome-victory{color:var(--forest-ink);font-weight:700}.lb-outcome-defeat{color:var(--muted)}@media (hover:hover){.btn-logout:hover{color:var(--ember-ink)}}.lb-controls{background:var(--bg);border:var(--rim-w) solid var(--border);flex-direction:column;gap:14px;padding:18px 20px;display:flex;box-shadow:4px 4px #00000059}.lb-cat-group,.lb-filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lb-cat-label{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);min-width:100px;font-size:.65rem;font-weight:700}.lb-chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lb-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:12px;display:flex}.lb-tab{font-family:var(--font-voice);letter-spacing:.04em;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:.9rem;font-weight:700}.lb-tab.is-active{color:var(--gold-ink);border-bottom-color:var(--gold)}@media (hover:hover){.lb-tab:not(.is-active):hover{color:var(--text)}}.lb-tab:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.lb-chip{font-family:var(--font-voice);letter-spacing:.02em;background:var(--bg2);min-height:44px;color:var(--text2);border:var(--rim-w) solid var(--border);cursor:pointer;border-radius:0;padding:7px 14px;font-size:.82rem;font-weight:700;transition:background .11s ease-out,color .11s ease-out,border-color .11s ease-out}@media (hover:hover){.lb-chip:hover:not(:disabled){background:var(--card2);color:var(--text);border-color:var(--border)}}.lb-chip.is-active{background:rgba(var(--gold-rgb),.16);color:var(--gold2);border-color:var(--gold);box-shadow:2px 2px 0 rgba(var(--surface-rgb),.55)}.lb-chip:disabled{opacity:.4;cursor:not-allowed}.lb-chip-sm{font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;min-height:44px;padding:5px 11px;font-size:.7rem;font-weight:700}.lb-filter-note{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-left:8px;font-size:.62rem}.lb-player-banner{background:rgba(var(--gold-rgb),.08);border:var(--rim-w) solid var(--gold);align-items:center;gap:16px;padding:12px 18px;display:flex;box-shadow:4px 4px #0006}.lb-player-banner-label{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-size:.64rem;font-weight:700}.lb-player-banner-row{flex:1;align-items:baseline;gap:12px;display:flex}.lb-player-banner-rank{font-family:var(--font-voice);color:var(--gold2);text-shadow:2px 2px #0000008c;font-size:.9rem}.lb-player-banner-class{font-size:1.1rem}.lb-player-banner-value{font-family:var(--font-system);color:var(--gold2);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.lb-player-banner-meta{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.lb-row-player td{background:rgba(var(--gold-rgb),.1);position:relative;color:var(--text)!important}.lb-row-player td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.lb-you-tag{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;color:var(--cassette-black,#0d0b09);background:var(--gold);margin-left:8px;padding:2px 6px;font-size:.56rem;font-weight:700;display:inline-block}.lb-col-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;color:var(--gold2)!important}.lb-col-level{font-family:var(--font-system);text-align:right;font-variant-numeric:tabular-nums}.lb-col-diff{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.66rem}.lb-pagination{border-top:1px dashed #6b4c2a73;justify-content:space-between;align-items:center;gap:16px;margin-top:4px;padding-top:8px;display:flex}.lb-pagination .btn-link[disabled]{opacity:.35;cursor:not-allowed}.lb-page-info{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.lb-total{color:var(--text2);letter-spacing:.08em;margin-left:10px}@media (width<=900px){.lb-main{padding:24px 16px}}.dungeon-tooltip-trigger{line-height:0;position:relative}.dungeon-tooltip-trigger>*{line-height:normal}.tooltip-help-dot{display:none}@media (hover:none) and (pointer:coarse){.tooltip-help-dot{width:16px;height:16px;font-family:var(--font-system);color:var(--gold2);background:rgba(var(--surface-rgb),.96);border:1px solid rgba(var(--gold-rgb),.7);z-index:var(--z-banner);cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;top:-7px;right:-7px;box-shadow:1px 1px #00000080}.tooltip-help-dot:before{content:"";position:absolute;inset:-14px}}.dungeon-tooltip{z-index:var(--z-clip);border:var(--rim-w) solid var(--gold);min-width:200px;max-width:320px;box-shadow:4px 4px 0 rgba(var(--surface-rgb), .55);color:var(--text);font-family:var(--font-voice);letter-spacing:.01em;pointer-events:none;text-shadow:1px 1px 0 rgba(var(--surface-rgb), .65);background:#2e2825;padding:12px 14px 13px;font-size:.92rem;line-height:1.5;animation:.14s cubic-bezier(.16,1,.3,1) dungeon-tooltip-in;position:fixed}.dungeon-tooltip-title{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.03em;margin-bottom:2px;font-size:1rem;font-weight:900;display:block}.dungeon-tooltip-title:has(>.tip-title-ico){align-items:center;gap:8px;display:flex}.tip-title-ico{flex:none;place-items:center;width:34px;height:34px;display:grid}.tip-title-ico>.painted-art{width:100%;height:100%}.dungeon-tooltip-meta{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:#c9b99a;border-bottom:1px dashed #6b4c2a8c;margin-bottom:8px;padding-bottom:6px;font-size:.66rem;font-weight:700;display:block}.dungeon-tooltip-body{color:var(--text);display:block}.tip-meteor-preview{border-top:1px solid rgba(var(--gold-rgb), .35);color:var(--gold2);margin-top:6px;padding-top:5px;font-weight:700;display:block}.tip-disabled-reason{border-top:1px solid rgba(var(--ember-rgb),.4);color:var(--ember-ink);margin-top:6px;padding-top:5px;font-weight:700;display:block}.cmd-legend{border-top:1px solid rgba(var(--gold-rgb), .3);margin-top:8px;padding-top:7px;display:block}.cmd-legend-heading{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:#c9b99a;margin-bottom:6px;font-size:.6rem;font-weight:700;display:block}.cmd-legend-row{align-items:flex-start;gap:8px;margin-top:5px;display:flex}.cmd-legend-row:first-of-type{margin-top:0}.cmd-legend-icon{flex:none;justify-content:center;align-items:center;min-width:26px;padding-top:1px;display:inline-flex}.cmd-legend-text{color:var(--text2);flex:auto;font-size:.86rem;line-height:1.4}.cmd-legend-text b{color:var(--text);font-weight:800}.cmd-legend-gem{font-family:var(--font-system);color:var(--cassette-black,#0d0b09);background:var(--gold2);border:var(--rim-w) solid var(--gold);padding:1px 4px;font-size:.72rem;font-weight:800}.cmd-legend-note{color:var(--gold2);font-size:.95rem;font-weight:800}.cmd-legend-tag{font-family:var(--font-system);color:var(--purple-ink);font-size:.85rem;font-weight:800}@keyframes dungeon-tooltip-in{0%{opacity:0;transform-origin:top}to{opacity:1}}.cmd-level-chip{font-family:var(--font-voice);color:var(--forest2);background:rgba(var(--forest2-rgb),.12);border:1px solid rgba(var(--forest2-rgb),.6);letter-spacing:.02em;text-shadow:1px 1px #000000b3;white-space:nowrap;flex-shrink:0;align-items:baseline;gap:3px;padding:1px 6px 2px 5px;font-weight:800;line-height:1.1;display:inline-flex;box-shadow:1px 1px #00000073}.cmd-level-chip .cmd-level-num{font-family:var(--font-system);font-variant-numeric:tabular-nums;font-size:1.05em;font-weight:700}.cmd-level-chip-sm{padding:0 5px 1px;font-size:.58rem}.cmd-level-chip-md{font-size:.66rem}.cmd-level-chip-base{color:var(--muted);background:rgba(var(--surface-rgb),.55);border-color:#6b4c2ab3}.cmd-level-chip-base .cmd-level-num{color:var(--text2)}.cmd-tooltip-header{border-bottom:1px dashed #6b4c2a8c;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.cmd-tooltip-type{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:700}.cmd-btn-corner{grid-area:corner;align-items:center;gap:5px;display:inline-flex}.cmd-level-transition{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.cmd-level-arrow{font-family:var(--font-system);color:var(--gold-ink);text-shadow:1px 1px #0009;font-size:.78rem;font-weight:800;line-height:1}.cmd-level-chip.cmd-level-chip-target{color:#1a1614;background:var(--gold2);border-color:var(--gold);box-shadow:2px 2px 0 rgba(var(--surface-rgb), .55)}.cmd-level-chip-target .cmd-level-num{color:#1a1614}.cmd-btn-upgrade-badge{display:none}.glyph-num{font-family:var(--font-system);font-variant-numeric:tabular-nums;color:var(--gold2);letter-spacing:0;padding:0 1px;font-size:1.05em;font-weight:700}.dungeon-tooltip-body .glyph-num{color:var(--gold2)}.btn-gold .glyph-num,.btn-descend .glyph-num,.btn-ember .glyph-num,.btn-purple .glyph-num,.energy-cost .glyph-num,.cmd-btn-upgrade-badge .glyph-num{color:inherit;font-size:1.1em;font-weight:800}.dungeon-tooltip-trigger{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.enemy-fx-mount{position:relative}.enemy-dialogue-bubble{z-index:var(--z-bubble);border:2px solid var(--gold);max-width:240px;box-shadow:4px 4px 0 rgba(var(--surface-rgb), .75);color:#1a1614;font-family:var(--font-voice);letter-spacing:.02em;white-space:nowrap;pointer-events:none;background:#f2e8d0;align-self:center;align-items:baseline;gap:6px;margin:4px auto 14px;padding:9px 13px 10px;font-size:.96rem;font-weight:700;line-height:1.15;animation:.22s cubic-bezier(.16,1,.3,1) enemy-dialogue-in;display:inline-flex;position:relative}.enemy-dialogue-line{color:#1a1614;text-shadow:1px 1px 0 rgba(var(--gold-rgb), .25)}.enemy-dialogue-quote{color:var(--gold-ink);font-family:var(--font-voice);font-size:.66rem;font-weight:400;line-height:1;transform:translateY(-1px)}.enemy-dialogue-quote-left{margin-right:2px}.enemy-dialogue-quote-right{margin-left:2px}.enemy-dialogue-tail,.enemy-dialogue-tail-border{pointer-events:none;width:14px;height:10px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.enemy-dialogue-tail-border{background:var(--gold);clip-path:polygon(50% 100%,0 0,100% 0);width:18px;height:12px;bottom:-12px}.enemy-dialogue-tail{clip-path:polygon(50% 100%,0 0,100% 0);background:#f2e8d0}@keyframes enemy-dialogue-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.enemy-dialogue-bubble{max-width:180px;box-shadow:3px 3px 0 rgba(var(--surface-rgb), .75);padding:7px 10px 8px;font-size:.84rem}}.player-dialogue-bubble{z-index:var(--z-bubble);border:2px solid var(--ember2);max-width:240px;box-shadow:4px 4px 0 rgba(var(--surface-rgb), .75);color:#1a1614;font-family:var(--font-voice);letter-spacing:.02em;white-space:nowrap;pointer-events:none;text-shadow:1px 1px 0 rgba(var(--ember-rgb), .18);background:#f2e8d0;align-items:baseline;gap:6px;padding:9px 13px 10px;font-size:.82rem;font-weight:400;line-height:1.15;animation:.26s cubic-bezier(.16,1,.3,1) player-dialogue-in;display:inline-flex;position:absolute;top:-8px;left:50%;transform:translate(-50%,-100%)}.player-dialogue-tail,.player-dialogue-tail-border{pointer-events:none;width:14px;height:10px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.player-dialogue-tail-border{background:var(--ember2);clip-path:polygon(50% 100%,0 0,100% 0);width:18px;height:12px;bottom:-12px}.player-dialogue-tail{clip-path:polygon(50% 100%,0 0,100% 0);background:#f2e8d0}@keyframes player-dialogue-in{0%{opacity:0;transform:translate(-50%,calc(8px - 100%))scale(.92)}60%{opacity:1;transform:translate(-50%,calc(-100% - 4px))scale(1.06)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}@media (width<=900px){.player-dialogue-bubble{max-width:180px;box-shadow:3px 3px 0 rgba(var(--surface-rgb), .75);padding:6px 9px 7px;font-size:.7rem}}.pact-voice-preview{border:1px dashed var(--ember);background:color-mix(in oklab, var(--ember) 4%, transparent);flex-direction:column;align-items:center;gap:6px;min-width:0;margin:6px 0 14px;padding:12px;display:flex}.pact-voice-cap{font-family:var(--font-voice);color:var(--text2);text-align:center;font-size:.86rem}.pact-voice-shout{font-family:var(--font-voice);color:var(--ember-ink);letter-spacing:.04em;text-shadow:2px 2px #000;overflow-wrap:anywhere;text-align:center;max-width:100%;font-size:clamp(.62rem,4vw,1.05rem)}.viewport-host{display:contents}.viewport-gate{color:var(--text);z-index:var(--z-gate);background-color:#0d0b09;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:8px 8px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.viewport-gate-card{border:var(--rim-w) solid var(--gold);width:100%;max-width:360px;font-family:var(--font-voice);text-align:center;background:#231e1b;padding:26px 22px 24px;box-shadow:6px 6px #00000073}.viewport-gate-mark{margin-bottom:10px;font-size:2rem;line-height:1}.viewport-gate-title{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.02em;text-shadow:2px 2px #0009;margin-bottom:10px;font-size:1.2rem;font-weight:900}.viewport-gate-body{color:var(--text2);margin-bottom:14px;font-size:.92rem;line-height:1.5}.viewport-gate-meta{font-family:var(--font-system);font-variant-numeric:tabular-nums;letter-spacing:.1em;text-transform:uppercase;color:#c9b99a;justify-content:center;gap:14px;margin-bottom:10px;font-size:.7rem;display:flex}.viewport-gate-meta strong{color:var(--gold2)}.viewport-gate-hint{color:#c9b99a;font-size:.78rem;font-style:italic}.viewport-gate-turn{color:var(--gold);font-size:2.4rem;line-height:1;animation:2.6s cubic-bezier(.5,0,.2,1) infinite vp-turn;display:inline-block}@keyframes vp-turn{0%,18%{transform:rotate(90deg)}42%,82%{transform:rotate(0)}to{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .viewport-gate-turn{animation:none;transform:rotate(90deg)}}.status-user{align-items:center;gap:6px;margin-left:4px;display:inline-flex}.status-user-sep{color:var(--border);opacity:.7;margin-right:2px}.status-user-label{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.status-user-name{font-family:var(--font-voice);color:var(--gold2);letter-spacing:.02em;font-weight:700}.lb-player-page-note{font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;color:var(--gold2);background:rgba(var(--gold-rgb), .1);border:1px solid rgba(var(--gold-rgb), .4);align-items:center;gap:8px;width:fit-content;margin:8px 0 4px;padding:4px 10px;font-size:.7rem;display:inline-flex}.lb-you-tag-static{background:var(--gold);color:#1a1614;font-family:var(--font-voice);padding:1px 6px;font-weight:800}.lb-row-player{background:rgba(var(--gold-rgb), .06)}.lb-row-player-best{background:rgba(var(--gold-rgb), .18);outline:1px solid rgba(var(--gold-rgb), .55);outline-offset:-1px}.lb-you-tag-best{background:var(--gold);color:#1a1614;letter-spacing:.04em;font-weight:800}.lb-col-when{font-family:var(--font-system);font-variant-numeric:tabular-nums;color:var(--text2);letter-spacing:.01em;white-space:nowrap;text-align:right;padding-right:12px;font-size:.74rem}.lb-row-player .lb-col-when{color:var(--gold2)}.lb-row-player-best .lb-col-when{color:var(--gold-ink);font-weight:700}.clip-overlay{z-index:var(--z-clip);pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:fixed;inset:0}.clip-caption{border:2px solid var(--gold);box-shadow:inset 0 0 0 1px #080605e6, 8px 8px 0 #0009, 0 0 30px rgba(var(--gold-rgb), .22);text-align:center;transform-origin:top;background:repeating-linear-gradient(#ffffff08 0 1px,#0000 1px 4px),#080605f0;flex-direction:column;align-items:center;gap:10px;max-width:86vw;margin-top:clamp(80px,14vh,220px);padding:22px 40px;animation:.25s ease-out both clip-caption-frame-in,2.4s ease-in-out .5s infinite clip-caption-glow;display:flex}.clip-caption-row{flex-wrap:wrap;justify-content:center;gap:.4em;display:flex}.clip-word{opacity:0;filter:blur(3px);animation:.42s cubic-bezier(.16,1,.3,1) both clip-word-pop;display:inline-block;transform:translateY(18px)scale(.85)}.clip-word-kicker{font-family:var(--font-system);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.clip-word-title{font-family:var(--font-voice);color:var(--text);text-shadow:3px 3px #000;font-size:clamp(1.4rem,4.4vw,2.4rem);font-weight:700;line-height:1.1}.clip-word-day{font-family:var(--font-voice);color:var(--gold2);text-shadow:3px 3px 0 #000, 0 0 22px rgba(var(--gold-rgb), .5);font-size:clamp(1.2rem,4vw,2rem)}@keyframes clip-word-pop{0%{opacity:0;filter:blur(3px);transform:translateY(18px)scale(.85)}60%{opacity:1;filter:blur();transform:translateY(-3px)scale(1.06)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes clip-caption-frame-in{0%{opacity:0;transform:translateY(-20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes clip-caption-glow{0%,to{box-shadow:inset 0 0 0 1px #080605e6, 8px 8px 0 #0009, 0 0 22px rgba(var(--gold-rgb),.18)}50%{box-shadow:inset 0 0 0 1px #080605e6, 8px 8px 0 #0009, 0 0 40px rgba(var(--gold2-rgb),.5)}}@keyframes clip-card-in{0%{opacity:0;transform:translateY(46px)scale(.965)}to{opacity:1;transform:translateY(0)scale(1)}}.clip-root{width:100vw;height:100dvh;position:relative;overflow:hidden}.clip-root:after{content:"";z-index:var(--z-clip-bg);pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#0000000f 2px 3px) 0 0/100% 3px;animation:7s linear infinite clip-scanline-drift;position:fixed;inset:0}@keyframes clip-scanline-drift{0%{background-position:0 0}to{background-position:0 60px}}.clip-prebattle{background-color:rgb(var(--surface-rgb));background-image:radial-gradient(ellipse 70% 55% at 50% 30%, rgba(var(--gold-rgb),.08), transparent 65%), linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px);background-size:auto,8px 8px,8px 8px;width:100%;height:100%}.clip-hint{min-height:100vh;color:var(--muted);font-family:var(--font-system);text-align:center;background:#0d0b09;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.9rem;display:flex}.clip-hint code{color:var(--gold-ink)}.clip-hero-intro{pointer-events:none;z-index:var(--z-clip-hero);flex-direction:column;align-items:center;animation:.55s cubic-bezier(.16,1,.3,1) both clip-hero-intro-in;display:flex;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}@keyframes clip-hero-intro-in{0%{opacity:0;filter:blur(6px);transform:translate(-50%,calc(80px - 50%))scale(.6)}60%{opacity:1;filter:blur();transform:translate(-50%,calc(-50% - 12px))scale(1.06)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.clip-hero-intro-aura{pointer-events:none;background:radial-gradient(circle, rgba(var(--gold2-rgb),.55) 0%, rgba(var(--gold2-rgb),.18) 35%, transparent 70%);filter:blur(4px);width:420px;height:420px;animation:1.4s ease-in-out infinite clip-hero-intro-aura;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}@keyframes clip-hero-intro-aura{0%,to{opacity:.75;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.12)}}.clip-hero-intro-mount{z-index:1;filter:drop-shadow(0 6px 12px #0000008c);position:relative}.clip-hero-intro-name{display:none}.clip-cursor{z-index:var(--z-clip-cursor);pointer-events:none;width:1em;height:1em;text-shadow:0 0 12px rgba(var(--gold2-rgb),.85), 0 0 24px rgba(var(--gold2-rgb),.5), 2px 2px 0 #000000a6;filter:drop-shadow(0 0 10px rgba(var(--gold2-rgb),.55));justify-content:center;align-items:center;margin:-.5em 0 0 -.25em;font-size:72px;line-height:1;transition:left .7s cubic-bezier(.16,1,.3,1),top .7s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.22,1,.36,1),opacity .25s ease-out;animation:1.8s ease-in-out infinite clip-cursor-bob;display:flex;position:fixed}@keyframes clip-cursor-bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-6px)rotate(2deg)}}.clip-cursor-press{filter:drop-shadow(0 0 18px rgba(var(--gold2-rgb),1));animation-play-state:paused;transform:translateY(6px)scale(.78)rotate(0)!important}.cmd-btn.clip-cmd-hover{outline:3px solid var(--gold2,var(--gold2));outline-offset:2px;box-shadow:0 0 18px rgba(var(--gold2-rgb),.55)}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .clip-caption,:root:not([data-motion=full]) .ex-dot-correct,:root:not([data-motion=full]) .clip-cursor,:root:not([data-motion=full]) .clip-root:after{animation:none}}@media (orientation:portrait){.exercise-card{align-self:center;height:auto;max-height:94vh}.exercise-staff{flex:none;align-items:center;max-height:46vh}.exercise-wrap{justify-content:flex-start}}@media (orientation:portrait) and (width>=950px){.exercise-card{width:min(940px,95vw);padding:30px 34px 34px;animation:.5s cubic-bezier(.16,1,.3,1) both clip-card-in}.exercise-wrap{gap:24px}.exercise-staff{min-height:460px}.exercise-header{padding-bottom:18px}.exercise-title{gap:16px;font-size:2.4rem}.exercise-title-glyph{font-size:2.4rem}:root{--ex-q-fs:1.85rem}.exercise-instruction{padding:18px 26px}.exercise-meta{font-size:1.15rem}.exercise-status{font-size:1.5rem}.exercise-stream-tag{padding:6px 12px;font-size:1rem}.ex-timer{min-width:72px;font-size:2rem}.exercise-dots{gap:14px}.ex-dot{border-width:3px;width:24px;height:24px}.piano-console{gap:8px;width:104px}.piano-mode-btn{letter-spacing:.1em;gap:6px;min-height:64px;padding:10px 6px;font-size:.92rem}.piano-mode-hint{font-size:.9rem}.piano-mode-hint-num{font-size:1.5rem}.piano-label{font-size:.98rem!important}.piano-arrow{width:56px;height:64px;font-size:1.6rem}.enemy-row-n1 .enemy-sprite-img{width:184px;height:184px}.hero-stage-mount{transform-origin:bottom;transform:scale(1.35)}.exercise-fullscreen{align-items:center;padding-top:clamp(300px,27vh,520px);padding-bottom:clamp(170px,14vh,280px)}.exercise-card{max-height:100%}.clip-caption{gap:14px;margin-top:clamp(70px,7vh,130px);padding:28px 52px}}@media (orientation:portrait){.battle-stage:has(.enemy-row-n1){grid-template-rows:1fr;grid-template-columns:1fr 1fr;align-items:center;gap:12px;max-height:none;padding:16px 14px 88px}.battle-stage:has(.enemy-row-n1) .enemy-row{height:100%}:is(.battle-stage:has(.enemy-row-n1) .enemy-column,.battle-stage:has(.enemy-row-n1) .stage-side-player){justify-content:center;gap:10px;padding:0}.battle-stage:has(.enemy-row-n1) .enemy-readout{align-items:center;max-width:94%}.battle-stage:has(.enemy-row-n1) .stage-side-player{gap:14px}.battle-stage:has(.enemy-row-n1) .hero-stage-mount{margin-top:12px}.command-box{grid-template-columns:1fr}.commands-grid{grid-template-columns:repeat(2,1fr)!important}.cmd-btn{border-width:2px}}@media (orientation:portrait) and (width>=950px){.enemy-name{font-size:1.7rem}.enemy-hp-text{font-size:1.2rem}.enemy-hp-label{font-size:.92rem}.enemy-hp-bar{height:18px}.vital-name{font-size:1.4rem}.hero-status-pill,.enemy-status-pill{--spill:40px}.cmd-btn{gap:10px 12px;min-height:134px;padding:14px 18px}.cmd-btn-name{font-size:1.4rem}.cmd-btn-hand .energy-cost{font-size:1.05rem}.cmd-btn-desc{font-size:1rem;line-height:1.35}.command-box-status{padding:18px 22px}.hud-stat{font-size:1.15rem}.hud-section-title{font-size:1.05rem}.hud-section-count{font-size:.95rem}.hud-relic-name,.hud-inv-name{font-size:.92rem}}@media (orientation:portrait){.energy-gems,.status-energy-label,.status-energy-count-sep,.status-energy-count-sep~.glyph-num{display:none}.status-energy-row{border:2px solid var(--gold);background:radial-gradient(120% 140% at 50% 0%, rgba(var(--gold-rgb),.22), rgba(var(--gold-rgb),.08) 70%), rgba(var(--surface-rgb),.6);align-self:flex-start;align-items:center;gap:8px;width:fit-content;padding:5px 16px 5px 12px;display:inline-flex;box-shadow:3px 3px #00000080}.exercise-wrap{position:relative}.status-energy-row:before{content:"⚡";color:var(--gold2,var(--gold2));filter:drop-shadow(0 0 6px rgba(var(--gold2-rgb),.5));line-height:1}.status-energy-count{color:var(--gold2,var(--gold2));text-shadow:2px 2px #0009;font-weight:800;line-height:1}.mc-pip-label,.re-pip-label{color:var(--text2,#e8ddc0)}.ex-skip-btn,.ex-replay-btn,.sing-replay-btn,.sing-recalib-btn,.sing-reactivate-btn{min-height:48px}}@media (orientation:portrait) and (width<=900px){.command-box .status-items{display:none}.command-box-status{gap:6px;padding:8px 14px}.command-box .status-energy-row{border-width:1px;gap:5px;padding:3px 10px 3px 8px;box-shadow:2px 2px #00000073}.command-box .status-energy-count{font-size:1.15rem}.command-box .status-energy-row:before{font-size:.95rem}}@media (orientation:portrait) and (width>=950px){.status-energy-count{padding:8px 22px;font-size:2.6rem}.status-energy-row:before{font-size:2rem}.re-hit-btn{border-width:4px;gap:8px;width:190px;height:190px}.re-hit-label{letter-spacing:.12em;font-size:1.9rem}.re-hit-hint{font-size:1.05rem}.ex-skip-btn,.ex-replay-btn,.sing-replay-btn,.sing-recalib-btn,.sing-reactivate-btn{min-height:56px;padding:13px 24px;font-size:1.1rem}.exercise-phase-row{gap:12px}.mc-pip,.re-pip{width:32px;height:32px;font-size:1.05rem}.mc-pip-label,.re-pip-label{font-size:1.1rem}}@media (width<=900px){.status-energy-count{padding:5px 14px;font-size:1.9rem}.status-energy-row:before{font-size:1.5rem}.re-hit-btn{width:150px;height:150px}.re-hit-label{font-size:1.35rem}.re-hit-hint{font-size:.82rem}.ex-skip-btn,.ex-replay-btn,.sing-replay-btn,.sing-recalib-btn,.sing-reactivate-btn{padding:11px 18px;font-size:.92rem}.exercise-title{font-size:1.05rem}.exercise-phase-row{font-size:.95rem}}.pitch-countdown{font-family:var(--font-voice);color:var(--gold2,var(--gold2));text-shadow:4px 4px 0 #000, 0 0 28px rgba(var(--gold2-rgb),.6);pointer-events:none;z-index:3;font-size:clamp(3rem,12vw,7rem);animation:.7s cubic-bezier(.22,1,.36,1) both pitch-countdown-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pitch-countdown-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(1.6)}20%{opacity:1}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.15;transform:translate(-50%,-50%)scale(.96)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .pitch-countdown{animation:none}}@media (orientation:portrait) and (width>=950px){.result-grade{font-size:2.6rem}.result-pct{font-size:1.35rem}.result-explanation{font-size:1.1rem}.result-panel .btn-end-turn{padding:14px 28px;font-size:1.25rem}.status-confirm-text{font-size:1rem}}@media (width<=900px){.piano-label{font-size:.78rem!important}.ex-skip-btn,.ex-replay-btn,.sing-replay-btn,.sing-recalib-btn,.sing-reactivate-btn{min-height:50px;padding:12px 18px;font-size:1.02rem}.result-grade{font-size:1.6rem}.result-pct{font-size:1rem}.result-explanation{font-size:.92rem}.result-panel .btn-end-turn{min-height:48px;font-size:1.05rem}}@media (orientation:portrait){.battle-log-strip{display:none}}@media (orientation:portrait) and (width<=600px){:root{font-size:17px}.btn,.btn-link,.btn-tertiary,.btn-descend,.btn-resume,.btn-discard,.btn-dim,.btn-gold,.btn-ember,.btn-end-turn,.ex-submit-btn,.ex-skip-btn,.ex-replay-btn,.sing-replay-btn,.sing-recalib-btn,.sing-reactivate-btn,.seed-input,.survey-submit,.survey-jump,.survey-back,.survey-logout{min-height:46px;font-size:1rem}.title-stage{padding:12px 14px 24px}.title-main{grid-template-columns:1fr;gap:18px}.title-identity{gap:16px;padding:16px 14px 8px}.title-manifest{padding:16px 14px}.mark-line{font-size:clamp(1.9rem,8vw,2.6rem)}.title-tagline{font-size:1rem}.btn-descend{min-height:64px;font-size:1.15rem}.btn-resume{min-height:58px;font-size:1.05rem}.cta-label{font-size:1.15rem}.cta-sub{font-size:.82rem}.seed-input{font-size:1rem}.seed-row{width:100%}.floor-name{font-size:.95rem}.floor-desc{font-size:.78rem}.battle-stage{min-height:220px;padding:10px 12px 36px}.enemy-row-n1{gap:8px}.enemy-row-n2{grid-template-columns:1fr 1fr;gap:6px}.enemy-row-n3{grid-template-columns:1fr 1fr 1fr;gap:4px}.enemy-row-elgar{flex-direction:column;gap:8px}.enemy-zone-minions{grid-template-columns:repeat(4,1fr)}.enemy-zone-minions .enemy-column{transform:scale(.6)}.hero-status-pill,.enemy-status-pill{--spill:32px}.enemy-name{font-size:.9rem}.cmd-tray{gap:6px;padding:8px}.cmd-btn{min-height:96px;padding:10px;font-size:.92rem}.cmd-btn-name{font-size:.92rem}.cmd-btn-desc{font-size:.74rem}.screen-card{gap:14px;padding:18px 16px}.screen-title{font-size:1.4rem}.screen-text{font-size:.96rem;line-height:1.45}.screen-ico{font-size:2.4rem}.hud-section-title{font-size:.82rem}.hud-section-count{font-size:.78rem}.hud-relic-name{font-size:.86rem}.hud-relic-glyph{font-size:1.4rem}.ex-submit-btn,.ex-skip-btn{min-height:52px;padding:14px 22px;font-size:1.05rem}.dungeon-tooltip{max-width:min(92vw,360px)}.dungeon-tooltip-body{font-size:.92rem;line-height:1.42}.dungeon-tooltip-title{font-size:.98rem}.lb-table{font-size:.86rem}.lb-table th,.lb-table td{padding:8px 10px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}}@media (orientation:portrait) and (width<=900px){.combat-layout .combat-body .battle-stage{border:none;flex-direction:column;grid-template-rows:none;grid-template-columns:none;justify-content:flex-start;align-items:stretch;gap:0;min-height:0;max-height:none;padding:6px 4px 60px;display:flex;overflow:hidden}.combat-body .combat-screen,.combat-body{padding-left:0;padding-right:0}.combat-layout .combat-body .battle-stage>.enemy-row{flex:auto;align-content:center;align-items:center;width:100%;min-height:0;overflow:hidden}.combat-layout .combat-body .battle-stage>.stage-side-player{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;width:100%;min-height:0;margin:0;padding:2px 0;display:flex;overflow:visible}.combat-layout .combat-body .battle-stage .hero-stage-mount{flex:none;height:auto;margin:0;overflow:visible;transform:none}.combat-layout .combat-body .battle-stage .hero-stage-mount .hero-sprite{flex:none}.combat-layout .combat-body .battle-stage .enemy-fx-mount{min-height:0}.combat-layout .combat-body .battle-stage .enemy-row-n1{--enemy-px:min(44vw, 21vh)}.combat-layout .combat-body .battle-stage .enemy-row-n2{--enemy-px:min(37vw, 19vh)}.combat-layout .combat-body .battle-stage .enemy-row-n3{--enemy-px:min(27vw, 15vh)}.combat-layout .combat-body .battle-stage .enemy-sprite-img,.combat-layout .combat-body .battle-stage .enemy-glyph-wrap{width:var(--enemy-px,160px);height:var(--enemy-px,160px);max-width:none;max-height:none}.combat-layout .combat-body .battle-stage .enemy-glyph{font-size:calc(var(--enemy-px,160px) * .74)}.combat-layout .combat-body .battle-stage .enemy-aura{width:calc(var(--enemy-px,160px) * 1.04);height:calc(var(--enemy-px,160px) * 1.04);top:0;left:50%;transform:translate(-50%)}.combat-layout .combat-body .battle-stage .enemy-ground-shadow{width:calc(var(--enemy-px,160px) * .86)}.combat-layout .combat-body .battle-stage .enemy-column{justify-content:center;gap:6px;height:100%}.combat-layout .combat-body .battle-stage .enemy-status-row-inline{display:none}.combat-layout .combat-body .battle-stage .enemy-status-row-overlay{z-index:4;flex-wrap:nowrap;justify-content:flex-end;gap:2px;display:flex;position:absolute;inset:auto 1px 1px auto;transform:none}.combat-layout .combat-body .battle-stage .enemy-status-row-overlay .enemy-status-pill{--spill:19px;flex:none}.combat-layout .combat-body .battle-stage .enemy-status-row-overlay .tooltip-help-dot{display:none}.combat-layout .combat-body .battle-stage .enemy-row-n2 .enemy-name,.combat-layout .combat-body .battle-stage .enemy-row-n3 .enemy-name,.combat-layout .combat-body .battle-stage .enemy-row-n2 .enemy-nameplate-row,.combat-layout .combat-body .battle-stage .enemy-row-n3 .enemy-nameplate-row{-webkit-line-clamp:2;text-align:center;-webkit-box-orient:vertical;min-height:2.2em;line-height:1.1;display:-webkit-box;overflow:hidden}.combat-layout .combat-body .battle-stage .enemy-row-n2 .enemy-readout,.combat-layout .combat-body .battle-stage .enemy-row-n3 .enemy-readout{justify-content:flex-start}.combat-layout .combat-body .battle-stage .enemy-row-elgar{--enemy-px:min(16vw, 9vh);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1.3fr 1fr;place-items:center;gap:4px 6px;width:100%;display:grid}.combat-layout .combat-body .battle-stage .enemy-zone-boss{--enemy-px:min(30vw, 16vh);grid-area:1/2/3;justify-content:center;align-items:center;min-width:0;display:flex}.combat-layout .combat-body .battle-stage .enemy-row-elgar .enemy-name{font-size:.58rem}.combat-layout .combat-body .battle-stage .enemy-row-elgar .enemy-hp-text{min-width:0;font-size:.54rem}.combat-layout .combat-body .battle-stage .enemy-row-elgar .enemy-hp-label{display:none}.combat-layout .combat-body .battle-stage .enemy-row-elgar .enemy-status-row{flex-wrap:wrap;justify-content:center;gap:2px;max-width:100%}.combat-layout .combat-body .battle-stage .enemy-row-elgar .enemy-status-pill{box-shadow:none;padding:1px 3px;font-size:.5rem}.combat-layout .combat-body .battle-stage .enemy-zone-minions .enemy-readout{max-width:100%}.combat-layout .combat-body .battle-stage .enemy-zone-minions{display:contents}.combat-layout .combat-body .battle-stage .enemy-zone-minions .enemy-column{justify-content:center;width:100%;min-width:0;height:auto;transform:none}.combat-layout .combat-body .battle-stage .enemy-zone-minions .enemy-glyph-wrap,.combat-layout .combat-body .battle-stage .enemy-zone-minions .enemy-sprite-img{width:var(--enemy-px);height:var(--enemy-px)}.combat-layout .combat-body .battle-stage .enemy-zone-minions .enemy-aura{width:calc(var(--enemy-px) * 1.04);height:calc(var(--enemy-px) * 1.04)}.combat-layout .combat-body .battle-stage .enemy-zone-minions .enemy-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.54rem;overflow:hidden}.combat-layout .combat-body .battle-stage .enemy-zone-minions .enemy-hp-text{font-size:.52rem}}.clip-syncflash{z-index:var(--z-clip-sync);pointer-events:none;background:#fff;position:fixed;inset:0}.dash-stage{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--ui-sans);flex-direction:column;display:flex}.dash-modal,.dash-stage button,.dash-modal button{font-family:var(--ui-sans)}.dash-header{background:rgba(var(--surface-rgb), .95);box-shadow:inset 0 -1px 0 var(--border), var(--plate-bevel), 0 3px 0 #00000073;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.dash-header-mark{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-header-title{font-family:var(--ui-sans);color:var(--gold-ink);letter-spacing:.01em;margin:0;font-size:1.25rem;font-weight:800;line-height:1.2}.dash-header-user{color:var(--muted);font-size:.8rem}.dash-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.dash-body{flex-direction:column;flex:1;gap:22px;width:100%;max-width:1180px;margin:0 auto;padding:24px 18px 60px;display:flex}.dash-body--narrow{max-width:780px}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:22px;display:grid}.dash-back{align-self:flex-start}.dash-tabpanel{flex-direction:column;gap:22px;min-width:0;display:flex}.dash-form>.btn{align-self:flex-start}.dash-panel{background:var(--bg2);border-radius:var(--radius);box-shadow:inset 0 0 0 var(--rim-w) var(--border), var(--plate-bevel), 4px 4px 0 #00000080;padding:22px 24px}.dash-panel-title{font-family:var(--ui-sans);color:var(--text);letter-spacing:-.01em;margin:0 0 18px;font-size:1.35rem;font-weight:700;line-height:1.2}.dash-panel-title:after{content:"";background:var(--border);height:1px;margin-top:14px;display:block}.dash-course-name:after{content:none}.dash-subhead{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:22px 0 8px;font-size:.72rem;font-weight:700}.dash-form{flex-direction:column;gap:14px;display:flex}.dash-field{flex-direction:column;gap:5px;display:flex}.dash-field>span{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.dash-field input,.dash-inline-input{border:var(--rim-w) solid var(--border);color:var(--text);font-family:var(--ui-sans);border-radius:var(--radius-sm);background:#0000004d;min-width:0;min-height:44px;padding:10px 12px;font-size:.98rem}.dash-field input:focus,.dash-inline-input:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);outline:none}.dash-hint{color:var(--muted);font-size:.76rem}.dash-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.dash-concepts{flex-direction:column;gap:16px;display:flex}.dash-stat-strip{box-shadow:inset 0 0 0 var(--rim-w) var(--border);border-radius:var(--radius);background:#0000004d;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.dash-stat-strip .stat-tile{flex:1;min-width:96px}.dash-link{--plate-btn-ink:var(--gold-ink);text-align:left;white-space:normal;justify-content:flex-start}.dash-switch{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.dash-switch input{accent-color:var(--gold);width:16px;height:16px}.concept-dot{vertical-align:middle;width:10px;height:10px;margin-right:8px;display:inline-block}.dash-concept-metrics{border-top:1px dashed rgba(var(--gold-rgb), .3);flex-direction:column;gap:10px;padding-top:14px;display:flex}.dash-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash-list-row{text-align:left;border-bottom:1px solid rgba(var(--gold-rgb), .14);background:0 0;align-items:center;gap:14px;width:100%;padding:13px 8px;display:flex}.dash-list--plates{gap:10px;padding:2px 4px 4px 0}.dash-course-row{--plate-btn-ink:var(--text);text-align:left;white-space:normal;letter-spacing:0;justify-content:flex-start;gap:14px;width:100%;padding:12px 16px;font-weight:400}.dash-list-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dash-list-name{align-items:center;gap:8px;font-size:.98rem;font-weight:800;display:flex}.dash-list-sub{font-family:var(--font-system);color:var(--muted);font-size:.78rem}.dash-seat-code{font-family:var(--font-system);letter-spacing:.14em;color:var(--text);-webkit-user-select:all;user-select:all;font-size:.86rem}.course-code{font-family:var(--font-system);letter-spacing:.16em;color:var(--gold-ink);-webkit-user-select:all;user-select:all;font-size:.95rem}.course-code-line{margin-bottom:8px}.dash-template.is-locked{cursor:default}.dash-template-lock{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin-top:4px;font-size:.6rem;display:block}.dash-warn{color:var(--ember-ink)}.crow-play{margin-left:auto}.tryout-result{--tone:var(--ember);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--rim-w) var(--tone);font-family:var(--font-system);color:var(--ember-ink);background:#0000004d;align-items:center;gap:10px;margin:0 0 10px;padding:8px 12px;font-size:.82rem;display:flex}.tryout-result.is-ok{--tone:var(--forest);color:var(--forest-ink)}.tryout-result .mc-result-mark{flex:none;font-size:1rem}.ins-demographics{font-family:var(--font-system);grid-template-columns:auto 1fr;gap:2px 12px;margin:10px 0 0;font-size:.78rem;display:grid}.ins-demographics dt{color:var(--muted)}.ins-demographics dd{color:var(--text);margin:0}.crow-open{--plate-btn-ink:var(--text);text-align:left;flex:1;justify-content:flex-start;min-width:0}.crow-open .crow-name{letter-spacing:0;font-weight:700}.crow .cplate-mark,.cdet-row-weak .cplate-mark{flex:none;position:static}.crow-marks{flex:0 0 7.5rem;justify-content:flex-end;align-items:center;gap:8px;display:flex}.crow .crow-stat{text-align:right;flex:0 0 3.2em;margin-left:0}.cdet-row-weak .cplate-mark{vertical-align:middle;margin-right:8px;display:inline-grid}.crow.is-off .crow-name{color:var(--text2)}.cdet-chart{min-width:0}.cdet-row-weak td:first-child{color:var(--ember-ink)}.extype-card{border-radius:var(--radius);min-width:0;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000038;padding:12px}.extype-name{align-items:center;gap:8px;margin:0 0 10px;font-size:.95rem;display:flex}.extype-stats{margin-bottom:10px}.extype-list+.extype-list{margin-top:10px}.extype-items{margin:4px 0 0;padding:0;list-style:none}.extype-item{border-bottom:1px dashed var(--border);font-family:var(--font-system);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:8px;padding:3px 0;font-size:.78rem;display:grid}.extype-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.extype-item-rate{font-variant-numeric:tabular-nums}.extype-item.is-bad .extype-item-rate{color:var(--ember-ink)}.extype-item.is-good .extype-item-rate{color:var(--forest-ink)}.extype-item-seen{color:var(--muted);font-size:.72rem}.dash-list-meta{color:var(--muted);flex-shrink:0;font-size:.8rem}.dash-list-chev{color:var(--gold-ink);flex-shrink:0}.dash-tag{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border:var(--rim-w) solid var(--border);border-radius:var(--radius-sm);flex:none;padding:1px 6px;font-size:.6rem}.dash-tag--expired{color:var(--ember-ink);border-color:var(--ember)}.dash-list-row--licence{flex-direction:column;align-items:stretch;gap:10px}.dash-licence-head{align-items:center;gap:14px;display:flex}.dash-licence{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;display:flex}.dash-licence .dash-fieldset{flex:260px;margin:0}.dash-licence-until{margin:0}.pieces-row{flex-direction:column;align-items:stretch;gap:10px}.pieces-head{align-items:center;gap:14px;display:flex}.pieces-tag--citation,.pieces-tag--unsigned{color:var(--ember-ink);border-color:var(--ember)}.pieces-tag--active{color:var(--forest-ink);border-color:var(--forest)}.pieces-editor{border-radius:var(--radius);box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000042;flex-direction:column;gap:10px;padding:12px;display:flex}.pieces-editor .dash-fieldset{margin:0}.pieces-preview audio{width:100%;max-width:420px}.pieces-actions{flex-wrap:wrap;gap:10px;display:flex}.pieces-bulk{border-radius:var(--radius);box-shadow:inset 0 0 0 var(--rim-w) var(--ember);background:#00000042;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 14px;padding:12px;display:flex}.dash-consent{min-height:44px;color:var(--text2);cursor:pointer;align-items:flex-start;gap:10px;padding:6px 0;font-size:.86rem;line-height:1.45;display:flex}.dash-consent input{width:18px;height:18px;accent-color:var(--gold);flex:none;margin:2px 0 0}.dash-consent:focus-within{outline:2px solid var(--gold2);outline-offset:2px;border-radius:var(--radius-sm)}.dash-expired{border:var(--rim-w) solid var(--ember);background:rgba(var(--surface-rgb), .9);border-radius:var(--radius);color:var(--ember-ink);margin:0 0 14px;padding:12px 14px;font-weight:700}.dash-table-wrap{width:100%;overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;min-width:320px;font-size:.9rem}.dash-table th{text-align:left;font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:.66rem}.dash-table td{border-bottom:1px solid rgba(var(--gold-rgb),.12);padding:10px}.dash-table-actions{text-align:right}.course-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dash-inline-form{flex:1;gap:8px;min-width:220px;display:flex}.dash-inline-input{flex:1;min-width:0}.course-toolbar-exports{flex-wrap:wrap;gap:8px;display:flex}.dash-template-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.dash-template{text-align:left;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 30px 10px 13px;position:relative}.dash-template.scope-chip-active:before{position:absolute;top:8px;right:11px}.dash-template-name{font-family:var(--ui-sans);font-size:.92rem;font-weight:700;line-height:1.2}.dash-template-sub{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.62rem}.dash-track{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.dash-track-name{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.1em;color:var(--gold-ink);font-size:.66rem}.dash-track .dash-template-sub{text-transform:none;letter-spacing:0;font-family:var(--ui-sans);font-size:.72rem;line-height:1.35}.crow-stat{font-family:var(--font-system);color:var(--muted);margin-left:auto;font-size:.78rem}.dash-template.scope-chip-active .dash-template-sub{color:var(--gold2)}.dash-fieldset{border-radius:var(--radius);min-width:0;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000038;border:0;margin:0 0 14px;padding:12px}.dash-fieldset legend{float:left;width:100%;font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;padding:0;font-size:.68rem}.dash-fieldset>legend+*{clear:both}.dash-fieldset>.dash-hint{line-height:1.45;display:block}.dash-checkgrid{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.dash-check{cursor:pointer;text-align:left;position:relative}.dash-check input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.dash-check:focus-within{outline:2px solid var(--gold2);outline-offset:2px}.dash-muted{color:var(--muted);font-size:.9rem}.dash-empty{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:30px 20px;font-size:.92rem;line-height:1.5}.dash-error{color:var(--ember-ink);font-size:.85rem}.dash-modal-scrim{z-index:var(--z-scrim);background:rgba(var(--surface-rgb), .78);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.dash-modal{background:var(--card2);border-radius:var(--radius);width:100%;max-width:540px;max-height:90vh;box-shadow:inset 0 0 0 var(--rim-w) var(--border), var(--plate-bevel), 6px 6px 0 #0000008c;padding:22px;overflow:auto}.dash-modal-title{font-family:var(--ui-sans);color:var(--gold-ink);margin:0 0 12px;font-size:1.1rem;font-weight:700;line-height:1.3}.dash-modal-warn{color:var(--gold2);background:rgba(var(--gold-rgb),.08);border:1px solid rgba(var(--gold-rgb),.4);border-radius:var(--radius-sm);margin:0 0 14px;padding:10px 12px;font-size:.84rem}.cred-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.cred-row{border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.cred-name{flex:1;min-width:120px;font-weight:800}.cred-pair{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cred-k{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.66rem}.cred-v{font-family:var(--font-system);color:var(--text);background:rgba(var(--surface-rgb), .9);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 var(--rim-w) var(--border);padding:3px 8px;font-size:.9rem}.dash-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.dash-modal-confirm{color:var(--text);margin:0 0 18px;font-size:.96rem;line-height:1.5}.dash-set-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dash-set-cap{font-family:var(--ui-sans);color:var(--text2);letter-spacing:.02em;font-size:.8rem;font-weight:700}.dash-course-name{margin:0 0 -8px}.stat-grid{border-radius:var(--radius);box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:8px;margin:4px 0 8px;padding:8px;display:grid}.stat-tile{border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .9);box-shadow:inset 0 0 0 var(--rim-w) color-mix(in srgb, var(--border) 45%, transparent), var(--plate-bevel);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.stat-tile--lead{background:color-mix(in srgb, var(--gold) 12%, rgb(var(--surface-rgb)));box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), var(--plate-bevel);text-align:center;grid-column:span 2;justify-content:center;align-items:center;gap:2px}.stat-tile-value{font-family:var(--ui-sans);color:var(--text);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;line-height:1.1}.stat-tile--lead .stat-tile-value{color:var(--gold-ink);font-size:2.4rem}.stat-tile-label{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.64rem}.stat-tile-sub{color:var(--text2);font-size:.74rem}.chart-empty{padding:6px 0}.chart-bars{flex-direction:column;gap:7px;margin:6px 0 2px;display:flex}.chart-bar-row{align-items:center;gap:8px;font-size:.84rem;display:flex}.chart-bar-label{color:var(--text2);flex:0 0 96px}.chart-bar-label-wide{white-space:nowrap;text-overflow:ellipsis;flex-basis:150px;overflow:hidden}.ins-economy-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.ins-economy-cap{font-family:var(--ui-sans);color:var(--text2);margin-bottom:8px;font-size:.82rem;font-weight:700;display:block}.ins-economy-offers{color:var(--muted);margin:14px 0 0;font-size:.9rem}.ins-economy-offers strong{color:var(--gold-ink)}.ins-caption{color:var(--muted);margin:4px 0 2px;font-size:.82rem}.ins-caption strong{color:var(--text);font-family:var(--font-system);font-variant-numeric:tabular-nums}.ins-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ins-section-head .dash-subhead{margin-bottom:8px}.ins-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:18px 28px;display:grid}.ins-span-full{grid-column:1/-1}.ins-section{min-width:0}.ins-section .dash-subhead:first-child{margin-top:0}.chart-bar-track{box-sizing:border-box;border-radius:var(--radius-sm);height:12px;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000006b;flex:1;padding:1px;overflow:hidden}.chart-bar-fill,.chart-dist-bar{background-image:repeating-linear-gradient(90deg,#00000029 0 1px,#0000 1px 4px);box-shadow:inset 0 1px #f2e8d024}.chart-bar-fill{min-width:2px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.chart-bar-val{text-align:right;font-family:var(--font-system);color:var(--text);font-variant-numeric:tabular-nums;flex:0 0 40px}.chart-bar-n{color:var(--muted);flex:none;font-size:.72rem}.chart-line{border-radius:var(--radius-sm);width:100%;height:90px;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000004d;margin:4px 0 8px;display:block}.chart-dist{align-items:flex-end;gap:10px;height:120px;margin:8px 0 4px;display:flex}.chart-dist-col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.chart-dist-count{font-family:var(--font-system);color:var(--text2);font-variant-numeric:tabular-nums;font-size:.78rem}.chart-dist-bar-track{border-radius:var(--radius-sm);width:100%;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#0000006b;flex:1;align-items:flex-end;padding:1px;display:flex;overflow:hidden}.chart-dist-bar{width:100%;min-height:2px;transition:height .4s cubic-bezier(.22,1,.36,1)}.chart-dist-label{font-family:var(--ui-sans);color:var(--muted);text-align:center;font-size:.7rem}.dash-daydots{flex-wrap:wrap;gap:3px;margin:6px 0 2px;display:flex}.dash-daydot{border:1px solid var(--border);width:12px;height:12px}.dash-daydot--none{background:var(--bg)}.dash-daydot--started{background:linear-gradient(to top, rgba(var(--gold-rgb), .85) 50%, transparent 50%);border-color:var(--gold)}.dash-daydot--completed{background:var(--forest);border-color:var(--forest)}.dash-skel{flex-direction:column;gap:10px;display:flex}.dash-skel-bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, rgba(var(--gold-rgb),.06) 25%, rgba(var(--gold-rgb),.14) 37%, rgba(var(--gold-rgb),.06) 63%);background-size:400% 100%;height:14px;animation:1.4s infinite dash-shimmer}.dash-skel-bar.is-wide{width:100%}.dash-skel-bar.is-mid{width:62%}@keyframes dash-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .dash-skel-bar{animation:none}}@media (width<=560px){.dash-header-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.dash-panel{padding:16px 14px}.dash-panel-title{font-size:1.2rem}.course-toolbar{flex-direction:column}.dash-inline-form{width:100%}.chart-bar-label{flex-basis:70px}.stat-tile--lead{grid-column:span 1}}.dash-switch input:focus-visible,.login-pw-submit:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:none) and (pointer:coarse){.login-pw-submit,.login-pw-field input{min-height:44px}.dash-switch{min-height:44px;padding-top:8px;padding-bottom:8px}.subview-back,.app-header-back,.survey-back,.survey-logout,.btn-logout{min-height:44px}}.landing{--landing-max:1180px;--landing-gutter:24px;background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-voice);overflow-x:clip}.landing ::selection{background:rgba(var(--gold-rgb), .38);color:var(--text)}.landing [id]{scroll-margin-top:72px}.landing-wrap{max-width:var(--landing-max);padding:0 var(--landing-gutter);margin:0 auto}@supports (padding-left:round(down, 1.5px, 1px)){.landing-wrap{max-width:none;padding-inline:max(var(--landing-gutter), round(down, (100% - var(--landing-max)) / 2 + var(--landing-gutter), 1px));margin:0}}.landing-sec{padding:96px 0;position:relative}.landing-nav{z-index:12;background:rgba(var(--surface-rgb), .95);box-shadow:inset 0 -1px 0 var(--border), inset 0 1px 0 #f2e8d014, 0 3px 0 #00000073;justify-content:space-between;align-items:center;gap:12px;padding:8px clamp(12px,3vw,32px);display:flex;position:sticky;top:0}.landing-nav-mark{font-family:var(--font-logo);letter-spacing:.04em;color:var(--gold-ink);text-shadow:2px 2px #000c;align-items:center;min-height:44px;font-size:.72rem;text-decoration:none;display:inline-flex}.landing-nav-right{align-items:center;gap:12px;display:flex}.landing-lang{border:var(--rim-w) solid var(--border);background:#0000004d;gap:4px;padding:2px;display:inline-flex}.landing-lang-btn{min-width:44px;min-height:44px;font-family:var(--font-system);letter-spacing:.08em;color:var(--muted);border:var(--rim-w) solid transparent;justify-content:center;align-items:center;padding:0 10px;font-size:.72rem;font-weight:700;text-decoration:none;transition:color .12s ease-out,box-shadow .12s ease-out,border-color .12s ease-out;display:inline-flex}.landing-lang-btn.is-active{color:var(--gold-ink);background:rgba(var(--gold-rgb), .14);border:var(--rim-w) solid var(--gold2);box-shadow:inset 0 1px #f2e8d01f}@media (hover:hover){.landing-lang-btn:hover{color:var(--text)}}.landing-lang-btn:focus-visible{outline:2px solid var(--gold2);outline-offset:1px}.landing-btn{cursor:pointer;min-height:44px;font-family:var(--font-voice);letter-spacing:.02em;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(3px 3px #0000008c);border:0;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:.95rem;font-weight:700;line-height:1.1;text-decoration:none;transition:background .12s ease-out,box-shadow .12s ease-out,color .12s ease-out;display:inline-flex}.landing-btn-gold{background:var(--gold);color:rgb(var(--surface-rgb));box-shadow:inset 0 1px #f2e8d073,inset 0 -2px #00000038}.landing-btn-ghost{background:rgba(var(--surface-rgb), .82);color:var(--text);border:var(--rim-w) solid var(--border);box-shadow:inset 0 1px #f2e8d01a}@media (hover:hover){.landing-btn-gold:hover{background:var(--gold2)}.landing-btn-ghost:hover{border:var(--rim-w) solid var(--gold2);box-shadow:inset 0 1px #f2e8d01a}}.landing-btn:active{filter:drop-shadow(1px 1px #0000008c);translate:1px 1px}.landing-btn:focus-visible{outline:none}.landing-btn-gold:focus-visible{box-shadow:inset 0 0 0 2px rgb(var(--surface-rgb)), inset 0 0 0 4px var(--gold2)}.landing-btn-ghost:focus-visible{box-shadow:inset 0 0 0 2px var(--gold2)}.landing-btn-lg{--c:8px;min-height:52px;padding:15px 30px;font-size:1.05rem}.landing-hero{isolation:isolate;grid-template-rows:minmax(0,1fr) auto;min-height:clamp(560px,100svh - 60px,920px);display:grid;position:relative;overflow:hidden}.landing-hero>.battle-bg,.landing-hero>.menu-stage__veil{z-index:0}.landing-hero .battle-bg--door .battle-bg__scene{filter:brightness(.5)saturate(.72)blur(1.5px);transform:scale(1.04)}.landing-hero:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#0a0806d1 0%,#0a080680 38%,#0a080600 66%);position:absolute;inset:0}.landing-hero-ground{z-index:0;pointer-events:none;--frame:clamp(96px, 12vw, 216px);--ground:clamp(146px, 19vh, 210px);position:absolute;inset:0}.landing-foe{bottom:var(--ground);height:calc(var(--frame) * .8);width:auto;image-rendering:pixelated;filter:brightness(.9)drop-shadow(0 10px 12px #0000008c);animation:3.4s ease-in-out infinite menu-cast-idle;position:absolute}.landing-foe-1{left:max(45%,50% - 60px)}.landing-foe-2{left:max(55%,50% + 100px);bottom:calc(var(--ground) + 10px);animation-delay:-1.7s}.landing-foe-3{left:max(50%,50% + 30px);bottom:calc(var(--ground) + var(--frame) * .78);height:calc(var(--frame) * .6);animation-delay:-.9s}@media (width>=1024px){.landing-hero-ground{--ground:clamp(206px, 27vh, 280px)}}.landing-troupe{right:clamp(8px,3vw,64px);bottom:calc(var(--ground) - var(--frame) * .12);align-items:flex-end;gap:0;display:flex;position:absolute}.landing-troupe-sprite{width:var(--frame);height:var(--frame);image-rendering:pixelated;filter:drop-shadow(0 10px 10px #00000080);animation:4s ease-in-out infinite troupe-float;position:relative}.landing-troupe-sprite+.landing-troupe-sprite{margin-left:calc(var(--frame) * -.22)}.landing-troupe-2{margin-bottom:calc(var(--frame) * .12);animation-delay:-1.3s}.landing-troupe-3{animation-delay:-2.6s}@keyframes troupe-float{0%,to{translate:0}50%{translate:0 -6px}}.landing-hero-copy{z-index:1;width:100%;max-width:var(--landing-max);padding:56px var(--landing-gutter) 28px;grid-row:1;align-self:center;margin:0 auto;position:relative}.landing-hero-copy>*{max-width:34rem}.landing-word{text-align:left;justify-content:flex-start;align-items:flex-start;margin:0 0 26px;font-size:clamp(1.9rem,4.8vw,3.8rem)}.landing-hero-pitch{color:var(--text);text-shadow:2px 2px #000000bf;text-wrap:balance;max-width:22ch;margin:0 0 14px;font-size:clamp(1.45rem,2.9vw,2.35rem);font-weight:700;line-height:1.16}.landing-hero-sub{color:var(--text2);text-shadow:1px 1px #000000b3;max-width:42ch;margin:0 0 28px;font-size:1.1rem;line-height:1.55}.landing-hero-cta{flex-wrap:wrap;gap:14px;display:flex}.landing-hero-facts{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-shadow:1px 1px #000c;margin:20px 0 0;font-size:.72rem;font-weight:700}.landing-hero-foot{z-index:1;grid-row:2;position:relative}.landing-hero-foot .menu-verb{text-decoration:none}.landing-h2{font-family:var(--font-voice);letter-spacing:.01em;color:var(--gold-ink);text-shadow:2px 2px #0009;text-wrap:balance;margin:0 0 18px;padding-bottom:16px;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;line-height:1.15;position:relative}.landing-h2:before{content:"";background:linear-gradient(90deg, var(--gold2), var(--gold2) 55%, transparent);width:min(320px,70%);height:1px;position:absolute;bottom:0;left:0}.landing-h2:after{content:"";background:var(--gold2);width:6px;height:6px;box-shadow:0 0 0 3px var(--bg);position:absolute;bottom:-2.5px;left:0;transform:rotate(45deg)}.landing-lead{color:var(--text2);max-width:62ch;margin:0 0 18px;font-size:1.08rem;line-height:1.65}.landing-sub{color:var(--muted);max-width:60ch;margin:0 0 12px;font-size:1rem;line-height:1.55}.landing-fam{margin-top:48px}.landing-fam-title{letter-spacing:.02em;color:var(--text);align-items:center;gap:12px;margin:0 0 16px;font-size:1.15rem;font-weight:700;display:flex}.landing-fam-title:after{content:"";background:linear-gradient(90deg,#6b4c2ae6,#0000);flex:1;height:1px}.landing-fam-count{font-family:var(--font-system);color:var(--muted);border:var(--rim-w) solid var(--border);padding:2px 8px;font-size:.72rem;font-weight:700}.landing-demo-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px 14px;margin:0;padding:0;list-style:none;display:grid}.demo-ex-plate{cursor:pointer;text-align:left;width:100%;height:100%;min-height:76px;font-family:var(--font-voice);color:var(--text);background:var(--plate-fill);border:0;border:var(--rim-w) solid var(--border);box-shadow:var(--plate-bevel), 3px 3px 0 #00000080;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px 12px 12px;transition:box-shadow .12s ease-out;display:grid}.demo-ex-glyph{border:var(--rim-w) solid var(--border);background:#0000004d;flex:none;place-items:center;width:48px;height:48px;display:grid}.demo-ex-glyph:has(>.painted-art){background:0 0;border:0}.demo-ex-glyph>.painted-art{width:100%;height:100%}.demo-ex-text{min-width:0}.demo-ex-name{font-size:1rem;font-weight:700;line-height:1.2;display:block}.demo-ex-desc{color:var(--muted);margin-top:3px;font-size:.86rem;line-height:1.35;display:block}.demo-ex-play{white-space:nowrap;font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);align-items:center;gap:6px;font-size:.66rem;font-weight:800;display:inline-flex}.demo-ex-play:before{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid}@media (hover:hover){.demo-ex-plate:hover{border:var(--rim-w) solid var(--gold2);box-shadow:var(--plate-bevel), 3px 3px 0 #00000080}}.demo-ex-plate:active{border:var(--rim-w) solid var(--gold2);box-shadow:var(--plate-bevel), 1px 1px 0 #00000080;translate:1px 1px}.demo-ex-plate:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.landing-how{isolation:isolate;padding:96px 0 72px;position:relative;overflow:hidden}.landing-how>.battle-bg{z-index:0}.landing-how:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(180deg, var(--bg) 0%, #0a080600 22%, #0a080600 78%, var(--bg) 100%);position:absolute;inset:0}.landing-how-grid{z-index:1;grid-template-columns:minmax(0,32rem) minmax(0,1fr);align-items:end;gap:40px;display:grid;position:relative}.landing-how-plate{background:rgba(var(--surface-rgb), .92);border:var(--rim-w) solid var(--border);box-shadow:inset 0 1px 0 #f2e8d024, inset 0 0 0 3px rgba(var(--surface-rgb), .92), inset 0 0 0 4px rgba(var(--gold-rgb), .32);clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(5px 5px #0000008c);padding:32px 32px 34px}.landing-how-plate .landing-h2:after{box-shadow:0 0 0 3px rgb(var(--surface-rgb))}.landing-how-plate .landing-lead:last-of-type{margin-bottom:24px}.bp-stage{flex-direction:column;justify-content:flex-end;align-items:center;gap:16px;min-height:clamp(240px,32vw,380px);padding-bottom:12px;display:flex;position:relative}.bp-row{justify-content:space-between;align-items:flex-end;gap:16px;width:min(100%,460px);display:flex}.bp-side{filter:drop-shadow(0 10px 10px #00000080);flex-direction:column;align-items:center;gap:10px;display:flex}.bp-hero{animation:2.4s ease-in-out infinite bp-bob}.bp-enemy-img{width:128px;height:128px;image-rendering:pixelated;animation:2.4s ease-in-out infinite bp-hit}.bp-hpbar{border:1px solid var(--border);background:#0000008c;width:96px;height:9px;padding:0}.bp-hpbar>span{background:var(--forest);height:100%;display:block}.bp-hpbar-enemy>span{background:var(--ember)}.bp-spark{color:var(--gold2);text-shadow:2px 2px #000000b3;font-size:2rem;animation:2.4s ease-in-out infinite bp-spark}.bp-caption{font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);background:rgba(var(--surface-rgb), .85);border:1px solid rgba(var(--gold-rgb), .55);padding:5px 14px;font-size:.78rem;font-weight:800;animation:2.4s ease-in-out infinite bp-spark}@keyframes bp-bob{0%,to{translate:0}45%{translate:-6px -2px}55%{translate:-6px -2px}}@keyframes bp-hit{0%,40%,to{filter:none;translate:0}52%{filter:brightness(2);translate:-8px}60%{translate:3px}}@keyframes bp-spark{0%,40%,to{opacity:0;transform:scale(.8)}55%{opacity:1;transform:scale(1.1)}}.demo-modal-close{z-index:var(--z-modal-close);background:rgba(var(--surface-rgb), .9);width:44px;height:44px;color:var(--text);border:0;border:var(--rim-w) solid var(--border2);cursor:pointer;font-size:1.1rem;position:fixed;top:16px;right:16px;box-shadow:inset 0 1px #f2e8d01a,2px 2px #00000080}@media (hover:hover){.demo-modal-close:hover{color:var(--ember-ink);border:var(--rim-w) solid var(--ember);box-shadow:2px 2px #00000080}}.demo-modal-close:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.landing-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px 0 0;padding:0;list-style:none;display:grid}.landing-class-card{flex-direction:column;display:flex}.landing-class-frame{aspect-ratio:6/7;border:var(--rim-w) solid var(--border);box-shadow:inset 0 0 0 3px rgb(var(--surface-rgb)), inset 0 0 0 4px var(--class-tone,var(--gold)), 5px 5px 0 #0000008c;background:#00000059;padding:6px}.landing-class-portrait{image-rendering:auto}.landing-class-plate{z-index:1;background:var(--plate-fill);border:var(--rim-w) solid var(--border);box-shadow:inset 0 3px 0 var(--class-tone,var(--gold));clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(3px 3px #0000008c);margin:-26px 12px 0;padding:14px 16px 16px;position:relative}.landing-class-name{color:var(--text);letter-spacing:.01em;margin:0 0 6px;font-size:1.2rem;font-weight:800}.landing-class-line{color:var(--text2);margin:0;font-size:.92rem;line-height:1.45}.landing-edu-plate{background:var(--plate-fill);border:var(--rim-w) solid var(--border);box-shadow:var(--plate-bevel), 5px 5px 0 #0000008c;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);display:grid}.landing-edu-pitch{padding:40px 40px 42px;box-shadow:inset -1px 0 #6b4c2abf}.landing-edu-pitch .landing-h2:after{box-shadow:0 0 0 3px rgb(var(--surface-rgb))}.landing-edu-pitch .landing-lead{margin-bottom:26px}.landing-edu-list{flex-direction:column;justify-content:center;margin:0;padding:18px 40px;list-style:none;display:flex}.landing-edu-item{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:18px;padding:20px 0;display:grid}.landing-edu-item+.landing-edu-item{border-top:1px dashed #6b4c2acc}.landing-edu-icon{border:var(--rim-w) solid var(--border);background:#0000004d;place-items:center;width:52px;height:52px;display:grid}.landing-edu-name{color:var(--text);margin:2px 0 4px;font-size:1.08rem;font-weight:800}.landing-edu-body{color:var(--text2);margin:0;font-size:.95rem;line-height:1.5}.landing-faq-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 16px;margin-top:32px;display:grid}.landing-faq-item{background:var(--plate-fill);border:var(--rim-w) solid var(--border);box-shadow:var(--plate-bevel), 3px 3px 0 #00000080}.landing-faq-q{cursor:pointer;min-height:44px;color:var(--text);align-items:center;padding:16px 48px 16px 18px;font-size:1.02rem;font-weight:700;line-height:1.3;list-style:none;transition:color .12s ease-out;display:flex;position:relative}.landing-faq-q::-webkit-details-marker{display:none}.landing-faq-q:after{content:"";border-right:2px solid var(--gold2);border-bottom:2px solid var(--gold2);width:8px;height:8px;transition:transform .15s ease-out;position:absolute;top:50%;right:20px;transform:translateY(-70%)rotate(45deg)}.landing-faq-item[open]>.landing-faq-q:after{transform:translateY(-25%)rotate(-135deg)}@media (hover:hover){.landing-faq-q:hover{color:var(--gold-ink)}}.landing-faq-q:focus-visible{outline:2px solid var(--gold2);outline-offset:-2px}.landing-faq-a{color:var(--text2);background:#00000038;margin:0;padding:14px 18px 18px;font-size:.96rem;line-height:1.6;box-shadow:inset 0 1px #6b4c2a99}.landing-end{isolation:isolate;padding:120px var(--landing-gutter) 44px;text-align:center;position:relative;overflow:hidden}.landing-end>.battle-bg,.landing-end>.menu-stage__veil{z-index:0}.landing-end-body{z-index:1;flex-direction:column;align-items:center;gap:24px;display:flex;position:relative}.landing-end-title{font-size:clamp(1.8rem,3.6vw,2.8rem)}.landing-end-title:before{background:linear-gradient(90deg, transparent, var(--gold2) 30%, var(--gold2) 70%, transparent);left:50%;translate:-50%}.landing-end-title:after{box-shadow:none;left:calc(50% - 3px)}.landing-social{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:36px;display:flex}.landing-social-label{font-family:var(--font-system);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem}.landing-social a{color:var(--gold-ink);align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}@media (hover:hover){.landing-social a:hover{color:var(--gold2);text-underline-offset:4px;text-decoration:underline}}:root[data-route=app] .landing-snapshot{display:none}@media (width<=1100px){.landing-foe-2,.landing-troupe-1{display:none}.landing-class-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}}@media (width<=760px){.landing{--landing-gutter:18px}.landing-sec{padding:64px 0}.landing-nav{padding:6px 12px}.landing-nav-mark{font-size:.6rem}.landing-hero{grid-template-rows:auto 190px auto;min-height:0}.landing-hero:before{background:linear-gradient(#0a0806c7 0%,#0a080666 55%,#0a08061a 100%)}.landing-hero-ground{--ground:24px;--frame:128px;grid-row:2;position:relative;inset:auto}.landing-foe-1{left:4%}.landing-foe-3{left:calc(4% + var(--frame) * .75);bottom:calc(var(--ground) + var(--frame) * .4)}.landing-troupe{right:2%}.landing-hero-copy{padding-top:32px;padding-bottom:8px}.landing-hero-foot{grid-row:3}.landing-how-grid,.landing-edu-plate,.landing-faq-list{grid-template-columns:minmax(0,1fr)}.landing-how-plate{padding:24px 22px 26px}.landing-edu-pitch{padding:28px 22px;box-shadow:inset 0 -1px #6b4c2abf}.landing-edu-list{padding:6px 22px 12px}.landing-demo-grid{grid-template-columns:minmax(0,1fr)}.landing-class-grid{gap:14px}.landing-class-plate{margin:-20px 6px 0;padding:12px 12px 14px}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .landing-troupe-sprite,:root:not([data-motion=full]) .landing-foe,:root:not([data-motion=full]) .bp-hero,:root:not([data-motion=full]) .bp-enemy-img,:root:not([data-motion=full]) .bp-spark,:root:not([data-motion=full]) .bp-caption{animation:none!important}:root:not([data-motion=full]) .bp-caption{opacity:1;transform:none}:root:not([data-motion=full]) .bp-spark{opacity:.6}}.rr-controls{justify-content:center;margin:6px 0 10px;display:flex}.rr-repeat,.mc-replay-btn,.ex-replay-btn,.sing-replay-btn,.ex-skip-btn{--cut:8px;font-family:var(--font-voice);color:var(--text2);cursor:pointer;border:var(--rim-w) solid transparent;background:linear-gradient(180deg, rgba(var(--surface-rgb), .74), rgba(var(--surface-rgb), .9)) padding-box, #f2e8d033 border-box;box-shadow:none;clip-path:polygon(0 var(--cut), var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));border-radius:0;font-weight:700;transition:background .15s,color .15s}@media (hover:hover){.rr-repeat:hover,.mc-replay-btn:hover,.ex-replay-btn:hover,.sing-replay-btn:hover,.ex-skip-btn:hover{color:var(--text);background:linear-gradient(180deg, rgba(var(--gold-rgb), .14), rgba(var(--surface-rgb), .88)) padding-box, var(--gold2) border-box}}.rr-repeat:active,.mc-replay-btn:active,.ex-replay-btn:active,.sing-replay-btn:active,.ex-skip-btn:active{transform:translate(1px,1px)}.rr-repeat{letter-spacing:.02em;min-height:44px;padding:10px 22px;font-size:.95rem}.rr-timer{font-family:var(--font-system);color:var(--gold2)}.rr-grid{flex-wrap:wrap;place-content:flex-start center;gap:12px;width:100%;max-width:840px;margin-inline:auto;display:flex}.rr-option{cursor:pointer;flex:0 300px;align-items:center;gap:12px;min-width:0;max-width:340px;padding:12px 16px;transition:background .15s,opacity .2s;display:flex}.rr-grid--wide{max-width:var(--ex-answers-w);flex-flow:column;align-items:stretch}.rr-grid--wide .rr-option{flex:auto;max-width:none}.rd-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:10px;display:flex}.rd-remaining{font-family:var(--font-system);color:var(--muted)}.rd-staff{width:100%;max-width:var(--ex-answers-w);min-height:90px;margin:0 auto 12px;overflow:hidden}.rd-staff svg{width:100%;height:auto;max-height:220px;display:block}.rd-solution{max-width:var(--ex-answers-w);margin:8px auto 4px}.rd-solution-label{font-family:var(--font-system);color:var(--muted);text-align:center;margin-bottom:4px;font-size:.85rem}.rd-palette{max-width:var(--ex-answers-w);flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 14px;display:flex}.rd-fig{cursor:pointer;flex:none;justify-content:center;align-items:center;width:56px;height:56px;transition:background .12s,transform 60ms;display:inline-flex}.rd-fig:disabled{opacity:.35;cursor:not-allowed}.rd-fig:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #00000059}.rd-fig-glyph{display:inline-flex}.rd-fig-glyph svg{width:auto;height:40px;display:block}.rd-actions{justify-content:center;gap:12px;display:flex}.rr-option-num{width:28px;height:28px;color:var(--text2);font-family:var(--font-system);border:1px solid #f2e8d04d;flex:none;justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.rr-option-staff{--rr-staff-h:220px;flex:auto;min-width:0;overflow:hidden}.rr-option-staff svg{max-height:var(--rr-staff-h);display:block;width:100%!important;height:auto!important}.rr-grid--contain .rr-option-staff{--rr-staff-h:118px}.rr-grid--contain .rr-option-staff svg{max-width:100%;margin-inline:auto;height:var(--rr-staff-h)!important;width:auto!important}.rr-countdown{z-index:var(--z-clip);position:fixed}.rr-option-correct{background:linear-gradient(180deg, rgba(var(--forest-rgb), .16), rgba(var(--surface-rgb), .9)) padding-box, var(--forest) border-box}.rr-option-correct .rr-option-num{border-color:var(--forest);color:var(--forest-ink)}.rr-option-wrong{background:linear-gradient(180deg, rgba(var(--ember-rgb), .16), rgba(var(--surface-rgb), .9)) padding-box, var(--ember) border-box}.rr-option-wrong .rr-option-num{border-color:var(--ember);color:var(--ember-ink)}.rr-option-correct .rr-option-num:after{content:"✓";margin-left:2px}.rr-option-wrong .rr-option-num:after{content:"✗";margin-left:2px}.rr-option-dim{opacity:.45}.rr-continue{min-height:48px}@media (width<=720px){.rr-grid{flex-flow:column;align-items:stretch;gap:10px;max-width:none}.rr-option{flex:auto;gap:14px;max-width:none;padding:12px 14px}.rr-option-num{width:32px;height:32px;font-size:1rem}.rr-option-staff{height:auto;min-height:72px;max-height:150px}.rr-option-staff svg{height:auto}}@media (width<=560px){.rr-option{gap:12px;padding:10px 12px}.rr-controls{margin:4px 0 8px}.rr-grid--contain .rr-option-staff{--rr-staff-h:96px}}.wshop-stage{-webkit-overflow-scrolling:touch;height:100dvh;max-height:100dvh;color:var(--text);background-color:rgb(var(--surface-rgb));background-image:radial-gradient(ellipse 70% 55% at 12% 30%, rgba(var(--gold-rgb),.07), transparent 65%), radial-gradient(ellipse 60% 75% at 96% 108%, rgba(var(--purple-rgb),.09), transparent 60%), linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff05 1px, transparent 1px);background-size:auto,auto,8px 8px,8px 8px;position:relative;overflow:hidden auto}.wshop-scanlines{pointer-events:none;z-index:5;mix-blend-mode:multiply;opacity:.5;background:repeating-linear-gradient(#0000 0 2px,#00000012 2px 3px);position:fixed;inset:0}.wshop-topbar{z-index:4;border-bottom:1px solid var(--border);background:linear-gradient(#0d0b09f7,#0d0b09d1);align-items:center;gap:14px;padding:12px 20px;display:flex;position:sticky;top:0}.wshop-back{font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:.72rem}@media (hover:hover){.wshop-back:hover{color:var(--text)}}.wshop-mark{font-family:var(--font-voice);letter-spacing:.04em;color:var(--text);text-shadow:2px 2px #0000008c;margin:0;font-size:1.15rem}.wshop-purse{align-items:center;gap:8px;margin-left:auto;display:flex}.wshop-cheats{gap:6px;display:inline-flex}.wshop-cheat-btn{padding:4px 8px;font-size:.72rem}.wshop-coin{--class-tone:var(--gold);background:var(--bg2);border:var(--rim-w) solid var(--border);align-items:baseline;gap:5px;padding:5px 10px;display:inline-flex;box-shadow:2px 2px #0006}.wshop-coin-up{border-color:color-mix(in oklab, var(--class-tone) 55%, var(--border))}.wshop-coin-cp{border-color:color-mix(in oklab, var(--purple2) 55%, var(--border))}.wshop-coin-ico{font-size:.8rem}.wshop-coin-up .wshop-coin-ico{color:var(--class-tone)}.wshop-coin-cp .wshop-coin-ico{color:var(--purple-ink)}.wshop-coin-val{font-family:var(--font-system);color:var(--text);font-size:1rem}.wshop-coin-unit{font-family:var(--font-system);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-size:.62rem}.wshop-body{z-index:2;flex-direction:column;gap:16px;max-width:860px;margin:0 auto;padding:18px 20px 72px;display:flex;position:relative}.wshop-roster{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wshop-hero-chip{--class-tone:var(--gold);background:var(--bg2);border:var(--rim-w) solid var(--border);border-left:3px solid var(--class-tone);color:var(--text2);cursor:pointer;align-items:center;gap:8px;padding:5px 12px 5px 6px;transition:background .15s,border-color .15s,color .15s;display:flex}.wshop-chip-portrait{width:38px;height:44px;box-shadow:inset 0 0 0 var(--rim-w) var(--border);flex-shrink:0;display:block;overflow:hidden}.wshop-chip-name{font-family:var(--font-voice);font-size:.9rem}.wshop-chip-up{font-family:var(--font-system);color:var(--class-tone);font-size:.82rem}.wshop-chip-up-u{color:var(--muted);font-size:.6rem}@media (hover:hover){.wshop-hero-chip:hover{background:var(--card2);color:var(--text)}}.wshop-hero-chip.is-active{background:color-mix(in oklab, var(--class-tone), transparent 86%);border-color:var(--class-tone);color:var(--text);box-shadow:3px 3px #00000073}.wshop-hero-banner{--class-tone:var(--gold);background:radial-gradient(ellipse at 0% 100%, color-mix(in oklab, var(--class-tone) 22%, transparent) 0%, transparent 62%), repeating-linear-gradient(0deg, #ffffff04 0 1px, transparent 1px 4px), var(--bg2);border:var(--rim-w) solid color-mix(in oklab, var(--class-tone) 55%, var(--border));border-left:4px solid var(--class-tone);grid-template-columns:112px 1fr;align-items:center;gap:18px;padding:16px 18px;display:grid;box-shadow:4px 4px #00000080}.wshop-hero-portrait{background:rgba(var(--surface-rgb),.5);border:var(--rim-w) solid color-mix(in oklab, var(--class-tone) 45%, var(--border));width:112px;height:128px;box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--class-tone) 55%, transparent);flex-shrink:0;display:block;overflow:hidden}.wshop-hero-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.wshop-hero-eyebrow{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--class-tone);font-size:.66rem}.wshop-hero-name{font-family:var(--font-voice);color:var(--text);letter-spacing:.02em;text-shadow:2px 2px #0000008c;font-size:1.4rem}.wshop-hero-identity{font-family:var(--font-voice);color:var(--text2);font-size:.95rem;font-style:italic;line-height:1.35}.wshop-modes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wshop-mode{background:var(--bg2);border:var(--rim-w) solid var(--border);min-height:50px;color:var(--text2);cursor:pointer;font-family:var(--font-voice);letter-spacing:.02em;justify-content:center;align-items:center;gap:9px;padding:12px 14px;font-size:1rem;transition:background .15s,color .15s,border-color .15s;display:flex}.wshop-mode-ico{font-size:1.05rem}.wshop-mode-cur{font-family:var(--font-system);font-size:.72rem}.wshop-cur-up{color:var(--gold-ink)}.wshop-cur-cp{color:var(--purple-ink)}@media (hover:hover){.wshop-mode:hover{background:var(--card2);color:var(--text)}}.wshop-mode.is-active{color:var(--text)}.wshop-mode.is-active:first-child{border-color:var(--gold);background:color-mix(in oklab, var(--gold), transparent 90%);box-shadow:inset 0 -3px 0 var(--gold), 3px 3px 0 #0006}.wshop-mode.is-active:last-child{border-color:var(--purple2);background:color-mix(in oklab, var(--purple2), transparent 90%);box-shadow:inset 0 -3px 0 var(--purple2), 3px 3px 0 #0006}.wshop-section{border-bottom:1px solid color-mix(in oklab, var(--border) 55%, transparent);align-items:baseline;gap:10px;margin-top:6px;padding-bottom:4px;display:flex}.wshop-section-title{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--text2);font-size:.74rem}.wshop-section-meta{font-family:var(--font-system);color:var(--muted);margin-left:auto;font-size:.72rem}.wshop-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.wshop-card{--class-tone:var(--gold);background:var(--bg2);border:var(--rim-w) solid var(--border);border-left:3px solid var(--class-tone);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:86px;padding:12px 14px;transition:transform 60ms,box-shadow 60ms,border-color .15s;display:grid;box-shadow:3px 3px #0006}.wshop-card-tone-cp{--class-tone:var(--purple2)}@media (hover:hover){.wshop-card:hover{border-color:var(--class-tone)}}.wshop-card.is-owned{opacity:.6}.wshop-card.is-locked{background:repeating-linear-gradient(135deg, #00000029 0 6px, transparent 6px 12px), var(--bg)}.wshop-medal{background:radial-gradient(ellipse at 50% 120%, color-mix(in oklab, var(--class-tone) 40%, transparent) 0%, transparent 70%), rgba(var(--surface-rgb),.55);border:var(--rim-w) solid color-mix(in oklab, var(--class-tone) 50%, var(--border));width:46px;height:46px;color:var(--text);box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--class-tone) 55%, transparent);place-items:center;display:grid;position:relative}.wshop-energy{background:var(--bg);border:var(--rim-w) solid var(--gold);font-family:var(--font-system);color:var(--gold2);align-items:center;gap:1px;padding:1px 4px;font-size:.66rem;display:inline-flex;position:absolute;bottom:-7px;right:-7px;box-shadow:1px 1px #00000080}.wshop-energy-spark{font-size:.6rem}.wshop-card-main{flex-direction:column;gap:5px;min-width:0;display:flex}.wshop-card-title{font-family:var(--font-voice);color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;font-size:1rem;display:flex}.wshop-card-tag{font-family:var(--font-system);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab, var(--class-tone) 55%, var(--text));border:var(--rim-w) solid color-mix(in oklab, var(--class-tone) 55%, var(--border));padding:1px 5px;font-size:.56rem}.wshop-card-sub{color:var(--text2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.wshop-card-next{min-width:0;color:color-mix(in oklab, var(--class-tone) 55%, var(--text));align-items:baseline;gap:5px;font-size:.76rem;line-height:1.35;display:flex}.wshop-card-next-arrow{color:color-mix(in oklab, var(--class-tone) 60%, var(--text));flex:none;font-weight:700}.wshop-card-next-val{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wshop-tip-line{display:block}.wshop-tip-next{color:var(--gold-ink);margin-top:5px}.wshop-buy{cursor:pointer;border:1px solid;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:96px;min-height:46px;padding:6px 14px;transition:background .12s,transform 60ms;display:flex;box-shadow:2px 2px #00000073}.wshop-buy-up{background:var(--gold);border-color:var(--gold);color:#1a1410}.wshop-buy-cp{background:var(--purple);border-color:var(--purple);color:var(--text)}@media (hover:hover){.wshop-buy-up:hover:not(:disabled){background:var(--gold2)}.wshop-buy-cp:hover:not(:disabled){background:var(--purple2)}}.wshop-buy:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}.wshop-buy:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.wshop-buy-label{letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:700}.wshop-buy-cost{font-family:var(--font-system);font-size:.72rem}.wshop-buy-cost:has(>.painted-art){align-items:center;gap:4px;font-size:.86rem;display:inline-flex}.wshop-buy-cost .glyph-num{color:inherit;font-size:1em}.wshop-owned{text-align:center;min-width:96px;font-family:var(--font-system);letter-spacing:.05em;color:color-mix(in oklab, var(--class-tone) 60%, var(--text));font-size:.72rem;display:inline-block}.wshop-gated{text-align:center;min-width:96px;max-width:120px;font-family:var(--font-system);letter-spacing:.02em;color:var(--muted);justify-content:center;align-items:center;gap:5px;font-size:.66rem;line-height:1.25;display:inline-flex}.wshop-gated-lock{font-size:.8rem}@keyframes wshop-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes wshop-torch{0%,to{box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--class-tone) 55%, transparent), 0 0 0 #0000}50%{box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--class-tone) 55%, transparent), 0 0 16px color-mix(in oklab, var(--class-tone) 45%, transparent)}}.wshop-grid>.dungeon-tooltip-trigger{min-width:0}.wshop-grid>.dungeon-tooltip-trigger>.wshop-card{box-sizing:border-box;width:100%;height:100%}.wshop-grid .wshop-card{animation:.34s cubic-bezier(.16,1,.3,1) both wshop-card-in}.wshop-grid>:nth-child(2) .wshop-card{animation-delay:40ms}.wshop-grid>:nth-child(3) .wshop-card{animation-delay:80ms}.wshop-grid>:nth-child(4) .wshop-card{animation-delay:.12s}.wshop-grid>:nth-child(5) .wshop-card{animation-delay:.16s}.wshop-grid>:nth-child(6) .wshop-card{animation-delay:.2s}.wshop-grid>:nth-child(n+7) .wshop-card{animation-delay:.24s}.wshop-hero-portrait{animation:4.6s ease-in-out infinite wshop-torch}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .wshop-grid .wshop-card,:root:not([data-motion=full]) .wshop-hero-portrait{animation:none}}.wshop-respec-row{border-top:1px solid var(--border);justify-content:center;margin-top:26px;padding-top:18px;display:flex}.wshop-respec{border:var(--rim-w) solid var(--border);color:var(--text2);cursor:pointer;background:0 0;align-items:center;gap:12px;padding:10px 18px;transition:border-color .12s,color .12s,transform 60ms;display:inline-flex}.wshop-respec-ico{color:var(--ember-ink);font-size:1.3rem;line-height:1}.wshop-respec-text{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.wshop-respec-label{font-family:var(--font-voice);letter-spacing:.02em;font-size:.9rem;font-weight:700}.wshop-respec-hint{font-family:var(--font-system);color:var(--muted);font-size:.7rem}@media (hover:hover){.wshop-respec:hover:not(:disabled){border-color:var(--ember);color:var(--text)}}.wshop-respec:active:not(:disabled){transform:translate(1px,1px)}.wshop-respec:disabled{opacity:.4;cursor:not-allowed}.wshop-confirm-scrim{z-index:var(--z-confirm);background:#0000009e;justify-content:center;align-items:center;padding:20px;animation:.16s ease-out wshop-scrim-in;display:flex;position:fixed;inset:0}.wshop-confirm{text-align:center;background:var(--bg2);border:var(--rim-w) solid var(--ember);flex-direction:column;align-items:center;gap:12px;width:min(430px,100%);padding:28px 26px;display:flex;box-shadow:6px 6px #00000080}.wshop-confirm-ico{color:var(--ember-ink);font-size:2rem;line-height:1}.wshop-confirm-title{font-family:var(--font-voice);color:var(--text);margin:0;font-size:1.25rem}.wshop-confirm-body{font-family:var(--font-voice);color:var(--text2);max-width:34ch;margin:0;font-size:.92rem;line-height:1.55}.wshop-confirm-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.wshop-confirm-cancel,.wshop-confirm-go{min-height:44px;font-family:var(--font-voice);letter-spacing:.03em;cursor:pointer;border:1px solid;padding:8px 18px;font-size:.86rem;font-weight:700;transition:filter .12s,border-color .12s,color .12s,transform 60ms}.wshop-confirm-cancel{border-color:var(--border);color:var(--text2);background:0 0}.wshop-confirm-go{background:var(--ember);border-color:var(--ember);color:var(--text);box-shadow:2px 2px #00000073}@media (hover:hover){.wshop-confirm-cancel:hover{border-color:var(--text2);color:var(--text)}.wshop-confirm-go:hover{filter:brightness(1.1)}}.wshop-confirm-cancel:active{transform:translate(1px,1px)}.wshop-confirm-go:active{box-shadow:none;transform:translate(2px,2px)}@keyframes wshop-scrim-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .wshop-confirm-scrim{animation:none}}@media (width<=560px){.wshop-topbar{gap:10px;padding:10px 14px}.wshop-mark{font-size:1rem}.wshop-body{padding:14px 14px 64px}.wshop-hero-banner{grid-template-columns:92px 1fr;gap:14px;padding:14px}.wshop-hero-portrait{width:92px;height:108px}.wshop-hero-name{font-size:1.2rem}.wshop-grid{grid-template-columns:1fr}}.study-pause-scrim{align-items:center}.study-pause{width:min(420px,100% - 32px)}.study-pause-face{flex-direction:column;gap:10px;padding:20px 22px;display:flex}.study-pause-title{font-family:var(--font-voice);color:var(--text);margin:0;font-size:1.2rem}.study-pause-tally{font-family:var(--font-system);font-variant-numeric:tabular-nums;color:var(--text2);margin:0}.study-pause-actions{flex-wrap:wrap;gap:10px;display:flex}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@keyframes reward-glint{0%{opacity:0;transform:translate(-130%)skew(-18deg)}35%{opacity:.85}to{opacity:0;transform:translate(130%)skew(-18deg)}}@keyframes reward-heartbeat{0%,to{transform:scale(1)}28%{transform:scale(1.2)}42%{transform:scale(1.02)}58%{transform:scale(1.12)}}.chest-reveal{animation:.34s cubic-bezier(.16,1,.3,1) both pop-in}.chest-item-ico{position:relative;overflow:hidden}.chest-item-ico:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 42%,#ffffff80 50%,#0000 58%);width:41px;height:41px;animation:.85s ease-out .26s both reward-glint;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.gain-label{animation:.82s ease-in-out .2s 2 reward-heartbeat;display:inline-block}.dash-launch-bar{width:100%;max-width:1180px;margin:0 auto;padding:20px 18px 0}.dash-duel-launch{text-align:left;cursor:pointer;width:100%;color:var(--text);border:var(--rim-w) solid transparent;border-radius:var(--radius);background:var(--plate-fill) padding-box, var(--gold) border-box;box-shadow:var(--plate-bevel), 4px 4px 0 #00000080;flex-wrap:wrap;align-items:baseline;gap:12px;padding:16px 18px;transition:transform 60ms,box-shadow 60ms;display:flex}.dash-duel-name{letter-spacing:.12em;color:var(--gold-ink);font-weight:800}.dash-duel-sub{color:var(--muted);font-size:.82rem}.dash-duel-launch:active{box-shadow:var(--plate-bevel), 2px 2px 0 #00000080;transform:translate(2px,2px)}.dash-duel-launch:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:hover){.dash-duel-launch:hover{background:var(--plate-fill) padding-box, var(--gold2) border-box;box-shadow:var(--plate-bevel), 5px 5px 0 #0000008c}}.duel-screen{z-index:var(--z-sheet);background:linear-gradient(#f2e8d006 1px, transparent 1px), linear-gradient(90deg, #f2e8d006 1px, transparent 1px), radial-gradient(120% 80% at 50% 10%, rgba(var(--gold-rgb), .05), transparent 68%), var(--bg);color:var(--text);font-family:var(--font-voice);background-size:8px 8px,8px 8px,auto,auto;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.duel-screen *{box-sizing:border-box}.duel-h2{letter-spacing:.01em;margin:0 0 4px;font-size:clamp(1.05rem,2.4vw,1.4rem);font-weight:700}.duel-center{text-align:center;align-self:center}.duel-hint{color:var(--muted);max-width:52ch;margin:6px 0 0;font-size:.85rem}.duel-hint.duel-center{margin-inline:auto}.duel-warn{color:var(--ember-ink)}.duel-wordmark{letter-spacing:.18em;color:var(--gold-ink);text-transform:uppercase;margin:0;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:800}.duel-ghost-btn{cursor:pointer;white-space:nowrap;min-height:44px;color:var(--muted);border:var(--rim-w) solid var(--border);font-family:var(--font-voice);background:0 0;padding:8px 14px;font-size:.85rem}.duel-ghost-btn:active{transform:translate(1px,1px)}@media (hover:hover){.duel-ghost-btn:hover{color:var(--text);border-color:var(--border2)}}.duel-cta{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;min-height:52px;font-weight:800;font-family:var(--font-voice);background:var(--gold);color:rgb(var(--surface-rgb));border:var(--rim-w) solid var(--gold);padding:14px 26px;box-shadow:4px 4px #0006}.duel-cta-lg{min-height:64px;padding:18px 40px;font-size:1.15rem}.duel-cta:disabled{opacity:.5;cursor:default;box-shadow:none}.duel-cta:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #0006}@media (hover:hover){.duel-cta:not(:disabled):hover{background:var(--gold2);border-color:var(--gold2)}}.duel-setup,.duel-fighters{gap:16px;padding:18px clamp(14px,4vw,40px) 32px}.duel-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:12px;display:flex}.duel-head .duel-ghost-btn:last-child{margin-left:auto}.duel-setup-body{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=860px){.duel-setup-body{grid-template-columns:1fr 300px;align-items:start}}.duel-setup-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:12px}.duel-panel{border:var(--rim-w) solid transparent;background:var(--plate-fill) padding-box, var(--plate-rim) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 #00000080;padding:16px}.duel-panel-label{letter-spacing:.03em;margin-bottom:10px;font-weight:700;display:block}.duel-panel-summary{flex-direction:column;gap:12px;display:flex}.duel-count{font-family:var(--font-system);color:var(--gold-ink);font-size:1.05rem}.duel-stepper{align-items:center;gap:14px;display:flex}.duel-step-btn{cursor:pointer;width:48px;height:48px;color:var(--text);border:var(--rim-w) solid transparent;background:var(--plate-fill) padding-box, var(--plate-rim) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 #00000080;font-size:1.5rem;line-height:1}.duel-step-btn:active{transform:translate(1px,1px)}@media (hover:hover){.duel-step-btn:hover{border-color:var(--gold);color:var(--gold-ink)}}.duel-step-val{text-align:center;min-width:2.4ch;font-size:2rem;font-weight:800;font-family:var(--font-system)}.duel-rosters{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(12px,3vw,40px);margin:8px 0 20px;display:flex}.duel-roster{flex-direction:column;align-items:center;gap:12px;display:flex}.duel-team-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800}.duel-roster-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=520px){.duel-roster-grid{grid-template-columns:repeat(3,1fr)}}.duel-fighter-tile{cursor:pointer;min-width:108px;min-height:132px;color:var(--text);border:var(--rim-w) solid transparent;background:var(--plate-fill) padding-box, var(--plate-rim) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 #00000080;flex-direction:column;align-items:center;gap:8px;padding:12px;transition:box-shadow .14s ease-out;display:flex}.duel-fighter-portrait{flex-shrink:0;width:72px;height:84px;display:block}.duel-fighter-tile.is-picked{background:var(--plate-fill) padding-box, var(--fc) border-box;box-shadow:var(--plate-bevel), 3px 3px 0 var(--fc)}.duel-fighter-tile:active{transform:translate(1px,1px)}@media (hover:hover){.duel-fighter-tile:hover{background:var(--plate-fill) padding-box, var(--fc) border-box}}.duel-fighter-name{font-size:.85rem;font-weight:600}.duel-vs{color:var(--ember-ink);letter-spacing:.06em;align-self:center;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:900}.duel-arena{height:100dvh}.duel-topbar{background:linear-gradient(180deg, rgba(var(--surface-rgb), .92), rgba(var(--surface-rgb), .72));box-shadow:var(--plate-bevel), 0 1px 0 #f2e8d02e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px clamp(12px,3vw,28px);display:flex}.duel-topbar-main{align-items:baseline;gap:12px;min-width:0;display:flex}.duel-topbar-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.duel-round-tag{font-family:var(--font-system);letter-spacing:.14em;color:var(--gold2);text-transform:uppercase;white-space:nowrap;background:linear-gradient(90deg, rgba(var(--surface-rgb), .92), rgba(var(--surface-rgb), .42));clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);box-shadow:var(--plate-bevel);padding:5px 16px 5px 22px;font-size:.86rem;font-weight:700}.duel-concept-tag{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:700;overflow:hidden}.duel-diff-tag,.duel-stakes-tag{font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:rgba(var(--surface-rgb), .7);box-shadow:var(--plate-bevel);border:1px solid #f2e8d038;padding:4px 9px;font-size:.72rem}.duel-diff-tag{color:var(--muted)}.duel-stakes-tag{color:var(--ember-ink);border-color:#e74c3c80}.duel-stage{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-items:center;gap:clamp(4px,1.5vh,14px) clamp(6px,2.5vw,34px);min-height:0;padding:clamp(14px,3.5vh,34px) clamp(8px,3vw,32px) 8px;display:grid;position:relative}.duel-stage:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 40% at 50% 100%, color-mix(in srgb, var(--bg) 85%, #000), transparent 70%), linear-gradient(to bottom, transparent 60%, color-mix(in srgb, var(--bg) 70%, #000));position:absolute;inset:0}.duel-plate{z-index:2;flex-direction:column;grid-row:1;align-items:stretch;width:100%;min-width:0;max-width:420px;display:flex;position:relative}.duel-plate.duel-col-a{grid-column:1;justify-self:end}.duel-plate.duel-col-b{grid-column:3;justify-self:start}.duel-plate .vital{width:100%}.duel-fighter-col{z-index:1;flex-direction:column;grid-row:2;justify-content:center;align-items:center;gap:10px;width:100%;min-width:0;transition:transform .26s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.duel-fighter-col.duel-col-a{grid-column:1;align-items:flex-end;padding-right:clamp(20px,6vw,90px)}.duel-fighter-col.duel-col-b{grid-column:3;align-items:flex-start;padding-left:clamp(20px,6vw,90px)}.duel-fighter-col.duel-col-a.is-striking{transform:translate(26px)}.duel-fighter-col.duel-col-b.is-striking{transform:translate(-26px)}.duel-fighter-col.is-active .duel-sprite-mount:after{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--fc) 55%, transparent), transparent);border-radius:50%;width:92px;height:16px;animation:1.4s ease-in-out infinite duel-active-pulse;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.duel-fighter-col.is-hit .vital-bar{animation:.34s ease-out duel-hp-hitflash}@keyframes duel-hp-hitflash{0%{box-shadow:0 0 0 2px var(--ember)}to{box-shadow:none}}@keyframes duel-hp-lowpulse{0%,to{border-color:var(--border)}50%{border-color:var(--ember)}}.duel-plate .vital-name{font-size:1.15rem}.duel-plate .vital-k{font-size:.78rem}.duel-plate .vital-bar{height:13px}.duel-plate .vital-num{font-size:.96rem}.duel-plate .pool-pip{width:10px;height:10px}.duel-plate .pool-pips-row{gap:4px}.duel-plate .duel-limit-bar{height:13px}.duel-plate .duel-limit-k{font-size:.7rem}.duel-sprite-mount{z-index:2;justify-content:center;align-items:flex-end;min-height:150px;display:flex;position:relative}@media (height<=700px){.duel-sprite-mount{min-height:124px}}.duel-sprite-mount:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(closest-side,#0009,#0000004d 55%,#0000);width:58%;height:13px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.duel-score-chip{font-family:var(--font-system);background:rgba(var(--surface-rgb), .86);color:var(--text);white-space:nowrap;box-shadow:var(--plate-bevel), 2px 2px 0 #00000080;z-index:2;border:1px solid #f2e8d038;padding:3px 9px;font-size:.9rem;font-weight:700;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.duel-score-chip.is-good{color:var(--forest-ink);border-color:#2ecc7180}.duel-score-chip.is-poor{color:var(--ember-ink);border-color:#e74c3c80}.duel-special-name{letter-spacing:.16em;white-space:nowrap;z-index:3;color:var(--fc,var(--gold));text-shadow:0 2px #0009;pointer-events:none;font-size:1.05rem;font-weight:900;animation:.7s cubic-bezier(.22,1,.36,1) forwards duel-special-in;position:absolute;top:-42px;left:50%;transform:translate(-50%)}.duel-dmg-pop{z-index:3;font-family:var(--font-system);color:var(--ember-ink);text-shadow:0 2px #0009;pointer-events:none;font-size:1.7rem;font-weight:900;animation:.95s ease-out forwards duel-dmg;position:absolute;top:2px;left:50%;transform:translate(-50%)}.duel-dmg-pop.is-special{color:var(--fc,var(--gold));font-size:2.5rem}.duel-fighter-col.is-hit{animation:.32s steps(4,end) duel-shake}.duel-fighter-col.is-special{animation:.55s ease-out duel-special-flash}.duel-vs-mid{z-index:2;font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--ember-ink);text-shadow:2px 2px #000c;grid-area:1/2;align-self:center;font-size:clamp(1rem,2.6vw,1.6rem);font-weight:700}.duel-clash-ribbon{z-index:2;text-align:center;letter-spacing:.02em;max-width:min(92%,640px);color:var(--gold-ink);background:color-mix(in srgb, var(--bg) 82%, transparent);border:var(--rim-w) solid var(--border);padding:10px 22px;font-size:clamp(1.1rem,3.2vw,1.7rem);font-weight:800;animation:.3s cubic-bezier(.22,1,.36,1) duel-ribbon-in;position:absolute;top:clamp(8px,4vh,28px);left:50%;transform:translate(-50%);box-shadow:4px 4px #0006}.duel-clash-ribbon.is-special{color:var(--gold2,var(--gold));border-color:var(--gold);font-size:clamp(1.4rem,4.4vw,2.4rem)}.duel-over-ribbon{z-index:2;background:color-mix(in srgb, var(--bg) 78%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:10px;animation:.32s ease-out duel-ribbon-in;display:flex;position:absolute;inset:0}.duel-over-crown{color:var(--gold-ink);font-size:2.8rem}.duel-over-headline{letter-spacing:.02em;color:var(--fc,var(--gold));text-align:center;text-wrap:balance;font-size:clamp(1.6rem,5vw,3rem);font-weight:900}.duel-actionbar{padding:14px clamp(12px, 3vw, 28px) calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--bg);flex:none;justify-content:center;align-items:center;gap:14px;min-height:84px;display:flex}.duel-gate-btn{cursor:pointer;width:100%;max-width:560px;min-height:60px;font-family:var(--font-voice);color:rgb(var(--surface-rgb));background:var(--fc,var(--gold));border:var(--rim-w) solid var(--fc,var(--gold));flex-direction:column;align-items:center;gap:4px;padding:12px 20px;display:flex;box-shadow:4px 4px #0006}.duel-gate-team{letter-spacing:.03em;font-size:1.15rem;font-weight:800}.duel-gate-tap{letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-size:.85rem}.duel-gate-btn:active{transform:translate(2px,2px);box-shadow:2px 2px #0006}.duel-limit{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.duel-limit-k{font-family:var(--font-system);letter-spacing:.14em;color:var(--muted);flex:none;font-size:.6rem;font-weight:700}.duel-limit-bar{height:10px}.duel-limit-fill{background-color:var(--gold)}.duel-limit.is-charged .duel-limit-bar{border-color:var(--gold2);box-shadow:2px 2px 0 #00000073, 0 0 8px rgba(var(--gold-rgb), .55)}.duel-limit.is-charged .duel-limit-fill{animation:1s ease-in-out infinite duel-charge-pulse}.duel-limit-ready{font-family:var(--font-system);letter-spacing:.16em;color:var(--bg);text-transform:uppercase;justify-content:center;align-items:center;font-size:.54rem;font-weight:700;display:flex;position:absolute;inset:0}.duel-limit-streak{font-family:var(--font-system);letter-spacing:.1em;color:var(--gold2);white-space:nowrap;flex:none;font-size:.6rem;font-weight:700}.drill-stage{flex:auto;justify-content:center;align-items:center;min-height:0;padding:clamp(10px,3vh,28px) clamp(12px,3vw,32px);display:flex;overflow-y:auto}.drill-intro,.drill-outcome{text-align:center;border:var(--rim-w) solid transparent;background:var(--plate-fill) padding-box, var(--plate-rim) border-box;width:100%;max-width:620px;box-shadow:var(--plate-bevel), 4px 4px 0 #00000080;flex-direction:column;align-items:center;gap:16px;margin-inline:auto;padding:22px 26px;display:flex}.drill-intro{max-width:900px}.drill-pair{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;width:100%;display:flex}.drill-pair .fseat{flex:none}.drill-pair .fseat-name{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.drill-intro-body .drill-pair{flex-wrap:nowrap}.drill-pair-vs{font-family:var(--font-system);letter-spacing:.18em;color:var(--muted);text-shadow:2px 2px #0009;font-size:.8rem;font-weight:700}@media (width<=480px){.drill-pair{gap:8px}.drill-pair .fseat{gap:6px}.fseat-name{font-size:.88rem}}.drill-intro-head{align-items:baseline;gap:12px;width:100%;min-width:0;display:flex}.drill-intro-title{font-family:var(--font-voice);letter-spacing:.03em;color:var(--text);text-shadow:2px 2px #000000d9;white-space:nowrap;margin:0;font-size:1.5rem;font-weight:800;line-height:1}.drill-intro-where{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.68rem;overflow:hidden}.drill-intro-rule{background:linear-gradient(90deg, var(--border), #85623626);flex:auto;min-width:12px;height:1px}.drill-intro-body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 18px;width:100%;display:grid}.drill-who{flex-direction:column;align-items:center;gap:14px;min-width:0;display:flex}.drill-asks{width:100%}.drill-asks .splate-face{padding:10px 16px 12px 18px}.drill-asks-list{text-align:left;flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.drill-asks-row{min-width:0;color:var(--text2);align-items:center;gap:9px;font-size:.86rem;display:flex}.drill-asks-pill{--spill:22px;width:var(--spill);height:var(--spill);border-color:var(--border);color:var(--gold2);flex:none;line-height:1;display:inline-block;position:relative}.drill-asks-nm{overflow-wrap:anywhere;min-width:0;line-height:1.3}.drill-intro-rounds{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.drill-rounds-cap{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:700}.drill-rounds-pips .pool-pip{width:9px;height:9px}.drill-rounds-pips .pool-pips-row{gap:4px}.drill-rounds-pips .pool-pips-num{display:none}.drill-intro-sub,.drill-outcome-line{font-family:var(--font-voice);color:var(--text2);margin:0;font-size:.9rem}.drill-intro-note{font-family:var(--font-voice);color:var(--muted);margin:0;font-size:.82rem}.drill-outcome-title{font-family:var(--font-voice);color:var(--text);font-size:1.15rem;font-weight:700}@media (width>=1024px) and (height>=680px){.drill-intro{gap:clamp(22px,3.2vh,40px);width:min(1440px,86vw);max-width:none;padding:clamp(28px,4vh,52px) clamp(32px,3.4vw,64px)}.drill-intro-head{gap:18px}.drill-intro-title{font-size:clamp(2rem,2.6vw,3rem)}.drill-intro-where{font-size:clamp(.85rem,.9vw,1.05rem)}.drill-intro-body{gap:24px clamp(32px,4vw,72px)}.drill-intro .drill-who{gap:clamp(20px,3vh,36px)}.drill-intro .drill-pair{gap:clamp(18px,2vw,36px)}.drill-intro .fseat{gap:16px}.drill-intro .fseat-label{font-size:.8rem}.drill-intro .fseat-name{font-size:clamp(1.4rem,1.7vw,2rem)}.drill-intro .drill-pair-vs{font-size:clamp(1.1rem,1.4vw,1.6rem)}.drill-intro-rounds{gap:16px}.drill-rounds-cap{font-size:.85rem}.drill-rounds-pips .pool-pip{width:15px;height:15px}.drill-rounds-pips .pool-pips-row{gap:7px}.drill-asks .splate-face{padding:22px 30px 26px 34px}.drill-asks .vic-spoils-title{font-size:clamp(1.4rem,1.7vw,2rem)}.drill-asks-list{gap:12px}.drill-asks-row{gap:14px;font-size:clamp(1.05rem,1.25vw,1.4rem)}.drill-asks-pill{--spill:30px}.drill-intro-note{font-size:1rem}}.drill-outcome-cp{font-family:var(--font-system);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--gold2);text-shadow:2px 2px #000000d9;background:linear-gradient(90deg, rgba(var(--surface-rgb), .92), rgba(var(--surface-rgb), .42));clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);box-shadow:var(--plate-bevel);padding:8px 22px 8px 30px;font-size:1.9rem;font-weight:700}@media (hover:hover){.duel-gate-btn:hover{filter:brightness(1.06)}}.duel-continue-btn{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;min-width:200px;min-height:56px;font-weight:800;font-family:var(--font-voice);color:rgb(var(--surface-rgb));background:var(--gold);border:var(--rim-w) solid var(--gold);padding:14px 32px;box-shadow:4px 4px #0006}.duel-continue-btn:active{transform:translate(2px,2px);box-shadow:2px 2px #0006}@media (hover:hover){.duel-continue-btn:hover{background:var(--gold2);border-color:var(--gold2)}}.duel-over-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}@keyframes duel-shake{0%,to{transform:translate(0)}25%{transform:translate(-9px)}75%{transform:translate(9px)}}@keyframes duel-dmg{0%{opacity:0;transform:translate(-50%,12px)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-46px)}}@keyframes duel-special-in{0%{opacity:0;transform:translate(-50%,10px)scale(.8)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes duel-special-flash{0%,to{filter:brightness()}40%{filter:brightness(1.55)saturate(1.3)}}@keyframes duel-charge-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.45)}}@keyframes duel-active-pulse{0%,to{opacity:.5}50%{opacity:.95}}@keyframes duel-ribbon-in{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.duel-over-ribbon{animation-name:duel-fade-in}@keyframes duel-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .duel-fighter-col,:root:not([data-motion=full]) .duel-hp-fill,:root:not([data-motion=full]) .duel-meter-fill{transition:none}:root:not([data-motion=full]) .duel-hp.is-low,:root:not([data-motion=full]) .duel-fighter-col.is-hit .duel-hp,:root:not([data-motion=full]) .duel-fighter-col.is-hit,:root:not([data-motion=full]) .duel-fighter-col.is-special,:root:not([data-motion=full]) .duel-meter.is-charged .duel-meter-fill,:root:not([data-motion=full]) .duel-special-name,:root:not([data-motion=full]) .duel-clash-ribbon,:root:not([data-motion=full]) .duel-over-ribbon,:root:not([data-motion=full]) .duel-fighter-col.is-active .duel-sprite-mount:after{animation:none}:root:not([data-motion=full]) .duel-dmg-pop{opacity:1;animation:none}:root:not([data-motion=full]) .duel-special-name{opacity:1;transform:translate(-50%)}}.duel-stage{overflow:hidden}.duel-stage.has-bg:after{display:none}.duel-stage.has-bg .duel-plate .vital-name{text-shadow:2px 2px #000000e6}.duel-stage.has-bg .duel-vs-mid{text-shadow:0 2px 4px #000000e6}.duel-stage.has-bg .battle-bg{filter:brightness(1.5)saturate(1.12)}.duel-stage.has-bg .battle-bg:after{opacity:.7}@media (width<=640px){.duel-rosters>.duel-vs{display:none}.duel-rosters{gap:20px}}.duel-ghost-btn:focus-visible,.duel-cta:focus-visible,.duel-step-btn:focus-visible,.duel-fighter-tile:focus-visible,.duel-gate-btn:focus-visible,.duel-continue-btn:focus-visible,.dash-duel-launch:focus-visible{outline:3px solid var(--gold2,var(--gold));outline-offset:2px}.duel-screen{animation:.26s cubic-bezier(.22,1,.36,1) duel-screen-in}@keyframes duel-screen-in{0%{opacity:0}to{opacity:1}}.duel-over-ribbon{animation:.42s cubic-bezier(.22,1,.36,1) duel-over-in}.duel-over-crown{animation:.52s cubic-bezier(.22,1,.36,1) duel-crown-in}@keyframes duel-over-in{0%{opacity:0}to{opacity:1}}@keyframes duel-crown-in{0%{opacity:0;transform:scale(.4)translateY(8px)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .duel-screen,:root:not([data-motion=full]) .duel-over-ribbon,:root:not([data-motion=full]) .duel-over-crown{animation:none}}.duel-crowd{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.duel-crowd-side{position:absolute;inset:0}.duel-crowd-side:before{content:"";z-index:-1;opacity:.32;position:absolute;inset:0}.duel-crowd-left:before{background:radial-gradient(42% 46% at 20% 74%, color-mix(in srgb, var(--team) 34%, transparent), transparent 72%)}.duel-crowd-right:before{background:radial-gradient(42% 46% at 80% 74%, color-mix(in srgb, var(--team) 34%, transparent), transparent 72%)}.duel-spectator{image-rendering:pixelated;opacity:var(--op,.6);filter:brightness(var(--b,1)) saturate(.5) contrast(1.02) drop-shadow(0 2px 6px color-mix(in srgb, var(--team) 35%, #0a0705));transform:translateY(0) scaleX(var(--flip,1));animation:duel-idle calc(var(--dur,2s) * 1.7) ease-in-out var(--delay,0s) infinite;will-change:transform;background-position:bottom;background-repeat:no-repeat;background-size:contain;position:absolute}@keyframes duel-idle{0%,to{transform:translateY(0) scaleX(var(--flip))}50%{transform:translateY(-2px) scaleX(var(--flip))}}.duel-crowd-side.is-cheering .duel-spectator{opacity:min(1, calc(var(--op,.6) + .4));filter:brightness(calc(var(--b,1) + .28)) contrast(1.08) saturate(1) drop-shadow(0 2px 11px color-mix(in srgb, var(--team) 70%, #0a0705));animation:duel-cheer calc(var(--dur,2s) * .42) ease-in-out var(--delay,0s) infinite}@keyframes duel-cheer{0%,to{transform:translate(calc(var(--sway) * -1px), 0) scaleX(var(--flip))}50%{transform:translate(calc(var(--sway) * 1px), calc(var(--hop) * -1px)) scaleX(var(--flip))}}@media (width<=640px){.duel-spectator:nth-child(2n){display:none}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .duel-spectator,:root:not([data-motion=full]) .duel-crowd-side.is-cheering .duel-spectator{animation:none}}.duel-arena-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.duel-arena-img{object-fit:cover;object-position:center bottom;-webkit-user-select:none;user-select:none;width:100%;height:100%;image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated;filter:blur(.4vmin);position:absolute;inset:0;transform:scale(1.03)}.duel-arena-img--painted{image-rendering:auto;filter:blur(.6vmin)}.duel-arena-bg:after{content:"";background:linear-gradient(#08060c4d,#0000 26% 70%,#08060c61);position:absolute;inset:0}.duel-timer{z-index:var(--z-scrim-top);font-family:var(--font-system);color:var(--fc,var(--gold));background:color-mix(in srgb, var(--bg) 84%, transparent);border:2px solid var(--fc,var(--gold));align-items:baseline;gap:2px;padding:8px 20px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:4px 4px #00000080}.duel-timer-val{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800}.duel-timer-unit{opacity:.8;font-size:.95rem;font-weight:600}.duel-score-chip{flex-direction:column;align-items:center;gap:0;line-height:1.02;display:flex}.duel-score-pct{font-size:.92rem;font-weight:800}.duel-score-time{opacity:.72;letter-spacing:.02em;font-size:.62rem;font-weight:600}.hub-screen{justify-content:center;align-items:flex-start;min-height:100dvh;padding:clamp(16px,4vw,36px) 16px;display:flex}.hub-card{width:100%;max-width:720px;padding:30px 28px 28px}.hub-head{margin-bottom:24px}.hub-mark{text-align:center;align-items:center}.hub-mark .mark-line{font-size:clamp(1.5rem,5vw,2.6rem)}.hub-subtitle{font-family:var(--font-system);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);text-align:center;margin:12px 0 0;font-size:.78rem}.hub-blurb{font-family:var(--font-voice);color:var(--muted);text-align:center;overflow-wrap:anywhere;margin:8px 0 0;font-size:.92rem;line-height:1.6}.hub-section-cap{font-family:var(--font-system);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:.7rem;font-weight:700}.hub-card .menu-list+.hub-section-cap{margin-top:22px}.hub-unknown{font-family:var(--font-system);color:var(--ember-ink);background:rgba(var(--ember-rgb), .12);border:1px solid rgba(var(--ember-rgb), .4);overflow-wrap:anywhere;margin:0 0 16px;padding:10px 12px;font-size:.76rem}.hub-game{border-left:3px solid var(--border)}.hub-game--gold{border-left-color:var(--gold)}.hub-game--purple{border-left-color:var(--purple)}.hub-game--ember{border-left-color:var(--ember)}.hub-game--forest{border-left-color:var(--forest)}.hub-game--pitch{border-left-color:var(--pitch)}.hub-game--purple .menu-item-icon{color:var(--purple-ink);background:color-mix(in oklab, var(--purple) 14%, var(--bg))}.hub-game--ember .menu-item-icon{color:var(--ember-ink);background:color-mix(in oklab, var(--ember) 14%, var(--bg))}.hub-game--forest .menu-item-icon{color:var(--forest-ink);background:color-mix(in oklab, var(--forest) 14%, var(--bg))}.hub-game--pitch .menu-item-icon{color:var(--pitch-ink);background:color-mix(in oklab, var(--pitch) 14%, var(--bg))}@media (hover:hover){.hub-game--purple:hover{background:color-mix(in oklab, var(--purple) 8%, var(--bg2));border-color:var(--purple)}.hub-game--ember:hover{background:color-mix(in oklab, var(--ember) 8%, var(--bg2));border-color:var(--ember)}.hub-game--forest:hover{background:color-mix(in oklab, var(--forest) 8%, var(--bg2));border-color:var(--forest)}.hub-game--pitch:hover{background:color-mix(in oklab, var(--pitch) 8%, var(--bg2));border-color:var(--pitch)}.hub-game--purple:hover .menu-item-icon{background:color-mix(in oklab, var(--purple) 24%, var(--bg));border-color:var(--purple)}}.hub-game-badge{font-family:var(--font-system);letter-spacing:.12em;white-space:nowrap;color:var(--gold-ink);background:rgba(var(--gold-rgb), .12);border:1px solid rgba(var(--gold-rgb), .4);align-self:center;padding:4px 8px;font-size:.62rem;font-weight:700;box-shadow:2px 2px #00000073}.hub-game-badge--soon{color:var(--muted);background:rgba(var(--surface-rgb), .5);border-color:var(--border);box-shadow:none}.hub-game-badge--locked{color:var(--ember-ink);background:rgba(var(--ember-rgb), .12);border-color:rgba(var(--ember-rgb), .4)}.hub-game--soon{border-left-color:var(--border)}.hub-game--soon .menu-item-icon{color:var(--muted);background:rgba(var(--surface-rgb), .4)}.hub-foot{margin-top:28px}.hub-cp{font-family:var(--font-system);letter-spacing:.06em;color:var(--gold-ink);text-align:center;margin:0 0 14px;font-size:.76rem}.hub-account{margin-bottom:16px}.hub-logout{margin:0 auto;display:block}.title-to-hub{margin:2px auto 0;display:flex}.lock-card{max-width:440px}.lock-form{margin:0 auto}.lock-back{margin-top:22px}@media (width<=480px){.hub-card{padding:20px 16px}.hub-game-badge{padding:3px 6px;font-size:.58rem}}.hub-account .menu-item{background:rgba(var(--surface-rgb), .4);min-height:52px;box-shadow:none;padding:12px 14px}.hub-account .menu-item-icon{background:rgba(var(--surface-rgb), .55);width:40px;height:40px;color:var(--muted)}.hub-account .menu-item-label{color:var(--muted)}@media (hover:hover){.hub-account .menu-item:hover{background:rgba(var(--surface-rgb), .6);border-color:var(--gold)}.hub-account .menu-item:hover .menu-item-label{color:var(--text)}.hub-account .menu-item:hover .menu-item-icon{color:var(--gold2)}}:root:root body{font-variant-numeric:tabular-nums}:root:root :is(button,input,select,textarea,[role=dialog],[role=tab],[class*=btn],[class*=plate],[class*=card],[class*=panel],[class*=pill],[class*=chip],[class*=badge],[class*=coin],[class*=bar],[class*=slot],[class*=bubble],[class*=key],[class*=toast],[class*=tab],[class*=menu]):not([class*=stage]):not([class*=scrim]):not([class*=bg]):not([class*=layer]):not([class*=scene]):not(.gmenu-dialog){border-radius:var(--plate-r,var(--radius))}:root:root :is([class*=plate],[class*=card],[class*=panel]):not([class*=stage]):not([class*=scrim]):after,:root:root :is([class*=plate],[class*=card],[class*=panel]):not([class*=stage]):not([class*=scrim]):before{border-radius:inherit}:root:root :is(.splate-lean,.splate-lean-mirror){--splate-cut:var(--plate-clip)}:root:root .lean-rim{display:none}:root:root :is(.splate-lean,.splate-lean-mirror)>.splate-face{box-shadow:inset 0 0 0 var(--rim-w) var(--plate-rim)}:root:root .vital-acting>.splate-face{box-shadow:inset 0 0 0 2px var(--gold)}:root:root:root :is(.status-pulse,.dmap-tile__threat,.spill-count,.ctape-reel),:root:root:root .ctape-reel:after,:root:root:root .duel-fighter-col.is-active .duel-sprite-mount:after{border-radius:50%}:root:root[data-game=dungeon]{--text:#fff3e8;--text2:#ffe6d4;--muted:#f6c6ad}:root:root[data-game=fantasy]{--text:#f1f6ff;--text2:#e2ecff;--muted:#bfd3ff}@media (width>=1024px) and (height>=600px){:root:root .menu-word{font-size:clamp(1.1rem,6.8vw,6.2rem)}:root:root .screen-title{font-size:1.75rem}:root:root .gmenu-title{font-size:1.4rem}:root:root .offer-title{font-size:2.1rem}:root:root .exercise-title{font-size:1.3rem}}:root:root .battle-bg__scene{filter:brightness(.9)saturate(1.2)contrast(1.02)}:root:root .menu-scene-host .battle-bg--door .battle-bg__scene{filter:brightness(.72)saturate(1.15)blur(4.5px)}:root:root .battle-bg__torch{background:radial-gradient(80% 58% at 50% 30%,#ffb6d62e,#cfa1ff0f 45%,#0000 72%)}:root:root .battle-bg:after{background:radial-gradient(135% 85% at 50% 32%,#0000 58%,#2a23408c 100%),linear-gradient(#2a23402e 0%,#2a234000 24%,#342b4d80 100%)}:root:root .menu-stage__veil{background:radial-gradient(70% 60% at 50% 44%,#ffb6d624,#0000 70%),radial-gradient(120% 90% at 50% 40%,#0000 0%,#2a23408c 100%)}:root:root .scn-curtain .scn-band{background:linear-gradient(#4a3b70 0%,#6b5592 55%,#8a6aa8 100%)}:root:root .scn-curtain .scn-tear,:root:root .scn-curtain .scn-scan{display:none}:root:root .scn-flash{background:#ffe0ee66}:root:root .menu-verb .menu-verb-plate.menu-verb-plate--art{box-shadow:none;clip-path:none;border-radius:var(--radius-sm);filter:drop-shadow(2px 2px #00000073);background:0 0;transition:filter .12s ease-out}:root:root .menu-verb-art{object-fit:contain;image-rendering:auto;width:100%;height:100%;display:block}:root:root .landing-edu-item:has(.landing-edu-icon--art){grid-template-columns:76px minmax(0,1fr)}:root:root .landing-edu-icon.landing-edu-icon--art{filter:drop-shadow(2px 2px #00000073);background:0 0;border:0;width:76px;height:76px}@media (width>=1024px){:root:root .menu-verb .menu-verb-plate.menu-verb-plate--art{width:clamp(96px,8.5vw,168px);height:clamp(96px,8.5vw,168px)}}:root:root .menu-verb--primary .menu-verb-plate.menu-verb-plate--art{filter:drop-shadow(2px 0 0 var(--gold2)) drop-shadow(-2px 0 0 var(--gold2)) drop-shadow(0 2px 0 var(--gold2)) drop-shadow(0 -2px 0 var(--gold2)) drop-shadow(2px 2px 0 #00000073)}@media (hover:hover){:root:root .menu-verb:hover .menu-verb-plate.menu-verb-plate--art{filter:drop-shadow(2px 0 0 var(--gold2)) drop-shadow(-2px 0 0 var(--gold2)) drop-shadow(0 2px 0 var(--gold2)) drop-shadow(0 -2px 0 var(--gold2)) drop-shadow(2px 2px 0 #00000073)}}:root:root .dungeon-tooltip{background:var(--card2);border:2px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 2px 0 rgba(var(--gold-rgb), .35), 4px 4px 0 #140e228c;color:var(--text);text-shadow:none;padding:12px 16px 14px}:root:root .dungeon-tooltip-title{color:var(--gold);font-family:var(--font-logo);letter-spacing:.01em;font-weight:600}:root:root .dungeon-tooltip-meta{color:var(--muted);border-bottom:1px solid #a98bc480}:root:root .dungeon-tooltip-body{color:var(--text2)}:root:root .tip-disabled-reason{border-top-color:#a98bc480}@media (hover:none) and (pointer:coarse){:root:root .tooltip-help-dot{color:var(--bg);background:var(--gold);border:1.5px solid var(--text);border-radius:50%;box-shadow:1px 1px #140e2299}}:root:root .fan-tray .cmd-menu-back:is(button,[class*=menu]):not([class*=stage]):not([class*=scrim]):not([class*=bg]):not([class*=layer]):not([class*=scene]){border-radius:50%}.fan-card-crit{animation:.34s steps(4,end) both fan-card-crit}.fan-card-dodge{animation:.4s ease-out both fan-card-dodge}.fan-card-levelup{animation:.86s ease-out both fan-card-levelup}@keyframes fan-card-crit{0%,to{transform:translate(0)}25%{transform:translate(-4px,2px)}50%{transform:translate(4px,-2px)}75%{transform:translate(-2px)}}@keyframes fan-card-dodge{0%{transform:translate(0)}45%{transform:translate(14px)}to{transform:translate(0)}}@keyframes fan-card-levelup{0%,to{transform:translateY(0)}45%{transform:translateY(-8px)}}.fan-summon{width:var(--fan-summon-px,96%);pointer-events:none;z-index:3;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.fan-summon-shadow{width:64%;height:7px;animation:fan-summon-ground var(--fan-summon-ms,1.8s) linear both;background:#0000006b;margin-left:-32%;position:absolute;bottom:1px;left:50%}.fan-summon-img{transform-origin:50% 100%;width:100%;image-rendering:pixelated;filter:drop-shadow(1px 0 #000000d9)drop-shadow(-1px 0 #000000d9)drop-shadow(0 1px #000000d9)drop-shadow(0 -1px #000000d9)drop-shadow(2px 2px #0009);animation:fan-summon-arc var(--fan-summon-ms,1.8s) both;display:block;transform:scaleX(-1)}.fan-card-summoning .hero-sprite{opacity:0;transition:opacity .14s ease-out}@keyframes fan-summon-arc{0%{opacity:0;animation-timing-function:steps(5,end);transform:scaleX(-1)translateY(26%)scale(.34)}20%{opacity:1;animation-timing-function:steps(2,end);transform:scaleX(-1)translateY(0)scale(1.1)}28%,50%{opacity:1;animation-timing-function:cubic-bezier(.16,1,.3,1);transform:scaleX(-1)translateY(0)scale(1)}62%{opacity:1;transform:scaleX(-1)translate(15%)translateY(-6%)scale(1.12)}72%{opacity:1;animation-timing-function:steps(4,end);transform:scaleX(-1)translate(0)translateY(0)scale(1)}to{opacity:0;transform:scaleX(-1)translateY(20%)scale(.5)}}@keyframes fan-summon-ground{0%,14%{opacity:0;transform:scaleX(.3)}22%,70%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(.4)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .fan-card-crit,:root:not([data-motion=full]) .fan-card-dodge,:root:not([data-motion=full]) .fan-card-levelup{animation:none}:root:not([data-motion=full]) .fan-summon-img{animation:none;transform:scaleX(-1)}:root:not([data-motion=full]) .fan-summon-shadow{opacity:1;animation:none}}.fan-party{min-width:0}.fan-party-row{grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row;align-content:end;gap:10px;width:100%}.fan-hero-card .enemy-readout,.fan-hero-card .enemy-hp-row{max-width:210px}.fan-tray{background:linear-gradient(180deg, var(--card) 0%, var(--bg) 100%);border:2px solid var(--border2);flex-direction:column;gap:8px;min-height:0;padding:10px 14px 12px;display:flex;box-shadow:6px 6px #00000073}.fan-hand-empty{font-family:var(--font-voice);color:var(--muted);margin:0;font-size:.86rem}@media (width>=1024px) and (height>=600px){.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:repeat(var(--escorts,1), minmax(0, auto));grid-auto-columns:auto;grid-auto-flow:row;align-content:end;align-items:end;row-gap:6px}.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted>.fan-foe-lead{grid-column:1;grid-row:1 / span var(--escorts,1);--foe-px:min(24vw, 46vh);align-self:end;margin-bottom:0}.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted>.fan-foe-escort{--foe-px:min(7vw, calc(34vh / var(--escorts,1)));grid-column:2;margin-bottom:0}.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted .enemy-glyph-wrap{width:var(--foe-px);height:var(--foe-px);aspect-ratio:auto;max-width:none}.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted .enemy-sprite-img{width:calc(var(--foe-px) - 4px);height:calc(var(--foe-px) - 4px)}.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted .enemy-glyph{font-size:calc(var(--foe-px) * .74)}.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted .enemy-aura{width:calc(var(--foe-px) * 1.1);height:calc(var(--foe-px) * 1.1);top:auto}.combat-layout .fan-combat .battle-stage .enemy-row.enemy-row-escorted .enemy-ground-shadow{width:calc(var(--foe-px) * .9)}}.fan-target-hint{font-family:var(--font-voice);color:var(--text2);margin:0;font-size:.9rem}.fan-menu{flex-direction:column;gap:8px;min-height:0;display:flex}.cmd-scrollbox{flex:auto;grid-template-columns:minmax(0,1fr) 9px;gap:6px;min-height:0;display:grid}.cmd-scrollbox .commands-grid{scrollbar-gutter:auto}.cmd-scrollbox .commands-grid::-webkit-scrollbar{width:0}.fan-tray .cmd-scrollbox:has(>.commands-grid--tiles){container-type:size}.fan-tray .fan-menu:has(.commands-grid--tiles){flex:auto}.fan-tray .commands-grid.commands-grid--tiles{grid-auto-rows:auto;align-content:safe center;gap:14px 8px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.fan-tray .commands-grid--tiles .cmd-row--art{min-height:0}.cmd-rail:empty{box-shadow:none;background:0 0}.cmd-rail{pointer-events:none;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000080;align-self:stretch;margin:2px 0;position:relative}.cmd-rail-thumb{background:rgba(var(--surface-rgb), .95);min-height:22px;box-shadow:inset 0 0 0 var(--rim-w) var(--border2), inset 0 1px 0 #f2e8d038;position:absolute;left:0;right:0}.cmd-menu-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:6px;display:flex}.cmd-menu-title{min-width:0;font-family:var(--font-voice);letter-spacing:.08em;text-transform:uppercase;color:var(--gold2);overflow-wrap:break-word;flex:1;font-size:.92rem;font-weight:900}.cmd-menu-back{min-height:44px;font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--text2);background:rgba(var(--surface-rgb), .78);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 2px 2px 0 #00000080;cursor:pointer;border:0;flex:none;align-items:center;gap:5px;padding:5px 10px;font-size:.62rem;font-weight:700;display:inline-flex}.cmd-menu-back:active{box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 1px 1px 0 #00000080;transform:translate(1px,1px)}.cmd-menu-back:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}.fan-tray .cmd-menu-head{border-bottom:0;gap:8px;min-height:36px;padding:0}.fan-tray .cmd-menu-head:after{content:"";background:linear-gradient(90deg, rgba(var(--gold-rgb), .6), rgba(var(--gold-rgb), 0));flex:1 1 0;order:3;height:1px}.fan-tray .cmd-menu-back{border:2px solid var(--gold);background:rgba(var(--surface-rgb), .94);width:32px;height:32px;min-height:32px;color:var(--gold2);letter-spacing:0;border-radius:50%;order:-1;justify-content:center;padding:0;font-size:1rem;font-weight:800;position:relative;box-shadow:1px 1px #0000008c}.fan-tray .cmd-menu-back:before{content:"";position:absolute;inset:-6px}.fan-tray .cmd-menu-back:active{box-shadow:none;transform:translate(1px,1px)}@media (hover:hover){.fan-tray .cmd-menu-back:hover{background:rgba(var(--gold-rgb), .22);border-color:var(--gold2)}}.fan-tray .cmd-menu-back-word{display:none}.cmd-menu-icon{object-fit:contain;filter:drop-shadow(1px 1px #00000080);flex:none;order:1;width:34px;height:34px}.fan-tray .cmd-menu-title{letter-spacing:.02em;text-transform:none;white-space:nowrap;color:var(--gold2);text-shadow:1px 1px #000000d9,-1px 0 #0009,0 -1px #0009;flex:0 auto;order:2;font-size:1.02rem;font-weight:800}@media (hover:hover){.cmd-menu-back:hover{color:var(--gold-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2), inset 0 1px 0 #f2e8d01a, 2px 2px 0 #00000080}}.fan-card-active .enemy-readout{box-shadow:0 0 10px rgba(var(--gold-rgb), .45)}@media (width<=900px){.fan-tray{padding:8px 10px 10px}.fan-tray .commands-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px}.fan-tray .cmd-btn{min-height:106px;padding:8px 10px 16px}.fan-hero-card .enemy-readout,.fan-hero-card .enemy-hp-row{max-width:100%}}.fan-belt{background:rgba(var(--surface-rgb), .45);border:var(--rim-w) solid var(--border);border-left:3px solid var(--gold);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.fan-belt-empty{font-family:var(--font-system);letter-spacing:.16em;color:var(--muted);font-size:.6rem;font-weight:700}.fan-belt-chip{background:rgba(var(--surface-rgb), .85);border:var(--rim-w) solid var(--border2);font-family:var(--font-voice);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:.76rem;transition:transform 80ms,border-color .12s;display:inline-flex;box-shadow:2px 2px #00000073}.fan-belt-ico{display:inline-flex}.fan-belt-name{white-space:nowrap;text-overflow:ellipsis;max-width:12ch;overflow:hidden}.fan-belt-count{font-family:var(--font-system);color:var(--gold-ink);font-size:.66rem}.fan-belt-chip-off{cursor:not-allowed;opacity:.5;border-color:var(--border)}.fan-belt-chip:active{transform:translate(1px,1px)}.fan-belt-chip-off:active{transform:none}.fan-belt-chip:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:hover){.fan-belt-chip:hover{border-color:var(--gold);transform:translateY(-2px)}.fan-belt-chip-off:hover{border-color:var(--border);transform:none}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .fan-belt-chip{transition:none}:root:not([data-motion=full]) .fan-belt-chip:active{transform:none}}.fan-notice{background:rgba(var(--surface-rgb), .7);border:var(--rim-w) solid var(--border2);border-left:3px solid var(--forest);flex-wrap:wrap;align-items:center;gap:12px;padding:9px 12px;display:flex;box-shadow:3px 3px #00000073}.fan-notice-lines{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fan-notice-line{font-family:var(--font-voice);color:var(--text);margin:0;font-size:.8rem;line-height:1.35}.fan-notice-close{border:var(--rim-w) solid var(--border2);font-family:var(--font-system);letter-spacing:.16em;color:var(--forest-ink);cursor:pointer;background:0 0;flex:none;padding:5px 11px;font-size:.6rem;font-weight:700}.fan-notice-close:active{transform:translate(1px,1px)}.fan-notice-close:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}@media (hover:hover){.fan-notice-close:hover{border-color:var(--forest)}}.fan-node .fan-belt{width:100%}.fan-offer-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));width:100%}.fan-launch-wait{text-align:center;font-family:var(--font-system);letter-spacing:.12em;color:var(--muted);margin:0;font-size:.66rem}@media (width<=900px){.fan-belt{gap:6px;padding:6px 8px}.fan-belt-name{max-width:8ch}.fan-offer-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}}.fan-event-bet{flex-direction:column;align-items:center;gap:2px;padding:8px 14px;line-height:1.2;display:inline-flex}.fan-event-bet-n{font-family:var(--font-system);font-size:1.15rem;font-weight:700}.fan-event-pick{border-left:3px solid var(--class-tone,var(--border));align-items:center;gap:8px;display:inline-flex}.fan-event-pick-lv{font-family:var(--font-system);opacity:.8;font-size:.66rem}.fan-gear{flex-direction:column;gap:8px;padding:6px 12px 12px;display:flex}.fan-gear-slots .hud-inv-slot{aspect-ratio:auto;flex-direction:column;justify-content:center;gap:4px;min-height:78px;padding:6px 4px}.fan-gear-slots .hud-inv-glyph{font-size:1.3rem}.fan-gear-slots .hud-inv-name{-webkit-line-clamp:2;overflow-wrap:anywhere;width:100%;font-family:var(--font-voice);letter-spacing:.01em;color:var(--text2);text-align:center;-webkit-box-orient:vertical;font-size:.58rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.fan-gear-slots .hud-inv-slot-empty{min-height:78px}.fan-gear-sig{opacity:.9}.fan-gear-refusal{font-family:var(--font-voice);color:var(--muted);margin:0;font-size:.78rem;line-height:1.4}.xp-rail{align-items:center;gap:8px;min-width:0;display:flex}.xp-rail-k{font-family:var(--font-system);letter-spacing:.12em;color:var(--muted);flex:none;font-size:.64rem;font-weight:700}.xp-rail-bar{border:1px solid rgba(var(--gold-rgb), .55);background:#0d0b09e0;flex:auto;min-width:0;height:9px;overflow:hidden;box-shadow:2px 2px #00000080}.xp-rail-fill{background-color:var(--gold);background-image:repeating-linear-gradient(90deg,#00000029 0 1px,#0000 1px 4px);height:100%;transition:width .26s ease-out;display:block;box-shadow:inset 0 1px #f2e8d01f}.xp-rail-text{font-family:var(--font-system);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text2);flex:none;font-size:.76rem}.xp-rail-text b{color:var(--text);font-size:1.16em;font-weight:700}.xp-rail-text i{color:var(--muted);padding:0 2px;font-style:normal}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .xp-rail-fill{transition:none}}.fan-stat-table{flex-direction:column;gap:3px;margin:0;padding:4px 12px 10px;display:flex}.fan-stat-row{border-bottom:1px dashed rgba(var(--gold-rgb), .16);align-items:center;gap:8px;padding:3px 0;display:flex}.fan-stat-row:last-child{border-bottom:0}.fan-stat-label{min-width:0;font-family:var(--font-voice);color:var(--text2);white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:center;gap:6px;font-size:.74rem;display:flex;overflow:hidden}.fan-stat-ico{flex:none;display:inline-flex}.fan-stat-val{font-family:var(--font-system);color:var(--text);flex:none;margin:0;font-size:.76rem;font-weight:700}.fan-hud-hand{flex-direction:column;gap:10px;padding:6px 12px 12px;display:flex}.fan-hud-menu{flex-direction:column;gap:4px;display:flex}.fan-hud-menu-title{font-family:var(--font-system);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);font-size:.58rem;font-weight:700}.fan-hud-hand .commands-grid{grid-template-columns:1fr;gap:6px}.fan-hud-hand .cmd-btn{cursor:default;min-height:92px;padding:7px 9px 14px}.fan-spoils-learned{flex-wrap:wrap;gap:2px 10px;width:100%;margin:0;padding:0;list-style:none;display:flex}.fan-spoils-skill{font-family:var(--font-voice);color:var(--gold-ink);font-size:.78rem}.fan-spoils-stats{flex-wrap:wrap;align-items:center;gap:4px 12px;width:100%;margin:0;padding:0;list-style:none;display:flex}.fan-spoils-stat{min-width:0;color:var(--forest2);align-items:center;gap:3px;display:inline-flex}.vic-stat-pill{--spill:26px;width:var(--spill);height:var(--spill);border-color:rgba(var(--gold-rgb), .5);flex:none;line-height:1;display:inline-block;position:relative}.fan-spoils-stat-n{font-family:var(--font-system);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700}.fan-spoils-stat-loss{color:var(--ember-ink)}.fan-spoils-stat-loss .vic-stat-pill{border-color:#e74c3c8c}@media (orientation:portrait) and (width<=900px){:is(.fan-combat .battle-stage,.fan-combat .battle-stage:has(.enemy-row-n1)){grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;gap:8px;max-height:none;padding:8px 10px 10px}.combat-body .fan-combat .battle-stage>.enemy-row,.combat-body .fan-combat .battle-stage>.stage-side-player{flex:none;align-content:start;align-items:start;height:auto;overflow:visible}.fan-combat .enemy-column{justify-content:flex-start;height:auto}.combat-body .fan-combat .battle-stage .enemy-row-n1{--enemy-px:min(30vw, 13vh)}.combat-body .fan-combat .battle-stage .enemy-row-n2{--enemy-px:min(28vw, 12vh)}.combat-body .fan-combat .battle-stage .enemy-row-n3{--enemy-px:min(23vw, 11vh)}.combat-body .fan-combat .battle-stage .fan-party-row{--enemy-px:min(26vw, 11vh)}.fan-combat .fan-tray .cmd-btn{min-height:96px}.fan-combat .fan-party{width:100%}.fan-combat .fan-party-row{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;width:100%}.fan-combat .fan-hero-card .enemy-readout,.fan-combat .fan-hero-card .enemy-hp-row{max-width:100%}.fan-combat .fan-tray{gap:6px;padding:8px 8px 10px}.fan-tray .commands-grid:has(.fan-cmd-row){grid-template-columns:repeat(4,minmax(0,1fr))!important}.fan-tray .fan-cmd-row{min-height:56px;padding:6px 4px}}@media (orientation:portrait) and (width<=900px) and (height<=720px){.combat-body .fan-combat .battle-stage .enemy-row-n1{--enemy-px:min(26vw, 12vh)}.combat-body .fan-combat .battle-stage .enemy-row-n2{--enemy-px:min(24vw, 11vh)}.combat-body .fan-combat .battle-stage .enemy-row-n3{--enemy-px:min(21vw, 10vh)}.combat-body .fan-combat .battle-stage .fan-party-row{--enemy-px:min(22vw, 10vh)}.fan-combat .battle-stage{gap:4px;padding:4px 8px 6px}.fan-combat .fan-tray{gap:4px;padding:6px 8px 8px}}.fan-shell-combat .combat-screen,.fan-shell-map .map-main,.fan-shell-node .non-combat-content,.fan-map-main{min-width:0}@media (width<=900px){.fan-hud-hand .commands-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}}.scn-curtain{z-index:var(--z-curtain);--scn-accent:var(--border2);--scn-accent-rgb:var(--gold-rgb);--scn-ms:.38s;--scn-band-ms:.22s;--scn-step:26ms;--scn-pix:22px;--scn-ease:steps(7, end);pointer-events:auto;animation:scn-release var(--scn-ms) step-end forwards;position:fixed;inset:0;overflow:hidden}@keyframes scn-release{0%{pointer-events:auto}to{pointer-events:none}}.scn-curtain[data-move=door]{--scn-ms:.3s;--scn-band-ms:.2s;--scn-ease:steps(5, end)}.scn-curtain[data-tone=ember]{--scn-accent:var(--ember2);--scn-accent-rgb:var(--ember2-rgb)}.scn-curtain[data-tone=gold]{--scn-accent:var(--gold2);--scn-accent-rgb:var(--gold2-rgb)}.scn-band{z-index:0;background:var(--bg);will-change:transform;position:absolute}.scn-curtain[data-move=deeper] .scn-band{background:linear-gradient(to bottom, rgba(var(--scn-accent-rgb), .34) 0%, rgba(var(--scn-accent-rgb), 0) 26%), var(--bg)}.scn-curtain[data-move=back] .scn-band{background:linear-gradient(to top, rgba(var(--scn-accent-rgb), .34) 0%, rgba(var(--scn-accent-rgb), 0) 26%), var(--bg)}.scn-curtain[data-move=deeper] .scn-band,.scn-curtain[data-move=back] .scn-band{height:calc(100% / var(--scn-n) + .5px);left:0;right:0;top:calc(var(--scn-i) * 100% / var(--scn-n));animation:scn-band-y var(--scn-band-ms) var(--scn-ease) forwards}.scn-curtain[data-move=deeper] .scn-band{transform-origin:bottom;animation-delay:calc(var(--scn-i) * var(--scn-step))}.scn-curtain[data-move=back] .scn-band{transform-origin:top;animation-delay:calc((var(--scn-n) - 1 - var(--scn-i)) * var(--scn-step))}@keyframes scn-band-y{to{transform:scaleY(0)}}.scn-curtain[data-move=door] .scn-band{width:calc(50% + .5px);top:0;bottom:0;left:calc(var(--scn-i) * 50%);transform-origin:calc(var(--scn-i) * 100%) center;animation:scn-band-x var(--scn-band-ms) var(--scn-ease) forwards}@keyframes scn-band-x{to{transform:scaleX(0)}}.scn-veil{z-index:1;background:var(--bg);opacity:0;animation:scn-veil var(--scn-ms) ease-out forwards;position:absolute;inset:0}@keyframes scn-veil{0%{opacity:.4}to{opacity:0}}.scn-curtain .scn-scan{z-index:2;animation:scn-scan var(--scn-ms) linear forwards}@keyframes scn-scan{0%{opacity:.55}to{opacity:0}}.scn-flash{z-index:3;background:rgba(var(--scn-accent-rgb), .5);mix-blend-mode:screen;opacity:0;animation:.13s ease-out forwards scn-flash;position:absolute;inset:0}@keyframes scn-flash{0%{opacity:.55}to{opacity:0}}.scn-tear{z-index:4;background:var(--scn-accent);height:3px;box-shadow:0 0 10px rgba(var(--scn-accent-rgb), .85), 0 0 34px rgba(var(--scn-accent-rgb), .4);will-change:transform;animation:var(--scn-ms) cubic-bezier(.33, 0, .67, 1) forwards;position:absolute;left:0;right:0}.scn-curtain[data-move=deeper] .scn-tear{animation-name:scn-tear-down;top:-2px}.scn-curtain[data-move=back] .scn-tear{animation-name:scn-tear-up;bottom:-2px}@keyframes scn-tear-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(101dvh)}}@keyframes scn-tear-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-101dvh)}}.scn-curtain[data-move=door] .scn-tear{width:3px;height:auto;animation-name:scn-tear-left;inset:0 auto 0 50%}.scn-curtain[data-move=door] .scn-tear[data-side=b]{animation-name:scn-tear-right}@keyframes scn-tear-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-51vw)}}@keyframes scn-tear-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(51vw)}}.scn-pix{z-index:5;background-image:repeating-conic-gradient(rgba(var(--surface-rgb), .72) 0% 25%, transparent 0% 50%), repeating-conic-gradient(rgba(var(--surface-rgb), .46) 0% 25%, transparent 0% 50%), repeating-conic-gradient(rgba(var(--surface-rgb), .26) 0% 25%, transparent 0% 50%);background-size:calc(var(--scn-pix) * 2) calc(var(--scn-pix) * 2), calc(var(--scn-pix) * 6) calc(var(--scn-pix) * 6), calc(var(--scn-pix) * 10) calc(var(--scn-pix) * 10);background-position:0 0, calc(var(--scn-pix) * 3) var(--scn-pix), var(--scn-pix) calc(var(--scn-pix) * 5);image-rendering:pixelated;animation:scn-pix var(--scn-ms) var(--scn-ease) forwards;position:absolute;inset:0}@keyframes scn-pix{0%{opacity:1;background-size:calc(var(--scn-pix) * 2) calc(var(--scn-pix) * 2), calc(var(--scn-pix) * 6) calc(var(--scn-pix) * 6), calc(var(--scn-pix) * 10) calc(var(--scn-pix) * 10)}40%{opacity:.95;background-size:calc(var(--scn-pix) * 2) calc(var(--scn-pix) * 2), calc(var(--scn-pix) * 6) calc(var(--scn-pix) * 6), calc(var(--scn-pix) * 10) calc(var(--scn-pix) * 10)}78%{opacity:.55;background-size:calc(var(--scn-pix) * 4) calc(var(--scn-pix) * 4), calc(var(--scn-pix) * 12) calc(var(--scn-pix) * 12), calc(var(--scn-pix) * 20) calc(var(--scn-pix) * 20)}to{opacity:0;background-size:calc(var(--scn-pix) * 7) calc(var(--scn-pix) * 7), calc(var(--scn-pix) * 21) calc(var(--scn-pix) * 21), calc(var(--scn-pix) * 35) calc(var(--scn-pix) * 35)}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) .scn-curtain,:root:not([data-motion=full]) .scn-curtain[data-move=door]{--scn-ms:.3s;animation:scn-release var(--scn-ms) step-end forwards, scn-curtain-out var(--scn-ms) ease-out forwards}:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-band,:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-pix,:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-veil,:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-scan,:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-flash,:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-tear{animation:none}:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-tear,:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-flash,:root:not([data-motion=full]) .scn-curtain[data-move][data-tone] .scn-pix{opacity:0}}@keyframes scn-curtain-out{0%{opacity:1}to{opacity:0}}.key-badge{min-width:2.4em;font-family:var(--font-system);letter-spacing:.04em;text-transform:uppercase;background:var(--text);color:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:1px 1px 0 rgba(var(--surface-rgb), .9);pointer-events:none;justify-content:center;align-items:center;margin-top:3px;padding:1px 5px;font-size:.68rem;font-weight:700;line-height:1.35;display:inline-flex}.key-badge--black{background:var(--bg);color:var(--text);border-color:var(--border2)}.key-badge.is-dim{opacity:.45}.dmap-key>.key-badge{transform:translateX(-50%) scale(calc(1 / var(--map-scale,1)));transform-origin:top;position:absolute;top:44px;left:50%}.enemy-fx-mount>.key-badge{z-index:3;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.fan-gear-slots .hud-inv-slot>.key-badge,.hud-relic-slot>.key-badge{margin:0;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.shop-tile>.key-badge{z-index:1;margin:0;position:absolute;top:2px;right:2px}.run-door>.key-badge{margin:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.lb-tabs>.key-badge{align-self:center;margin-top:0}.lb-cat-label>.key-badge,.lb-page-info>.key-badge{margin-top:0;margin-left:6px}.cmd-scroll-keys{flex:none;justify-content:flex-end;gap:6px;display:flex}.ctape-trk:has(>.key-badge){grid-template-columns:26px minmax(0,1fr) 54px auto auto}.ctape-trk>.key-badge{margin-top:0}.fan-belt-chip-picked{border-color:var(--gold)}.fan-belt-detail{color:var(--text);flex-wrap:wrap;flex-basis:100%;align-items:baseline;gap:6px;margin:0;font-size:.72rem;display:flex}.fan-belt-detail-name{color:var(--gold-ink);font-weight:700}.fan-belt-detail-desc{color:var(--muted)}.fan-belt-detail-reason{color:var(--ember-ink)}.fan-belt-detail>.key-badge{margin-top:0;margin-left:auto}.fan-piano-facet{flex-direction:column;gap:6px;display:flex}.fan-piano-facet>.key-badge{align-self:flex-start}.fan-piano-facet .setting-row{grid-template-columns:minmax(0,1fr);padding-inline:12px}.fan-piano-facet .setting-row>.setting-answer{justify-content:flex-start}.piano-perf-score{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.piano-perf-line{background:var(--bg);border:1px solid rgba(var(--gold-rgb), .18);border-radius:var(--radius);flex:1 1 0;min-height:150px;position:relative;overflow:hidden}.piano-perf-line--next{opacity:.85;flex-grow:.8}.piano-perf-line--again{opacity:1;border-color:var(--gold)}.piano-perf-again{z-index:1;background:var(--gold);color:var(--bg);font-family:var(--font-voice);padding:2px 8px;font-size:.78rem;font-weight:700;position:absolute;top:6px;left:10px}.piano-perf-system{position:absolute;inset:8px 10px}.piano-perf-system svg{width:100%;height:100%}.piano-perf-playhead{background:var(--gold);width:2px;height:100%;box-shadow:0 0 6px var(--gold);pointer-events:none;display:none;position:absolute;top:0;bottom:0}.piano-perf-phase--play{color:var(--gold-ink)}.piano-perf-skip-hint{text-align:center;font-family:var(--font-system);color:var(--muted);margin:6px 0 0;font-size:.72rem}@media (orientation:landscape) and (height<=500px){.combat-layout{flex-direction:column}.combat-body,.map-body,.non-combat-body{flex-direction:row;min-height:0}.combat-tray .command-box,.command-box-actions{min-height:0}.command-box-actions .commands-grid{scrollbar-width:none;flex:auto;min-height:0;overflow-y:auto}.command-box-actions .commands-grid::-webkit-scrollbar{display:none}.command-box-actions .btn-end-turn{white-space:nowrap;flex:none}.battle-stage .stage-side-player .minion-panel{max-width:min(210px,25vw + 4px);margin-left:auto}.map-body{position:relative}.fan-combat .fan-party-row{--party-body:1.22}.fan-combat .battle-stage .enemy-row.fan-party-row{top:23px}.fan-combat .fan-party-row .enemy-fx-mount{transform:scale(var(--party-body));transform-origin:bottom;margin-top:-6px;margin-bottom:-4px}.fan-combat .fan-party-row .enemy-status-row,.fan-combat .fan-party-row .enemy-name-rule{display:none}.fan-combat .fan-party-row .enemy-readout{gap:0}.fan-combat .fan-party-row .enemy-column{justify-content:center;padding:0 4px}.fan-combat .fan-party-row .enemy-nameplate-row{min-height:0;margin:0}.fan-combat .fan-party-row .enemy-name{font-size:.66rem;line-height:1.1}.fan-combat .fan-party-row .hud-hp-row,.fan-combat .fan-party-row .enemy-hp-row{margin:0;padding:0}.fan-combat .fan-party-row .enemy-hp-text{font-size:.6rem}.combat-body .fan-combat .battle-stage>.enemy-row:not(.fan-party-row){padding-top:10px}.combat-layout .combat-body .battle-stage .enemy-row-n1{--enemy-px:min(30vw, 19vh)}.combat-layout .combat-body .battle-stage .enemy-row-n2{--enemy-px:min(26vw, 17vh)}.combat-layout .combat-body .battle-stage .enemy-row-n3{--enemy-px:min(22vw, 16vh)}.fan-combat .fan-tray .fan-cmd-row{min-height:44px}.combat-layout .combat-body .battle-stage .enemy-row-n1 .enemy-sprite-img,.combat-layout .combat-body .battle-stage .enemy-row-n1 .enemy-glyph-wrap{width:min(34vw,56vh);height:min(34vw,56vh)}.combat-layout .combat-body .battle-stage .enemy-row-n2 .enemy-sprite-img,.combat-layout .combat-body .battle-stage .enemy-row-n2 .enemy-glyph-wrap{width:min(24vw,45vh);height:min(24vw,45vh)}.combat-layout .combat-body .battle-stage .enemy-row-n3 .enemy-sprite-img,.combat-layout .combat-body .battle-stage .enemy-row-n3 .enemy-glyph-wrap{width:min(19vw,36vh);height:min(19vw,36vh)}.combat-body .stage-side-player .hero-stage-mount{margin-top:0;transform:none}.battle-stage .enemy-readout,.battle-stage .enemy-hp-row{max-width:min(100%,210px)}.combat-body .battle-stage{grid-template-rows:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;padding:8px 12px 10px;display:grid}.combat-body .battle-stage>.enemy-row{height:100%}.combat-body .battle-stage>.stage-side-player{height:100%;min-height:0}.map-main,.combat-body .battle-stage{flex:auto;min-width:0;min-height:0}.combat-layout .combat-tray{flex:0 auto;max-height:42%;overflow-y:auto}:is(.combat-layout .combat-tray:has(.command-box),.combat-layout .combat-tray:has(.fan-tray),.combat-layout .combat-tray:has(.targeting-panel),.combat-layout .combat-tray:has(.phase-panel)){max-height:none}.cmd-tray-toggle,.cmd-tray-backdrop{display:none}.command-box{z-index:auto;max-height:none;position:static;bottom:auto;overflow:visible;transform:none}.map-svg-wrap,.map-body .map-svg-wrap svg,.combat-layout .combat-tray{min-height:0}:root{--stage-stagger:8px}.fan-node .screen-ico{display:none}.fan-node .screen-card{gap:6px;padding:10px 14px}.fan-node .screen-title{font-size:1.05rem}.fan-node .screen-text{font-size:.78rem}.fan-node .rest-effect{padding:3px 8px}.fan-node .rest-effects{max-height:22vh;overflow-y:auto}.non-combat-content{padding:10px 12px}.title-mark{flex-direction:row;align-items:baseline;gap:6px;margin-top:0}.title-mark-home .mark-line,.title-mark-start .mark-line,.title-mark-lore .mark-line,.hub-mark .mark-line,.mark-line{text-shadow:2px 2px #000;font-size:clamp(.9rem,2.2vw,1.4rem)}.title-mark{flex-wrap:wrap}.mark-rule{display:none}.title-main{gap:10px;padding:10px 14px 14px}.title-tagline{display:none}.app-header,.title-status,.lb-head{min-height:0;padding:6px max(14px, env(safe-area-inset-right)) 6px max(14px, env(safe-area-inset-left));flex-wrap:nowrap;gap:8px;overflow:hidden}.turnstrip{top:calc(12px + env(safe-area-inset-top,0px));left:calc(var(--run-chrome-w) + 6px + env(safe-area-inset-left,0px))}.turnstrip-slot{--turnstrip-px:24;width:24px;height:24px;margin:0 2px}.turnstrip-slot.is-now{--turnstrip-px:32;width:32px;height:32px}.turnstrip-rail{width:6px}.turnstrip-cap{font-size:.5rem}.vitals{top:calc(8px + env(safe-area-inset-top,0px));right:calc(3px + env(safe-area-inset-right,0px));gap:4px;width:min(190px,22%)}.vitals .splate-face{padding:5px 9px 6px 22px}.vitals .pool-pips{gap:3px}.vitals .pool-pips-row{gap:2px}.vitals .pool-pip{width:5px;height:5px}.vital-name{font-size:.74rem}.vital-bar{height:7px}.vital-top:has(>.pool-pips){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name pool""pills pills"}.vital-top :is(.hero-status-pill,.enemy-status-pill){--spill:28px}.vital-top>.vital-pills{height:32px}.status-state{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.status-version,.status-tag~.status-sep:first-of-type,.command-box-actions .cmd-btn-hand .cmd-btn-meta,.fan-tray .cmd-btn-hand .cmd-btn-meta{display:none}.exercise-wrap{flex:auto;gap:3px;height:100%;min-height:0;overflow-y:auto}.exercise-card{padding-top:2px;padding-bottom:2px}.exercise-header{margin-bottom:0;padding-bottom:4px}:root{--ex-q-fs:.92rem}.exercise-instruction{padding:3px 12px}.exercise-dots-row{gap:4px 9px}.exercise-footer{flex:none;gap:6px;padding-top:0}.exercise-footer button{min-height:44px;padding-top:6px;padding-bottom:6px}.exercise-footer-sing{flex-wrap:wrap;justify-content:center;gap:6px}.exercise-footer-sing .sing-recalib-btn{margin-right:0}.exercise-staff-wrap{--staff-floor:98px;min-height:var(--staff-floor);flex:auto;max-height:30vh;overflow:hidden}.exercise-staff-wrap svg{max-height:var(--staff-floor);height:auto}.re-staff-wrap{--staff-floor:132px;min-height:var(--staff-floor);height:var(--staff-floor)}.re-hit-area{padding:2px 0}.re-hit-btn{width:min(280px,44vw);height:84px}@media (height<=340px){.re-staff-wrap{--staff-floor:96px}.re-hit-btn{height:66px}}.re-staff-wrap svg,.re-staff-wrap .re-staff,.re-staff-wrap .re-staff>div{max-height:var(--staff-floor)}.re-staff-wrap svg{display:block}.piano-console{gap:2px;width:50px}.piano-mode-btn{gap:2px;min-height:44px;padding:3px 2px;font-size:.52rem}@media (height<=360px){.piano-mode-hint{display:none}}.piano-wrong-feedback{min-height:16px;padding:1px 0;font-size:.7rem}.exercise-wrap{justify-content:flex-start;padding-top:4px;padding-bottom:0;position:relative}.exercise-wrap:has(>.exercise-utils){padding-top:4px}.exercise-wrap:has(>.exercise-utils)>.exercise-header{min-height:44px;padding-top:0}.exercise-wrap>.exercise-staff-wrap,.exercise-wrap>.exercise-staff{flex:1 1 0;min-height:84px;max-height:none}.exercise-wrap>.notation-prompt{flex:1 1 0;align-items:center;min-height:84px;display:flex;overflow:hidden}.exercise-wrap>.notation-prompt>.notation-stage{height:100%;min-height:0}.exercise-wrap>.exercise-staff-wrap>.exercise-staff,.exercise-wrap>.exercise-staff{--staff-fit:1;flex:auto;justify-content:center;height:100%;min-height:0}.exercise-wrap>.exercise-staff{flex:1 1 0}.exercise-wrap .exercise-staff svg{width:100%;height:100%;max-height:100%}.exercise-wrap>.mc-choices,.exercise-wrap>.notation-choices{align-content:center;max-width:none;margin-block:auto}.exercise-wrap>.mc-stage{flex:1 1 0;justify-content:center;gap:6px;min-height:0;margin-block:0;padding:8px 12px}.exercise-wrap>.mc-stage>.mc-stage-glyph{padding:0;font-size:2.4rem}.exercise-wrap>.mc-stage>.mc-viz{flex:1 1 0;height:auto;min-height:44px}.exercise-wrap>.notation-choices>.notation-choice-btn{min-height:52px}.exercise-wrap>.mc-choices>.mc-choice-btn{flex:200px;max-width:420px;min-height:56px;font-size:1rem}.exercise-wrap:has(>.piano-rail)>.exercise-dots-row{gap:3px 8px}.exercise-wrap:has(>.piano-rail) .ex-dot{width:9px;height:9px}.exercise-wrap:has(>.piano-rail) .staff-measure-indicator{font-size:.62rem}.exercise-card:has(.piano-rail){padding-bottom:env(safe-area-inset-bottom,0px)}.exercise-wrap:has(>.piano-rail)>.piano-rail{flex:none;gap:4px;padding:0}.notation-choices{gap:6px;padding:6px 4px 2px}.notation-choice-btn{min-height:44px;padding:6px 10px}.rr-grid{gap:6px}.rr-option{gap:8px;padding:6px 10px}.history-prompt{min-height:calc(2.8em + 8px);padding:6px 10px 2px}.history-choices{gap:6px;padding:6px 4px 2px}.history-choice-btn{padding:6px 14px}@media (height<=340px){.history-prompt{min-height:calc(2.8em + 2px);padding:2px 10px 0}.history-choices{padding:2px 4px 0}.history-choice-btn{min-height:44px;padding:4px 12px}}.exercise-wrap>.rr-grid{flex:1 1 0;align-content:stretch;max-width:none;min-height:0;margin-bottom:6px}.exercise-wrap>.rr-grid:not(.rr-grid--wide){grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-rows:1fr;display:grid}.exercise-wrap>.rr-grid>.rr-option{flex:1 1 0;align-items:stretch;min-width:0;max-width:none;min-height:0;overflow:hidden}.rr-option-num{align-self:center;width:28px;height:28px;font-size:.86rem}.rr-option-staff,.rr-grid--contain .rr-option-staff{--rr-staff-h:100%;align-self:stretch;height:100%;min-height:0}.rr-option-staff>div{justify-content:center;align-items:center;display:flex}.ex-replay-btn,.sing-replay-btn,.mc-replay-btn{min-height:44px;padding:4px 16px}.interval-listen{margin:0 0 4px}.mc-replay-row{padding:2px 4px 0}.lb-title-row{display:none}.lb-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:2px 14px;padding:5px 8px;display:grid}.lb-cat-group{gap:4px;min-width:0}.lb-cat-label{letter-spacing:.1em;font-size:.56rem}.lb-chip-row{scrollbar-width:none;flex-wrap:nowrap;gap:4px;overflow-x:auto}.lb-chip-row::-webkit-scrollbar{display:none}.lb-controls .btn,.lb-chip-row>*{flex:none;min-height:44px;padding:3px 9px;font-size:.72rem}.lb-filter-note{display:none}.cbrowse-controls{gap:5px}.cbrowse-search{min-height:44px;padding:4px 10px}.cf-chip{flex:none;min-height:44px;padding:3px 9px;font-size:.68rem}.cf-row{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.cf-row::-webkit-scrollbar{display:none}.wshop-hero-banner{display:none}.vic-foot{z-index:var(--z-sticky);background:linear-gradient(180deg, rgba(var(--surface-rgb), 0), rgba(var(--surface-rgb), .92) 45%);gap:10px;margin-top:4px;padding:6px 0 2px;position:sticky;bottom:0}.vic-cta{min-height:44px;padding-inline:22px}.vic-hint{display:none}.vic{padding:max(10px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) max(6px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));gap:6px}.vic-top{align-items:center;gap:10px}.vic-title{text-shadow:2px 2px #000000d9;font-size:1.4rem}.choice-panel,.offer-screen{padding:max(10px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));gap:10px}.choice-panel.choice-panel-embedded{padding:0}.choice-panel .commands-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.choice-panel .cmd-btn{min-height:0;padding:8px 10px 16px}.offer-header{gap:2px}.offer-title{font-size:1.2rem}.offer-message{margin:2px auto 0;font-size:.85rem}.vic-where{letter-spacing:.14em;font-size:.58rem}.vic-grid{align-items:center;gap:10px;display:flex}.vic-tallies{flex-direction:row;flex:none;gap:8px}.vic-tally{gap:9px;padding:5px 18px 5px 24px}.vic-tally-k{width:4.4em;font-size:.6rem}.vic-tally-n{text-shadow:1px 1px #000000d9;font-size:1.5rem}.vic-bonuses{flex-direction:row;flex:0 auto;gap:10px;padding-top:0}.vic-spoils{flex:auto;max-width:26rem;margin-left:auto}.vic-spoils .splate-face{max-height:30vh;padding:5px 12px 6px 14px}:is(.vic-spoils .vic-loot,.vic-spoils .vic-loot:has(>:nth-child(3))){flex-flow:wrap;gap:2px 14px;display:flex}.vic-spoils .vic-loot-pill:has(.painted-art){--spill:30px}.vic-spoils .vic-loot:has(>:nth-child(3)) .vic-loot-pill:has(.painted-art){--spill:30px}.vic-spoils .vic-loot-row{gap:6px;font-size:.78rem}.vic-spoils .vic-loot:has(>:nth-child(3)) .vic-loot-row{gap:6px;font-size:.78rem}.vic-loot-n{margin-left:2px;font-size:.86rem}.vic-loot-none{font-size:.74rem}.vic-felled li{gap:6px;font-size:.7rem}.vic-felled-ico{width:18px;height:18px}.vic-cards{flex-direction:row;justify-content:center;align-items:stretch;gap:8px;min-height:0;padding-top:0;padding-bottom:0}.vic-card{clip-path:polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px));flex-direction:column;flex:1 1 0;align-items:stretch;gap:3px;min-width:0;min-height:0;padding:7px 9px;display:flex}.vic-cards:not(:has(.vic-card+.vic-card)) .vic-card{flex-direction:row;align-items:center;gap:10px}.vic-cards:not(:has(.vic-card+.vic-card)) .vic-card-top{flex:none}.vic-cards:not(:has(.vic-card+.vic-card)) .vic-card-xp{flex:auto;width:auto}.vic-card-top{gap:7px}.vic-card-lv{padding:0 4px;font-size:.56rem}.vic-card-levelup{font-size:.66rem}.vic-card-levelup b{font-size:.68rem}.vic-card-xp .xp-rail{gap:6px}.vic-card-xp .xp-rail-bar{height:7px}.vic-card-xp .xp-rail-text{font-size:.68rem}.vic-card-xp .xp-rail-k{font-size:.56rem}.vic-card-gains{gap:2px;font-size:.64rem}.vic-card-note{font-size:.66rem}.fan-spoils-stats{gap:2px 7px}.vic-stat-pill{--spill:17px}.fan-spoils-stat{gap:2px}.fan-spoils-stat-n{font-size:.68rem}.fan-spoils-learned{gap:0 7px}.fan-spoils-skill{font-size:.64rem}.prac-lab-head{margin-bottom:8px}.prac-lab-h2{margin:0;font-size:1rem}.prac-lab-sub{display:none}.prac-lab-stage{padding-block:8px}.menu-item-lab{min-height:0;padding:8px 10px}.menu-item-lab .menu-item-sub{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hub-screen{padding:10px 12px;overflow-y:auto}.hub-card{gap:10px;max-width:100%;padding:12px 16px 14px}.hub-head{margin-bottom:10px}.hub-subtitle,.hub-blurb{display:none}.hub-lists{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-flow:column;align-items:start;column-gap:16px;display:grid}.menu-list+.hub-section-cap{margin-top:0}.title-stage .title-main{justify-content:center;gap:12px;min-height:100%;padding-block:10px}.title-stage .menu-list{flex-flow:wrap;align-items:stretch;gap:8px}.title-stage .menu-list>*{flex:clamp(150px,30%,260px);display:flex}.title-stage .menu-item{text-align:center;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:6px;width:100%;min-height:0;padding:10px 10px 11px}.title-stage .menu-item-body{text-align:center;align-items:center}.title-stage .menu-item-icon{width:40px;height:40px}.title-stage .menu-item-label{font-size:.92rem;line-height:1.15}.title-stage .menu-item-sub{font-size:.66rem;line-height:1.25}.title-stage .menu-item-arrow,.title-stage .menu-item-chev{display:none}.hub-screen .menu-item{gap:10px;min-height:48px;padding:6px 12px}.hub-screen .menu-item-sub{display:none}.hub-account{margin-bottom:6px}.hub-foot,.hub-account{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.hub-screen .hub-account .menu-item{flex:auto;min-height:44px}.hub-screen .menu-item-icon{width:34px;height:34px}.hub-screen .menu-item-label{font-size:.92rem}.hub-screen .menu-item-sub{font-size:.7rem}.hub-foot{margin-top:10px}.settings-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;column-gap:18px;padding-bottom:8px;display:grid}.settings-panel .setting-row{row-gap:2px;min-height:44px;padding:6px 12px}.settings-panel .setting-row.setting-row-wide{grid-column:1/-1}.settings-panel .setting-row:nth-of-type(2n){background:0 0}.settings-panel .setting-row:nth-child(2){border-top:none}.setting-cap{font-size:.72rem}.settings-panel .setting-controls{width:100%}.settings-panel .setting-btn{white-space:nowrap;flex:1 1 0;min-width:0;max-width:none;padding:6px 8px;font-size:clamp(.72rem,1.5vw,.84rem)}.settings-panel .setting-volume{gap:6px;min-width:0;padding:5px 7px}.settings-panel .setting-volume .setting-slider{flex:40px;min-width:40px}.settings-panel .setting-volume-pct{min-width:30px;font-size:.66rem}.settings-panel .setting-preview{padding:6px 7px}.gmenu-dialog:has(.settings-sheet){max-width:860px}.settings-panel.settings-tabpanel{flex-direction:column;padding-bottom:6px;display:flex}.gmenu-body-fill:has(.settings-sheet){padding:6px 12px 10px}.settings-sheet{gap:9px}.settings-sheet>.plate-tabs--rail{--plate-tab-ico:24px;gap:4px;min-width:0;padding:3px}.settings-sheet .plate-tab{padding:2px 10px 2px 6px;font-size:.76rem}.gmenu-dialog{max-height:94dvh}.gmenu-dialog .gmenu-head{padding:8px 18px 0}.gmenu-dialog .gmenu-title{font-size:.98rem}.gmenu-dialog .gmenu-sub{font-size:.68rem}.gmenu-rule{margin:7px 26px 2px}.gmenu-dialog .gmenu-foot{padding:6px 12px max(8px, env(safe-area-inset-bottom))}.gmenu-close-wide{min-width:min(220px,60%);padding:0 18px;font-size:.74rem}@media (height<=360px){.gmenu-dialog .gmenu-sub{display:none}.gmenu-dialog .gmenu-head{padding-top:6px}.gmenu-rule{margin:5px 24px 2px}.gmenu-body-fill:has(.settings-sheet){padding:4px 12px}.settings-sheet>.plate-tabs--rail{gap:3px;padding:2px}.gmenu-dialog:has(.settings-sheet) .gmenu-foot{padding:4px 12px max(6px, env(safe-area-inset-bottom))}}.landing{--landing-gutter:16px}.landing-sec{padding:32px 0}.landing [id]{scroll-margin-top:52px}.landing-nav{padding:3px 12px}.landing-nav-mark{font-size:.6rem}.landing-hero{min-height:calc(100svh - 50px)}.landing-hero-copy{padding-top:14px;padding-bottom:4px}.landing-hero-copy>*{max-width:25rem}.landing-word{flex-direction:row;gap:.45em;margin-bottom:10px;font-size:clamp(1rem,2.6vw,1.5rem)}.landing-hero-pitch{margin-bottom:6px;font-size:1.15rem}.landing-hero-sub{margin-bottom:12px;font-size:.9rem;line-height:1.4}.landing-hero-facts{margin-top:10px;font-size:.6rem}.landing-btn-lg{min-height:44px;padding:11px 22px;font-size:.95rem}.landing-hero-ground{--ground:106px;--frame:clamp(88px, 13vw, 118px)}.landing-h2{margin-bottom:12px;padding-bottom:12px;font-size:1.25rem}.landing-fam{margin-top:24px}.landing-demo-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 10px}.demo-ex-plate{gap:10px;min-height:60px;padding:8px 10px 8px 8px}.demo-ex-glyph{width:40px;height:40px}.demo-ex-desc{font-size:.8rem}.landing-how{padding:40px 0 28px}.landing-how-grid{grid-template-columns:minmax(0,1fr) max-content;gap:16px}.landing-how-plate{padding:20px 20px 22px}.bp-stage{min-height:200px}.bp-row{gap:8px}.bp-enemy-img{width:96px;height:96px}.landing-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:none;margin-top:18px}.landing-class-plate{margin:-18px 4px 0;padding:10px 10px 12px}.landing-class-name{font-size:1rem}.landing-class-line{font-size:.8rem}.landing-edu-pitch{padding:22px}.landing-edu-list{padding:6px 22px}.landing-edu-item{padding:12px 0}.landing-faq-list{margin-top:18px}.landing-end{padding:56px var(--landing-gutter) 24px}.duel-topbar{padding:6px clamp(10px,2.5vw,20px)}.duel-actionbar{min-height:0;padding:8px clamp(10px, 2.5vw, 20px) calc(8px + env(safe-area-inset-bottom,0px))}.duel-gate-btn{gap:2px;min-height:48px;padding:8px 16px}.drill-stage{padding:8px 12px}.drill-intro,.drill-outcome{gap:10px;padding:10px 16px}.drill-intro-title{font-size:1.15rem}.drill-intro-body{gap:8px 14px}.drill-pair,.drill-who{gap:8px}.drill-asks .splate-face{padding:8px 14px 9px 16px}.drill-asks-list{gap:3px}.drill-asks-row{font-size:.8rem}.drill-asks-pill{--spill:19px}.vic-spoils-title{font-size:.66rem}.vic-spoils-rule{margin-bottom:4px}.wshop-topbar{gap:10px;padding:6px 14px}.wshop-back{align-items:center;min-height:44px;padding:4px 8px;display:inline-flex}.wshop-mark{font-size:.95rem}.wshop-body{gap:10px;padding:10px 20px 28px}.wshop-roster{flex-wrap:nowrap;gap:6px;overflow-x:auto}.wshop-hero-chip{flex:none}.wshop-hero-banner{grid-template-columns:66px 1fr;gap:12px;padding:8px 12px}.wshop-hero-portrait{width:66px;height:76px}.wshop-hero-name{font-size:1.05rem}.wshop-hero-identity{font-size:.8rem;line-height:1.25}.wshop-section{padding-top:6px}.wshop-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.lb-stage{padding:10px 12px}.lb-main{gap:10px}.lb-title{font-size:1.1rem}.non-combat-body{position:relative}.spoils-plate{gap:8px;width:min(380px,100%);padding:11px 14px 10px}.spoils-title{font-size:.94rem}.spoils-rows{gap:5px;padding:8px 10px}.spoils-row{font-size:.8rem}.spoils-foot{padding:6px 8px}.non-combat-content:has(>.event-plate-screen){padding:8px max(10px, env(safe-area-inset-right,0px)) 8px max(10px, env(safe-area-inset-left,0px))}.node-stage .non-combat-content{padding:max(8px, env(safe-area-inset-top,0px), env(safe-area-inset-bottom,0px)) max(10px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-top,0px), env(safe-area-inset-bottom,0px)) max(10px, env(safe-area-inset-left,0px));align-items:safe center}.screen:has(>.shop-card){max-width:none;padding:0}.node-stage .shop-card{gap:8px 12px;padding:10px 14px}.node-stage .shop-card>.screen-ico{width:34px;height:34px;font-size:1.15rem}.node-stage .shop-card>.screen-title{font-size:1.02rem}.node-stage .shop-card>.gold-display{font-size:.7rem}.plate-tabs{gap:4px;padding:3px}.plate-tab{min-height:44px;padding:4px 10px;font-size:.6rem}.screen:has(>.shop-card){flex-direction:column;min-height:0;max-height:100%;display:flex}.node-stage .shop-card{grid-auto-rows:minmax(0,auto);min-height:0;max-height:100%}.node-stage .shop-card>.plate-tabs{min-height:50px}.node-stage .shop-card>.shop-leave{min-height:44px}.node-stage .shop-card>.shop-stock{min-height:138px}.node-stage .shop-card>.screen-ico,.node-stage .shop-card>.screen-title{display:none}.node-stage .shop-card{grid-template-areas:"tabs tabs purse keeper""warn warn warn keeper""stock stock stock keeper""detail detail detail keeper";grid-template-rows:auto auto minmax(0, 1fr) var(--shop-detail-h)}.node-stage .shop-card>.plate-tabs,.node-stage .shop-card>.shop-section-label{margin-left:calc(var(--run-chrome-w) - 14px)}.node-stage .shop-card>.shop-detail{padding:9px 12px}.screen:has(>.shop-card){height:100%}.node-stage .shop-card{--keeper-min-h:0px;--keeper-voice-h:6.5rem;--shop-detail-h:8.5rem;flex:auto}.node-stage .shop-card>.shop-detail>.shop-detail-head .shop-detail-ico{width:min(84px,19vh);height:min(84px,19vh)}.survey-shell{gap:12px;padding:14px 16px 84px}.survey-head{gap:6px}.survey-title{font-size:clamp(1.05rem,3.4vh,1.4rem)}.survey-sub{font-size:.82rem;line-height:1.35}.survey-anon{gap:8px;padding:7px 10px;font-size:.76rem;line-height:1.35}.survey-panel{padding:12px 14px}.survey-panel-header{gap:4px}.survey-panel-title{font-size:1rem}.survey-actionbar{gap:10px;padding:6px 12px}.survey-submit{min-height:44px;padding:8px 18px;font-size:.92rem}.survey-logout,.survey-jump{font-size:.72rem}.survey-actionbar-inner{flex-flow:row;align-items:center;gap:10px}.survey-progress{white-space:nowrap;flex:0 auto;gap:8px;min-width:0}.survey-progress-bar{flex:auto;width:auto;min-width:48px}.survey-actions{flex-wrap:nowrap;flex:none}.login-screen .menu-word{font-size:clamp(1.3rem,4vw,2.6rem)}.login-screen .menu-stage__middle{gap:8px;padding:2px clamp(18px,5vw,64px)}.login-screen .menu-verb-plate{width:48px;height:48px}.login-screen .menu-foot{padding-top:2px}.login-plate{gap:10px;padding:10px 12px}.login-plate__creds{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.login-pw-field>span{letter-spacing:.1em;font-size:.6rem}.login-pw-field input{min-height:40px;padding:8px 10px;font-size:.88rem}.login-error{margin-top:4px;font-size:.62rem}.menu-choice--compact .setting-btn{padding:3px 9px;font-size:.68rem}@media (width<=560px){.login-plate{grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px}.login-plate__creds{width:100%}}.fan-tray .commands-grid.commands-grid--tiles{grid-auto-rows:calc(50cqh - 3px);align-content:start;gap:6px}.fan-tray .fan-menu{gap:4px}.fan-tray .cmd-menu-head{min-height:32px}.fan-tray .cmd-menu-title{min-width:0;font-size:clamp(.7rem,2.4vh,.88rem)}.fan-tray .cmd-menu-icon{display:none}.fan-tray .cmd-menu-back{width:28px;height:28px;min-height:28px}.fan-tray .cmd-menu-back:before{content:"";position:absolute;inset:-7px -4px}.node-stage .shop-card>.shop-detail:not(.shop-detail--idle) .shop-detail-name{font-size:.98rem}.node-stage .shop-card>.shop-detail:not(.shop-detail--idle)>.shop-detail-desc{font-size:.76rem;line-height:1.3}.shop-grid,.node-stage .shop-card .shop-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px 6px}.node-stage .shop-card>.shop-detail:not(.shop-detail--idle){grid-template-columns:auto minmax(0,1fr) minmax(7.5rem,9.5rem);column-gap:10px}.shop-price{flex-wrap:wrap;gap:4px 8px}.shop-price-disc{width:38px;height:38px;font-size:.9rem}.shop-price-lines{font-size:.8rem}.shop-grid>.shop-tile{max-width:104px;padding-top:4px}:is(.shop-tile-ico,.shop-tile-ico:has(>.painted-art)){max-width:min(84px,19vh)}.node-stage .shop-card>.shop-detail:not(.shop-detail--idle){grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"art head ledger""art desc ledger""art desc buy";align-content:center}.shop-tile-name{font-size:.74rem}.shop-tile .shop-tile-cost{border-width:3px;width:30px;height:30px;font-size:.68rem}.run-end-plate-face{gap:6px;padding:9px 12px}.run-end-scroll{padding-right:2px}.run-end-mark{width:44px}.run-end-title{font-size:1.15rem}.run-end-where{margin-top:2px;font-size:.58rem}.run-end-line{font-size:.78rem}.run-end .run-end-pip-n{width:22px;font-size:.64rem}.run-end-facts{grid-template-columns:repeat(auto-fill,minmax(5.6rem,1fr));gap:6px}.run-end-fact{column-gap:6px;padding:3px 7px}.run-end-fact-ico>*{width:22px;height:22px}.run-end .run-end-fact-val{font-size:.95rem}.run-end-paid{gap:1px;padding:5px 10px}.run-end-paid-ico>*{width:26px;height:26px}.run-end .run-end-paid-n{font-size:1.45rem}.run-end-paid-label,.run-end .run-end-paid-val{font-size:.72rem}.run-end-unlock{padding:3px 10px 3px 3px}.run-end-seed-v{padding:3px 8px;font-size:.74rem}.run-end-hint{display:none}.run-end-paid{flex-flow:wrap;justify-content:center;column-gap:12px}.run-end-paid-rows{flex-basis:100%}.run-end .run-end-go{min-height:44px}.run-end-member{padding-left:9px}.run-end-tag{grid-template-columns:minmax(0,1fr);padding:4px 6px 4px 20px}.run-end-portrait{width:28px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.run-end-name{font-size:.72rem}}@media (orientation:landscape) and (height<=380px){.node-stage .shop-card{row-gap:4px;padding:5px 12px}.node-stage .shop-card>.plate-tabs{min-height:44px}.node-stage .shop-card>.shop-detail{row-gap:3px;padding:6px 10px}.node-stage .shop-card{--shop-detail-h:7.75rem}.node-stage .shop-card>.shop-detail .plate-ledger{gap:2px}.keeper-bubble{padding:7px 12px 9px}.keeper-bubble-say{font-size:.78rem}.node-stage .shop-card>.screen-ico{width:24px;height:24px;font-size:.9rem}.node-stage .shop-card>.screen-title{font-size:.9rem}.node-stage .shop-card>.shop-stock{min-height:110px}.shop-detail-head{gap:6px}.ep-body .upgrade-hint,.ep-body .upgrade-title{display:none}.shop-tile{gap:3px;min-height:84px;padding:6px 5px}.shop-tile-ico{width:44px;height:44px;font-size:1.25rem}.shop-tile-ico:before{width:31px;height:31px}.shop-tile-name{font-size:.68rem}.shop-tile-cost{font-size:.66rem}.shop-grid{gap:6px}.shop-grid-relic{grid-template-columns:repeat(3,1fr)}.shop-detail{gap:6px;padding:8px 10px}.shop-detail-desc{font-size:.7rem;line-height:1.4}:is(.event-plate-screen,.event-plate-screen:has(.ep-terms),.event-plate-screen:has(.ep-body--wide)){max-width:none}.event-plate-screen{flex-direction:column;min-height:0;max-height:100%;padding:0;display:flex}.event-plate{flex:0 auto;gap:8px;min-height:0;padding:11px 14px}.ep-head{gap:9px}.ep-crest{width:32px;height:32px;font-size:1.05rem}.ep-head .ep-title{font-size:1rem}.ep-eyebrow{font-size:.55rem}.ep-body{flex:auto;gap:9px 12px;min-height:0;overflow-y:auto}.ep-prose .screen-text{font-size:.8rem;line-height:1.5}.ep-terms .rest-effect{grid-template-columns:18px 1fr;gap:8px;font-size:.78rem}.ep-terms .rest-effect-icon{font-size:.9rem}.ep-body .upgrade-section{gap:6px}.ep-body .upgrade-title{font-size:.86rem}.ep-body .upgrade-hint{font-size:.72rem}.ep-body .xp-display{padding:4px 8px;font-size:.72rem}.ep-body--wide{grid-template-columns:minmax(0,12rem) minmax(0,1fr);align-items:start}.ep-body--wide>.ep-prose{grid-column:1}.ep-body--wide>:not(.ep-prose){grid-column:2}.ep-body .mirror-exchange{gap:8px;margin:0}.ep-body .mirror-cmd-card{gap:3px;padding:7px 9px}.ep-body .mirror-cmd-desc{font-size:.62rem;line-height:1.35}.ep-terms-in{gap:7px;padding:8px 10px 9px}.ep-foot{gap:4px;padding:7px 10px}.ep-choices{gap:8px 10px}.vic{padding:max(8px, env(safe-area-inset-top,0px)) max(18px, env(safe-area-inset-right,0px)) max(5px, env(safe-area-inset-bottom,0px)) max(22px, env(safe-area-inset-left,0px));gap:4px}.vic-title{font-size:1.2rem}.vic-tally{gap:8px;padding:3px 15px 3px 21px}.vic-tally-n{font-size:1.25rem}.vic-spoils .splate-face{align-items:center;gap:10px;padding:3px 10px 4px 12px;display:flex}.vic-spoils-title{flex:none;font-size:.6rem}.vic-spoils-rule{display:none}.vic-loot,.vic-felled{flex-flow:wrap;gap:1px 12px;min-width:0}.vic-loot-row{gap:6px;font-size:.72rem}.vic-spoils .vic-loot-pill:has(.painted-art){--spill:26px}.vic-spoils .vic-loot:has(>:nth-child(3)) .vic-loot-pill:has(.painted-art){--spill:26px}.vic-spoils .splate-face{align-items:safe center}.vic-loot-none{font-size:.7rem}.vic-cards{gap:6px}.vic-card{gap:2px;padding:5px 7px}.vic-stat-pill{--spill:15px}.fan-spoils-stats{gap:1px 5px}.fan-spoils-stat-n{font-size:.62rem}.fan-spoils-skill{font-size:.6rem}.vic-card-gains{gap:1px}.vic-card-xp .xp-rail-bar{height:6px}.vic-foot{margin-top:2px}.ep-body:not(.ep-body--wide):has(>.ep-terms){grid-template-columns:minmax(0,1fr) minmax(10rem,15rem)}.ep-body--lead-terms:not(.ep-body--wide):has(>.ep-terms){grid-template-columns:minmax(0,11rem) minmax(0,1fr)}}.pick-stage{grid-template-rows:auto minmax(0,1fr);gap:4px}.pick-stage>.pick-topbar,.pick-stage>.pick-body{z-index:1;position:relative}.pick-topbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px clamp(8px,2vw,22px) 0;display:grid}.pick-back{appearance:none;cursor:pointer;min-height:44px;font-family:var(--font-voice);letter-spacing:.04em;color:var(--muted);background:rgba(var(--surface-rgb), .72);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d017;clip-path:var(--plate-clip);border-radius:var(--radius);border:0;justify-self:start;align-items:center;gap:5px;padding:0 11px;font-size:clamp(.72rem,1.5vw,.95rem);transition:color .12s ease-out,background .12s ease-out;display:inline-flex}.pick-back:active{color:var(--text);background:rgba(var(--surface-rgb), .9)}@media (hover:hover){.pick-back:hover{color:var(--text);background:rgba(var(--surface-rgb), .9)}}.pick-head{justify-content:center;align-items:baseline;gap:clamp(8px,1.4vw,18px);min-width:0;display:flex}.pick-title{font-family:var(--font-voice);letter-spacing:.1em;text-transform:uppercase;color:var(--text);text-shadow:2px 2px #0009;white-space:nowrap;margin:0;font-size:clamp(.82rem,1.9vw,1.28rem);font-weight:700}.pick-topbar-end{justify-self:end;align-items:center;gap:7px;display:flex}.pick-count{color:var(--gold-ink);text-shadow:2px 2px #0009;font-size:clamp(.95rem,2.2vw,1.5rem);font-weight:700;line-height:1}.pick-count-of{color:var(--muted);font-size:.6em}.pick-chip{appearance:none;cursor:pointer;min-height:44px;font-family:var(--font-system);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:rgba(var(--surface-rgb), .72);box-shadow:inset 0 0 0 var(--rim-w) var(--border);clip-path:var(--plate-clip);border-radius:var(--radius);border:0;padding:0 10px;font-size:clamp(.69rem,1.15vw,.8rem);font-weight:700;transition:color .12s ease-out,box-shadow .12s ease-out}.pick-chip--on{color:var(--gold-ink);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2)}.pick-chip:active{color:var(--text)}@media (hover:hover){.pick-chip:hover{color:var(--text)}}.pick-body{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:stretch;gap:clamp(8px,1.6vw,20px);min-height:0;padding:0 clamp(8px,2vw,22px) clamp(8px,2vh,20px);display:grid}.pick-left{grid-template-rows:auto auto;align-content:center;gap:clamp(8px,2vh,22px);min-height:0;display:grid}.pick-rail{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(5px,1vw,14px);min-height:0;display:flex}.pick-plate{--class-tone:var(--border2);appearance:none;cursor:pointer;--plate-w:clamp(52px, 8.2vw, 120px);width:var(--plate-w);background:rgba(var(--surface-rgb), .74);min-height:44px;box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(2px 2px #00000080);border:0;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;padding:4px 2px 3px;transition:box-shadow .12s ease-out,background .12s ease-out,translate .12s ease-out;display:flex;position:relative}.pick-plate-body{height:calc(var(--plate-w) * .72);justify-content:center;align-self:stretch;align-items:center;display:flex;overflow:hidden}.pick-plate-secret{font-family:var(--font-logo);font-size:calc(var(--plate-w) * .34);color:var(--border2)}.pick-plate-name{font-family:var(--font-voice);letter-spacing:.03em;text-align:center;color:var(--text2);overflow-wrap:anywhere;font-size:clamp(.69rem,1.05vw,.82rem);font-weight:700;line-height:1.15}.pick-plate--focus{box-shadow:inset 0 0 0 var(--rim-w) var(--class-tone), inset 0 1px 0 #f2e8d029, 0 0 10px -2px var(--class-tone)}.pick-plate--focus .pick-plate-name{color:var(--text)}.pick-plate--picked{background:color-mix(in srgb, var(--class-tone) 22%, rgba(var(--surface-rgb), .86));box-shadow:inset 0 0 0 2px var(--class-tone), inset 0 1px 0 #f2e8d02e;translate:0 -3px}.pick-plate--picked .pick-plate-name{color:var(--text)}.pick-plate--closed{opacity:.44}.pick-plate--locked{cursor:default;opacity:.6}.pick-plate:active{translate:0 -1px}.pick-plate:focus-visible,.pick-chip:focus-visible,.pick-go:not(:disabled):focus-visible{box-shadow:inset 0 0 0 2px var(--gold), inset 0 0 0 4px rgba(var(--surface-rgb), .9);outline:none}.pick-back:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.pick-scope-panel:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}@media (hover:hover){.pick-plate:hover:not(.pick-plate--locked){background:rgba(var(--surface-rgb), .9)}}.pick-plate-pip{min-width:15px;color:rgb(var(--surface-rgb));background:var(--class-tone);clip-path:var(--plate-clip);border-radius:var(--radius);padding:0 3px;font-size:.58rem;font-weight:800;line-height:1.5;position:absolute;top:-3px;right:-4px}.pick-muster{justify-content:center;align-items:stretch;gap:clamp(5px,1vw,14px);display:flex}.pick-slot{--class-tone:var(--border2);background:rgba(var(--surface-rgb), .5);max-width:clamp(76px,12.5vw,168px);min-height:clamp(52px,11vh,112px);box-shadow:inset 0 0 0 var(--rim-w) var(--border);clip-path:var(--plate-clip);border-radius:var(--radius);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:1px;padding:3px;transition:box-shadow .14s ease-out,background .14s ease-out;display:flex}.pick-slot--filled{background:color-mix(in srgb, var(--class-tone) 16%, rgba(var(--surface-rgb), .82));box-shadow:inset 0 0 0 2px var(--class-tone), inset 0 1px 0 #f2e8d024}.pick-slot-body{align-self:stretch;height:64px;display:block;overflow:hidden}.pick-slot-name{font-family:var(--font-voice);letter-spacing:.04em;color:var(--text);white-space:nowrap;font-size:clamp(.69rem,1vw,.82rem);font-weight:700}.pick-slot-pip{width:clamp(12px,1.7vw,20px);height:clamp(12px,1.7vw,20px);box-shadow:inset 0 0 0 var(--rim-w) var(--border2);rotate:45deg}.pick-slot-free{font-family:var(--font-system);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:clamp(.69rem,.95vw,.8rem)}.pick-readout{background:rgba(var(--surface-rgb), .82);min-height:0;box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d014;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(3px 3px #00000080);grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(3px,.8vh,9px);padding:clamp(6px,1.4vh,14px) clamp(8px,1.2vw,16px);display:grid}.pick-readout-head{border-bottom:1px solid var(--class-tone);justify-content:space-between;align-items:center;gap:8px;padding-bottom:4px;display:flex}.pick-readout-name{font-family:var(--font-voice);letter-spacing:.05em;color:var(--text);font-size:clamp(.8rem,1.7vw,1.22rem);font-weight:700}.pick-readout-desc{font-family:var(--font-voice);color:var(--text2);max-height:4.2em;margin:0;font-size:clamp(.72rem,1.15vw,.9rem);line-height:1.38;overflow-y:auto}.pick-go{appearance:none;cursor:pointer;min-height:44px;font-family:var(--font-voice);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);background:color-mix(in srgb, var(--gold2) 18%, rgba(var(--surface-rgb), .9));box-shadow:inset 0 0 0 2px var(--gold2), inset 0 1px 0 #f2e8d033;clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(2px 2px #0000008c);border:0;justify-content:center;align-self:end;align-items:center;gap:7px;padding:0 12px;font-size:clamp(.72rem,1.5vw,1.02rem);font-weight:800;transition:background .12s ease-out,color .12s ease-out;display:flex}.pick-go:disabled{cursor:not-allowed;color:var(--muted);background:rgba(var(--surface-rgb), .72);box-shadow:inset 0 0 0 var(--rim-w) var(--border);filter:none}.pick-go:not(:disabled):active{background:color-mix(in srgb, var(--gold2) 32%, rgba(var(--surface-rgb), .9))}@media (hover:hover){.pick-go:not(:disabled):hover{background:color-mix(in srgb, var(--gold2) 28%, rgba(var(--surface-rgb), .9))}}.pick-go .cta-arrow{font-size:.8em}.pick-scope-body{gap:10px;display:grid}.descent-settings .setting-answer>.setting-input{flex:auto;max-width:320px}.pick-go-wrap{align-self:end;gap:4px;display:grid}.pick-refusal{text-align:center;font-family:var(--font-voice);color:var(--muted);margin:0;font-size:clamp(.69rem,1vw,.84rem);line-height:1.25}.pick-purse{gap:5px}.pick-purse .menu-coin{padding:2px 7px}.pick-purse .menu-coin-val{font-size:clamp(.72rem,1.3vw,.98rem)}.pick-purse .menu-coin-unit{font-size:clamp(.63rem,.9vw,.72rem)}.pick-readout-live{display:contents}.pick-readout-body{grid-template-rows:minmax(0,1fr) auto;justify-items:center;min-height:0;display:grid}.pick-radar{height:100%;min-height:96px}.pick-readout-figure{isolation:isolate;justify-content:center;padding:0 18px 2px;display:flex;position:relative}.pick-readout-figure:before,.pick-readout-figure:after{content:"";z-index:-1;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.pick-readout-figure:before{background:radial-gradient(closest-side, color-mix(in srgb, var(--class-tone) 34%, transparent) 0 42%, color-mix(in srgb, var(--class-tone) 20%, transparent) 42% 64%, color-mix(in srgb, var(--class-tone) 9%, transparent) 64% 84%, transparent 84%);width:100%;animation:3.2s ease-in-out infinite pick-aura-breathe;top:-12%;bottom:0}.pick-readout-figure:after{background:radial-gradient(closest-side, color-mix(in srgb, var(--class-tone) 70%, transparent) 0 40%, color-mix(in srgb, var(--class-tone) 32%, transparent) 40% 72%, transparent 72%);width:92%;max-width:200px;height:12px;animation:3.2s ease-in-out infinite pick-aura-pool;bottom:0}.pick-readout-figure>.hero-sprite{z-index:1}@keyframes pick-aura-breathe{0%,to{opacity:.72;transform:translate(-50%)scale(.94)}50%{opacity:1;transform:translate(-50%)scale(1.04)}}@keyframes pick-aura-pool{0%,to{opacity:.8;transform:translate(-50%)scaleX(.9)}50%{opacity:1;transform:translate(-50%)scaleX(1.06)}}.pick-stage--solo .pick-plate{--plate-w:clamp(64px, 11vw, 150px)}.pick-stage--solo .pick-rail{--rail-gap:clamp(6px, 1.3vw, 16px);gap:var(--rail-gap);max-width:calc(var(--plate-w) * 3 + var(--rail-gap) * 2);--plate-w:clamp(64px, 11vw, 150px);margin-inline:auto}.pick-stage--solo .pick-readout-body{grid-template-rows:minmax(0,1fr);align-items:center}.pick-readout-head .menu-purse{flex:none}.stat-radar{aspect-ratio:130/110;max-width:100%;position:relative}.stat-radar-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.stat-radar-field{fill:#00000052;stroke:var(--border2);stroke-width:.8px}.stat-radar-ring{fill:none;stroke:var(--border);stroke-width:.5px}.stat-radar-spoke{stroke:var(--border);stroke-width:.5px}.stat-radar-shape{fill:var(--class-tone,var(--gold));fill-opacity:.42;stroke:var(--class-tone,var(--gold));stroke-width:1.2px;stroke-linejoin:miter}.stat-radar-pip{fill:var(--text)}.stat-radar-label{white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;line-height:1.05;display:flex;position:absolute}.stat-radar-label--top{transform:translate(-50%,-100%)}.stat-radar-label--bottom{transform:translate(-50%)}.stat-radar-label--right{align-items:flex-start;transform:translateY(-50%)}.stat-radar-label--left{align-items:flex-end;transform:translate(-100%,-50%)}.stat-radar-name{font-family:var(--font-voice);color:var(--text2);font-size:.69rem}.stat-radar-value{font-family:var(--font-system);color:var(--text);font-size:.82rem;font-weight:700}@media (width>=1024px){.pick-body{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-self:center;gap:clamp(20px,2.4vw,40px);width:100%;max-width:1400px;max-height:min(600px,78vh);margin:auto}.pick-left{grid-template-rows:auto auto;align-content:center;gap:clamp(22px,4vh,56px)}.pick-plate{--plate-w:clamp(104px, 9.6vw, 164px)}.pick-slot{max-width:clamp(104px,9.6vw,164px);min-height:clamp(96px,13vh,150px)}.pick-slot-body{height:clamp(64px,10vh,120px)}.pick-radar{min-height:clamp(200px,30vh,300px)}.pick-radar .stat-radar-name{font-size:.8rem}.pick-radar .stat-radar-value{font-size:1rem}.pick-readout{row-gap:clamp(8px,1.2vh,16px)}.pick-readout-desc{max-height:none;overflow:visible}.pick-title{font-size:clamp(1.1rem,1.5vw,1.6rem)}}.achv-count{font-family:var(--font-system);color:var(--gold-ink);font-size:clamp(.72rem,1.2vw,.9rem);font-weight:700}.achv-grid{--tile:clamp(64px, min(8.6vw, 19vh), 150px);grid-template-columns:repeat(auto-fill, var(--tile));justify-content:center;gap:clamp(5px,1vw,12px);min-height:0;max-height:100%;padding:4px 6px 6px 4px;display:grid;overflow-y:auto}.achv-tile{--rim:1px;--rim-c:var(--border);appearance:none;cursor:pointer;isolation:isolate;width:var(--tile);min-height:var(--tile);color:var(--text2);background:var(--rim-c);clip-path:var(--plate-clip);border-radius:var(--radius);filter:drop-shadow(2px 2px #00000080);border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:3px 3px 5px;transition:translate .12s ease-out;display:flex;position:relative}.achv-tile:before{content:"";inset:var(--rim);z-index:-1;background:rgb(var(--surface-rgb));clip-path:var(--plate-clip);border-radius:var(--radius);position:absolute;box-shadow:inset 0 1px #f2e8d01a}.achv-tile--earned{--rim:2px;--rim-c:var(--gold)}.achv-tile--focus{--rim:3px;--rim-c:var(--gold2);translate:0 -2px}.achv-tile--focus:before{background:color-mix(in srgb, var(--gold) 14%, rgb(var(--surface-rgb)))}.achv-tile:active{translate:1px 1px}.achv-tile:focus-visible{--rim:3px;--rim-c:var(--gold);outline:none}@media (hover:hover){.achv-tile:hover:before{background:color-mix(in srgb, var(--text) 6%, rgb(var(--surface-rgb)))}}.achv-badge.achv-tile-badge{--b:calc(var(--tile) * .86)}.achv-tile-cp{font-family:var(--font-system);color:var(--purple-ink);font-size:clamp(.62rem,.95vw,.76rem);font-weight:700;line-height:1}.achv-tile-bar{width:72%;height:4px;box-shadow:inset 0 0 0 var(--rim-w) var(--border);background:#00000073;display:block}.achv-tile-fill{background:var(--gold);height:100%;display:block}.achv-badge{--b:72px;width:var(--b);height:var(--b);flex:none;display:inline-block;position:relative}.achv-badge-frame{object-fit:contain;pointer-events:none;width:100%;height:100%;filter:var(--silhouette-stroke);position:absolute;inset:0}.achv-badge-hole{border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.achv-badge-sprite{object-fit:contain;pointer-events:none;--sprite-stroke:var(--silhouette-stroke);filter:var(--sprite-stroke);position:absolute}.achv-badge-sprite--pixel{image-rendering:pixelated}.achv-badge-num{font-family:var(--font-system);color:var(--gold-ink);text-shadow:1px 1px #000000bf,-1px -1px #00000059;font-weight:800;line-height:1}.achv-badge--locked .achv-badge-frame{filter:grayscale(1) brightness(.95) contrast(.85) var(--silhouette-stroke);opacity:.8}.achv-badge--locked .achv-badge-hole,.achv-badge--locked .achv-badge-sprite{filter:grayscale(1) brightness(1.15) contrast(.9) var(--sprite-stroke,);opacity:.85}.achv-badge-q{width:34%;height:34%;font-family:var(--font-logo);font-size:calc(var(--b) * .22);color:var(--text);background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 2px var(--border2), 2px 2px 0 #0000008c;border-radius:50%;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;bottom:4%;right:2%}.achv-readout-tag{font-family:var(--font-system);color:var(--gold-ink);flex:none;font-size:clamp(.68rem,1.1vw,.84rem);font-weight:700}.achv-readout--locked .achv-readout-tag{color:var(--muted)}.achv-readout-body{justify-content:center;align-items:center;gap:clamp(8px,2vw,24px);min-height:0;display:flex}.achv-badge.achv-readout-badge{--b:clamp(96px, 34vh, 200px)}.achv-readout-cp{justify-items:center;gap:2px;display:grid}.achv-readout-cp-n{font-family:var(--font-system);color:var(--purple-ink);font-size:clamp(1rem,3.4vh,1.5rem);font-weight:800}.achv-readout-cp-k{font-family:var(--font-voice);color:var(--muted);font-size:.72rem}.achv-readout-foot{gap:4px;min-height:0;display:grid}.achv-readout-next{font-family:var(--font-voice);color:var(--text2);margin:0;font-size:clamp(.72rem,1.1vw,.86rem)}.achv-bar{padding:0}.achv-toast-host{top:max(10px, env(safe-area-inset-top,0px));z-index:var(--z-achievement);pointer-events:none;width:max-content;max-width:min(580px,100vw - 24px);position:fixed;left:50%;translate:-50%}.achv-toast{--rim:3px;appearance:none;cursor:pointer;pointer-events:auto;isolation:isolate;text-align:left;color:var(--text);background:linear-gradient(180deg, var(--gold2), var(--gold));clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);filter:drop-shadow(5px 5px #0000008c);border:0;align-items:center;gap:16px;padding:12px 26px 12px 14px;animation:.34s cubic-bezier(.22,1.4,.36,1) both achv-toast-in;display:flex;position:relative}.achv-toast:before{content:"";inset:var(--rim);z-index:-1;background:linear-gradient(180deg, rgba(var(--surface-rgb), .97), rgba(var(--surface-rgb), 1));clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);position:absolute;box-shadow:inset 0 1px #f2e8d029}.achv-toast:active{translate:1px 1px}.achv-toast:focus-visible{--rim:5px;outline:none}.achv-toast .achv-badge{animation:.62s cubic-bezier(.22,1.4,.36,1) .12s both achv-toast-art}.achv-toast-text{gap:1px;min-width:0;display:grid}.achv-toast-kicker{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-size:.8rem;font-weight:700}.achv-toast-name{font-family:var(--font-voice);color:var(--text);text-shadow:1px 1px #0009;font-size:1.32rem;font-weight:800;line-height:1.15}.achv-toast-sub{font-family:var(--font-voice);color:var(--text2);overflow-wrap:anywhere;font-size:.92rem}.achv-toast-cp{font-family:var(--font-system);color:var(--purple-ink);align-self:center;padding-left:4px;font-size:1.25rem;font-weight:800}.achv-toast-concept-art{background:radial-gradient(circle at 50% 36%, rgb(var(--card2-rgb)) 0, rgb(var(--surface-rgb)) 74%);width:72px;height:72px;box-shadow:0 0 0 3px var(--accent,var(--gold2)), 3px 3px 0 3px #00000080, inset 0 2px 0 #f2e8d024;border-radius:50%;flex:none;place-items:center;animation:.62s cubic-bezier(.22,1.4,.36,1) .12s both achv-toast-art;display:grid}.achv-toast-concept-art>.painted-art,.achv-toast-concept-art>img{object-fit:contain;width:84%;height:84%}@keyframes achv-toast-in{0%{opacity:0;transform:translateY(-120%)}to{opacity:1;transform:translateY(0)}}@keyframes achv-toast-art{0%{filter:drop-shadow(0 0 0 rgba(var(--gold-rgb), 0));transform:scale(.4)rotate(-12deg)}60%{filter:drop-shadow(0 0 10px rgba(var(--gold-rgb), .85));transform:scale(1.12)rotate(4deg)}to{filter:drop-shadow(0 0 4px rgba(var(--gold-rgb), .45));transform:scale(1)rotate(0)}}.dash-subhead-note{font-family:var(--font-system);color:var(--muted);margin-left:10px;font-size:.8rem;font-weight:600}.achv-dash-name{align-items:center;gap:10px;display:inline-flex}.achv-dash-row--locked td{color:var(--muted)}:is(.forge-stage,.concepts-stage) .pick-body{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.forge-head-tools,.forge-respec{align-items:center;gap:6px;display:inline-flex}.forge-respec:disabled{cursor:not-allowed;opacity:.55}.forge-respec-label{display:none}.forge-main,.concepts-main{grid-template-columns:auto minmax(0,1fr);gap:clamp(6px,1.4vw,20px);min-height:0;display:grid}.forge-rail{--tab:clamp(40px, min(6vw, 11vh), 96px);grid-template-columns:repeat(2, var(--tab));filter:drop-shadow(2px 2px #00000080);align-content:center;gap:clamp(4px,.7vw,10px);min-height:0;padding:4px 4px 6px 2px;display:grid}.forge-rail-keys{grid-column:1/-1;justify-content:center;gap:6px;display:flex}.forge-rail-keys:empty{display:none}.forge-tab{--rim:1px;--rim-c:var(--border);appearance:none;cursor:pointer;isolation:isolate;width:var(--tab);color:var(--text2);background:var(--rim-c);clip-path:var(--plate-clip);border-radius:var(--radius);border:0;flex-direction:column;align-items:center;gap:3px;padding:3px;transition:translate .12s ease-out;display:flex;position:relative}.forge-tab:before{content:"";inset:var(--rim);z-index:-1;background:rgb(var(--surface-rgb));clip-path:var(--plate-clip);border-radius:var(--radius);position:absolute;box-shadow:inset 0 1px #f2e8d01a}.forge-tab[style]{--rim:2px;--rim-c:color-mix(in srgb, var(--class-tone) 75%, var(--border))}.forge-tab--on,.forge-tab--on[style]{--rim:3px;--rim-c:var(--gold2);translate:0 -2px}.forge-tab--on:before{background:color-mix(in srgb, var(--gold) 14%, rgb(var(--surface-rgb)))}.forge-tab:active{translate:1px 1px}.forge-tab:focus-visible{--rim:3px;--rim-c:var(--gold);outline:none}@media (hover:hover){.forge-tab:hover:before{background:color-mix(in srgb, var(--text) 6%, rgb(var(--surface-rgb)))}}.forge-tab-art{aspect-ratio:1;width:100%;clip-path:var(--plate-clip);border-radius:var(--radius);display:block;overflow:hidden}.forge-tab-art>img,.forge-tab-art>.painted-art{object-fit:contain;width:100%;height:100%;display:block}.forge-tab-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--font-voice);font-size:.78rem;font-weight:700;line-height:1.1;display:none;overflow:hidden}.forge-tab--on .forge-tab-name{color:var(--gold-ink)}.forge-ready-pip{background:var(--gold2);width:9px;height:9px;box-shadow:inset 0 0 0 1px #00000073, 0 0 6px var(--gold2);border-radius:50%;position:absolute;top:5px;right:5px}.forge-panel{min-height:0;position:relative;container-type:size}.forge-ring{--disc:clamp(36px, min(17cqh, 11cqw), 132px);position:absolute;inset:0}.forge-ring-threads{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.forge-thread line{vector-effect:non-scaling-stroke;fill:none;stroke-linecap:round}.forge-thread-lo{stroke:#00000073;stroke-width:4px}.forge-thread-hi{stroke:var(--border);stroke-width:1.5px;stroke-dasharray:3 6}.forge-thread--lit .forge-thread-hi{stroke:var(--gold2);stroke-width:2.5px;stroke-dasharray:none}.forge-ring-center{aspect-ratio:1;place-items:center;width:min(54cqh,34cqw);display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.forge-center-emblem{object-fit:contain;width:100%;height:100%;filter:var(--silhouette-stroke) drop-shadow(3px 3px 0 #00000073)}.forge-hero{isolation:isolate;filter:drop-shadow(3px 3px #00000080);width:84%;height:98%;display:block;position:relative}.forge-hero>.char-portrait{clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg)}.forge-hero:after{content:"";pointer-events:none;clip-path:var(--plate-clip-lg);border-radius:var(--radius-lg);--plate-r:var(--radius-lg);box-shadow:inset 0 0 0 3px var(--class-tone), inset 0 4px 0 #f2e8d038;position:absolute;inset:0}.forge-hero:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--class-tone) 34%, transparent) 0 46%, color-mix(in srgb, var(--class-tone) 18%, transparent) 46% 68%, color-mix(in srgb, var(--class-tone) 8%, transparent) 68% 86%, transparent 86%);animation:3.2s ease-in-out infinite forge-aura;position:absolute;inset:-16% -22%}@keyframes forge-aura{0%,to{opacity:.75;scale:.95}50%{opacity:1;scale:1.04}}.forge-troupe{background:radial-gradient(closest-side, rgba(var(--surface-rgb), .92) 0 82%, transparent 84%);grid-template-columns:repeat(3,1fr);gap:7%;width:100%;padding:10% 6%;display:grid}.forge-troupe-face{aspect-ratio:1;box-shadow:0 0 0 2px var(--class-tone), 3px 3px 0 2px #00000080;border-radius:50%;overflow:hidden}.forge-troupe-face:nth-child(n+4){translate:0 -6%}.forge-medal{appearance:none;cursor:pointer;color:var(--text);font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex}.forge-medal--ring{z-index:1;transform:translate(-50%, calc(var(--disc) * -.5));position:absolute}.forge-medal-disc{--rim:2px;--rim-c:var(--border);width:var(--disc);height:var(--disc);background:radial-gradient(circle at 50% 36%, rgb(var(--card2-rgb)) 0, rgb(var(--surface-rgb)) 74%);box-shadow:0 0 0 var(--rim) var(--rim-c), 3px 3px 0 var(--rim) #00000080, inset 0 2px 0 #f2e8d024;border-radius:50%;place-items:center;transition:translate .12s ease-out,box-shadow .12s ease-out;display:grid;position:relative}.forge-medal-art{object-fit:contain;width:86%;height:86%;filter:var(--silhouette-stroke)}.forge-medal--buyable .forge-medal-disc{--rim-c:var(--gold);animation:2.4s ease-in-out infinite forge-ready}@keyframes forge-ready{0%,to{box-shadow:0 0 0 var(--rim) var(--rim-c), 0 0 6px 1px rgba(var(--gold-rgb), .35), 3px 3px 0 var(--rim) #00000080, inset 0 2px 0 #f2e8d024}50%{box-shadow:0 0 0 var(--rim) var(--rim-c), 0 0 14px 3px rgba(var(--gold-rgb), .6), 3px 3px 0 var(--rim) #00000080, inset 0 2px 0 #f2e8d024}}.forge-medal--maxed .forge-medal-disc{--rim:3px;--rim-c:var(--gold2);background:radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--gold) 34%, rgb(var(--card2-rgb))) 0, rgb(var(--surface-rgb)) 78%)}.forge-medal--short .forge-medal-art,.forge-medal--gated .forge-medal-art{filter:saturate(.6) brightness(.92) var(--silhouette-stroke)}.forge-medal--locked .forge-medal-art{filter:grayscale(1) brightness(.95) contrast(.85) var(--silhouette-stroke);opacity:.8}.forge-medal--focus{z-index:2}.forge-medal--focus .forge-medal-label{margin-top:calc(var(--disc) * .08 + 5px)}.forge-medal--focus .forge-medal-disc,.forge-medal--focus.forge-medal--buyable .forge-medal-disc{--rim:3px;--rim-c:var(--gold2);box-shadow:0 0 0 3px var(--gold2), 0 0 0 6px rgb(var(--surface-rgb)), 0 0 0 8px var(--gold2), 4px 4px 0 8px #00000073, inset 0 2px 0 #f2e8d024;animation:none;translate:0 -3px;scale:1.1}.forge-medal:active .forge-medal-disc{translate:1px 1px}.forge-medal:focus-visible{outline:none}.forge-medal:focus-visible .forge-medal-disc{--rim:3px;--rim-c:var(--gold)}@media (hover:hover){.forge-medal:hover .forge-medal-disc{background:radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--text) 14%, rgb(var(--card2-rgb))) 0, rgb(var(--surface-rgb)) 74%)}}.forge-medal-price{border-radius:var(--radius-sm);font-family:var(--font-system);font-size:clamp(.62rem, calc(var(--disc) * .19), .95rem);color:var(--gold-ink);background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 var(--rim-w) var(--border), 2px 2px 0 #0000008c;align-items:center;gap:2px;padding:1px 6px 1px 3px;font-weight:800;line-height:1.2;display:inline-flex;position:absolute;bottom:-6%;right:-14%}.forge-medal-price--cp{color:var(--purple-ink)}.forge-medal--short .forge-medal-price,.forge-medal--gated .forge-medal-price{color:var(--muted)}.forge-coin-art{object-fit:contain;width:1.2em;height:1.2em}.forge-coin-cp{color:var(--purple-ink)}.forge-medal-lock{width:34%;height:34%;font-family:var(--font-logo);font-size:calc(var(--disc) * .22);color:var(--text);background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 2px var(--border2), 2px 2px 0 #0000008c;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:-4%;right:-4%}.forge-medal-label{max-width:calc(var(--disc) * 2.2);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-voice);font-size:clamp(.62rem, calc(var(--disc) * .17), .95rem);color:var(--text);text-shadow:1px 1px #000000d9,-1px -1px #00000080,1px -1px #00000080,-1px 1px #00000080;font-weight:800;line-height:1.15;overflow:hidden}.forge-medal--focus .forge-medal-label{color:var(--gold-ink)}.forge-medal-pips.tier-pips{gap:3px;display:inline-flex;position:static}.forge-medal-pips .tier-pip{width:5px;height:5px}.forge-rank{--disc:clamp(34px, min(16cqh, 10.5cqw), 92px);grid-template-columns:repeat(auto-fill, minmax(calc(var(--disc) * 1.32), 1fr));align-content:center;justify-items:center;gap:clamp(8px,3cqh,20px) 4px;padding:6px 12px 6px 6px;display:grid;position:absolute;inset:0}.forge-medal--rank .forge-medal-label{display:none}.forge-readout{grid-template-rows:auto auto auto minmax(0,1fr)}.forge-readout>.pick-go-wrap{grid-row:4}.forge-readout-body{max-height:100%}.forge-readout-tag{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-system);letter-spacing:.04em;color:var(--muted);flex:0 auto;font-size:clamp(.66rem,1vw,.84rem);font-weight:700;overflow:hidden}.forge-readout-body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(8px,1.2vw,18px);min-height:0;padding:3px 6px 6px 3px;display:grid;overflow-y:auto}.forge-readout-art{aspect-ratio:1;background:radial-gradient(circle at 50% 36%, rgb(var(--card2-rgb)) 0, rgb(var(--surface-rgb)) 74%);width:clamp(54px,min(9vw,19vh),150px);box-shadow:0 0 0 2px var(--class-tone), 3px 3px 0 2px #00000080, inset 0 2px 0 #f2e8d024;border-radius:50%;place-items:center;display:grid}.forge-readout-art--locked .forge-medal-art{filter:grayscale(1) brightness(.95) contrast(.85) var(--silhouette-stroke);opacity:.8}.forge-readout-values{gap:clamp(3px,.8vh,8px);min-width:0;display:grid}.forge-readout-now,.forge-readout-next{font-family:var(--font-voice);margin:0;font-size:clamp(.74rem,1.2vw,1.02rem);line-height:1.3}.forge-readout-now{color:var(--text)}.forge-readout-next{color:var(--forest-ink);gap:6px;display:flex}.forge-readout-arrow{flex:none;font-weight:800}.forge-readout-tier{font-family:var(--font-system);color:var(--muted);align-items:center;gap:8px;font-size:clamp(.66rem,.9vw,.8rem);font-weight:700;display:inline-flex}.forge-readout-tier .tier-pips{margin-top:0}.forge-readout-note{font-family:var(--font-voice);color:var(--muted);margin:0;font-size:clamp(.64rem,.95vw,.82rem);line-height:1.3}.forge-readout-max{min-height:44px;font-family:var(--font-system);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);place-items:center;margin:0;font-size:clamp(.72rem,1.3vw,1rem);font-weight:800;display:grid}.forge-buy{justify-content:space-between}.forge-buy-cost{align-items:center;gap:4px;display:inline-flex}@media (width>=1024px){.forge-tab-name{display:block}.forge-respec-label{display:inline}.forge-rail{--tab:clamp(72px, min(6.4vw, 10vh), 104px)}:is(.forge-stage,.concepts-stage) .pick-body{max-width:1760px;max-height:min(940px,86vh)}}.fan-loadout-stage .pick-body{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}.fan-loadout-left{grid-template-rows:auto minmax(0,1fr);align-content:stretch}.fan-loadout-who{--face:clamp(38px, 12vh, 92px);--socket:clamp(26px, 7.5vh, 54px);align-items:center;gap:clamp(5px,1vw,14px);display:flex}.fan-loadout-seat{--class-tone:var(--border2);appearance:none;cursor:pointer;font:inherit;grid-template-columns:var(--face) minmax(0, 1fr);background:color-mix(in srgb, var(--class-tone) 16%, rgba(var(--surface-rgb), .86));min-width:0;box-shadow:inset 0 0 0 2px var(--class-tone), inset 0 1px 0 #f2e8d024;clip-path:var(--plate-clip);border-radius:var(--radius);color:var(--text);border:0;flex:1 1 0;grid-template-rows:auto auto;align-items:center;gap:2px clamp(5px,.8vw,12px);padding:clamp(3px,.8vh,8px);display:grid}.fan-loadout-face{width:var(--face);height:var(--face);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--class-tone);grid-row:1/span 2;overflow:hidden}.fan-loadout-face .char-portrait{width:100%;height:100%}.fan-loadout-face .char-portrait-img{object-fit:cover;object-position:50% 20%;width:100%;height:100%}.fan-loadout-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-family:var(--font-voice);font-size:clamp(.72rem,1.2vw,1.05rem);font-weight:800;overflow:hidden}.fan-loadout-seat--on{box-shadow:inset 0 0 0 2px var(--gold2), inset 0 0 0 4px rgb(var(--surface-rgb)), inset 0 0 0 5px var(--gold2)}.fan-loadout-seat:active{translate:1px 1px}.fan-loadout-seat:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.fan-loadout-worn{gap:clamp(3px,.5vw,6px);display:flex}.fan-loadout-pip{width:var(--socket);height:var(--socket);background:rgba(var(--surface-rgb), .6);box-shadow:inset 0 0 0 var(--rim-w) var(--border2);border-radius:50%;place-items:center;display:grid}.fan-loadout-pip--on{background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 2px var(--gold2)}.fan-loadout-pip img{object-fit:contain;width:88%;height:88%;filter:var(--silhouette-stroke)}.fan-loadout-pool{min-height:0}.fan-loadout-pool .forge-rank{--disc:clamp(46px, min(30cqh, 15cqw), 150px);grid-template-columns:repeat(auto-fill, minmax(calc(var(--disc) * 1.6), 1fr))}.fan-loadout-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.75rem;display:flex;position:absolute;inset:0}.fan-loadout-empty-art{object-fit:contain;width:clamp(48px,34cqh,140px);height:clamp(48px,34cqh,140px);filter:var(--silhouette-stroke) drop-shadow(3px 3px 0 #00000073)}.fan-loadout-empty-title{font-family:var(--font-voice);color:var(--gold-ink);text-shadow:1px 1px #000000d9,-1px -1px #00000080,1px -1px #00000080,-1px 1px #00000080;margin:0;font-size:clamp(.85rem,1.4vw,1.15rem);font-weight:800}.fan-loadout-empty-body{max-width:34ch;font-family:var(--font-voice);color:var(--text);text-shadow:1px 1px #000000d9,-1px -1px #00000080,1px -1px #00000080,-1px 1px #00000080;margin:0;font-size:clamp(.72rem,1.05vw,.92rem);font-weight:700;line-height:1.3}.fan-loadout-pool .forge-medal--rank .forge-medal-label{max-width:calc(var(--disc) * 1.55);display:block}.forge-medal--worn-mine .forge-medal-disc{--rim:3px;--rim-c:var(--gold2);background:radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--gold) 34%, rgb(var(--card2-rgb))) 0, rgb(var(--surface-rgb)) 78%)}.forge-medal--worn-theirs .forge-medal-art{filter:saturate(.5) brightness(.85) var(--silhouette-stroke);opacity:.75}.forge-medal-lock .char-portrait{border-radius:50%;width:100%;height:100%;overflow:hidden}.forge-medal-lock .char-portrait-img{object-fit:cover;width:100%;height:100%}@media (width>=1024px){.fan-loadout-stage .pick-body{max-width:1640px;height:min(780px,84vh);max-height:none}.fan-loadout-who{--face:clamp(64px, 9vh, 104px);--socket:clamp(44px, 6vh, 64px)}}.concepts-head-tools{align-items:baseline;gap:8px;display:inline-flex}.pick-chip.cbrowse-cheat{color:var(--ember-ink);box-shadow:inset 0 0 0 1px rgba(var(--ember-rgb), .55);align-self:center}.concepts-stage .forge-rail{grid-template-columns:repeat(var(--rail-cols,2), var(--tab))}.forge-tab-art:has(>.cfam-mark){position:relative}.cfam-mark{border-radius:var(--radius-sm);font-family:var(--font-system);font-size:clamp(.56rem, calc(var(--tab) * .2), .8rem);white-space:nowrap;color:var(--text);background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 var(--rim-w) var(--border2), 1px 1px 0 #0000008c;padding:0 4px;font-weight:800;line-height:1.3;position:absolute;bottom:2px;left:50%;translate:-50%}.concepts-panel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:clamp(4px,1vh,10px);min-width:0;min-height:0;display:grid;container-type:size}.concepts-panel>.plate-tabs{justify-content:flex-start}.concepts-panel .plate-tab{letter-spacing:.06em;padding:6px 4px;font-size:.74rem}.concepts-rank-host{grid-row:2;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.concepts-panel>.concepts-rank-host:only-child,.concepts-panel>.concepts-empty:only-child{grid-row:1/-1}.concepts-empty{color:var(--muted);font-family:var(--font-voice);text-align:center;margin:auto}.crank{align-content:start;gap:clamp(8px,1.6vh,16px);min-height:0;padding:2px 4px 6px 2px;display:grid;overflow-y:auto}.crank-group{gap:6px;display:grid}.crank-head{max-width:100%;font-family:var(--font-system);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);background:rgba(var(--surface-rgb), .92);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d01a, 2px 2px 0 #00000080;border-radius:var(--radius-sm);justify-self:start;margin:0;padding:3px 10px;font-size:clamp(.7rem,.95vw,.84rem);font-weight:800}.crank-grid{filter:drop-shadow(2px 2px #00000080);grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(124px,15vw,210px)),1fr));gap:clamp(5px,.8vw,10px);display:grid}.cplate{--rim:1px;--rim-c:var(--border);appearance:none;cursor:pointer;isolation:isolate;min-height:48px;font:inherit;text-align:left;color:var(--text);background:var(--rim-c);clip-path:var(--plate-clip);border-radius:var(--radius);border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:7px;padding:5px 8px 8px 5px;transition:translate .12s ease-out;display:grid;position:relative}.cplate:before{content:"";inset:var(--rim);z-index:-1;background:rgb(var(--surface-rgb));clip-path:var(--plate-clip);border-radius:var(--radius);position:absolute;box-shadow:inset 0 1px #f2e8d01a}.cplate-art{aspect-ratio:1;background:radial-gradient(circle at 50% 36%, rgb(var(--card2-rgb)) 0, rgb(var(--surface-rgb)) 74%);width:clamp(28px,3.2vw,44px);box-shadow:0 0 0 1.5px var(--accent,var(--border2)), inset 0 1px 0 #f2e8d024;border-radius:50%;place-items:center;display:grid}.cplate-art>.painted-art,.cplate-art>img{object-fit:contain;width:86%;height:86%}.cplate-text{gap:1px;min-width:0;display:grid}.cplate-name{-webkit-line-clamp:2;font-family:var(--font-voice);overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:-2px -3px;padding:2px 3px;font-size:clamp(.72rem,1.05vw,.92rem);font-weight:700;line-height:1.18;display:-webkit-box;overflow:hidden}.cplate-caption{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-system);color:var(--muted);font-size:.66rem;overflow:hidden}.cplate-bar{background:#00000073;height:3px;position:absolute;bottom:4px;left:7px;right:7px}.cplate-fill{background:var(--accent,var(--gold));height:100%;display:block}.cplate-mark{width:17px;height:17px;font-family:var(--font-system);background:rgb(var(--surface-rgb));box-shadow:inset 0 0 0 1.5px var(--border2);border-radius:50%;place-items:center;font-size:.7rem;font-weight:800;line-height:1;display:grid;position:absolute;top:3px;right:3px}.cplate-mark--mastered{color:var(--gold-ink);box-shadow:inset 0 0 0 1.5px var(--gold2)}.cplate-mark--review{color:var(--ember-ink);box-shadow:inset 0 0 0 1.5px var(--ember)}.cplate-mark--sealed{color:var(--muted)}.cplate:has(>.cplate-mark) .cplate-text{padding-right:14px}.cplate--mastered{--rim-c:color-mix(in srgb, var(--gold2) 70%, var(--border))}.cplate--review{--rim-c:color-mix(in srgb, var(--ember) 70%, var(--border))}.cplate--sealed .cplate-art{filter:grayscale();opacity:.7}.cplate--sealed .cplate-name{color:var(--muted)}.cplate--focus{--rim:2px;--rim-c:var(--gold2);translate:0 -2px}.cplate--focus:after{content:"";pointer-events:none;clip-path:var(--plate-clip);border-radius:var(--radius);box-shadow:inset 0 0 0 var(--rim-w) var(--gold2);position:absolute;inset:4px}.cplate--focus:before{background:color-mix(in srgb, var(--gold) 12%, rgb(var(--surface-rgb)))}.cplate:active{translate:1px 1px}.cplate:focus-visible{--rim:3px;--rim-c:var(--gold);outline:none}@media (hover:hover){.cplate:hover:before{background:color-mix(in srgb, var(--text) 6%, rgb(var(--surface-rgb)))}}.cplate>.key-badge{margin:0;position:absolute;top:2px;left:2px}.concepts-session{grid-row:1/-1;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:clamp(6px,1.4vh,16px);min-height:0;display:grid}.concepts-session-emblem{object-fit:contain;max-width:min(100%,320px);min-height:0;max-height:100%;filter:var(--silhouette-stroke) drop-shadow(3px 3px 0 #00000073)}.concepts-session-sum{background:rgba(var(--surface-rgb), .82);width:min(100%,300px);box-shadow:inset 0 0 0 var(--rim-w) var(--border), inset 0 1px 0 #f2e8d014;clip-path:var(--plate-clip);border-radius:var(--radius);padding:6px 10px}.concept-readout{flex-direction:column;display:flex}.concept-readout>.pick-go-wrap{margin-top:auto}.concept-readout .forge-readout-body{flex:0 auto}.concept-readout .forge-readout-now{max-height:6.6em;overflow-y:auto}.concept-readout-ledger{flex:none}.concept-readout-review{font-family:var(--font-voice);color:var(--ember-ink);align-items:baseline;gap:6px;margin:0;font-size:clamp(.68rem,.95vw,.84rem);line-height:1.3;display:flex}.concept-readout-review-mark,.concept-readout-req-mark{width:16px;height:16px;font-family:var(--font-system);border-radius:50%;flex:none;place-items:center;font-size:.68rem;font-weight:800;display:inline-grid;box-shadow:inset 0 0 0 1.5px}.concept-readout-req{gap:4px;min-height:0;display:grid;overflow-y:auto}.concept-readout-req ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.concept-readout-req li{font-family:var(--font-voice);color:var(--text);align-items:center;gap:6px;font-size:clamp(.7rem,1vw,.86rem);display:flex}.concept-readout-req li.is-done{color:var(--muted)}.concept-readout-req li.is-done .concept-readout-req-mark{color:var(--gold-ink)}.rung-progress{flex:none;position:relative}.rung-progress .xp-rail-fill{transition:width .65s cubic-bezier(.22,1,.36,1) .18s}.rung-progress-pop{pointer-events:none;font-family:var(--font-system);text-shadow:1px 1px #000000b3;font-size:.86rem;font-weight:800;animation:1.4s cubic-bezier(.22,1.4,.36,1) .2s both rung-pop;position:absolute;bottom:100%;right:0}.rung-progress-pop--gain{color:var(--forest-ink)}.rung-progress-pop--up{color:var(--gold-ink);font-size:1rem}@keyframes rung-pop{0%{opacity:0;transform:translateY(6px)scale(.6)}20%{opacity:1;transform:translateY(-2px)scale(1.15)}75%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-12px)scale(1)}}.cplate-fill{transition:width .65s cubic-bezier(.22,1,.36,1) .18s}.concepts-scope-btn{justify-content:space-between;align-self:stretch;align-items:center;gap:10px;display:inline-flex}.concepts-scope-state{font-family:var(--font-voice);letter-spacing:0;text-transform:none;color:var(--gold-ink);font-weight:700}.concepts-skip-demo{gap:3px;display:grid}.concepts-skip-demo .prac-toggle-row{min-height:44px}.csearch{grid-template-rows:auto minmax(0,1fr);gap:12px;height:100%;min-height:0;display:grid}.csearch-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.csearch-input{flex:14em;min-height:44px}.csearch-chips{gap:6px;display:flex}.csearch-results{min-height:0;padding:4px 6px 6px 2px;overflow-y:auto}.gmenu:has(.csearch){height:min(820px,100%)}.csearch-none,.csearch-more{font-family:var(--font-voice);color:var(--muted);margin:6px 0 0;font-size:.82rem}@media (width>=1024px){.concepts-stage .pick-body{height:min(820px,86vh)}.crank-head{font-size:.84rem}.cplate{min-height:58px}}
