@font-face{font-family:Pirata One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pirata-one-latin-ext-400-normal-CI_wL8s0.woff2) format("woff2"),url(/assets/pirata-one-latin-ext-400-normal-DS3wEyC3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pirata One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pirata-one-latin-400-normal-C8jLWNfm.woff2) format("woff2"),url(/assets/pirata-one-latin-400-normal-CiJE7gJH.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2) format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cinzel-latin-ext-800-normal-BVA5zD9y.woff2) format("woff2"),url(/assets/cinzel-latin-ext-800-normal-gMcvnDsD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cinzel-latin-800-normal-CwkMVn6z.woff2) format("woff2"),url(/assets/cinzel-latin-800-normal-69OYDlL6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-normal-DN8azYTI.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-400-normal-Cj1kF6KR.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-normal-72Io3whm.woff2) format("woff2"),url(/assets/alegreya-cyrillic-400-normal-VT77nruV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-normal-ueNFnE5s.woff2) format("woff2"),url(/assets/alegreya-greek-ext-400-normal-UcF-MPys.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-normal-BI7tMDVB.woff2) format("woff2"),url(/assets/alegreya-greek-400-normal-BTnTTGc4.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-normal-D8CgJdBg.woff2) format("woff2"),url(/assets/alegreya-vietnamese-400-normal-D-Jsyxvv.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-normal-BJ1luULk.woff2) format("woff2"),url(/assets/alegreya-latin-ext-400-normal-I24-Fo_X.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-normal-BLlBRtDv.woff2) format("woff2"),url(/assets/alegreya-latin-400-normal-BuQWlRPA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-italic-CJ53xJ73.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-400-italic-281qz-PX.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-italic-CzOFVsaV.woff2) format("woff2"),url(/assets/alegreya-cyrillic-400-italic-DSxbt1-2.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-italic-BqZ1xVE4.woff2) format("woff2"),url(/assets/alegreya-greek-ext-400-italic-EKR1I7m6.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-italic-DpcfyKEk.woff2) format("woff2"),url(/assets/alegreya-greek-400-italic-D9g29fJh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-italic-CJsk7YCA.woff2) format("woff2"),url(/assets/alegreya-vietnamese-400-italic-DD2hiUnx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-italic-Cf8WgXZg.woff2) format("woff2"),url(/assets/alegreya-latin-ext-400-italic-BQgzjtbe.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-italic-BXpar-rJ.woff2) format("woff2"),url(/assets/alegreya-latin-400-italic-CJvUQvZT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-cyrillic-ext-500-normal-BIfGEemn.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-500-normal-BMQ-IlQd.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-cyrillic-500-normal-uJUgykjJ.woff2) format("woff2"),url(/assets/alegreya-cyrillic-500-normal-h-VttLAG.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-greek-ext-500-normal-CpSZDjmq.woff2) format("woff2"),url(/assets/alegreya-greek-ext-500-normal-DzZMWm6Q.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-greek-500-normal-Cs_YSU_p.woff2) format("woff2"),url(/assets/alegreya-greek-500-normal-DSAlufuP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-vietnamese-500-normal-1pKrKpC8.woff2) format("woff2"),url(/assets/alegreya-vietnamese-500-normal-Bulx4Dj7.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-latin-ext-500-normal-B_6HdrEK.woff2) format("woff2"),url(/assets/alegreya-latin-ext-500-normal-BXZj8mwG.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-latin-500-normal-C25lLdV_.woff2) format("woff2"),url(/assets/alegreya-latin-500-normal-B7TqNLeg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-cyrillic-ext-600-normal-B7QPM3vE.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-600-normal-FxYQreBn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-cyrillic-600-normal-BR3Uo04X.woff2) format("woff2"),url(/assets/alegreya-cyrillic-600-normal-CPGmphyD.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-greek-ext-600-normal-BLBQCDBp.woff2) format("woff2"),url(/assets/alegreya-greek-ext-600-normal-lbo5m9Hv.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-greek-600-normal-D4zUWKuR.woff2) format("woff2"),url(/assets/alegreya-greek-600-normal-KiLOcebc.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-vietnamese-600-normal-DEsoY4JG.woff2) format("woff2"),url(/assets/alegreya-vietnamese-600-normal-DXCvCrGy.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-latin-ext-600-normal-CDdhKDsc.woff2) format("woff2"),url(/assets/alegreya-latin-ext-600-normal-BPrSHx0a.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/alegreya-latin-600-normal-BeiX5Wwc.woff2) format("woff2"),url(/assets/alegreya-latin-600-normal-BWmAhYVc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-cyrillic-ext-700-normal-Dx8o6fqX.woff2) format("woff2"),url(/assets/alegreya-cyrillic-ext-700-normal-A6q6xEOT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-cyrillic-700-normal-Bftrb-m-.woff2) format("woff2"),url(/assets/alegreya-cyrillic-700-normal-_o_NBoYw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-greek-ext-700-normal-DzPShcR4.woff2) format("woff2"),url(/assets/alegreya-greek-ext-700-normal-DQPzd-kK.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-greek-700-normal-ByoPpMZf.woff2) format("woff2"),url(/assets/alegreya-greek-700-normal-mWQ2Ne64.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-vietnamese-700-normal-CvM8am9u.woff2) format("woff2"),url(/assets/alegreya-vietnamese-700-normal-CdvEC7Dz.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-latin-ext-700-normal-CEFih5UF.woff2) format("woff2"),url(/assets/alegreya-latin-ext-700-normal-B6bzkdlx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-latin-700-normal-Vpz_43wJ.woff2) format("woff2"),url(/assets/alegreya-latin-700-normal-BS7r-qZs.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-950: #0b0a08;--ink-900: #15120f;--ink-850: #1c1813;--ink-800: #241e17;--ink-700: #2e261d;--parchment-050: #f2e4c0;--parchment-100: #ead7ae;--parchment-200: #d8bd87;--parchment-300: #c4a76e;--parchment-ink: #33241a;--parchment-ink-soft: #5c4630;--gold-700: #7a5622;--gold-500: #a77a31;--gold-300: #d0a95d;--gold-200: #e6c883;--red-800: #521712;--red-700: #6e1f17;--red-600: #8b2c20;--red-500: #a53a2a;--green-900: #101f13;--green-800: #19351f;--green-700: #234a2a;--green-600: #4f6f2d;--green-400: #7da24a;--green-300: #9dc36a;--ivory: #f1e6ca;--danger: #9f2d25;--blue-vase: #33518a;--blue-vase-deep: #24365c;--font-display: "Pirata One", "Cinzel", serif;--font-heading: "Cinzel", serif;--font-body: "Alegreya", Georgia, serif;--shadow-panel: 0 10px 24px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .5);--shadow-raise: 0 4px 14px rgba(0, 0, 0, .6);--radius-panel: 10px;--radius-button: 9px;--safe-bottom: env(safe-area-inset-bottom, 0px)}:root{--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");--noise-soft: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}.panel{position:relative;border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.panel-dark{border:1px solid var(--gold-700);background:var(--noise-soft),linear-gradient(160deg,#26201786 0%,transparent 55%),radial-gradient(130% 120% at 50% -10%,#272015,#17130d 55%,#100d09);box-shadow:var(--shadow-panel),inset 0 0 0 1px #000000d9,inset 0 1px #e6c88314}.panel-dark:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid rgba(208,169,93,.35);border-radius:calc(var(--radius-panel) - 3px);pointer-events:none}.panel-parchment{border:2px solid var(--gold-700);color:var(--parchment-ink);background:var(--noise),radial-gradient(120% 90% at 50% 0%,var(--parchment-050) 0%,var(--parchment-100) 45%,var(--parchment-200) 85%,var(--parchment-300) 100%);background-blend-mode:multiply,normal;box-shadow:var(--shadow-panel),inset 0 0 0 1px #7a562280,inset 0 0 26px #7a562247,inset 0 -14px 30px #7a56222e}.panel-parchment:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(122,86,34,.55);border-radius:calc(var(--radius-panel) - 4px);pointer-events:none}.panel-green{border:1px solid var(--gold-700);background:var(--noise-soft),radial-gradient(130% 130% at 50% -20%,#26492b,#1a3520 55%,#122616);box-shadow:var(--shadow-panel),inset 0 0 0 1px #000000b3,inset 0 1px #e6c8831a}.panel-green:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid rgba(208,169,93,.3);border-radius:calc(var(--radius-panel) - 3px);pointer-events:none}.corner-ornaments{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--gold-500);opacity:.9}.panel-parchment .corner-ornaments{color:#8a6226}.btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:56px;padding:10px 18px;border-radius:var(--radius-button);border:1px solid #04030270;font-family:var(--font-heading);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);text-shadow:0 1px 2px rgba(0,0,0,.8),0 0 14px rgba(0,0,0,.35);transition:transform .09s ease,filter .12s ease;overflow:hidden}.btn:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid rgba(230,200,131,.4);border-radius:calc(var(--radius-button) - 3px);pointer-events:none}.btn:active:not(:disabled){transform:translateY(1.5px) scale(.995);filter:brightness(.9)}.btn:disabled{filter:saturate(.35) brightness(.72);cursor:not-allowed}.btn-lg{min-height:68px;font-size:21px}.btn-md{min-height:56px;font-size:16px}.btn-sm{min-height:42px;font-size:13px;letter-spacing:.1em}.btn-primary{background:var(--noise),radial-gradient(120% 160% at 50% -20%,var(--red-500) 0%,var(--red-600) 45%,var(--red-700) 78%,var(--red-800) 100%);background-blend-mode:soft-light,normal;box-shadow:0 0 0 2px var(--gold-500),0 0 0 3px #000000e6,var(--shadow-raise),inset 0 1px #ffebc840,inset 0 -10px 22px #2805028c}.btn-secondary{background:var(--noise),radial-gradient(120% 160% at 50% -20%,#2c5433 0%,var(--green-700) 45%,var(--green-800) 80%,var(--green-900) 100%);background-blend-mode:soft-light,normal;box-shadow:0 0 0 2px var(--gold-500),0 0 0 3px #000000e6,var(--shadow-raise),inset 0 1px #ffebc833,inset 0 -10px 22px #0414088c}.btn-dark{background:var(--noise-soft),radial-gradient(120% 160% at 50% -20%,#322a1e,#221c13 55%,#16110b);box-shadow:0 0 0 2px var(--gold-700),0 0 0 3px #000000e6,var(--shadow-raise),inset 0 1px #e6c8831f}.btn-sub{display:block;font-family:var(--font-body);font-size:12.5px;font-weight:500;font-style:italic;letter-spacing:.02em;text-transform:none;color:#f1e6cad1}.btn .shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,240,200,.16) 45%,rgba(255,240,200,.26) 50%,rgba(255,240,200,.16) 55%,transparent 70%);transform:translate(-120%);animation:btn-shine 4.5s ease-in-out infinite;pointer-events:none}.btn-round{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:0;padding:0;border-radius:50%;color:var(--gold-300);background:radial-gradient(120% 120% at 50% 20%,#2b241a,#16110c 75%);box-shadow:0 0 0 1.5px var(--gold-500),0 0 0 3px #000c,0 3px 8px #0009,inset 0 1px #e6c8832e;transition:transform .09s ease,filter .12s ease}.btn-round:active{transform:scale(.94);filter:brightness(.85)}.btn-text{width:auto;font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-300);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#d0a95d80}.section-head{display:flex;align-items:center;gap:10px;padding:2px 4px}.section-head .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(208,169,93,.65))}.section-head .line.right{background:linear-gradient(90deg,rgba(208,169,93,.65),transparent)}.section-head .title{font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-300);white-space:nowrap}.section-head.green .title{color:var(--green-400)}.section-head .flourish{color:var(--green-600);flex-shrink:0}.section-head.on-parchment .title{color:#7a5622}.section-head.on-parchment .line{background:linear-gradient(90deg,transparent,rgba(122,86,34,.6))}.section-head.on-parchment .line.right{background:linear-gradient(90deg,rgba(122,86,34,.6),transparent)}.section-head.on-parchment .flourish{color:#6b7a3a}.topbar{position:relative;z-index:5;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;display:flex;align-items:center;gap:10px;background:var(--noise-soft),linear-gradient(180deg,#1a150f,#120e09 70%,#0c0906);border-bottom:1px solid rgba(208,169,93,.4);box-shadow:0 4px 18px #0009,inset 0 -1px #000c}.topbar .crest{width:46px;height:46px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7))}.topbar-center{flex:1;min-width:0;text-align:center}.topbar-title{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:30px;line-height:1;color:var(--ivory);text-shadow:0 2px 6px rgba(0,0,0,.9)}.topbar-title .swash{color:var(--green-600);flex-shrink:0}.topbar-loc{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:2px;font-family:var(--font-heading);font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--green-400)}.bottomnav{position:relative;z-index:5;display:flex;align-items:stretch;padding-bottom:var(--safe-bottom);background:var(--noise-soft),linear-gradient(180deg,#17120d,#0e0a07);border-top:1px solid rgba(208,169,93,.45);box-shadow:0 -4px 18px #000000a6}.bottomnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 7px;color:#a08a5f;font-family:var(--font-heading);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-right:1px solid rgba(0,0,0,.55);position:relative;transition:color .15s ease}.bottomnav button:last-child{border-right:none}.bottomnav button.active{color:var(--green-400);background:linear-gradient(180deg,rgba(79,111,45,.16),transparent 80%)}.bottomnav button.active:before{content:"";position:absolute;top:-1px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--gold-300),transparent)}.bottomnav .badge-dot{position:absolute;top:6px;right:24%;width:9px;height:9px;border-radius:50%;background:var(--red-500);box-shadow:0 0 0 2px #0e0a07,0 0 8px #a53a2ae6;animation:pulse-dot 1.6s ease-in-out infinite}.medallion{position:relative;border-radius:50%;flex-shrink:0}.medallion .ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 2px var(--gold-500),0 0 0 3.5px #000000d9,inset 0 0 0 2px #0009,0 4px 10px #000000a6;pointer-events:none}.medallion .ring:after{content:"";position:absolute;top:2.5px;right:2.5px;bottom:2.5px;left:2.5px;border-radius:50%;border:1px solid rgba(230,200,131,.5)}.medallion svg.portrait{width:100%;height:100%;border-radius:50%}.medallion .check-badge{position:absolute;top:-3px;right:-3px;width:30%;height:30%;min-width:20px;min-height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0d1f10;background:radial-gradient(circle at 35% 30%,#b8d67c,var(--green-600) 70%);box-shadow:0 0 0 2px var(--gold-300),0 2px 6px #0009}.level-shield{position:relative;width:52px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ivory);filter:drop-shadow(0 3px 5px rgba(0,0,0,.6))}.level-shield .shape{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 100% at 50% 0%,#2c5433 0%,var(--green-800) 60%,#0e2012 100%);clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%);box-shadow:inset 0 0 0 2px var(--gold-500)}.level-shield .shape:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;clip-path:polygon(0 0,100% 0,100% 61%,50% 100%,0 61%);border:1px solid rgba(208,169,93,.8);background:linear-gradient(180deg,rgba(230,200,131,.12),transparent 45%)}.level-shield .lvl{position:relative;font-family:var(--font-heading);font-size:9px;font-weight:700;letter-spacing:.2em;color:var(--gold-200);margin-top:-8px}.level-shield .num{position:relative;font-family:var(--font-heading);font-size:22px;font-weight:800;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.8)}.progress-row{display:flex;align-items:center;gap:10px}.progress-track{position:relative;flex:1;height:20px;border-radius:6px;background:linear-gradient(180deg,#0a0805,#171209);box-shadow:inset 0 2px 5px #000000e6,0 0 0 1.5px var(--gold-700),0 1px #e6c88324;overflow:hidden}.progress-fill{position:absolute;inset:2.5px auto 2.5px 2.5px;border-radius:4px;background:repeating-linear-gradient(115deg,rgba(255,255,255,.09) 0 7px,transparent 7px 14px),linear-gradient(180deg,#86ab52 0%,var(--green-600) 40%,#3a5721 100%);box-shadow:inset 0 1px #ffffff59,inset 0 -2px 4px #0a190599,0 0 10px #7da24a59;transition:width .9s cubic-bezier(.22,1,.36,1);min-width:6px;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.3) 50%,transparent 80%);transform:translate(-120%);animation:btn-shine 3.8s ease-in-out infinite}.progress-label{font-family:var(--font-heading);font-weight:800;font-size:19px;min-width:52px;text-align:right;color:inherit}.progress-track.slim{height:12px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 4px;border-radius:5px;font-family:var(--font-heading);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:1px solid;white-space:nowrap}.chip.ready{color:#b9d989;border-color:#7da24acc;background:linear-gradient(180deg,#4f6f2d80,#19351fb3)}.chip.cooldown{color:var(--gold-200);border-color:#d0a95d99;background:linear-gradient(180deg,#7a562259,#261c0eb3)}.chip.pending{color:#d8c3ef;border-color:#966ec8b3;background:linear-gradient(180deg,#5a3c8280,#281a3cb3)}.chip.danger{color:#f0b4ab;border-color:#9f2d25cc;background:linear-gradient(180deg,#8b2c2080,#3c100cb3)}.chip.neutral{color:#b6a98c;border-color:#a08a5f80;background:linear-gradient(180deg,#3c32228c,#18130cb3)}.chip.banner-chip{padding:5px 16px 6px;font-size:12px;border-radius:6px}.item-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;border-radius:8px;border:1px solid rgba(208,169,93,.5);background:var(--noise-soft),radial-gradient(120% 100% at 50% 0%,#292217,#171209 80%);box-shadow:inset 0 0 0 1px #000000b3,inset 0 2px 8px #00000080,var(--shadow-raise)}.item-slot .icon{height:44px;display:flex;align-items:center;color:var(--parchment-100);filter:drop-shadow(0 2px 3px rgba(0,0,0,.8))}.item-slot .label{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--parchment-100);text-align:center;line-height:1.15}.item-slot .count{font-family:var(--font-heading);font-size:14px;font-weight:800;color:var(--green-400)}.item-slot.empty{opacity:.45;filter:saturate(.4)}.dialogue-strip{display:flex;align-items:center;gap:12px;padding:12px}.dialogue-strip .who{font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-300);margin-bottom:3px}.dialogue-strip .line{font-style:italic;font-size:15.5px;color:var(--ivory);line-height:1.35}.dialogue-strip .play-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.dialogue-strip .play-caption{font-family:var(--font-heading);font-size:8.5px;font-weight:700;letter-spacing:.14em;color:var(--gold-300);text-transform:uppercase}.toast-stack{position:absolute;top:calc(70px + env(safe-area-inset-top,0px));left:10px;right:10px;z-index:60;display:flex;flex-direction:column;gap:8px;pointer-events:none}.banner{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;border:1px solid;font-size:14.5px;font-weight:600;box-shadow:var(--shadow-raise);animation:fade-up .35s cubic-bezier(.22,1,.36,1);pointer-events:auto}.banner .banner-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex-shrink:0}.banner.success{color:#d9ecbc;border-color:#7da24ab3;background:linear-gradient(180deg,#234a2af5,#122616f5)}.banner.success .banner-icon{background:var(--green-600);color:#eaf5d4}.banner.info{color:#c9d4ec;border-color:#5a78beb3;background:linear-gradient(180deg,#26345cf5,#141c34f5)}.banner.info .banner-icon{background:#3c5288;color:#dbe4f8}.banner.warn{color:#f0dfb4;border-color:#d0a95db3;background:linear-gradient(180deg,#5e4418f5,#30220cf5)}.banner.warn .banner-icon{background:var(--gold-500);color:#fdf3d7}.banner.error{color:#f0c1b9;border-color:#9f2d25bf;background:linear-gradient(180deg,#6e1f17f5,#340e0af5)}.banner.error .banner-icon{background:var(--red-600);color:#fbe1da}.input-parchment{width:100%;padding:12px 14px;border-radius:8px;border:1.5px solid rgba(122,86,34,.7);background:linear-gradient(180deg,#f2e4c0,#e2cd9d);color:var(--parchment-ink);font-size:17px;box-shadow:inset 0 2px 6px #7a562259;outline:none;user-select:text;-webkit-user-select:text}.code-boxes{display:flex;gap:10px;justify-content:center}.code-box{width:58px;height:64px;border-radius:8px;border:1.5px solid rgba(122,86,34,.75);background:linear-gradient(180deg,#efe0ba,#dcc796);box-shadow:inset 0 3px 8px #7a562266;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:30px;font-weight:800;color:var(--parchment-ink);text-transform:uppercase}.code-box.focus{border-color:var(--green-600);box-shadow:inset 0 3px 8px #7a562266,0 0 0 2px #4f6f2d73}.code-box .caret{width:2px;height:34px;background:var(--parchment-ink);animation:caret-blink 1.1s steps(1) infinite}.overlay-dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#040302c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .25s ease}.overlay-full{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:var(--noise-soft),radial-gradient(140% 100% at 50% 0%,#17120d,#0c0a07 60%,#070503);animation:fade-in .3s ease;overflow:hidden}.modal-close{position:absolute;top:-14px;right:-14px;z-index:2}.hr-ornament{display:flex;align-items:center;gap:8px;color:var(--gold-500);opacity:.85}.hr-ornament .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent)}.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.xp-hex{position:relative;width:54px;height:60px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:15px;color:var(--gold-200);flex-shrink:0}.xp-hex:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:radial-gradient(120% 100% at 50% 20%,#2b4a31,#16301c 60%,#0d2012);box-shadow:inset 0 0 0 2px var(--gold-500)}.xp-hex:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border:1px solid rgba(208,169,93,.7)}.xp-hex span{position:relative}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:#060504;color:var(--ivory);font-family:var(--font-body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.app-viewport{height:100%;display:flex;justify-content:center;background:radial-gradient(60% 40% at 80% 8%,rgba(178,108,30,.1),transparent 60%),radial-gradient(50% 34% at 12% 90%,rgba(160,92,26,.07),transparent 60%),var(--noise-soft),radial-gradient(120% 90% at 50% 0%,#171310,#0c0a07 55%,#060504)}.app-frame{position:relative;width:min(100vw,470px);height:100%;display:flex;flex-direction:column;background:var(--noise-soft),radial-gradient(140% 100% at 50% 0%,#16120e,#0d0b08 60%,#080604);box-shadow:0 0 60px #000c;overflow:hidden}.screen-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:12px 12px calc(18px + var(--safe-bottom));display:flex;flex-direction:column;gap:12px;scrollbar-width:none}.screen-scroll::-webkit-scrollbar{display:none}.action-bar{flex-shrink:0;display:flex;flex-direction:column;gap:9px;padding:10px 12px calc(12px + var(--safe-bottom));background:linear-gradient(180deg,#06040200,#060402eb 40%);position:relative;z-index:2}.overlay-full>.screen-scroll{padding-bottom:8px}h1,h2,h3,h4{margin:0;font-family:var(--font-heading);font-weight:700;color:var(--ivory)}p{margin:0}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input{font:inherit}img,svg{display:block;max-width:100%}.text-display{font-family:var(--font-display);font-weight:400;letter-spacing:.01em}.text-gold{color:var(--gold-300)}.text-green{color:var(--green-400)}.text-parchment-ink{color:var(--parchment-ink)}.small-caps-label{font-family:var(--font-heading);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html.reduced-motion *,html.reduced-motion *:before,html.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}65%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes btn-shine{0%{transform:translate(-130%)}32%{transform:translate(130%)}to{transform:translate(130%)}}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.75}}@keyframes caret-blink{0%,55%{opacity:1}56%,to{opacity:0}}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 12px rgba(240,200,110,.55))}50%{filter:drop-shadow(0 0 30px rgba(250,214,128,.95))}}@keyframes ray-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes reveal-burst{0%{opacity:0;transform:scale(.3) rotate(-8deg)}55%{opacity:1;transform:scale(1.12) rotate(2deg)}75%{transform:scale(.97) rotate(-1deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes dice-tumble{0%{transform:rotate(0) translateY(0) scale(1)}20%{transform:rotate(160deg) translateY(-16px) scale(1.08)}45%{transform:rotate(300deg) translateY(4px) scale(.96)}70%{transform:rotate(420deg) translateY(-8px) scale(1.04)}to{transform:rotate(540deg) translateY(0) scale(1)}}@keyframes shake-x{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes sparkle{0%{opacity:0;transform:scale(0) rotate(0)}40%{opacity:1;transform:scale(1) rotate(90deg)}to{opacity:0;transform:scale(.2) rotate(180deg)}}@keyframes confetti-fall{0%{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.6}}@keyframes crest-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes vs-slam{0%{opacity:0;transform:scale(2.6)}60%{opacity:1;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes countdown-tick{0%{transform:scale(1.25);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes glow-line{0%,to{opacity:.55}50%{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes trumpet-in{0%{opacity:0;transform:translateY(-18px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chip-push{0%{opacity:0;transform:translateY(72px) scale(.7)}62%{opacity:1;transform:translateY(-7px) scale(1.06)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heart-pop{0%{transform:scale(1)}40%{transform:scale(1.45)}to{transform:scale(0);opacity:0}}.anim-pop-in{animation:pop-in .4s cubic-bezier(.22,1,.36,1) both}.anim-fade-up{animation:fade-up .4s cubic-bezier(.22,1,.36,1) both}.anim-fade-up-1{animation:fade-up .4s cubic-bezier(.22,1,.36,1) .07s both}.anim-fade-up-2{animation:fade-up .4s cubic-bezier(.22,1,.36,1) .14s both}.anim-fade-up-3{animation:fade-up .4s cubic-bezier(.22,1,.36,1) .21s both}.anim-fade-up-4{animation:fade-up .4s cubic-bezier(.22,1,.36,1) .28s both}.anim-shake{animation:shake-x .4s ease}.anim-chip-push{animation:chip-push .5s cubic-bezier(.22,1,.36,1) both}@keyframes boon-sheen{0%{transform:translate(-140%) skew(-18deg)}55%,to{transform:translate(240%) skew(-18deg)}}@keyframes boon-halo{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes boon-rise{0%{opacity:0;transform:translateY(26px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes boon-slam{0%{opacity:0;transform:scale(1.7)}60%{opacity:1;transform:scale(.94)}80%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes tier-drift{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(1.5deg)}}.boon-frame{position:relative;flex-shrink:0;overflow:hidden;border-radius:14px;background:radial-gradient(circle at 50% 34%,#241d15,#0d0a07 78%);box-shadow:inset 0 0 0 2px var(--tier-ring),0 0 14px var(--tier-glow)}.boon-frame img{display:block;width:100%;height:100%;object-fit:contain}.boon-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:42%;background:linear-gradient(90deg,transparent,var(--tier-sheen),transparent);animation:boon-sheen var(--tier-sheen-speed, 5.5s) ease-in-out infinite;pointer-events:none}.boon-frame.tier-common:after{animation-duration:7s}.boon-frame.tier-rare:after{animation-duration:5s}.boon-frame.tier-epic:after{animation-duration:3.4s}.boon-frame.tier-legendary:after{animation-duration:2.4s}.boon-halo{position:absolute;top:-22%;right:-22%;bottom:-22%;left:-22%;border-radius:50%;background:radial-gradient(circle,var(--tier-glow) 0%,transparent 68%);animation:boon-halo 2.8s ease-in-out infinite;pointer-events:none}.tier-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-family:var(--font-heading);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tier-colour);border:1px solid var(--tier-ring);background:#00000073;text-shadow:0 0 10px var(--tier-glow)}.boon-row{position:relative;overflow:hidden;border-radius:12px;padding:10px 12px;background:linear-gradient(180deg,#1e1811f0,#0f0c08f0);box-shadow:inset 0 0 0 1.5px var(--tier-ring)}.boon-row.is-epic,.boon-row.is-legendary{box-shadow:inset 0 0 0 1.5px var(--tier-ring),0 0 16px var(--tier-glow)}.boon-reveal-art{animation:boon-rise .5s cubic-bezier(.22,1,.36,1) both}.boon-reveal-art.is-epic,.boon-reveal-art.is-legendary{animation:boon-slam .6s cubic-bezier(.22,1,.36,1) both}.boon-reveal-art.is-legendary .boon-frame{animation:tier-drift 4.5s ease-in-out infinite}.boon-rays{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;animation:ray-rotate 22s linear infinite;opacity:.4;pointer-events:none}.odds-bar{display:flex;width:100%;height:12px;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px #00000080}.odds-seg{height:100%;transition:flex-grow .6s cubic-bezier(.22,1,.36,1)}.boon-die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:108px;height:108px;padding:13px;border-radius:18px;background:linear-gradient(160deg,#f4ead6,#cbb896);box-shadow:0 8px 24px #0009,inset 0 -5px #00000029}.boon-die.is-rolling{animation:dice-tumble .42s linear infinite}.boon-die>span{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.boon-die i{display:block;width:17px;height:17px;border-radius:50%;background:#23180e;box-shadow:inset 0 1px 2px #0000008c}.wheel-window{position:relative;width:100%;height:116px;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#0c0906f5,#1a140df5);box-shadow:inset 0 0 0 1.5px var(--gold-700, #6b5320),inset 0 8px 22px #000000b3;-webkit-mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent)}.wheel-strip{display:flex;gap:8px;align-items:center;height:100%;padding:0 4px;will-change:transform;transform:translateZ(0)}.wheel-card{flex-shrink:0;width:92px;height:92px;border-radius:12px;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 38%,var(--tier-glow) 0%,transparent 62%),radial-gradient(circle at 50% 34%,#241d15,#0b0906 78%);box-shadow:inset 0 0 0 2px var(--tier-ring),0 0 13px var(--tier-glow);opacity:.9}.wheel-card:after{content:"";position:absolute;left:12%;right:12%;bottom:5px;height:3px;border-radius:2px;background:var(--tier-colour);box-shadow:0 0 8px var(--tier-glow)}.wheel-card.is-empty:after{display:none}.wheel-card img{display:block;width:100%;height:100%;object-fit:contain}.wheel-card.is-winner{opacity:1}.wheel-card.is-empty{background:repeating-linear-gradient(45deg,#171310,#171310 7px,#1f1a15 7px,#1f1a15 14px);box-shadow:inset 0 0 0 2px #3a332a;display:flex;align-items:center;justify-content:center}.wheel-card.is-empty .dud{width:26px;height:3px;border-radius:2px;background:#4d4437}.wheel-window.is-landed .wheel-card.is-winner{box-shadow:inset 0 0 0 2.5px var(--tier-ring),0 0 24px var(--tier-glow);animation:boon-slam .5s cubic-bezier(.22,1,.36,1) both}.wheel-marker{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(180deg,transparent,var(--gold-200, #e8cf92),transparent);box-shadow:0 0 12px #e8cf92d9;pointer-events:none;z-index:2}.wheel-marker:before,.wheel-marker:after{content:"";position:absolute;left:50%;margin-left:-6px;border-left:6px solid transparent;border-right:6px solid transparent}.wheel-marker:before{top:0;border-top:8px solid var(--gold-200, #e8cf92)}.wheel-marker:after{bottom:0;border-bottom:8px solid var(--gold-200, #e8cf92)}@keyframes tier-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.tier-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:80;background:radial-gradient(circle at 50% 44%,var(--tier-glow) 0%,transparent 62%);animation:tier-flash var(--flash-ms, .7s) ease-out both}@keyframes wheel-shake{0%,to{transform:translateZ(0)}15%{transform:translate3d(-7px,2px,0)}30%{transform:translate3d(6px,-3px,0)}45%{transform:translate3d(-5px,-2px,0)}60%{transform:translate3d(4px,3px,0)}80%{transform:translate3d(-2px,-1px,0)}}.anim-wheel-shake{animation:wheel-shake .55s ease-out both}.odds-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%}.odds-legend.is-five{grid-template-columns:repeat(5,1fr);gap:4px}.odds-legend.is-five .t{font-size:8.5px;letter-spacing:.06em}.odds-legend.is-five .v{font-size:14px}.odds-cell.is-miss{box-shadow:inset 0 0 0 1px #4a4238}.odds-cell.is-miss .t{color:#8b7f6c}.odds-cell.is-miss .v{color:#b3a68e}.odds-cell.is-miss.is-hit{background:#ffffff0d;box-shadow:inset 0 0 0 1.5px #6f6353}.odds-cell{text-align:center;padding:6px 2px 5px;border-radius:9px;background:#0006;box-shadow:inset 0 0 0 1px var(--tier-ring)}.odds-cell .t{font-family:var(--font-heading);font-weight:800;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--tier-colour)}.odds-cell .v{font-family:var(--font-heading);font-weight:800;font-size:15px;color:var(--ivory, #f3ead6);line-height:1.15}.odds-cell.is-hit{background:#ffffff12;box-shadow:inset 0 0 0 1.5px var(--tier-ring),0 0 14px var(--tier-glow)}.chest-stage{position:relative;margin:0 auto;flex-shrink:0}.chest-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transition:opacity .26s ease;transform-origin:50% 88%}.chest-art.is-hidden{opacity:0;pointer-events:none}.chest-art.is-open{animation:chest-pop .46s cubic-bezier(.3,1.5,.5,1) both}@keyframes chest-pop{0%{transform:scale(.94)}55%{transform:scale(1.045)}to{transform:scale(1)}}.chest-art.is-rattling{animation:chest-rattle var(--shake-ms, .7s) ease-in-out both}@keyframes chest-rattle{0%,to{transform:translateZ(0) rotate(0)}8%{transform:translate3d(-3px,0,0) rotate(-1.1deg)}18%{transform:translate3d(3px,-1px,0) rotate(1.1deg)}30%{transform:translate3d(-4px,0,0) rotate(-1.5deg)}42%{transform:translate3d(4px,-2px,0) rotate(1.5deg)}56%{transform:translate3d(-5px,-1px,0) rotate(-1.9deg)}70%{transform:translate3d(5px,-3px,0) rotate(1.9deg)}84%{transform:translate3d(-3px,-1px,0) rotate(-1.2deg)}93%{transform:translate3d(2px,0,0) rotate(.7deg)}}.chest-aura{position:absolute;left:50%;top:46%;width:116%;height:116%;transform:translate(-50%,-50%) scale(.55);border-radius:50%;background:radial-gradient(circle,var(--tier-glow) 0%,transparent 62%);opacity:.32;transition:opacity .42s ease,transform .62s cubic-bezier(.22,1,.36,1);pointer-events:none}.chest-stage.is-open .chest-aura{opacity:1;transform:translate(-50%,-50%) scale(1.12)}.chest-stage.tier-legendary.is-open .chest-aura{animation:boon-halo 1.9s ease-in-out .5s infinite}.chest-rays,.chest-shards{position:absolute;left:50%;top:44%;width:0;height:0;pointer-events:none;z-index:4}.chest-rays span{position:absolute;left:-3px;top:0;width:6px;height:128px;transform-origin:50% 0;background:linear-gradient(180deg,var(--tier-sheen),transparent 78%);animation:ray-burst .78s cubic-bezier(.15,.9,.25,1) both}@keyframes ray-burst{0%{opacity:0;scale:1 .15}35%{opacity:1}to{opacity:0;scale:1 1.35}}.chest-shards span{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:2px;background:var(--tier-colour);box-shadow:0 0 10px var(--tier-glow);animation:shard-fly .9s cubic-bezier(.16,.8,.3,1) both}@keyframes shard-fly{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.4)}20%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(1.1)}}.chest-prize{position:absolute;left:50%;transform:translate(-50%,26px) scale(.5);opacity:0;transition:opacity .3s ease .26s,transform .64s cubic-bezier(.22,1.5,.4,1) .26s;z-index:5;pointer-events:none}.chest-stage.is-open .chest-prize{opacity:1;transform:translate(-50%) scale(1)}.chest-stage.is-open .chest-prize .boon-frame{animation:prize-tilt 5s ease-in-out 1s infinite}@keyframes prize-tilt{0%,to{transform:perspective(520px) rotateY(-11deg) rotateX(4deg)}50%{transform:perspective(520px) rotateY(11deg) rotateX(-4deg)}}.chest-empty{position:absolute;left:50%;bottom:8%;transform:translate(-50%);opacity:0;transition:opacity .38s ease .26s;font-family:var(--font-heading);font-weight:800;font-size:13.5px;letter-spacing:.09em;text-transform:uppercase;color:#9c8a68;text-shadow:0 2px 8px #000;z-index:5;white-space:nowrap}.chest-stage.is-open .chest-empty{opacity:1}@media(prefers-reduced-motion:reduce){.chest-art,.chest-aura,.chest-prize,.chest-rays span,.chest-shards span{animation:none!important;transition-duration:.01ms!important}}.reward-slot{width:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}@keyframes reward-banner-in{0%{opacity:0;transform:scale(.5) rotate(-6deg);letter-spacing:.4em}60%{opacity:1;transform:scale(1.12) rotate(1.5deg)}to{opacity:1;transform:scale(1) rotate(0);letter-spacing:.16em}}.reward-banner{font-family:var(--font-heading);font-weight:800;font-size:30px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-200, #e8cf92);text-shadow:0 0 22px rgba(232,207,146,.8),0 2px 6px #000;animation:reward-banner-in .62s cubic-bezier(.22,1.4,.4,1) both}.boon-pick-head{flex-shrink:0;padding:14px 13px 11px;background:linear-gradient(180deg,#0000008c,#0000);box-shadow:inset 0 -1px #ffffff0f}.boon-pick-row{display:flex;align-items:center;gap:11px;padding:8px 11px;border:none;cursor:pointer;flex-shrink:0;width:100%}.pick-tick{flex-shrink:0;width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:13px;color:#0d0a07;background:transparent;box-shadow:inset 0 0 0 2px #ffffff29;transition:background .16s ease,box-shadow .16s ease}.pick-tick.is-on{background:var(--tier-colour);box-shadow:inset 0 0 0 2px var(--tier-ring),0 0 12px var(--tier-glow)}.overlay-full.is-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;width:min(100vw,470px);margin:0 auto}
